[Insight-users] Measuring tumor diameter
Andriy Fedorov
fedorov at bwh.harvard.edu
Fri Dec 12 09:19:02 EST 2008
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