I've got a 3D data set (shown below) and I want to fit it with a line, the points of this line fit need to be equidistant apart.
Any tools able to do this? Or methods of how to achieve this?
Many thanks, Will

 Accepted Answer

Image Analyst
Image Analyst on 10 Apr 2015

0 votes

Have you tried a Savitzky-Golay filter on the x, y, and z independently? Attached is a demo of sgolayfilt() in the Signal Processing Toolbox.

More Answers (1)

Image Analyst
Image Analyst on 10 Apr 2015

0 votes

Do you want to smooth (regress) those points to get a smoother path? Or interpolate additional points in between those points while keeping those points where they are?
Of course we should not forget the venerable John D'Errico's interparc : http://www.mathworks.com/matlabcentral/fileexchange/34874-interparc. It sounds like just what you want to do if you want to keep those training points fixed and interpolate evenly spaced points along the curve.

4 Comments

William
William on 12 Apr 2015
Edited: William on 12 Apr 2015
After this step I will be doing analysis of the curve which requires equally space points along the line. So I need a mixture of the two, smoothing with additional points.
William
William on 12 Apr 2015
I'll try a S-G Filter followed by interparc
William
William on 12 Apr 2015
Looking tasty. Could we calculate a standard deviation or some other error measure against the original points?
William
William on 12 Apr 2015
Simple enough - Minus filtered from original data and take statistical profile of this.
Thanks very much for your help :)

Sign in to comment.

Asked:

on 10 Apr 2015

Commented:

on 12 Apr 2015

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!