How do I Interpolate on an array

3 次查看(过去 30 天)
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?

采纳的回答

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

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Interpolation 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by