Main Page   Groups   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Concepts

itk::FastMarchingImageFilter< TLevelSet, TSpeedImage > Class Template Reference
[Level Set-Based Segmentation Filters]

Solve an Eikonal equation using Fast Marching. More...

#include <itkFastMarchingImageFilter.h>

Inheritance diagram for itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >:

Inheritance graph
[legend]
Collaboration diagram for itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >:

Collaboration graph
[legend]
List of all members.

Public Types

typedef FastMarchingImageFilter Self
typedef ImageSource< TLevelSet > Superclass
typedef SmartPointer< SelfPointer
typedef SmartPointer< const
Self
ConstPointer
typedef LevelSetTypeDefault<
TLevelSet > 
LevelSetType
typedef LevelSetType::LevelSetImageType LevelSetImageType
typedef LevelSetType::LevelSetPointer LevelSetPointer
typedef LevelSetType::PixelType PixelType
typedef LevelSetType::NodeType NodeType
typedef LevelSetType::NodeContainer NodeContainer
typedef LevelSetType::NodeContainerPointer NodeContainerPointer
typedef LevelSetImageType::SizeType OutputSizeType
typedef LevelSetImageType::RegionType OutputRegionType
typedef LevelSetImageType::SpacingType OutputSpacingType
typedef LevelSetImageType::PointType OutputPointType
typedef Index< itkGetStaticConstMacro(SetDimension) IndexType )
typedef TSpeedImage SpeedImageType
typedef SpeedImageType::Pointer SpeedImagePointer
typedef SpeedImageType::ConstPointer SpeedImageConstPointer
typedef Image< unsigned char,
itkGetStaticConstMacro(SetDimension) 
LabelImageType )
typedef LabelImageType::Pointer LabelImagePointer
enum  LabelType { FarPoint, AlivePoint, TrialPoint }

Public Member Functions

virtual const char * GetNameOfClass () const
 itkStaticConstMacro (SetDimension, unsigned int, LevelSetType::SetDimension)
NodeContainerPointer GetAlivePoints ()
NodeContainerPointer GetTrialPoints ()
LabelImagePointer GetLabelImage () const
virtual const double & GetSpeedConstant ()
virtual void SetStoppingValue (double _arg)
virtual const double & GetStoppingValue ()
virtual void SetCollectPoints (bool _arg)
NodeContainerPointer GetProcessedPoints () const
void SetAlivePoints (NodeContainer *points)
void SetTrialPoints (NodeContainer *points)
void SetSpeedConstant (double value)
virtual void SetNormalizationFactor (double _arg)
virtual double GetNormalizationFactor ()
virtual const bool & GetCollectPoints ()
virtual void CollectPointsOn ()
virtual void CollectPointsOff ()
virtual void SetOutputSize (const OutputSizeType &size)
virtual OutputSizeType GetOutputSize () const
virtual void SetOutputRegion (OutputRegionType _arg)
virtual const OutputRegionTypeGetOutputRegion ()
virtual void SetOutputSpacing (OutputSpacingType _arg)
virtual const OutputSpacingTypeGetOutputSpacing ()
virtual void SetOutputOrigin (OutputPointType _arg)
virtual const OutputPointTypeGetOutputOrigin ()
virtual void SetOverrideOutputInformation (bool _arg)
virtual const bool & GetOverrideOutputInformation ()
virtual void OverrideOutputInformationOn ()
virtual void OverrideOutputInformationOff ()

Static Public Member Functions

Pointer New ()

Protected Types

typedef LevelSetImageType::IndexType LevelSetIndexType

Protected Member Functions

 FastMarchingImageFilter ()
 ~FastMarchingImageFilter ()
void PrintSelf (std::ostream &os, Indent indent) const
virtual void Initialize (LevelSetImageType *)
virtual void UpdateNeighbors (const IndexType &index, const SpeedImageType *, LevelSetImageType *)
virtual double UpdateValue (const IndexType &index, const SpeedImageType *, LevelSetImageType *)
const AxisNodeTypeGetNodeUsedInCalculation (unsigned int idx) const
void GenerateData ()
virtual const PixelTypeGetLargeValue ()
virtual const LevelSetIndexTypeGetStartIndex ()
virtual const LevelSetIndexTypeGetLastIndex ()
virtual void GenerateOutputInformation ()
virtual void EnlargeOutputRequestedRegion (DataObject *output)

Protected Attributes

OutputRegionType m_BufferedRegion
LevelSetIndexType m_StartIndex
LevelSetIndexType m_LastIndex

Detailed Description

template<class TLevelSet, class TSpeedImage = Image<float,::itk::GetImageDimension<TLevelSet>::ImageDimension>>
class itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >

Solve an Eikonal equation using Fast Marching.

Fast marching solves an Eikonal equation where the speed is always non-negative and depends on the position only. Starting from an initial position on the front, fast marching systematically moves the front forward one grid point at a time.

Updates are preformed using an entropy satisfy scheme where only "upwind" neighborhoods are used. This implementation of Fast Marching uses a std::priority_queue to locate the next proper grid position to update.

Fast Marching sweeps through N grid points in (N log N) steps to obtain the arrival time value as the front propagates through the grid.

Implementation of this class is based on Chapter 8 of "Level Set Methods and Fast Marching Methods", J.A. Sethian, Cambridge Press, Second edition, 1999.

This class is templated over the level set image type and the speed image type. The initial front is specified by two containers: one containing the known points and one containing the trial points. The speed function can be specified as a speed image or a speed constant. The speed image is set using the method SetInput(). If the speed image is NULL, a constant speed function is used and is specified using method the SetSpeedConstant().

If the speed function is constant and of value one, fast marching results in an approximate distance function from the initial alive points. FastMarchingImageFilter is used in the ReinitializeLevelSetImageFilter object to create a signed distance function from the zero level set.

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.

There are two ways to specify the output image information ( LargestPossibleRegion, Spacing, Origin): (a) it is copied directly from the input speed image or (b) it is specified by the user. Default values are used if the user does not specify all the information.

The output information is computed as follows. If the speed image is NULL or if the OverrideOutputInformation is set to true, the output information is set from user specified parameters. These parameters can be specified using methods SetOutputRegion(), SetOutputSpacing() and SetOutputOrigin(). Else if the speed image is not NULL, the output information is copied from the input speed image.

Possible Improvements: In the current implemenation, std::priority_queue only allows taking nodes out from the front and putting nodes in from the back. To update a value already on the heap, a new node is added to the heap. The defunct old node is left on the heap. When it is removed from the top, it will be recognized as invalid and not used. Future implementations can implement the heap in a different way allowing the values to be updated. This will generally require some sift-up and sift-down functions and an image of back-pointers going from the image to heap in order to locate the node which is to be updated.

See also:
LevelSetTypeDefault

Definition at line 98 of file itkFastMarchingImageFilter.h.


Member Typedef Documentation

template<class TLevelSet, class TSpeedImage = Image<float,::itk::GetImageDimension<TLevelSet>::ImageDimension>>
typedef SmartPointer<const Self> itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::ConstPointer
 

Reimplemented from itk::ImageToImageFilter< TSpeedImage, TLevelSet >.

Reimplemented in itk::FastMarchingExtensionImageFilter< TLevelSet, TAuxValue, VAuxDimension, TSpeedImage >, and itk::FastMarchingUpwindGradientImageFilter< TLevelSet, TSpeedImage >.

Definition at line 106 of file itkFastMarchingImageFilter.h.

template<class TLevelSet, class TSpeedImage = Image<float,::itk::GetImageDimension<TLevelSet>::ImageDimension>>
typedef Index<itkGetStaticConstMacro(SetDimension) itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::IndexType)
 

Index typedef support.

Reimplemented in itk::FastMarchingExtensionImageFilter< TLevelSet, TAuxValue, VAuxDimension, TSpeedImage >, and itk::FastMarchingUpwindGradientImageFilter< TLevelSet, TSpeedImage >.

Definition at line 143 of file itkFastMarchingImageFilter.h.

Referenced by itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::~FastMarchingImageFilter().

template<class TLevelSet, class TSpeedImage = Image<float,::itk::GetImageDimension<TLevelSet>::ImageDimension>>
typedef LabelImageType::Pointer itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::LabelImagePointer
 

LabelImagePointer typedef support.

Definition at line 162 of file itkFastMarchingImageFilter.h.

Referenced by itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::GetTrialPoints().

template<class TLevelSet, class TSpeedImage = Image<float,::itk::GetImageDimension<TLevelSet>::ImageDimension>>
typedef Image<unsigned char, itkGetStaticConstMacro(SetDimension) itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::LabelImageType)
 

LabelImage typedef support.

Reimplemented in itk::FastMarchingUpwindGradientImageFilter< TLevelSet, TSpeedImage >.

Definition at line 159 of file itkFastMarchingImageFilter.h.

template<class TLevelSet, class TSpeedImage = Image<float,::itk::GetImageDimension<TLevelSet>::ImageDimension>>
typedef LevelSetType::LevelSetImageType itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::LevelSetImageType
 

Reimplemented in itk::FastMarchingExtensionImageFilter< TLevelSet, TAuxValue, VAuxDimension, TSpeedImage >, and itk::FastMarchingUpwindGradientImageFilter< TLevelSet, TSpeedImage >.

Definition at line 116 of file itkFastMarchingImageFilter.h.

Referenced by itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::~FastMarchingImageFilter().

template<class TLevelSet, class TSpeedImage = Image<float,::itk::GetImageDimension<TLevelSet>::ImageDimension>>
typedef LevelSetImageType::IndexType itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::LevelSetIndexType [protected]
 

Reimplemented in itk::FastMarchingUpwindGradientImageFilter< TLevelSet, TSpeedImage >.

Definition at line 293 of file itkFastMarchingImageFilter.h.

Referenced by itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::GetNodeUsedInCalculation().

template<class TLevelSet, class TSpeedImage = Image<float,::itk::GetImageDimension<TLevelSet>::ImageDimension>>
typedef LevelSetType::LevelSetPointer itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::LevelSetPointer
 

Reimplemented in itk::FastMarchingUpwindGradientImageFilter< TLevelSet, TSpeedImage >.

Definition at line 117 of file itkFastMarchingImageFilter.h.

template<class TLevelSet, class TSpeedImage = Image<float,::itk::GetImageDimension<TLevelSet>::ImageDimension>>
typedef LevelSetTypeDefault<TLevelSet> itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::LevelSetType
 

Typedef support of level set method types.

Reimplemented in itk::FastMarchingExtensionImageFilter< TLevelSet, TAuxValue, VAuxDimension, TSpeedImage >, and itk::FastMarchingUpwindGradientImageFilter< TLevelSet, TSpeedImage >.

Definition at line 115 of file itkFastMarchingImageFilter.h.

template<class TLevelSet, class TSpeedImage = Image<float,::itk::GetImageDimension<TLevelSet>::ImageDimension>>
typedef LevelSetType::NodeContainer itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::NodeContainer
 

Reimplemented in itk::FastMarchingUpwindGradientImageFilter< TLevelSet, TSpeedImage >.

Definition at line 120 of file itkFastMarchingImageFilter.h.

Referenced by itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::SetAlivePoints().

template<class TLevelSet, class TSpeedImage = Image<float,::itk::GetImageDimension<TLevelSet>::ImageDimension>>
typedef LevelSetType::NodeContainerPointer itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::NodeContainerPointer
 

Reimplemented in itk::FastMarchingUpwindGradientImageFilter< TLevelSet, TSpeedImage >.

Definition at line 121 of file itkFastMarchingImageFilter.h.

template<class TLevelSet, class TSpeedImage = Image<float,::itk::GetImageDimension<TLevelSet>::ImageDimension>>
typedef LevelSetType::NodeType itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::NodeType
 

Reimplemented in itk::FastMarchingUpwindGradientImageFilter< TLevelSet, TSpeedImage >.

Definition at line 119 of file itkFastMarchingImageFilter.h.

Referenced by itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::AxisNodeType::operator=().

template<class TLevelSet, class TSpeedImage = Image<float,::itk::GetImageDimension<TLevelSet>::ImageDimension>>
typedef LevelSetImageType::PointType itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::OutputPointType
 

Definition at line 125 of file itkFastMarchingImageFilter.h.

Referenced by itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::GetOutputSize().

template<class TLevelSet, class TSpeedImage = Image<float,::itk::GetImageDimension<TLevelSet>::ImageDimension>>
typedef LevelSetImageType::RegionType itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::OutputRegionType
 

Definition at line 123 of file itkFastMarchingImageFilter.h.

Referenced by itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::GetNodeUsedInCalculation(), and itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::SetOutputSize().

template<class TLevelSet, class TSpeedImage = Image<float,::itk::GetImageDimension<TLevelSet>::ImageDimension>>
typedef LevelSetImageType::SizeType itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::OutputSizeType
 

Definition at line 122 of file itkFastMarchingImageFilter.h.

template<class TLevelSet, class TSpeedImage = Image<float,::itk::GetImageDimension<TLevelSet>::ImageDimension>>
typedef LevelSetImageType::SpacingType itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::OutputSpacingType
 

Reimplemented in itk::FastMarchingUpwindGradientImageFilter< TLevelSet, TSpeedImage >.

Definition at line 124 of file itkFastMarchingImageFilter.h.

Referenced by itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::GetOutputSize(), and itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::SetOutputSize().

template<class TLevelSet, class TSpeedImage = Image<float,::itk::GetImageDimension<TLevelSet>::ImageDimension>>
typedef LevelSetType::PixelType itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::PixelType
 

Reimplemented in itk::FastMarchingUpwindGradientImageFilter< TLevelSet, TSpeedImage >.

Definition at line 118 of file itkFastMarchingImageFilter.h.

Referenced by itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::GetNodeUsedInCalculation().

template<class TLevelSet, class TSpeedImage = Image<float,::itk::GetImageDimension<TLevelSet>::ImageDimension>>
typedef SmartPointer<Self> itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::Pointer
 

Reimplemented from itk::ImageToImageFilter< TSpeedImage, TLevelSet >.

Reimplemented in itk::FastMarchingExtensionImageFilter< TLevelSet, TAuxValue, VAuxDimension, TSpeedImage >, and itk::FastMarchingUpwindGradientImageFilter< TLevelSet, TSpeedImage >.

Definition at line 105 of file itkFastMarchingImageFilter.h.

template<class TLevelSet, class TSpeedImage = Image<float,::itk::GetImageDimension<TLevelSet>::ImageDimension>>
typedef FastMarchingImageFilter itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::Self
 

Standard class typdedefs.

Reimplemented from itk::ImageToImageFilter< TSpeedImage, TLevelSet >.

Reimplemented in itk::FastMarchingExtensionImageFilter< TLevelSet, TAuxValue, VAuxDimension, TSpeedImage >, and itk::FastMarchingUpwindGradientImageFilter< TLevelSet, TSpeedImage >.

Definition at line 103 of file itkFastMarchingImageFilter.h.

template<class TLevelSet, class TSpeedImage = Image<float,::itk::GetImageDimension<TLevelSet>::ImageDimension>>
typedef SpeedImageType::ConstPointer itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::SpeedImageConstPointer
 

Reimplemented in itk::FastMarchingUpwindGradientImageFilter< TLevelSet, TSpeedImage >.

Definition at line 150 of file itkFastMarchingImageFilter.h.

template<class TLevelSet, class TSpeedImage = Image<float,::itk::GetImageDimension<TLevelSet>::ImageDimension>>
typedef SpeedImageType::Pointer itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::SpeedImagePointer
 

SpeedImagePointer typedef support.

Definition at line 149 of file itkFastMarchingImageFilter.h.

template<class TLevelSet, class TSpeedImage = Image<float,::itk::GetImageDimension<TLevelSet>::ImageDimension>>
typedef TSpeedImage itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::SpeedImageType
 

SpeedImage typedef support.

Reimplemented in itk::FastMarchingExtensionImageFilter< TLevelSet, TAuxValue, VAuxDimension, TSpeedImage >, and itk::FastMarchingUpwindGradientImageFilter< TLevelSet, TSpeedImage >.

Definition at line 146 of file itkFastMarchingImageFilter.h.

Referenced by itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::~FastMarchingImageFilter().

template<class TLevelSet, class TSpeedImage = Image<float,::itk::GetImageDimension<TLevelSet>::ImageDimension>>
typedef ImageSource<TLevelSet> itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::Superclass
 

Reimplemented from itk::ImageToImageFilter< TSpeedImage, TLevelSet >.

Reimplemented in itk::FastMarchingExtensionImageFilter< TLevelSet, TAuxValue, VAuxDimension, TSpeedImage >, and itk::FastMarchingUpwindGradientImageFilter< TLevelSet, TSpeedImage >.

Definition at line 104 of file itkFastMarchingImageFilter.h.


Member Enumeration Documentation

template<class TLevelSet, class TSpeedImage = Image<float,::itk::GetImageDimension<TLevelSet>::ImageDimension>>
enum itk::FastMarchingImageFilter::LabelType
 

Enum of Fast Marching algorithm point types. FarPoints represent far away points; TrialPoints represent points within a narrowband of the propagating front; and AlivePoints represent points which have already been processed.

Enumeration values:
FarPoint 
AlivePoint 
TrialPoint 

Definition at line 156 of file itkFastMarchingImageFilter.h.


Constructor & Destructor Documentation

template<class TLevelSet, class TSpeedImage = Image<float,::itk::GetImageDimension<TLevelSet>::ImageDimension>>
itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::FastMarchingImageFilter  )  [protected]
 

template<class TLevelSet, class TSpeedImage = Image<float,::itk::GetImageDimension<TLevelSet>::ImageDimension>>
itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::~FastMarchingImageFilter  )  [inline, protected]
 

Definition at line 266 of file itkFastMarchingImageFilter.h.

References itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::IndexType, itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::LevelSetImageType, and itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::SpeedImageType.


Member Function Documentation

template<class TLevelSet, class TSpeedImage = Image<float,::itk::GetImageDimension<TLevelSet>::ImageDimension>>
virtual void itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::CollectPointsOff  )  [virtual]
 

Get thConste Collect Points flag.

template<class TLevelSet, class TSpeedImage = Image<float,::itk::GetImageDimension<TLevelSet>::ImageDimension>>
virtual void itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::CollectPointsOn  )  [virtual]
 

Get thConste Collect Points flag.

template<class TLevelSet, class TSpeedImage = Image<float,::itk::GetImageDimension<TLevelSet>::ImageDimension>>
virtual void itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::EnlargeOutputRequestedRegion DataObject output  )  [protected, virtual]
 

Generate the output image meta information.

Reimplemented from itk::ProcessObject.

Reimplemented in itk::FastMarchingExtensionImageFilter< TLevelSet, TAuxValue, VAuxDimension, TSpeedImage >.

template<class TLevelSet, class TSpeedImage = Image<float,::itk::GetImageDimension<TLevelSet>::ImageDimension>>
void itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::GenerateData void   )  [protected, virtual]
 

A version of GenerateData() specific for image processing filters. This implementation will split the processing across multiple threads. The buffer is allocated by this method. Then the BeforeThreadedGenerateData() method is called (if provided). Then, a series of threads are spawned each calling ThreadedGenerateData(). After all the threads have completed processing, the AfterThreadedGenerateData() method is called (if provided). If an image processing filter cannot be threaded, the filter should provide an implementation of GenerateData(). That implementation is responsible for allocating the output buffer. If a filter an be threaded, it should NOT provide a GenerateData() method but should provide a ThreadedGenerateData() instead.

See also:
ThreadedGenerateData()

Reimplemented from itk::ImageSource< TLevelSet >.

template<class TLevelSet, class TSpeedImage = Image<float,::itk::GetImageDimension<TLevelSet>::ImageDimension>>
virtual void itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::GenerateOutputInformation  )  [protected, virtual]
 

Generate the output image meta information.

Reimplemented from itk::ProcessObject.

Reimplemented in itk::FastMarchingExtensionImageFilter< TLevelSet, TAuxValue, VAuxDimension, TSpeedImage >.

template<class TLevelSet, class TSpeedImage = Image<float,::itk::GetImageDimension<TLevelSet>::ImageDimension>>
NodeContainerPointer itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::GetAlivePoints  )  [inline]
 

Get the container of Alive Points representing the initial front.

Definition at line 174 of file itkFastMarchingImageFilter.h.

template<class TLevelSet, class TSpeedImage = Image<float,::itk::GetImageDimension<TLevelSet>::ImageDimension>>
virtual const bool& itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::GetCollectPoints  )  [virtual]
 

Get thConste Collect Points flag.

template<class TLevelSet, class TSpeedImage = Image<float,::itk::GetImageDimension<TLevelSet>::ImageDimension>>
LabelImagePointer itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::GetLabelImage  )  const [inline]
 

Get the point type label image.

Definition at line 191 of file itkFastMarchingImageFilter.h.

template<class TLevelSet, class TSpeedImage = Image<float,::itk::GetImageDimension<TLevelSet>::ImageDimension>>
virtual const PixelType& itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::GetLargeValue  )  [protected, virtual]
 

Get Large Value. This value is used to represent the concept of infinity for the time assigned to pixels that have not been visited. This value is set by default to half the max() of the pixel type used to represent the time-crossing map.

template<class TLevelSet, class TSpeedImage = Image<float,::itk::GetImageDimension<TLevelSet>::ImageDimension>>
virtual const LevelSetIndexType& itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::GetLastIndex  )  [protected, virtual]
 

template<class TLevelSet, class TSpeedImage = Image<float,::itk::GetImageDimension<TLevelSet>::ImageDimension>>
virtual const char* itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::GetNameOfClass  )  const [virtual]
 

Run-time type information (and related methods).

Reimplemented from itk::ImageToImageFilter< TSpeedImage, TLevelSet >.

Reimplemented in itk::FastMarchingExtensionImageFilter< TLevelSet, TAuxValue, VAuxDimension, TSpeedImage >, and itk::FastMarchingUpwindGradientImageFilter< TLevelSet, TSpeedImage >.

template<class TLevelSet, class TSpeedImage = Image<float,::itk::GetImageDimension<TLevelSet>::ImageDimension>>
const AxisNodeType& itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::GetNodeUsedInCalculation unsigned int  idx  )  const [inline, protected]
 

Definition at line 276 of file itkFastMarchingImageFilter.h.

References itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::LevelSetIndexType, itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::OutputRegionType, and itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::PixelType.

template<class TLevelSet, class TSpeedImage = Image<float,::itk::GetImageDimension<TLevelSet>::ImageDimension>>
virtual double itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::GetNormalizationFactor  )  [virtual]
 

Set/Get the Normalization Factor for the Speed Image. The values in the Speed Image is divided by this factor. This allows the use of images with integer pixel types to represent the speed.

template<class TLevelSet, class TSpeedImage = Image<float,::itk::GetImageDimension<TLevelSet>::ImageDimension>>
virtual const OutputPointType& itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::GetOutputOrigin  )  [virtual]
 

The output largeset possible, spacing and origin is computed as follows. If the speed image is NULL or if the OverrideOutputInformation is true, the output information is set from user specified parameters. These parameters can be specified using methods SetOutputRegion(), SetOutputSpacing() and SetOutputOrigin(). Else if the speed image is not NULL, the output information is copied from the input speed image.

template<class TLevelSet, class TSpeedImage = Image<float,::itk::GetImageDimension<TLevelSet>::ImageDimension>>
virtual const OutputRegionType& itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::GetOutputRegion  )  [virtual]
 

The output largeset possible, spacing and origin is computed as follows. If the speed image is NULL or if the OverrideOutputInformation is true, the output information is set from user specified parameters. These parameters can be specified using methods SetOutputRegion(), SetOutputSpacing() and SetOutputOrigin(). Else if the speed image is not NULL, the output information is copied from the input speed image.

template<class TLevelSet, class TSpeedImage = Image<float,::itk::GetImageDimension<TLevelSet>::ImageDimension>>
virtual OutputSizeType itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::GetOutputSize  )  const [inline, virtual]
 

The output largeset possible, spacing and origin is computed as follows. If the speed image is NULL or if the OverrideOutputInformation is true, the output information is set from user specified parameters. These parameters can be specified using methods SetOutputRegion(), SetOutputSpacing() and SetOutputOrigin(). Else if the speed image is not NULL, the output information is copied from the input speed image.

Definition at line 251 of file itkFastMarchingImageFilter.h.

References itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::OutputPointType, and itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::OutputSpacingType.

template<class TLevelSet, class TSpeedImage = Image<float,::itk::GetImageDimension<TLevelSet>::ImageDimension>>
virtual const OutputSpacingType& itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::GetOutputSpacing  )  [virtual]
 

The output largeset possible, spacing and origin is computed as follows. If the speed image is NULL or if the OverrideOutputInformation is true, the output information is set from user specified parameters. These parameters can be specified using methods SetOutputRegion(), SetOutputSpacing() and SetOutputOrigin(). Else if the speed image is not NULL, the output information is copied from the input speed image.

template<class TLevelSet, class TSpeedImage = Image<float,::itk::GetImageDimension<TLevelSet>::ImageDimension>>
virtual const bool& itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::GetOverrideOutputInformation  )  [virtual]
 

The output largeset possible, spacing and origin is computed as follows. If the speed image is NULL or if the OverrideOutputInformation is true, the output information is set from user specified parameters. These parameters can be specified using methods SetOutputRegion(), SetOutputSpacing() and SetOutputOrigin(). Else if the speed image is not NULL, the output information is copied from the input speed image.

template<class TLevelSet, class TSpeedImage = Image<float,::itk::GetImageDimension<TLevelSet>::ImageDimension>>
NodeContainerPointer itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::GetProcessedPoints  )  const [inline]
 

Get the container of Processed Points. If the CollectPoints flag is set, the algorithm collects a container of all processed nodes. This is useful for defining creating Narrowbands for level set algorithms that supports narrow banding.

Definition at line 239 of file itkFastMarchingImageFilter.h.

template<class TLevelSet, class TSpeedImage = Image<float,::itk::GetImageDimension<TLevelSet>::ImageDimension>>
virtual const double& itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::GetSpeedConstant  )  [virtual]
 

Get the Speed Constant.

template<class TLevelSet, class TSpeedImage = Image<float,::itk::GetImageDimension<TLevelSet>::ImageDimension>>
virtual const LevelSetIndexType& itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::GetStartIndex  )  [protected, virtual]
 

template<class TLevelSet, class TSpeedImage = Image<float,::itk::GetImageDimension<TLevelSet>::ImageDimension>>
virtual const double& itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::GetStoppingValue  )  [virtual]
 

Get the Fast Marching algorithm Stopping Value.

template<class TLevelSet, class TSpeedImage = Image<float,::itk::GetImageDimension<TLevelSet>::ImageDimension>>
NodeContainerPointer itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::GetTrialPoints  )  [inline]
 

Get the container of Trial Points representing the initial front.

Definition at line 187 of file itkFastMarchingImageFilter.h.

References itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::LabelImagePointer.

template<class TLevelSet, class TSpeedImage = Image<float,::itk::GetImageDimension<TLevelSet>::ImageDimension>>
virtual void itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::Initialize LevelSetImageType  )  [protected, virtual]
 

Reimplemented in itk::FastMarchingExtensionImageFilter< TLevelSet, TAuxValue, VAuxDimension, TSpeedImage >, and itk::FastMarchingUpwindGradientImageFilter< TLevelSet, TSpeedImage >.

template<class TLevelSet, class TSpeedImage = Image<float,::itk::GetImageDimension<TLevelSet>::ImageDimension>>
itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::itkStaticConstMacro SetDimension  ,
unsigned  int,
LevelSetType::SetDimension 
 

Dimension of the level set.

template<class TLevelSet, class TSpeedImage = Image<float,::itk::GetImageDimension<TLevelSet>::ImageDimension>>
Pointer itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::New  )  [static]
 

Method for creation through the object factory.

Reimplemented from itk::Object.

Reimplemented in itk::FastMarchingExtensionImageFilter< TLevelSet, TAuxValue, VAuxDimension, TSpeedImage >, and itk::FastMarchingUpwindGradientImageFilter< TLevelSet, TSpeedImage >.

template<class TLevelSet, class TSpeedImage = Image<float,::itk::GetImageDimension<TLevelSet>::ImageDimension>>
virtual void itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::OverrideOutputInformationOff  )  [virtual]
 

The output largeset possible, spacing and origin is computed as follows. If the speed image is NULL or if the OverrideOutputInformation is true, the output information is set from user specified parameters. These parameters can be specified using methods SetOutputRegion(), SetOutputSpacing() and SetOutputOrigin(). Else if the speed image is not NULL, the output information is copied from the input speed image.

template<class TLevelSet, class TSpeedImage = Image<float,::itk::GetImageDimension<TLevelSet>::ImageDimension>>
virtual void itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::OverrideOutputInformationOn  )  [virtual]
 

The output largeset possible, spacing and origin is computed as follows. If the speed image is NULL or if the OverrideOutputInformation is true, the output information is set from user specified parameters. These parameters can be specified using methods SetOutputRegion(), SetOutputSpacing() and SetOutputOrigin(). Else if the speed image is not NULL, the output information is copied from the input speed image.

template<class TLevelSet, class TSpeedImage = Image<float,::itk::GetImageDimension<TLevelSet>::ImageDimension>>
void itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::PrintSelf std::ostream &  os,
Indent  indent
const [protected, virtual]
 

Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from itk::ImageToImageFilter< TSpeedImage, TLevelSet >.

Reimplemented in itk::FastMarchingExtensionImageFilter< TLevelSet, TAuxValue, VAuxDimension, TSpeedImage >, and itk::FastMarchingUpwindGradientImageFilter< TLevelSet, TSpeedImage >.

template<class TLevelSet, class TSpeedImage = Image<float,::itk::GetImageDimension<TLevelSet>::ImageDimension>>
void itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::SetAlivePoints NodeContainer points  )  [inline]
 

Set the container of Alive Points representing the initial front. Alive points are represented as a VectorContainer of LevelSetNodes.

Definition at line 166 of file itkFastMarchingImageFilter.h.

References itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::NodeContainer.

template<class TLevelSet, class TSpeedImage = Image<float,::itk::GetImageDimension<TLevelSet>::ImageDimension>>
virtual void itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::SetCollectPoints bool  _arg  )  [virtual]
 

Set the Collect Points flag. Instrument the algorithm to collect a container of all nodes which it has visited. Useful for creating Narrowbands for level set algorithms that supports narrow banding.

template<class TLevelSet, class TSpeedImage = Image<float,::itk::GetImageDimension<TLevelSet>::ImageDimension>>
virtual void itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::SetNormalizationFactor double  _arg  )  [virtual]
 

Set/Get the Normalization Factor for the Speed Image. The values in the Speed Image is divided by this factor. This allows the use of images with integer pixel types to represent the speed.

template<class TLevelSet, class TSpeedImage = Image<float,::itk::GetImageDimension<TLevelSet>::ImageDimension>>
virtual void itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::SetOutputOrigin OutputPointType  _arg  )  [virtual]
 

The output largeset possible, spacing and origin is computed as follows. If the speed image is NULL or if the OverrideOutputInformation is true, the output information is set from user specified parameters. These parameters can be specified using methods SetOutputRegion(), SetOutputSpacing() and SetOutputOrigin(). Else if the speed image is not NULL, the output information is copied from the input speed image.

template<class TLevelSet, class TSpeedImage = Image<float,::itk::GetImageDimension<TLevelSet>::ImageDimension>>
virtual void itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::SetOutputRegion OutputRegionType  _arg  )  [virtual]
 

The output largeset possible, spacing and origin is computed as follows. If the speed image is NULL or if the OverrideOutputInformation is true, the output information is set from user specified parameters. These parameters can be specified using methods SetOutputRegion(), SetOutputSpacing() and SetOutputOrigin(). Else if the speed image is not NULL, the output information is copied from the input speed image.

template<class TLevelSet, class TSpeedImage = Image<float,::itk::GetImageDimension<TLevelSet>::ImageDimension>>
virtual void itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::SetOutputSize const OutputSizeType size  )  [inline, virtual]
 

The output largeset possible, spacing and origin is computed as follows. If the speed image is NULL or if the OverrideOutputInformation is true, the output information is set from user specified parameters. These parameters can be specified using methods SetOutputRegion(), SetOutputSpacing() and SetOutputOrigin(). Else if the speed image is not NULL, the output information is copied from the input speed image.

Definition at line 249 of file itkFastMarchingImageFilter.h.

References itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::OutputRegionType, and itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::OutputSpacingType.

template<class TLevelSet, class TSpeedImage = Image<float,::itk::GetImageDimension<TLevelSet>::ImageDimension>>
virtual void itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::SetOutputSpacing OutputSpacingType  _arg  )  [virtual]
 

The output largeset possible, spacing and origin is computed as follows. If the speed image is NULL or if the OverrideOutputInformation is true, the output information is set from user specified parameters. These parameters can be specified using methods SetOutputRegion(), SetOutputSpacing() and SetOutputOrigin(). Else if the speed image is not NULL, the output information is copied from the input speed image.

template<class TLevelSet, class TSpeedImage = Image<float,::itk::GetImageDimension<TLevelSet>::ImageDimension>>
virtual void itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::SetOverrideOutputInformation bool  _arg  )  [virtual]
 

The output largeset possible, spacing and origin is computed as follows. If the speed image is NULL or if the OverrideOutputInformation is true, the output information is set from user specified parameters. These parameters can be specified using methods SetOutputRegion(), SetOutputSpacing() and SetOutputOrigin(). Else if the speed image is not NULL, the output information is copied from the input speed image.

template<class TLevelSet, class TSpeedImage = Image<float,::itk::GetImageDimension<TLevelSet>::ImageDimension>>
void itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::SetSpeedConstant double  value  )  [inline]
 

Set the Speed Constant. If the Speed Image is NULL, the SpeedConstant value is used for the whole level set. By default, the SpeedConstant is set to 1.0.

Definition at line 197 of file itkFastMarchingImageFilter.h.

template<class TLevelSet, class TSpeedImage = Image<float,::itk::GetImageDimension<TLevelSet>::ImageDimension>>
virtual void itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::SetStoppingValue double  _arg  )  [virtual]
 

Set the Fast Marching algorithm Stopping Value. The Fast Marching algorithm is terminated when the value of the smallest trial point is greater than the stopping value.

template<class TLevelSet, class TSpeedImage = Image<float,::itk::GetImageDimension<TLevelSet>::ImageDimension>>
void itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::SetTrialPoints NodeContainer points  )  [inline]
 

Set the container of Trial Points representing the initial front. Trial points are represented as a VectorContainer of LevelSetNodes.

Definition at line 179 of file itkFastMarchingImageFilter.h.

template<class TLevelSet, class TSpeedImage = Image<float,::itk::GetImageDimension<TLevelSet>::ImageDimension>>
virtual void itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::UpdateNeighbors const IndexType index,
const SpeedImageType ,
LevelSetImageType
[protected, virtual]
 

Reimplemented in itk::FastMarchingUpwindGradientImageFilter< TLevelSet, TSpeedImage >.

template<class TLevelSet, class TSpeedImage = Image<float,::itk::GetImageDimension<TLevelSet>::ImageDimension>>
virtual double itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::UpdateValue const IndexType index,
const SpeedImageType ,
LevelSetImageType
[protected, virtual]
 

Reimplemented in itk::FastMarchingExtensionImageFilter< TLevelSet, TAuxValue, VAuxDimension, TSpeedImage >.


Member Data Documentation

template<class TLevelSet, class TSpeedImage = Image<float,::itk::GetImageDimension<TLevelSet>::ImageDimension>>
OutputRegionType itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::m_BufferedRegion [protected]
 

Definition at line 292 of file itkFastMarchingImageFilter.h.

template<class TLevelSet, class TSpeedImage = Image<float,::itk::GetImageDimension<TLevelSet>::ImageDimension>>
LevelSetIndexType itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::m_LastIndex [protected]
 

Definition at line 295 of file itkFastMarchingImageFilter.h.

template<class TLevelSet, class TSpeedImage = Image<float,::itk::GetImageDimension<TLevelSet>::ImageDimension>>
LevelSetIndexType itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >::m_StartIndex [protected]
 

Definition at line 294 of file itkFastMarchingImageFilter.h.


The documentation for this class was generated from the following file:
Generated at Thu May 25 00:53:23 2006 for ITK by doxygen 1.3.5 written by Dimitri van Heesch, © 1997-2000