[Insight-users] Fast Marching Filter produces blank output

Dan Mueller dan.muel at gmail.com
Thu Sep 27 15:32:51 EDT 2007


Hi Charlotte,

On 28/09/2007, Charlotte Curtis <curtisc at uoguelph.ca> wrote:
> I'm trying to implement the basic pipeline for the Fast Marching Filter (as
> described in the ITK software guide) in MeVisLab, since it's the only
> program I can find that doesn't hate my graphics card.

I am confused. Are you using ITK directly, ITK filters through
MeVisLab, or are you simply using MeVisLab to look at the result? If
ITK directly, can you post your code?

>  I am basically just copying the sample application (FastMarchingLevelSet),
> which crashes every time I try to run it, so I'm not sure what output I should expect.

The Fast Marching algorithm outputs what is termed an 'arrival
function'. This function indicates at what time the expanding front
will cross the pixel (initial front = 0.0).

> I have no problem with the gradient filter or the sigmoid filter - they produce
> output comparable to the software guide, but when I run the fast marching
> filter, I get a blank image with all voxels set to 1.70141e+38.  This
> happens with all the different parameters I have tried.  Some general info:
>
> - Image is CT of carpal bones, downsampled to 71 x 86 x 48 with cortical
> bone at around 200 HU +
> - I tried stopping values ranging from 0 to 1000

The stopping value should be greater than 0.0. It is a mechanism to
stop the algorithm before all the pixels in the image have been
processed. If you do not set this parameter a large value is used by
default (which typically results in the whole image being processed).

> - I don't really know what the Normalization Factor and Speed Constants are,
> but I've also tried them in the 0 to 1000 range

The NormalizationFactor parameter is used to support integer speed
functions -- the integer speed function is divided by this value to
convert each pixel to a real. If using a real speed function, you do
not need to set this parameter (it defaults to 1.0). It sounds like
you are computing a real speed function, in which case it should be in
the range [0.0,1.0] (0.0 in areas you want to the front to move
slowly, 1.0 in areas you want the front to move quickly).

SpeedConstant is used if you do not provided a speed function. The
parameter basically allows you to compute a Euclidean distance map
from the initial front.

> I tried to attach a screenshot, but it was too big for the listserv.  Any
> help would be appreciated, thanks

Can you post your input image and speed image to a web server
somewhere? They would be very helpful trying to diagnose the problem.

Cheers, Dan


More information about the Insight-users mailing list