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]

#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.

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. Alive points are those that are already part of the object, and trial points are considered for inclusion. In order for the filter to evolve, at least some trial points must be specified. These can for instance be specified as the layer of pixels around the alive 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 104 of file itkFastMarchingImageFilter.h.

Public Types

typedef SmartPointer< const
Self
ConstPointer
typedef DataObject::Pointer DataObjectPointer
typedef std::vector< DataObjectPointerDataObjectPointerArray
typedef DataObjectPointerArray::size_type DataObjectPointerArraySizeType
typedef Index< itkGetStaticConstMacro(SetDimension)> IndexType
typedef InputImageType::ConstPointer InputImageConstPointer
typedef InputImageType::PixelType InputImagePixelType
typedef InputImageType::Pointer InputImagePointer
typedef InputImageType::RegionType InputImageRegionType
typedef TSpeedImage InputImageType
typedef LabelImageType::Pointer LabelImagePointer
typedef Image< unsigned char,
itkGetStaticConstMacro(SetDimension)> 
LabelImageType
enum  LabelType {
  FarPoint,
  AlivePoint,
  TrialPoint
}
typedef LevelSetType::LevelSetImageType LevelSetImageType
typedef LevelSetType::LevelSetPointer LevelSetPointer
typedef LevelSetTypeDefault<
TLevelSet > 
LevelSetType
typedef LevelSetType::NodeContainer NodeContainer
typedef LevelSetType::NodeContainerPointer NodeContainerPointer
typedef LevelSetType::NodeType NodeType
typedef OutputImageType::PixelType OutputImagePixelType
typedef OutputImageType::Pointer OutputImagePointer
typedef Superclass::OutputImageRegionType OutputImageRegionType
typedef TLevelSet OutputImageType
typedef LevelSetImageType::PointType OutputPointType
typedef LevelSetImageType::RegionType OutputRegionType
typedef LevelSetImageType::SizeType OutputSizeType
typedef LevelSetImageType::SpacingType OutputSpacingType
typedef LevelSetType::PixelType PixelType
typedef SmartPointer< SelfPointer
typedef FastMarchingImageFilter Self
typedef SpeedImageType::ConstPointer SpeedImageConstPointer
typedef SpeedImageType::Pointer SpeedImagePointer
typedef TSpeedImage SpeedImageType
typedef ImageSource< TLevelSet > Superclass

Public Member Functions

virtual void AbortGenerateDataOff ()
virtual void AbortGenerateDataOn ()
virtual LightObject::Pointer CreateAnother () const
virtual void DebugOff () const
virtual void DebugOn () const
virtual void Delete ()
virtual const bool & GetAbortGenerateData ()
NodeContainerPointer GetAlivePoints ()
CommandGetCommand (unsigned long tag)
bool GetDebug () const
const InputImageTypeGetInput (unsigned int idx)
const InputImageTypeGetInput (void)
DataObjectPointerArrayGetInputs ()
LabelImagePointer GetLabelImage () const
const MetaDataDictionaryGetMetaDataDictionary (void) const
MetaDataDictionaryGetMetaDataDictionary (void)
virtual unsigned long GetMTime () const
MultiThreaderGetMultiThreader ()
virtual const char * GetNameOfClass () const
DataObjectPointerArraySizeType GetNumberOfInputs () const
virtual DataObjectPointerArraySizeType GetNumberOfValidRequiredInputs () const
OutputImageTypeGetOutput (unsigned int idx)
OutputImageTypeGetOutput (void)
NodeContainerPointer GetProcessedPoints () const
virtual const float & GetProgress ()
virtual int GetReferenceCount () const
virtual const double & GetSpeedConstant ()
virtual const double & GetStoppingValue ()
NodeContainerPointer GetTrialPoints ()
virtual void GraftNthOutput (unsigned int idx, DataObject *output)
virtual void GraftOutput (DataObject *output)
bool HasObserver (const EventObject &event) const
void InvokeEvent (const EventObject &) const
void InvokeEvent (const EventObject &)
 itkStaticConstMacro (OutputImageDimension, unsigned int, TLevelSet::ImageDimension)
 itkStaticConstMacro (InputImageDimension, unsigned int, TSpeedImage::ImageDimension)
virtual DataObjectPointer MakeOutput (unsigned int idx)
virtual void Modified () const
virtual void PopBackInput ()
virtual void PopFrontInput ()
virtual void PrepareOutputs ()
void Print (std::ostream &os, Indent indent=0) const
virtual void PropagateRequestedRegion (DataObject *output)
virtual void PushBackInput (const InputImageType *image)
virtual void PushFrontInput (const InputImageType *image)
virtual void Register () const
void RemoveAllObservers ()
void RemoveObserver (unsigned long tag)
virtual void ResetPipeline ()
virtual void SetAbortGenerateData (bool _arg)
virtual void SetCollectPoints (bool _arg)
void SetDebug (bool debugFlag) const
virtual void SetInput (unsigned int, const TSpeedImage *image)
virtual void SetInput (const InputImageType *image)
void SetMetaDataDictionary (const MetaDataDictionary &rhs)
virtual void SetProgress (float _arg)
virtual void SetReferenceCount (int)
virtual void SetStoppingValue (double _arg)
virtual void UnRegister () const
virtual void Update ()
virtual void UpdateLargestPossibleRegion ()
virtual void UpdateOutputData (DataObject *output)
virtual void UpdateOutputInformation ()
void UpdateProgress (float amount)
unsigned long AddObserver (const EventObject &event, Command *) const
unsigned long AddObserver (const EventObject &event, Command *)
virtual void CollectPointsOff ()
virtual void CollectPointsOn ()
virtual const bool & GetCollectPoints ()
virtual double GetNormalizationFactor ()
virtual void SetNormalizationFactor (double _arg)
DataObjectPointerArraySizeType GetNumberOfOutputs () const
DataObjectPointerArrayGetOutputs ()
virtual const int & GetNumberOfThreads ()
virtual void SetNumberOfThreads (int _arg)
virtual const OutputPointTypeGetOutputOrigin ()
virtual const OutputRegionTypeGetOutputRegion ()
virtual OutputSizeType GetOutputSize () const
virtual const OutputSpacingTypeGetOutputSpacing ()
virtual const bool & GetOverrideOutputInformation ()
virtual void OverrideOutputInformationOff ()
virtual void OverrideOutputInformationOn ()
virtual void SetOutputOrigin (OutputPointType _arg)
virtual void SetOutputRegion (OutputRegionType _arg)
virtual void SetOutputSize (const OutputSizeType &size)
virtual void SetOutputSpacing (OutputSpacingType _arg)
virtual void SetOverrideOutputInformation (bool _arg)
virtual const bool & GetReleaseDataBeforeUpdateFlag ()
virtual void ReleaseDataBeforeUpdateFlagOff ()
virtual void ReleaseDataBeforeUpdateFlagOn ()
virtual void SetReleaseDataBeforeUpdateFlag (bool _arg)
virtual bool GetReleaseDataFlag () const
void ReleaseDataFlagOff ()
void ReleaseDataFlagOn ()
virtual void SetReleaseDataFlag (bool flag)
 itkStaticConstMacro (SpeedImageDimension, unsigned int, SpeedImageType::ImageDimension)
 itkStaticConstMacro (SetDimension, unsigned int, LevelSetType::SetDimension)
void SetAlivePoints (NodeContainer *points)
void SetSpeedConstant (double value)
void SetTrialPoints (NodeContainer *points)

Static Public Member Functions

static void BreakOnError ()
static Pointer New ()
static bool GetGlobalWarningDisplay ()
static void GlobalWarningDisplayOff ()
static void GlobalWarningDisplayOn ()
static void SetGlobalWarningDisplay (bool flag)

Protected Types

typedef ImageToImageFilterDetail::ImageRegionCopier<
itkGetStaticConstMacro(OutputImageDimension),
itkGetStaticConstMacro(InputImageDimension)> 
InputToOutputRegionCopierType
typedef LevelSetImageType::IndexType LevelSetIndexType
typedef ImageToImageFilterDetail::ImageRegionCopier<
itkGetStaticConstMacro(InputImageDimension),
itkGetStaticConstMacro(OutputImageDimension)> 
OutputToInputRegionCopierType

Protected Member Functions

virtual void AfterThreadedGenerateData ()
virtual void AllocateOutputs ()
virtual void BeforeThreadedGenerateData ()
virtual void CacheInputReleaseDataFlags ()
virtual void CallCopyInputRegionToOutputRegion (OutputImageRegionType &destRegion, const InputImageRegionType &srcRegion)
virtual void CallCopyOutputRegionToInputRegion (InputImageRegionType &destRegion, const OutputImageRegionType &srcRegion)
 FastMarchingImageFilter ()
void GenerateData ()
virtual void GenerateInputRequestedRegion ()
virtual void GenerateOutputRequestedRegion (DataObject *output)
virtual const PixelTypeGetLargeValue ()
virtual const LevelSetIndexTypeGetLastIndex ()
const AxisNodeTypeGetNodeUsedInCalculation (unsigned int idx) const
virtual const LevelSetIndexTypeGetStartIndex ()
virtual void Initialize (LevelSetImageType *)
bool PrintObservers (std::ostream &os, Indent indent) const
void PrintSelf (std::ostream &os, Indent indent) const
virtual void PropagateResetPipeline ()
void PushBackInput (const DataObject *input)
void PushFrontInput (const DataObject *input)
virtual void ReleaseInputs ()
virtual void RestoreInputReleaseDataFlags ()
void SetNumberOfInputs (unsigned int num)
void SetNumberOfOutputs (unsigned int num)
virtual int SplitRequestedRegion (int i, int num, OutputImageRegionType &splitRegion)
virtual void ThreadedGenerateData (const OutputImageRegionType &outputRegionForThread, int threadId) ITK_NO_RETURN
virtual void UpdateNeighbors (const IndexType &index, const SpeedImageType *, LevelSetImageType *)
virtual double UpdateValue (const IndexType &index, const SpeedImageType *, LevelSetImageType *)
 ~FastMarchingImageFilter ()
virtual void AddInput (DataObject *input)
virtual const unsigned int & GetNumberOfRequiredInputs ()
virtual void RemoveInput (DataObject *input)
virtual void SetNthInput (unsigned int num, DataObject *input)
virtual void SetNumberOfRequiredInputs (unsigned int _arg)
virtual void AddOutput (DataObject *output)
virtual const unsigned int & GetNumberOfRequiredOutputs ()
virtual void RemoveOutput (DataObject *output)
virtual void SetNthOutput (unsigned int num, DataObject *output)
virtual void SetNumberOfRequiredOutputs (unsigned int _arg)
virtual void EnlargeOutputRequestedRegion (DataObject *output)
virtual void GenerateOutputInformation ()
const DataObjectGetInput (unsigned int idx) const
const DataObjectGetOutput (unsigned int idx) const
virtual void PrintHeader (std::ostream &os, Indent indent) const
virtual void PrintTrailer (std::ostream &os, Indent indent) const

Static Protected Member Functions

static ITK_THREAD_RETURN_TYPE ThreaderCallback (void *arg)

Protected Attributes

OutputRegionType m_BufferedRegion
LevelSetIndexType m_LastIndex
TimeStamp m_OutputInformationMTime
volatile int m_ReferenceCount
SimpleFastMutexLock m_ReferenceCountLock
LevelSetIndexType m_StartIndex
bool m_Updating

Classes

class  AxisNodeType


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 112 of file itkFastMarchingImageFilter.h.

typedef DataObject::Pointer itk::ImageSource< TLevelSet >::DataObjectPointer [inherited]

Smart Pointer type to a DataObject.

Reimplemented from itk::ProcessObject.

Definition at line 62 of file itkImageSource.h.

typedef std::vector<DataObjectPointer> itk::ProcessObject::DataObjectPointerArray [inherited]

STL Array of SmartPointers to DataObjects

Definition at line 103 of file itkProcessObject.h.

typedef DataObjectPointerArray::size_type itk::ProcessObject::DataObjectPointerArraySizeType [inherited]

Size type of an std::vector

Definition at line 112 of file itkProcessObject.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 159 of file itkFastMarchingImageFilter.h.

typedef InputImageType::ConstPointer itk::ImageToImageFilter< TSpeedImage , TLevelSet >::InputImageConstPointer [inherited]

Definition at line 83 of file itkImageToImageFilter.h.

typedef InputImageType::PixelType itk::ImageToImageFilter< TSpeedImage , TLevelSet >::InputImagePixelType [inherited]

Definition at line 85 of file itkImageToImageFilter.h.

typedef InputImageType::Pointer itk::ImageToImageFilter< TSpeedImage , TLevelSet >::InputImagePointer [inherited]

Definition at line 82 of file itkImageToImageFilter.h.

typedef InputImageType::RegionType itk::ImageToImageFilter< TSpeedImage , TLevelSet >::InputImageRegionType [inherited]

Definition at line 84 of file itkImageToImageFilter.h.

typedef TSpeedImage itk::ImageToImageFilter< TSpeedImage , TLevelSet >::InputImageType [inherited]

Some convenient typedefs.

Definition at line 81 of file itkImageToImageFilter.h.

typedef ImageToImageFilterDetail::ImageRegionCopier<itkGetStaticConstMacro(OutputImageDimension), itkGetStaticConstMacro(InputImageDimension)> itk::ImageToImageFilter< TSpeedImage , TLevelSet >::InputToOutputRegionCopierType [protected, inherited]

Typedef for the region copier function object that converts an input region to an output region.

Definition at line 163 of file itkImageToImageFilter.h.

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 171 of file itkFastMarchingImageFilter.h.

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 168 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 122 of file itkFastMarchingImageFilter.h.

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 316 of file itkFastMarchingImageFilter.h.

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 123 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 118 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 126 of file itkFastMarchingImageFilter.h.

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 127 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 125 of file itkFastMarchingImageFilter.h.

typedef OutputImageType::PixelType itk::ImageSource< TLevelSet >::OutputImagePixelType [inherited]

Definition at line 71 of file itkImageSource.h.

typedef OutputImageType::Pointer itk::ImageSource< TLevelSet >::OutputImagePointer [inherited]

Definition at line 69 of file itkImageSource.h.

typedef Superclass::OutputImageRegionType itk::ImageToImageFilter< TSpeedImage , TLevelSet >::OutputImageRegionType [inherited]

Superclass typedefs.

Reimplemented from itk::ImageSource< TLevelSet >.

Definition at line 75 of file itkImageToImageFilter.h.

typedef TLevelSet itk::ImageSource< TLevelSet >::OutputImageType [inherited]

Some convenient typedefs.

Definition at line 65 of file itkImageSource.h.

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

Definition at line 131 of file itkFastMarchingImageFilter.h.

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

Definition at line 129 of file itkFastMarchingImageFilter.h.

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

Definition at line 128 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 130 of file itkFastMarchingImageFilter.h.

typedef ImageToImageFilterDetail::ImageRegionCopier<itkGetStaticConstMacro(InputImageDimension), itkGetStaticConstMacro(OutputImageDimension)> itk::ImageToImageFilter< TSpeedImage , TLevelSet >::OutputToInputRegionCopierType [protected, inherited]

Typedef for the region copier function object that converts an output region to an input region.

Definition at line 168 of file itkImageToImageFilter.h.

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 124 of file itkFastMarchingImageFilter.h.

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 111 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 109 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 149 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 148 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 145 of file itkFastMarchingImageFilter.h.

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 110 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.

Enumerator:
FarPoint 
AlivePoint 
TrialPoint 

Definition at line 165 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 289 of file itkFastMarchingImageFilter.h.


Member Function Documentation

virtual void itk::ProcessObject::AbortGenerateDataOff (  )  [virtual, inherited]

virtual void itk::ProcessObject::AbortGenerateDataOn (  )  [virtual, inherited]

Turn on and off the AbortGenerateData flag.

virtual void itk::ProcessObject::AddInput ( DataObject input  )  [protected, virtual, inherited]

unsigned long itk::Object::AddObserver ( const EventObject event,
Command  
) const [inherited]

unsigned long itk::Object::AddObserver ( const EventObject event,
Command  
) [inherited]

Allow people to add/remove/invoke observers (callbacks) to any ITK object. This is an implementation of the subject/observer design pattern. An observer is added by specifying an event to respond to and an itk::Command to execute. It returns an unsigned long tag which can be used later to remove the event or retrieve the command. The memory for the Command becomes the responsibility of this object, so don't pass the same instance of a command to two different objects

virtual void itk::ProcessObject::AddOutput ( DataObject output  )  [protected, virtual, inherited]

virtual void itk::ImageSource< TLevelSet >::AfterThreadedGenerateData (  )  [inline, protected, virtual, inherited]

If an imaging filter needs to perform processing after all processing threads have completed, the filter can can provide an implementation for AfterThreadedGenerateData(). The execution flow in the default GenerateData() method will be: 1) Allocate the output buffer 2) Call BeforeThreadedGenerateData() 3) Spawn threads, calling ThreadedGenerateData() in each thread. 4) Call AfterThreadedGenerateData() Note that this flow of control is only available if a filter provides a ThreadedGenerateData() method and NOT a GenerateData() method.

Definition at line 254 of file itkImageSource.h.

virtual void itk::ImageSource< TLevelSet >::AllocateOutputs (  )  [protected, virtual, inherited]

The GenerateData method normally allocates the buffers for all of the outputs of a filter. Some filters may want to override this default behavior. For example, a filter may have multiple outputs with varying resolution. Or a filter may want to process data in place by grafting its input to its output.

virtual void itk::ImageSource< TLevelSet >::BeforeThreadedGenerateData ( void   )  [inline, protected, virtual, inherited]

If an imaging filter needs to perform processing after the buffer has been allocated but before threads are spawned, the filter can can provide an implementation for BeforeThreadedGenerateData(). The execution flow in the default GenerateData() method will be: 1) Allocate the output buffer 2) Call BeforeThreadedGenerateData() 3) Spawn threads, calling ThreadedGenerateData() in each thread. 4) Call AfterThreadedGenerateData() Note that this flow of control is only available if a filter provides a ThreadedGenerateData() method and NOT a GenerateData() method.

Definition at line 242 of file itkImageSource.h.

static void itk::LightObject::BreakOnError (  )  [static, inherited]

This method is called when itkExceptionMacro executes. It allows the debugger to break on error.

virtual void itk::ProcessObject::CacheInputReleaseDataFlags (  )  [protected, virtual, inherited]

Cache the state of any ReleaseDataFlag's on the inputs. While the filter is executing, we need to set the ReleaseDataFlag's on the inputs to false in case the current filter is implemented using a mini-pipeline (which will try to release the inputs). After the filter finishes, we restore the state of the ReleaseDataFlag's before the call to ReleaseInputs()