How do I Interpolate on an array

1 view (last 30 days)
Maarten
Maarten on 13 Nov 2013
Commented: Maarten on 13 Nov 2013
For the analysis of quite a large amount of data, I want to measure the distance between 2 pixels on DICOM image, with the same HU-values, to get the length of an object. Currently I'm doing this manually in Excel with linear interpolation, but it's too much work.
A line plot over the object gives me this curve for example:
What I'm looking for is the two X-coordinates, or the distance between the two, where Y = -350.
I've tried to interpolate with interp1(X,Y,-350), but that just results in a error every time ==> The values of X should be distinct.
How can I do this with Matlab?

Accepted Answer

G A
G A on 13 Nov 2013
X1=X(Y>=-350);
distance=X1(end)-X1(1);
if precision is not good enough you can interpolate the curve before this
  1 Comment
Maarten
Maarten on 13 Nov 2013
Your solution works great. Looks like I was using the interp1 function in the wrong way.
Thanks a lot G A.

Sign in to comment.

More Answers (0)

Categories

Find more on Interpolation in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!