[Insight-users] Measuring tumor diameter
Richard Beare
richard.beare at gmail.com
Sat Dec 13 02:14:05 EST 2008
Hi,
It isn't immediately obvious, and may not be 100% applicable in your case.
A geodesic distance between two points, in this context, is the length
of the minimal path connecting those two point such that the path is
constrained to fall within a set. In the case of segmented objects,
that set is usually the object. If your object is a perfect solid
sphere, then the geodesic from a point on the surface to any other
point on the surface will be a chord across the sphere, and the
longest geodesic from the surface point will be the length of the
geodesic that connects the point to the opposite point on the circle -
i.e. the sphere diameter. If the sphere is a "shell", then the
geodesic between two points will correspond to a "great circle".
Now this is a definition that can be applied to any shape without
modification, and you end up with a length that might not be the same
as a person would chose, but at least is consistent.
I'm not sure I understand exactly the measure you are trying to
reproduce, but a trick you might consider if you're dealing with
contour points and want to reduce complexity is to compute the convex
hull and only examine points on the hull.
Some other notes - distance transforms give you a measure of thickness
which, in the case of circularish blobs corresponds to a smallest
radius.
If you compute the parameters of the equivalent ellipse (second
moments), then you get other radius measures.
On Sat, Dec 13, 2008 at 1:19 AM, Andriy Fedorov <fedorov at bwh.harvard.edu> wrote:
> On Thu, Dec 11, 2008 at 10:09 PM, Richard Beare <richard.beare at gmail.com> wrote:
>> A very old technique for measuring the length of objects might be
>> relevant to you. The length is often hard to define precisely, so one
>> approach is to compute the length of the maximum geodesic and use that
>> as the length. In your case this could be equivalent to the maximum
>> diameter. This was originally proposed by Lantejoul, I believe.
>>
>
> Hi Richard,
>
> Thank you for the pointer. I am not sure I understand how this applies
> though, since from my basic understanding and from reading the
> abstract of this paper of Lantejoul
> http://dx.doi.org.proxy.wm.edu/10.1016/0031-3203(84)90057-8, geodesic
> distance is calculated along an arc. I don't see how it can be used
> for diameter calculation. Maybe I need to find the article and study
> this more.
>
> Andriy Fedorov
>
>
>> I'm not sure about implementation details in the original paper -
>> perhaps there is a neat trick to do it efficiently. You can certainly
>> compute the maximum geodesic between one border point and the rest of
>> the tumour using fast marching methods, and then repeat the process
>> for all border voxels. This sounds slower than your idea of computing
>> the euclidean distance between all pairs of border voxels, but can
>> deal with more complex shapes.
>>
>>
>> On Fri, Dec 12, 2008 at 6:20 AM, Andriy Fedorov <fedorov at bwh.harvard.edu> wrote:
>>> On Thu, Dec 11, 2008 at 2:09 PM, Gaëtan Lehmann
>>> <gaetan.lehmann at jouy.inra.fr> wrote:
>>>> You may want to look at
>>>> http://insight-journal.org/browse/publication/176 for the point 2 and 3, and
>>>> more precisely to the FeretDiameter of the itk::ShapeLabelObject class. The
>>>> value is computed by itk::ShapeLabelMapFilter or a class which run it -
>>>> itk::BinaryImageToShapeLabelMapFilter or
>>>> itk::LabelImageToShapeLabelMapFilter.
>>>> The point 4 would require some more work though, as it is not implemented in
>>>> that contribution, but it should be quite easily extended.
>>>> I'm much concerned by the point 5, which seems quite difficult to do in a
>>>> reasonable time, but time may not be a big constraint for you. If I
>>>> understand it well, it mean s counting the pixels on the line for all the
>>>> pairs of points on the contour. I'm right?
>>>>
>>>
>>> Gaetan,
>>>
>>> Thank you for the pointers. I was not aware of the IJ contribution you
>>> mentioned -- I need to study that.
>>>
>>>> I'm much concerned by the point 5, which seems quite difficult to do in a
>>>> reasonable time, but time may not be a big constraint for you. If I
>>>> understand it well, it mean s counting the pixels on the line for all the
>>>> pairs of points on the contour. I'm right?
>>>
>>> Yes, you are correct. Unfortunately, time IS a constraint in my
>>> application. And with the approach I consider, complexity will be
>>> (number of contour points)^2*(average contour diameter in pixels) due
>>> to the inside/outside checks along the line.
>>>
>>> Maybe I should I just try it out and see what it means in terms of seconds...
>>>
>>> Fedorov
>>>
>>>
>>>
>>>> Regards,
>>>>
>>>> Gaëtan
>>>>
>>>>
>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Thu, Dec 11, 2008 at 12:10 PM, Neuner Markus <neuner.markus at gmx.net>
>>>>> wrote:
>>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> I would sggest an approch that is called: "Bounding Sphere"
>>>>>> and is commonly used in graphics to calculate bounding spheres that are
>>>>>> independent of object rotations.
>>>>>>
>>>>>> Several methods exist to compute a bounding spere and some good examples
>>>>>> of
>>>>>> how to compute and implement this is outlined in the book "Real-Time
>>>>>> Collision Detection" from Christer Ericson.
>>>>>>
>>>>>> One good method is to use the direction of maximum spread from a PCA
>>>>>> (primary component analysis) of all "contour points".
>>>>>> Then you pick points farhest away along this direction (1st eigenvector).
>>>>>> This is done by projection (Dot-Product) of the points onto the direction
>>>>>> vector and you increase the diameter of a shpere until all points are
>>>>>> inside.
>>>>>>
>>>>>> I dont know if PCA is implemented in ITK to compute the covariancematrix,
>>>>>> eigenvectors and eigenvalues of a point set.
>>>>>>
>>>>>>
>>>>>> Regards, Markus
>>>>>>
>>>>>>
>>>>>> Andriy Fedorov wrote:
>>>>>>>
>>>>>>> On Thu, Dec 11, 2008 at 10:17 AM, Somer, Edward <edward.somer at kcl.ac.uk>
>>>>>>> wrote:
>>>>>>>
>>>>>>>>
>>>>>>>> Having segmented the tumour I'd try a 3D-distance transform to find the
>>>>>>>> interior pixel furthest from any edge of the mask. Isn't the maximum
>>>>>>>> diameter then twice the value of the distance transform at this point?
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>> This will not work, unfortunately. Here's a counterexample.
>>>>>>>
>>>>>>> Imagine I-like shape of some thickness in 2d. Then the maximum
>>>>>>> distance from distance transform will be half the thickness of the
>>>>>>> shape. However, the diameter will be equal to the *length* of this
>>>>>>> shape. So in this case you are getting non-maximum diameter with the
>>>>>>> approach you suggest.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>>
>>>>>>>> Perhaps I'm missing something,
>>>>>>>>
>>>>>>>> Ed
>>>>>>>>
>>>>>>>> Andriy Fedorov wrote:
>>>>>>>>
>>>>>>>>>
>>>>>>>>> Luis,
>>>>>>>>>
>>>>>>>>> I am actually looking for an automatic tool.
>>>>>>>>>
>>>>>>>>> The approach I am currently considering is this:
>>>>>>>>>
>>>>>>>>> 1) go through the axial slices, find the one with the largest area
>>>>>>>>> 2) extract that slice contour
>>>>>>>>> 3) go through all possible combinations of the contour points, find
>>>>>>>>> the pair of most distant points, and take this as a diameter
>>>>>>>>> 4) follow the line between the points in the previous step, and
>>>>>>>>> subtract the parts of the line that are outside the contour (this is
>>>>>>>>> how the tumor measurements are actually taken). This may change the
>>>>>>>>> measured diameter.
>>>>>>>>> 5) repeat steps 3 and 4 until the maximum is found after taking into
>>>>>>>>> account diameter parts outside the countour
>>>>>>>>>
>>>>>>>>> The problem of course is that this procedure will be quadratic to the
>>>>>>>>> number of contour points, and I am looking for ways to speed this up,
>>>>>>>>> or find an existing implementation, or find a better way to find the
>>>>>>>>> farthest point. I thought about kd-tree to optimize point location,
>>>>>>>>> but I am not sure how to use it for farthest point.
>>>>>>>>>
>>>>>>>>> Any comments are welcome
>>>>>>>>>
>>>>>>>>> Andriy Fedorov
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Thu, Dec 11, 2008 at 9:47 AM, Luis Ibanez <luis.ibanez at kitware.com>
>>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Hi Andi,
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Are you looking for an automatic tool ?
>>>>>>>>>> or for an interactive method ?
>>>>>>>>>>
>>>>>>>>>> In VTK you will find 3D Widgets designed
>>>>>>>>>> for taking measurements in-plane.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Regards,
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Luis
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> ------------------------
>>>>>>>>>> Andriy Fedorov wrote:
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Hi,
>>>>>>>>>>>
>>>>>>>>>>> I need to measure the longest diameter of a 3D tumor segmentation. I
>>>>>>>>>>> was wondering, if anybody is aware of any existing tools for this
>>>>>>>>>>> purpose? If not, are there tools to quickly measure the diameter of
>>>>>>>>>>> a
>>>>>>>>>>> 2D projection of the segmentation?
>>>>>>>>>>>
>>>>>>>>>>> I just wanted to have the community opinion before starting to
>>>>>>>>>>> implement something myself.
>>>>>>>>>>>
>>>>>>>>>>> Andriy Fedorov
>>>>>>>>>>> _______________________________________________
>>>>>>>>>>> Insight-users mailing list
>>>>>>>>>>> Insight-users at itk.org
>>>>>>>>>>> http://www.itk.org/mailman/listinfo/insight-users
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> Insight-users mailing list
>>>>>>>>> Insight-users at itk.org
>>>>>>>>> http://www.itk.org/mailman/listinfo/insight-users
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Edward Somer, PhD.
>>>>>>>> Senior PET Methodologist
>>>>>>>> The PET Imaging Centre St Thomas' Hospital
>>>>>>>> London, UK
>>>>>>>> SE1 7EH
>>>>>>>>
>>>>>>>> work tel: +44 (0) 20 7188 1497
>>>>>>>> work fax: +44 (0) 20 7620 0790
>>>>>>>> e-mail: Edward.Somer at kcl.ac.uk / Edward.Somer at googlemail.com
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Insight-users mailing list
>>>>>>> Insight-users at itk.org
>>>>>>> http://www.itk.org/mailman/listinfo/insight-users
>>>>>>>
>>>>>>>
>>>>>>
>>>>> _______________________________________________
>>>>> Insight-users mailing list
>>>>> Insight-users at itk.org
>>>>> http://www.itk.org/mailman/listinfo/insight-users
>>>>
>>>> --
>>>> Gaëtan Lehmann
>>>> Biologie du Développement et de la Reproduction
>>>> INRA de Jouy-en-Josas (France)
>>>> tel: +33 1 34 65 29 66 fax: 01 34 65 29 09
>>>> http://voxel.jouy.inra.fr http://www.mandriva.org
>>>> http://www.itk.org http://www.clavier-dvorak.org
>>>>
>>>>
>>> _______________________________________________
>>> Insight-users mailing list
>>> Insight-users at itk.org
>>> http://www.itk.org/mailman/listinfo/insight-users
>>>
>>
>
More information about the Insight-users
mailing list