How do I Interpolate on an array

3 vues (au cours des 30 derniers jours)
Maarten
Maarten le 13 Nov 2013
Commenté : Maarten le 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?

Réponse acceptée

G A
G A le 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 commentaire
Maarten
Maarten le 13 Nov 2013
Your solution works great. Looks like I was using the interp1 function in the wrong way.
Thanks a lot G A.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Interpolation dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by