[Insight-users] compute an abs. and rel. distance-field image based on a start front, an obstacle image and a finish front

Dr. Roman Grothausmann grothausmann.roman at mh-hannover.de
Thu Aug 22 07:02:42 EDT 2013


Hello Dan,


Many thanks for that hint, I got it working with that. May I suggest these 
additions to be included in ITK. (They even do not seem to be part of Your 
contribution: Fast Marching Minimal Path Extraction
http://www.insight-journal.org/browse/publication/213)
These additions would be great and would make the itkFastMarchingImageFilter a 
bit more intuitive since most ITK-filters expect input through images.

Four questions I still have:
- Is it OK to set the trail points to the same set as the alive points, i.e.:

     filter->SetAlivePoints(ANodes);
     filter->SetTrialPoints(ANodes); //try with trial points = alive points

Or should I actually create an image only consisting of the voxels adjacent to 
the start voxels?

- Should I make sure the speed image is < 1 at the positions of the start 
voxels, i.e. kind of mask the speed image with the start front image?

- Does the fast-marching distance field consists of linear distances or squared 
distances and does that for some reason depend on the image dimension?

- What is itkFastMarchingImageFilter::SetBinaryMask meant for?

Many thanks for Your help.
Roman

On 20/08/13 13:57, Dan Mueller wrote:
> Hi Roman,
>
> Concerning your question specifying Fast Marching starting points from
> a binary image, you may find some inspiration from the following file:
> https://code.google.com/p/manageditk/source/browse/trunk/Source/Modules/LevelSetFilters/itkFastMarchingImageFilter.txx?r=2
> (see SetTrialPointsFromImage method).
>
> Good luck.
>
> Regards, Dan
>
> On 19 August 2013 19:58, Dr. Roman Grothausmann
> <grothausmann.roman at mh-hannover.de> wrote:
>> Hello Dan,
>>
>>
>> Thank You very much for Your answer. It's Your publication I got the idea
>> from (as You had suggested before, I had already used it trying to compute
>> center-lines in tomograms), however, if I understand it correctly, it seems
>> that SpeedFunctionToPathFilter expects start points to be set. How can I
>> specify start points via a binary image? Would I have to iterate over the
>> image and for each fg value add its coordinates as start point?
>> As currently I'm not interested in "center lines" but in a kind of distance
>> map would itkFastMarchingImageFilter be the right choice?
>>
>> Below is my current code which compiles fine but does not yield the desired
>> output (only a binary image in float format).
>> My guess is that SetBinaryMask is not meant for setting the start front,
>> however I could not find what it is actually meant for in the docs.
>> I only found one example where SetBinaryMask is used but it also sets
>> AlivePoints TrialPoints:
>> http://webcache.googleusercontent.com/search?q=cache:seDik6jwW0MJ:https://itk.icts.uiowa.edu/fisheye/browse/~raw,r%3D8cefdc7bbda0183442666f236866ba25bcda853f/ITK/Testing/Code/Algorithms/itkFastMarchingTest2.cxx+itk+FastMarchingImageFilter+%22SetBinaryMask%22&cd=7&hl=de&ct=clnk&gl=de
>>
>> What do I have to do to set the start front (and if necessary the trial
>> front) to consist of the border pixels of the first binary image. As it says
>> in the docs: the trial points "can for instance be specified as the layer of
>> pixels around the alive points". What would be the best way to do that?
>>
>>
>> Thanks for any help or hints
>> Roman
>>


-- 
Dr. Roman Grothausmann

Tomographie und Digitale Bildverarbeitung
Tomography and Digital Image Analysis

Institut für Funktionelle und Angewandte Anatomie, OE 4120
Medizinische Hochschule Hannover
Carl-Neuberg-Str. 1
D-30625 Hannover

Tel. +49 511 532-9574


More information about the Insight-users mailing list