Fast Marching# Fast Marching

Class: NodeFastMarching

Node Icon

The fast marching method is a simple form of level-set evolution where only a positive speed term is used to govern the differential equation. The resulting level-set contour only grows over time. Practically, this algorithm can be used as an advanced region growing segmentation which is controlled by a speed image.

A good propagation speed image for segmentation is close to zero near object boundaries and relatively high in between.

The fast marching filter is initiated with an seed point or mask, which generates trial points. The trial points are the starting location of the level-set. The output of the fast marching filter is a time-crossing map that indicate the time of arrival of the propagated level-set front.

Example Workflows

Fast Marching example


Speed Image

The speed image should have values ~0 close to edges and relativly high inbetween. Usually a gradient magnitude filter followed by a sigmoid filter are appropriate.

Type: Image4DFloat, Required, Single

Seed Mask

The seed mask describes the initial level set.

Type: Image4DBool, Optional, Single



The time crossing map produced by the fast marching filter. By thresholding the time-crossing map, different segmentations can be produced.

Type: Image4DFloat



Stopping Value Number

The algorithm can be terminated early by setting an appropriate stopping value. The algorithm terminates when the current arrival time being processed is greater than the stopping value.


Seed Voxel X Integer

Seed voxel X position.

Seed Voxel Y Integer

Seed voxel Y position.

Seed Voxel Z Integer

Seed voxel Z position.


Set Infinity To Number

If the algorithm is stopped early, voxels which have not been reached by the fast marching front will have value Inf. This can be difficult to visualise, therefore choose an appropriate value to be assigned to Inf voxels.


1. "The Insight Segmentation and Registration Toolkit"

See also