How do I Interpolate on an array

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

X1=X(Y>=-350);
distance=X1(end)-X1(1);
if precision is not good enough you can interpolate the curve before this

1 Comment

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

Asked:

on 13 Nov 2013

Commented:

on 13 Nov 2013

Community Treasure Hunt

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

Start Hunting!