ITK  4.4.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
itk::FastMarchingImageFilterBase< TInput, TOutput > Class Template Reference

#include <itkFastMarchingImageFilterBase.h>

+ Inheritance diagram for itk::FastMarchingImageFilterBase< TInput, TOutput >:
+ Collaboration diagram for itk::FastMarchingImageFilterBase< TInput, TOutput >:

Detailed Description

template<class TInput, class TOutput>
class itk::FastMarchingImageFilterBase< TInput, TOutput >

Fast Marching Method on Image.

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 is an approximate distance function from the initial alive points.

There are two ways to specify the output image information ( LargestPossibleRegion, Spacing, Origin):

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

Else the output information is copied from the input speed image.

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.

Template Parameters
TTraitstraits
See Also
ImageFastMarchingTraits
ImageFastMarchingTraits2

Definition at line 71 of file itkFastMarchingImageFilterBase.h.

Public Types

typedef
ConnectedComponentImageType::Pointer 
ConnectedComponentImagePointer
 
typedef Image< unsigned int,
ImageDimension
ConnectedComponentImageType
 
typedef SmartPointer< const SelfConstPointer
 
typedef
Superclass::InputDomainPointer 
InputImagePointer
 
typedef Superclass::InputDomainType InputImageType
 
typedef Superclass::InputPixelType InputPixelType
 
typedef LabelImageType::Pointer LabelImagePointer
 
typedef Image< unsigned char,
ImageDimension
LabelImageType
 
typedef Superclass::LabelType LabelType
 
typedef NeighborhoodIterator
< LabelImageType
NeighborhoodIteratorType
 
typedef
NeighborhoodIteratorType::RadiusType 
NeighborhoodRadiusType
 
typedef
Traits::NodePairContainerConstIterator 
NodePairContainerConstIterator
 
typedef
Traits::NodePairContainerPointer 
NodePairContainerPointer
 
typedef
Traits::NodePairContainerType 
NodePairContainerType
 
typedef Traits::NodePairType NodePairType
 
typedef Traits::NodeType NodeType
 
typedef
OutputImageType::DirectionType 
OutputDirectionType
 
typedef
Superclass::OutputDomainPointer 
OutputImagePointer
 
typedef
Superclass::OutputDomainType 
OutputImageType
 
typedef Superclass::OutputPixelType OutputPixelType
 
typedef OutputImageType::PointType OutputPointType
 
typedef OutputImageType::RegionType OutputRegionType
 
typedef OutputImageType::SizeType OutputSizeType
 
typedef
OutputImageType::SpacingType 
OutputSpacingType
 
typedef SmartPointer< SelfPointer
 
typedef FastMarchingImageFilterBase Self
 
typedef FastMarchingBase
< TInput, TOutput > 
Superclass
 
typedef Superclass::Traits Traits
 
- Public Types inherited from itk::FastMarchingBase< TInput, TOutput >
typedef SmartPointer< const SelfConstPointer
 
typedef Traits::InputDomainPointer InputDomainPointer
 
typedef Traits::InputDomainType InputDomainType
 
typedef Traits::InputPixelType InputPixelType
 
typedef Traits::LabelType LabelType
 
typedef
Traits::NodePairContainerConstIterator 
NodePairContainerConstIterator
 
typedef
Traits::NodePairContainerPointer 
NodePairContainerPointer
 
typedef
Traits::NodePairContainerType 
NodePairContainerType
 
typedef Traits::NodePairType NodePairType
 
typedef Traits::NodeType NodeType
 
typedef Traits::OutputDomainPointer OutputDomainPointer
 
typedef Traits::OutputDomainType OutputDomainType
 
typedef Traits::OutputPixelType OutputPixelType
 
typedef SmartPointer< SelfPointer
 
typedef FastMarchingBase Self
 
typedef
StoppingCriterionType::Pointer 
StoppingCriterionPointer
 
typedef
FastMarchingStoppingCriterionBase
< TInput, TOutput > 
StoppingCriterionType
 
typedef SuperclassType Superclass
 
typedef Traits::SuperclassType SuperclassType
 
enum  TopologyCheckType {
  Nothing = 0,
  NoHandles,
  Strict
}
 
typedef FastMarchingTraits
< TInput, TOutput > 
Traits
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
virtual const LabelImageTypeGetLabelImage () const
 
virtual LabelImageTypeGetModifiableLabelImage ()
 
virtual const char * GetNameOfClass () const
 
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 SetOutputDirection (OutputDirectionType _arg)
 
virtual const OutputDirectionTypeGetOutputDirection ()
 
virtual void SetOutputOrigin (OutputPointType _arg)
 
virtual const OutputPointTypeGetOutputOrigin ()
 
virtual void SetOverrideOutputInformation (bool _arg)
 
virtual const bool & GetOverrideOutputInformation ()
 
virtual void OverrideOutputInformationOn ()
 
virtual void OverrideOutputInformationOff ()
 
- Public Member Functions inherited from itk::FastMarchingBase< TInput, TOutput >
virtual StoppingCriterionTypeGetModifiableStoppingCriterion ()
 
virtual double GetNormalizationFactor ()
 
virtual double GetSpeedConstant ()
 
virtual const
StoppingCriterionType
GetStoppingCriterion () const
 
virtual OutputPixelType GetTargetReachedValue ()
 
virtual void SetCollectPoints (bool _arg)
 
virtual void SetNormalizationFactor (double _arg)
 
virtual void SetSpeedConstant (double _arg)
 
virtual void SetStoppingCriterion (StoppingCriterionType *_arg)
 
virtual void SetTopologyCheck (TopologyCheckType _arg)
 
virtual const TopologyCheckTypeGetTopologyCheck ()
 
virtual void SetTrialPoints (NodePairContainerType *_arg)
 
virtual NodePairContainerTypeGetModifiableTrialPoints ()
 
virtual const
NodePairContainerType
GetTrialPoints () const
 
virtual void SetAlivePoints (NodePairContainerType *_arg)
 
virtual NodePairContainerTypeGetModifiableAlivePoints ()
 
virtual const
NodePairContainerType
GetAlivePoints () const
 
virtual void SetProcessedPoints (NodePairContainerType *_arg)
 
virtual NodePairContainerTypeGetModifiableProcessedPoints ()
 
virtual const
NodePairContainerType
GetProcessedPoints () const
 
virtual void SetForbiddenPoints (NodePairContainerType *_arg)
 
virtual NodePairContainerTypeGetModifiableForbiddenPoints ()
 
virtual const
NodePairContainerType
GetForbiddenPoints () const
 
virtual const bool & GetCollectPoints ()
 
virtual void CollectPointsOn ()
 
virtual void CollectPointsOff ()
 

Static Public Member Functions

static Pointer New ()
 

Static Public Attributes

static const unsigned int ImageDimension = Traits::ImageDimension
 

Protected Member Functions

bool DoesVoxelChangeViolateStrictTopology (const NodeType &) const
 
bool DoesVoxelChangeViolateWellComposedness (const NodeType &) const
 
virtual void EnlargeOutputRequestedRegion (DataObject *output)
 
 FastMarchingImageFilterBase ()
 
virtual void GenerateOutputInformation ()
 
void GetInternalNodesUsed (OutputImageType *oImage, const NodeType &iNode, std::vector< InternalNodeStructure > &ioNodesUsed)
 
unsigned char GetLabelValueForGivenNode (const NodeType &iNode) const
 
const OutputPixelType GetOutputValue (OutputImageType *oImage, const NodeType &iNode) const
 
IdentifierType GetTotalNumberOfNodes () const
 
void InitializeIndices2D ()
 
void InitializeIndices3D ()
 
bool IsChangeWellComposed2D (const NodeType &) const
 
bool IsChangeWellComposed3D (const NodeType &) const
 
bool IsCriticalC1Configuration2D (const std::vector< bool > &) const
 
bool IsCriticalC1Configuration3D (const std::vector< bool > &) const
 
bool IsCriticalC2Configuration2D (const std::vector< bool > &) const
 
unsigned int IsCriticalC2Configuration3D (const std::vector< bool > &) const
 
bool IsCriticalC3Configuration2D (const std::vector< bool > &) const
 
bool IsCriticalC4Configuration2D (const std::vector< bool > &) const
 
void SetLabelValueForGivenNode (const NodeType &iNode, const LabelType &iLabel)
 
void SetOutputValue (OutputImageType *oDomain, const NodeType &iNode, const OutputPixelType &iValue)
 
double Solve (OutputImageType *oImage, const NodeType &iNode, std::vector< InternalNodeStructure > &ioNeighbors) const
 
virtual void UpdateNeighbors (OutputImageType *oImage, const NodeType &iNode)
 
virtual void UpdateValue (OutputImageType *oImage, const NodeType &iValue)
 
virtual ~FastMarchingImageFilterBase ()
 
bool CheckTopology (OutputImageType *oImage, const NodeType &iNode)
 
void InitializeOutput (OutputImageType *oImage)
 
- Protected Member Functions inherited from itk::FastMarchingBase< TInput, TOutput >
 FastMarchingBase ()
 
void GenerateData ()
 
void Initialize (OutputDomainType *oDomain)
 
void PrintSelf (std::ostream &os, Indent indent) const
 
virtual ~FastMarchingBase ()
 

Protected Attributes

OutputRegionType m_BufferedRegion
 
Array< unsigned char > m_C1Indices [12]
 
Array< unsigned char > m_C2Indices [8]
 
ConnectedComponentImagePointer m_ConnectedComponentImage
 
const InputImageTypem_InputCache
 
LabelImagePointer m_LabelImage
 
NodeType m_LastIndex
 
OutputDirectionType m_OutputDirection
 
OutputPointType m_OutputOrigin
 
OutputRegionType m_OutputRegion
 
OutputSpacingType m_OutputSpacing
 
bool m_OverrideOutputInformation
 
Array< unsigned char > m_ReflectionIndices [2]
 
Array< unsigned char > m_RotationIndices [4]
 
NodeType m_StartIndex
 
- Protected Attributes inherited from itk::FastMarchingBase< TInput, TOutput >
NodePairContainerPointer m_AlivePoints
 
bool m_CollectPoints
 
NodePairContainerPointer m_ForbiddenPoints
 
PriorityQueueType m_Heap
 
double m_InverseSpeed
 
OutputPixelType m_LargeValue
 
double m_NormalizationFactor
 
NodePairContainerPointer m_ProcessedPoints
 
double m_SpeedConstant
 
StoppingCriterionPointer m_StoppingCriterion
 
OutputPixelType m_TargetReachedValue
 
TopologyCheckType m_TopologyCheck
 
OutputPixelType m_TopologyValue
 
NodePairContainerPointer m_TrialPoints
 

Private Member Functions

 FastMarchingImageFilterBase (const Self &)
 
void operator= (const Self &)
 

Additional Inherited Members

- Protected Types inherited from itk::FastMarchingBase< TInput, TOutput >
typedef std::vector< NodePairTypeHeapContainerType
 
typedef std::greater
< NodePairType
NodeComparerType
 
typedef std::priority_queue
< NodeType, HeapContainerType,
NodeComparerType
PriorityQueueType
 

Member Typedef Documentation

template<class TInput , class TOutput >
typedef ConnectedComponentImageType::Pointer itk::FastMarchingImageFilterBase< TInput, TOutput >::ConnectedComponentImagePointer

Definition at line 127 of file itkFastMarchingImageFilterBase.h.

template<class TInput , class TOutput >
typedef Image< unsigned int, ImageDimension > itk::FastMarchingImageFilterBase< TInput, TOutput >::ConnectedComponentImageType

Definition at line 126 of file itkFastMarchingImageFilterBase.h.

template<class TInput , class TOutput >
typedef SmartPointer< const Self > itk::FastMarchingImageFilterBase< TInput, TOutput >::ConstPointer

Definition at line 78 of file itkFastMarchingImageFilterBase.h.

template<class TInput , class TOutput >
typedef Superclass::InputDomainPointer itk::FastMarchingImageFilterBase< TInput, TOutput >::InputImagePointer

Definition at line 90 of file itkFastMarchingImageFilterBase.h.

template<class TInput , class TOutput >
typedef Superclass::InputDomainType itk::FastMarchingImageFilterBase< TInput, TOutput >::InputImageType

Definition at line 86 of file itkFastMarchingImageFilterBase.h.

template<class TInput , class TOutput >
typedef Superclass::InputPixelType itk::FastMarchingImageFilterBase< TInput, TOutput >::InputPixelType

Definition at line 91 of file itkFastMarchingImageFilterBase.h.

template<class TInput , class TOutput >
typedef LabelImageType::Pointer itk::FastMarchingImageFilterBase< TInput, TOutput >::LabelImagePointer

Definition at line 123 of file itkFastMarchingImageFilterBase.h.

template<class TInput , class TOutput >
typedef Image< unsigned char, ImageDimension > itk::FastMarchingImageFilterBase< TInput, TOutput >::LabelImageType

Definition at line 122 of file itkFastMarchingImageFilterBase.h.

template<class TInput , class TOutput >
typedef Superclass::LabelType itk::FastMarchingImageFilterBase< TInput, TOutput >::LabelType

Definition at line 118 of file itkFastMarchingImageFilterBase.h.

template<class TInput , class TOutput >
typedef NeighborhoodIterator<LabelImageType> itk::FastMarchingImageFilterBase< TInput, TOutput >::NeighborhoodIteratorType

Definition at line 129 of file itkFastMarchingImageFilterBase.h.

template<class TInput , class TOutput >
typedef NeighborhoodIteratorType::RadiusType itk::FastMarchingImageFilterBase< TInput, TOutput >::NeighborhoodRadiusType

Definition at line 130 of file itkFastMarchingImageFilterBase.h.

template<class TInput , class TOutput >
typedef Traits::NodePairContainerConstIterator itk::FastMarchingImageFilterBase< TInput, TOutput >::NodePairContainerConstIterator

Definition at line 107 of file itkFastMarchingImageFilterBase.h.

template<class TInput , class TOutput >
typedef Traits::NodePairContainerPointer itk::FastMarchingImageFilterBase< TInput, TOutput >::NodePairContainerPointer

Definition at line 105 of file itkFastMarchingImageFilterBase.h.

template<class TInput , class TOutput >
typedef Traits::NodePairContainerType itk::FastMarchingImageFilterBase< TInput, TOutput >::NodePairContainerType

Definition at line 104 of file itkFastMarchingImageFilterBase.h.

template<class TInput , class TOutput >
typedef Traits::NodePairType itk::FastMarchingImageFilterBase< TInput, TOutput >::NodePairType

Definition at line 103 of file itkFastMarchingImageFilterBase.h.

template<class TInput , class TOutput >
typedef Traits::NodeType itk::FastMarchingImageFilterBase< TInput, TOutput >::NodeType

Definition at line 102 of file itkFastMarchingImageFilterBase.h.

template<class TInput , class TOutput >
typedef OutputImageType::DirectionType itk::FastMarchingImageFilterBase< TInput, TOutput >::OutputDirectionType

Definition at line 100 of file itkFastMarchingImageFilterBase.h.

template<class TInput , class TOutput >
typedef Superclass::OutputDomainPointer itk::FastMarchingImageFilterBase< TInput, TOutput >::OutputImagePointer

Definition at line 94 of file itkFastMarchingImageFilterBase.h.

template<class TInput , class TOutput >
typedef Superclass::OutputDomainType itk::FastMarchingImageFilterBase< TInput, TOutput >::OutputImageType

Definition at line 93 of file itkFastMarchingImageFilterBase.h.

template<class TInput , class TOutput >
typedef Superclass::OutputPixelType itk::FastMarchingImageFilterBase< TInput, TOutput >::OutputPixelType

Definition at line 95 of file itkFastMarchingImageFilterBase.h.

template<class TInput , class TOutput >
typedef OutputImageType::PointType itk::FastMarchingImageFilterBase< TInput, TOutput >::OutputPointType

Definition at line 99 of file itkFastMarchingImageFilterBase.h.

template<class TInput , class TOutput >
typedef OutputImageType::RegionType itk::FastMarchingImageFilterBase< TInput, TOutput >::OutputRegionType

Definition at line 98 of file itkFastMarchingImageFilterBase.h.

template<class TInput , class TOutput >
typedef OutputImageType::SizeType itk::FastMarchingImageFilterBase< TInput, TOutput >::OutputSizeType

Definition at line 97 of file itkFastMarchingImageFilterBase.h.

template<class TInput , class TOutput >
typedef OutputImageType::SpacingType itk::FastMarchingImageFilterBase< TInput, TOutput >::OutputSpacingType

Definition at line 96 of file itkFastMarchingImageFilterBase.h.

template<class TInput , class TOutput >
typedef SmartPointer< Self > itk::FastMarchingImageFilterBase< TInput, TOutput >::Pointer

Definition at line 77 of file itkFastMarchingImageFilterBase.h.

template<class TInput , class TOutput >
typedef FastMarchingImageFilterBase itk::FastMarchingImageFilterBase< TInput, TOutput >::Self

Definition at line 75 of file itkFastMarchingImageFilterBase.h.

template<class TInput , class TOutput >
typedef FastMarchingBase< TInput, TOutput > itk::FastMarchingImageFilterBase< TInput, TOutput >::Superclass

Definition at line 76 of file itkFastMarchingImageFilterBase.h.

template<class TInput , class TOutput >
typedef Superclass::Traits itk::FastMarchingImageFilterBase< TInput, TOutput >::Traits

Definition at line 79 of file itkFastMarchingImageFilterBase.h.

Constructor & Destructor Documentation

template<class TInput , class TOutput >
itk::FastMarchingImageFilterBase< TInput, TOutput >::FastMarchingImageFilterBase ( )
protected

Constructor

template<class TInput , class TOutput >
virtual itk::FastMarchingImageFilterBase< TInput, TOutput >::~FastMarchingImageFilterBase ( )
protectedvirtual

Destructor

template<class TInput , class TOutput >
itk::FastMarchingImageFilterBase< TInput, TOutput >::FastMarchingImageFilterBase ( const Self )
private

Member Function Documentation

template<class TInput , class TOutput >
bool itk::FastMarchingImageFilterBase< TInput, TOutput >::CheckTopology ( OutputImageType oImage,
const NodeType iNode 
)
protectedvirtual

Make sure the given node does not violate any topological constraint

Implements itk::FastMarchingBase< TInput, TOutput >.

template<class TInput , class TOutput >
virtual::itk::LightObject::Pointer itk::FastMarchingImageFilterBase< TInput, TOutput >::CreateAnother ( void  ) const
template<class TInput , class TOutput >
bool itk::FastMarchingImageFilterBase< TInput, TOutput >::DoesVoxelChangeViolateStrictTopology ( const NodeType ) const
protected
template<class TInput , class TOutput >
bool itk::FastMarchingImageFilterBase< TInput, TOutput >::DoesVoxelChangeViolateWellComposedness ( const NodeType ) const
protected
template<class TInput , class TOutput >
virtual void itk::FastMarchingImageFilterBase< TInput, TOutput >::EnlargeOutputRequestedRegion ( DataObject output)
protectedvirtual
template<class TInput , class TOutput >
virtual void itk::FastMarchingImageFilterBase< TInput, TOutput >::GenerateOutputInformation ( )
protectedvirtual

Generate the output image meta information.

Reimplemented in itk::FastMarchingExtensionImageFilterBase< TInput, TOutput, TAuxValue, VAuxDimension >.

template<class TInput , class TOutput >
void itk::FastMarchingImageFilterBase< TInput, TOutput >::GetInternalNodesUsed ( OutputImageType oImage,
const NodeType iNode,
std::vector< InternalNodeStructure > &  ioNodesUsed 
)
protected

Find the nodes were the front will propagate given a node

template<class TInput , class TOutput >
virtual const LabelImageType* itk::FastMarchingImageFilterBase< TInput, TOutput >::GetLabelImage ( ) const
virtual
template<class TInput , class TOutput >
unsigned char itk::FastMarchingImageFilterBase< TInput, TOutput >::GetLabelValueForGivenNode ( const NodeType iNode) const
protectedvirtual

Returns the label value for a given node

Implements itk::FastMarchingBase< TInput, TOutput >.

template<class TInput , class TOutput >
virtual LabelImageType* itk::FastMarchingImageFilterBase< TInput, TOutput >::GetModifiableLabelImage ( )
virtual
template<class TInput , class TOutput >
virtual const char* itk::FastMarchingImageFilterBase< TInput, TOutput >::GetNameOfClass ( ) const
virtual
template<class TInput , class TOutput >
virtual const OutputDirectionType& itk::FastMarchingImageFilterBase< TInput, TOutput >::GetOutputDirection ( )
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(), SetOutputDirection(), and SetOutputOrigin(). Else if the speed image is not NULL, the output information is copied from the input speed image.

template<class TInput , class TOutput >
virtual const OutputPointType& itk::FastMarchingImageFilterBase< TInput, TOutput >::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(), SetOutputDirection(), and SetOutputOrigin(). Else if the speed image is not NULL, the output information is copied from the input speed image.

template<class TInput , class TOutput >
virtual const OutputRegionType& itk::FastMarchingImageFilterBase< TInput, TOutput >::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(), SetOutputDirection(), and SetOutputOrigin(). Else if the speed image is not NULL, the output information is copied from the input speed image.

template<class TInput , class TOutput >
virtual OutputSizeType itk::FastMarchingImageFilterBase< TInput, TOutput >::GetOutputSize ( ) const
inlinevirtual

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(), SetOutputDirection(), and SetOutputOrigin(). Else if the speed image is not NULL, the output information is copied from the input speed image.

Definition at line 143 of file itkFastMarchingImageFilterBase.h.

References itk::FastMarchingImageFilterBase< TInput, TOutput >::m_OutputRegion.

template<class TInput , class TOutput >
virtual const OutputSpacingType& itk::FastMarchingImageFilterBase< TInput, TOutput >::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(), SetOutputDirection(), and SetOutputOrigin(). Else if the speed image is not NULL, the output information is copied from the input speed image.

template<class TInput , class TOutput >
const OutputPixelType itk::FastMarchingImageFilterBase< TInput, TOutput >::GetOutputValue ( OutputImageType oImage,
const NodeType iNode 
) const
protectedvirtual

Returns the output value for a given node

Implements itk::FastMarchingBase< TInput, TOutput >.

template<class TInput , class TOutput >
virtual const bool& itk::FastMarchingImageFilterBase< TInput, TOutput >::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(), SetOutputDirection(), and SetOutputOrigin(). Else if the speed image is not NULL, the output information is copied from the input speed image.

template<class TInput , class TOutput >
IdentifierType itk::FastMarchingImageFilterBase< TInput, TOutput >::GetTotalNumberOfNodes ( ) const
protectedvirtual

Get the total number of nodes in the domain.

Implements itk::FastMarchingBase< TInput, TOutput >.

template<class TInput , class TOutput >
void itk::FastMarchingImageFilterBase< TInput, TOutput >::InitializeIndices2D ( )
protected

Functions and variables to check for topology changes (2D/3D only).

template<class TInput , class TOutput >
void itk::FastMarchingImageFilterBase< TInput, TOutput >::InitializeIndices3D ( )
protected
template<class TInput , class TOutput >
void itk::FastMarchingImageFilterBase< TInput, TOutput >::InitializeOutput ( OutputImageType oImage)
protectedvirtual

Make sure the given node does not violate any topological constraint

Implements itk::FastMarchingBase< TInput, TOutput >.

template<class TInput , class TOutput >
bool itk::FastMarchingImageFilterBase< TInput, TOutput >::IsChangeWellComposed2D ( const NodeType ) const
protected
template<class TInput , class TOutput >
bool itk::FastMarchingImageFilterBase< TInput, TOutput >::IsChangeWellComposed3D ( const NodeType ) const
protected
template<class TInput , class TOutput >
bool itk::FastMarchingImageFilterBase< TInput, TOutput >::IsCriticalC1Configuration2D ( const std::vector< bool > &  ) const
protected
template<class TInput , class TOutput >
bool itk::FastMarchingImageFilterBase< TInput, TOutput >::IsCriticalC1Configuration3D ( const std::vector< bool > &  ) const
protected
template<class TInput , class TOutput >
bool itk::FastMarchingImageFilterBase< TInput, TOutput >::IsCriticalC2Configuration2D ( const std::vector< bool > &  ) const
protected
template<class TInput , class TOutput >
unsigned int itk::FastMarchingImageFilterBase< TInput, TOutput >::IsCriticalC2Configuration3D ( const std::vector< bool > &  ) const
protected
template<class TInput , class TOutput >
bool itk::FastMarchingImageFilterBase< TInput, TOutput >::IsCriticalC3Configuration2D ( const std::vector< bool > &  ) const
protected
template<class TInput , class TOutput >
bool itk::FastMarchingImageFilterBase< TInput, TOutput >::IsCriticalC4Configuration2D ( const std::vector< bool > &  ) const
protected
template<class TInput , class TOutput >
static Pointer itk::FastMarchingImageFilterBase< TInput, TOutput >::New ( )
static

Method for creation through the object factory.

template<class TInput , class TOutput >
void itk::FastMarchingImageFilterBase< TInput, TOutput >::operator= ( const Self )
private
template<class TInput , class TOutput >
virtual void itk::FastMarchingImageFilterBase< TInput, TOutput >::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(), SetOutputDirection(), and SetOutputOrigin(). Else if the speed image is not NULL, the output information is copied from the input speed image.

template<class TInput , class TOutput >
virtual void itk::FastMarchingImageFilterBase< TInput, TOutput >::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(), SetOutputDirection(), and SetOutputOrigin(). Else if the speed image is not NULL, the output information is copied from the input speed image.

template<class TInput , class TOutput >
void itk::FastMarchingImageFilterBase< TInput, TOutput >::SetLabelValueForGivenNode ( const NodeType iNode,
const LabelType iLabel 
)
protectedvirtual

Set the label value for a given node

Implements itk::FastMarchingBase< TInput, TOutput >.

template<class TInput , class TOutput >
virtual void itk::FastMarchingImageFilterBase< TInput, TOutput >::SetOutputDirection ( OutputDirectionType  _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(), SetOutputDirection(), and SetOutputOrigin(). Else if the speed image is not NULL, the output information is copied from the input speed image.

template<class TInput , class TOutput >
virtual void itk::FastMarchingImageFilterBase< TInput, TOutput >::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(), SetOutputDirection(), and SetOutputOrigin(). Else if the speed image is not NULL, the output information is copied from the input speed image.

template<class TInput , class TOutput >
virtual void itk::FastMarchingImageFilterBase< TInput, TOutput >::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(), SetOutputDirection(), and SetOutputOrigin(). Else if the speed image is not NULL, the output information is copied from the input speed image.

template<class TInput , class TOutput >
virtual void itk::FastMarchingImageFilterBase< TInput, TOutput >::SetOutputSize ( const OutputSizeType size)
inlinevirtual

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(), SetOutputDirection(), and SetOutputOrigin(). Else if the speed image is not NULL, the output information is copied from the input speed image.

Definition at line 141 of file itkFastMarchingImageFilterBase.h.

References itk::FastMarchingImageFilterBase< TInput, TOutput >::m_OutputRegion.

template<class TInput , class TOutput >
virtual void itk::FastMarchingImageFilterBase< TInput, TOutput >::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(), SetOutputDirection(), and SetOutputOrigin(). Else if the speed image is not NULL, the output information is copied from the input speed image.

template<class TInput , class TOutput >
void itk::FastMarchingImageFilterBase< TInput, TOutput >::SetOutputValue ( OutputImageType oDomain,
const NodeType iNode,
const OutputPixelType iValue 
)
protectedvirtual

Set the output value (front value) for a given node.

Implements itk::FastMarchingBase< TInput, TOutput >.

template<class TInput , class TOutput >
virtual void itk::FastMarchingImageFilterBase< TInput, TOutput >::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(), SetOutputDirection(), and SetOutputOrigin(). Else if the speed image is not NULL, the output information is copied from the input speed image.

template<class TInput , class TOutput >
double itk::FastMarchingImageFilterBase< TInput, TOutput >::Solve ( OutputImageType oImage,
const NodeType iNode,
std::vector< InternalNodeStructure > &  ioNeighbors 
) const
protected

Solve the quadratic equation

template<class TInput , class TOutput >
virtual void itk::FastMarchingImageFilterBase< TInput, TOutput >::UpdateNeighbors ( OutputImageType oImage,
const NodeType iNode 
)
protectedvirtual

Update values for the neighbors of a given node

Implements itk::FastMarchingBase< TInput, TOutput >.

template<class TInput , class TOutput >
virtual void itk::FastMarchingImageFilterBase< TInput, TOutput >::UpdateValue ( OutputImageType oImage,
const NodeType iValue 
)
protectedvirtual

Update value for a given node

Implements itk::FastMarchingBase< TInput, TOutput >.

Member Data Documentation

template<class TInput , class TOutput >
const unsigned int itk::FastMarchingImageFilterBase< TInput, TOutput >::ImageDimension = Traits::ImageDimension
static

Definition at line 120 of file itkFastMarchingImageFilterBase.h.

template<class TInput , class TOutput >
OutputRegionType itk::FastMarchingImageFilterBase< TInput, TOutput >::m_BufferedRegion
protected

Definition at line 166 of file itkFastMarchingImageFilterBase.h.

template<class TInput , class TOutput >
Array<unsigned char> itk::FastMarchingImageFilterBase< TInput, TOutput >::m_C1Indices[12]
protected

Definition at line 252 of file itkFastMarchingImageFilterBase.h.

template<class TInput , class TOutput >
Array<unsigned char> itk::FastMarchingImageFilterBase< TInput, TOutput >::m_C2Indices[8]
protected

Definition at line 253 of file itkFastMarchingImageFilterBase.h.

template<class TInput , class TOutput >
ConnectedComponentImagePointer itk::FastMarchingImageFilterBase< TInput, TOutput >::m_ConnectedComponentImage
protected

Definition at line 184 of file itkFastMarchingImageFilterBase.h.

template<class TInput , class TOutput >
const InputImageType* itk::FastMarchingImageFilterBase< TInput, TOutput >::m_InputCache
protected

Definition at line 259 of file itkFastMarchingImageFilterBase.h.

template<class TInput , class TOutput >
LabelImagePointer itk::FastMarchingImageFilterBase< TInput, TOutput >::m_LabelImage
protected

Definition at line 183 of file itkFastMarchingImageFilterBase.h.

template<class TInput , class TOutput >
NodeType itk::FastMarchingImageFilterBase< TInput, TOutput >::m_LastIndex
protected

Definition at line 170 of file itkFastMarchingImageFilterBase.h.

template<class TInput , class TOutput >
OutputDirectionType itk::FastMarchingImageFilterBase< TInput, TOutput >::m_OutputDirection
protected

Definition at line 175 of file itkFastMarchingImageFilterBase.h.

template<class TInput , class TOutput >
OutputPointType itk::FastMarchingImageFilterBase< TInput, TOutput >::m_OutputOrigin
protected

Definition at line 173 of file itkFastMarchingImageFilterBase.h.

template<class TInput , class TOutput >
OutputRegionType itk::FastMarchingImageFilterBase< TInput, TOutput >::m_OutputRegion
protected
template<class TInput , class TOutput >
OutputSpacingType itk::FastMarchingImageFilterBase< TInput, TOutput >::m_OutputSpacing
protected

Definition at line 174 of file itkFastMarchingImageFilterBase.h.

template<class TInput , class TOutput >
bool itk::FastMarchingImageFilterBase< TInput, TOutput >::m_OverrideOutputInformation
protected

Definition at line 176 of file itkFastMarchingImageFilterBase.h.

template<class TInput , class TOutput >
Array<unsigned char> itk::FastMarchingImageFilterBase< TInput, TOutput >::m_ReflectionIndices[2]
protected

Definition at line 244 of file itkFastMarchingImageFilterBase.h.

template<class TInput , class TOutput >
Array<unsigned char> itk::FastMarchingImageFilterBase< TInput, TOutput >::m_RotationIndices[4]
protected

Definition at line 243 of file itkFastMarchingImageFilterBase.h.

template<class TInput , class TOutput >
NodeType itk::FastMarchingImageFilterBase< TInput, TOutput >::m_StartIndex
protected

Definition at line 169 of file itkFastMarchingImageFilterBase.h.


The documentation for this class was generated from the following file: