How do I Interpolate on an array

3 visualizzazioni (ultimi 30 giorni)
Maarten
Maarten il 13 Nov 2013
Commentato: Maarten il 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?

Risposta accettata

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

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Interpolation in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by