[ITK-users] speed function for itkSpeedToPathFilter
Prashanth
prashanth.dumpuri at gmail.com
Mon Aug 31 16:14:17 EDT 2015
Matt - I did not have success building TubeTk. First I got errors related
to Boost (even though the build instructions said it was optional) and then
I got errors related to KW Widgets. So, I abandoned building TubeTk.
Dan - Thanks again for the link but WhiteHatTopImageFilter did not work for
me. Again, if I read your email correctly then you said that a binary image
(1 inside vessel, 0 outside) should work as input for
itkSpeedFunctionToPathFilter. Binary images did not work for me either - I
ended up with zero points in my shortest path.
In case someone else stumbles across this post here's what worked for me:
(Defining the problem again) My goal is to find the shortest path between
two points that lie on a vessel's centerline.
What worked for me:
(assumes that input image and all other intermediate outputs are double
images. if not, cast your image).
1. Crop the input image (to speed up computations)
2. Select seeds on cropped image and use itkConfidenceConnectedmageFilter
to segment vessel
3. Fill the holes in the segmented binary image
4. Multiply the above image (hole filled binary segmented image) with
cropped image
5. Use image from step 4 as input for
itkMultiScaleHessianBasedMeasureImageFilter.
I used itkHessianToObjectnessMeasureImageFilter as my hessian measure
filter input. Note that I had to set SetScaleObjectnessMeasure to TRUE
for itkHessianToObjectnessMeasureImageFilter to work.
6. Rescale itkMultiScaleHessianBasedMeasureImageFilter to lie between 0
and 1
7. Select start and end point and run itkSpeedFunctionToPathFilter
Thanks again to Matt and Dan for responding and helping me out.
Prashanth
On Tue, Aug 25, 2015 at 11:16 AM Prashanth <prashanth.dumpuri at gmail.com>
wrote:
> Matt and Dan - Thank you so much for getting back to me.
>
> Dan - If I understood your email correctly then a binary image (with 1
> inside the vessels and 0 outside) should work as a speed function. And if
> that is the case then a binary mask did not work for me. I get no points in
> the output of SpeedToPath filter if I use a binary mask. I'm looking into
> White top hat filtering and vesselness currently. Like you pointed out (and
> as mentioned in your thesis), vesselness is slower but so far it seems to
> be working better than white top hat.
>
> Matt - I will look into TubeTk as well and post an update to the mailing
> list.
>
> Thanks again
> Prashanth
>
> On Tue, Aug 25, 2015 at 10:52 AM Matt McCormick <
> matt.mccormick at kitware.com> wrote:
>
>> Hi Prashanth,
>>
>> Classes within TubeTK [1] specialize in creating input images that
>> would work well as an input to the itk::SpeedToPathFilter.
>>
>> Hope this helps,
>> Matt
>>
>> [1] https://github.com/KitwareMedical/TubeTK
>>
>> On Sun, Aug 23, 2015 at 5:49 AM, Dan Mueller <dan.muel at gmail.com> wrote:
>> > Hi Prashanth,
>> >
>> > Essentially you want your speed function to be white (1.0) in the
>> > vessels and black (0.0) outside of the vessels — any way you can
>> > achieve this is fine. The method you have outline is very general, and
>> > the issue is step (1) i.e. finding an approximate centreline. Some
>> > have suggested achieving this by applying multiscale Hessian line
>> > filtering (aka vessel enhancement filtering) such as Sato/Frangi
>> > method — while this can achieve good results, personally I find this
>> > method very slow. In my own work, I have found morphological top-hat
>> > by opening (aka white top-hat or WTH) produces good results at a
>> > fraction of the computation expense, especially using the box
>> > structuring element with acceleration (e.g. see [1]).
>> >
>> > Good luck.
>> >
>> > Cheers, Dan
>> >
>> > [1] “Direct volume illustration for cardiac applications,” chapter 4,
>> > page 83–109,
>> http://eprints.qut.edu.au/17028/1/Daniel_Mueller_Thesis.pdf
>> >
>> > On 22 August 2015 at 06:52, Prashanth <prashanth.dumpuri at gmail.com>
>> wrote:
>> >> All,
>> >>
>> >> I'm working on finding the shortest path between two points in a vessel
>> >> tree. itkSpeedToPathFilter seems to be working well for me as long as I
>> >> select the right speed function. Digging through Insight Journal, I
>> found a
>> >> link to Deschamp's Ph.D. thesis
>> >> (
>> https://tel.archives-ouvertes.fr/file/index/docid/45537/filename/index.html
>> )
>> >> which outlines one method to select a speed function:
>> >>
>> >> 1. Approximate centerline based on the input image
>> >> 2. Segmentation using the approximate centerline
>> >> 3. Use the segmented image and approximate centerline to create an
>> image
>> >> with signed distances to the approximate centerline
>> >> 4. Use the above image as the input speed function for
>> itkSpeedToPathFilter
>> >>
>> >> The above steps seem to work (I say 'seem to work' because I tested it
>> just
>> >> three 2D images so far), but are there other methods to select the
>> speed
>> >> function? My input images are contrast enhanced CT images and the
>> vessels
>> >> are easy to identify and segment. Any help on how to select the correct
>> >> speed function will be appreciated.
>> >>
>> >> Thanks
>> >> Prashanth
>> >>
>> >> _____________________________________
>> >> Powered by www.kitware.com
>> >>
>> >> Visit other Kitware open-source projects at
>> >> http://www.kitware.com/opensource/opensource.html
>> >>
>> >> Kitware offers ITK Training Courses, for more information visit:
>> >> http://www.kitware.com/products/protraining.php
>> >>
>> >> Please keep messages on-topic and check the ITK FAQ at:
>> >> http://www.itk.org/Wiki/ITK_FAQ
>> >>
>> >> Follow this link to subscribe/unsubscribe:
>> >> http://public.kitware.com/mailman/listinfo/insight-users
>> >>
>> > _____________________________________
>> > Powered by www.kitware.com
>> >
>> > Visit other Kitware open-source projects at
>> > http://www.kitware.com/opensource/opensource.html
>> >
>> > Kitware offers ITK Training Courses, for more information visit:
>> > http://www.kitware.com/products/protraining.php
>> >
>> > Please keep messages on-topic and check the ITK FAQ at:
>> > http://www.itk.org/Wiki/ITK_FAQ
>> >
>> > Follow this link to subscribe/unsubscribe:
>> > http://public.kitware.com/mailman/listinfo/insight-users
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/insight-users/attachments/20150831/c067fa1d/attachment.html>
More information about the Insight-users
mailing list