ITK  5.0.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | 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<typename TInput, typename TOutput>
class itk::FastMarchingImageFilterBase< TInput, TOutput >

Apply the Fast Marching method to solve an Eikonal equation on an 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 nullptr, 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 nullptr 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.

For an alternative implementation, see itk::FastMarchingImageFilter.

Template Parameters
TTraitstraits
See Also
FastMarchingImageFilter
ImageFastMarchingTraits
ImageFastMarchingTraits2
Examples:
SphinxExamples/src/Filtering/FastMarching/CreateDistanceMapFromSeeds/Code.cxx.

Definition at line 75 of file itkFastMarchingImageFilterBase.h.

Public Types

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

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother () 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 () const
 
virtual void SetOutputSpacing (OutputSpacingType _arg)
 
virtual const OutputSpacingTypeGetOutputSpacing () const
 
virtual void SetOutputDirection (OutputDirectionType _arg)
 
virtual const OutputDirectionTypeGetOutputDirection () const
 
virtual void SetOutputOrigin (OutputPointType _arg)
 
virtual const OutputPointTypeGetOutputOrigin () const
 
virtual void SetOverrideOutputInformation (bool _arg)
 
virtual const bool & GetOverrideOutputInformation () const
 
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 () const
 
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 () const
 
virtual void CollectPointsOn ()
 
virtual void CollectPointsOff ()
 

Static Public Member Functions

static Pointer New ()
 

Static Public Attributes

static constexpr unsigned int ImageDimension = Traits::ImageDimension
 

Protected Member Functions

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

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 { false }
 
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
 

Additional Inherited Members

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

Member Typedef Documentation

template<typename TInput , typename TOutput >
using itk::FastMarchingImageFilterBase< TInput, TOutput >::ConnectedComponentImagePointer = typename ConnectedComponentImageType::Pointer

Definition at line 123 of file itkFastMarchingImageFilterBase.h.

template<typename TInput , typename TOutput >
using itk::FastMarchingImageFilterBase< TInput, TOutput >::ConnectedComponentImageType = Image< unsigned int, ImageDimension >

Definition at line 122 of file itkFastMarchingImageFilterBase.h.

template<typename TInput , typename TOutput >
using itk::FastMarchingImageFilterBase< TInput, TOutput >::ConstPointer = SmartPointer< const Self >

Definition at line 84 of file itkFastMarchingImageFilterBase.h.

template<typename TInput , typename TOutput >
using itk::FastMarchingImageFilterBase< TInput, TOutput >::InputImagePointer = typename Superclass::InputDomainPointer

Definition at line 95 of file itkFastMarchingImageFilterBase.h.

template<typename TInput , typename TOutput >
using itk::FastMarchingImageFilterBase< TInput, TOutput >::InputImageType = typename Superclass::InputDomainType

Definition at line 94 of file itkFastMarchingImageFilterBase.h.

template<typename TInput , typename TOutput >
using itk::FastMarchingImageFilterBase< TInput, TOutput >::InputPixelType = typename Superclass::InputPixelType

Definition at line 96 of file itkFastMarchingImageFilterBase.h.

template<typename TInput , typename TOutput >
using itk::FastMarchingImageFilterBase< TInput, TOutput >::InternalNodeStructureArray = FixedArray< InternalNodeStructure, ImageDimension >

Definition at line 131 of file itkFastMarchingImageFilterBase.h.

template<typename TInput , typename TOutput >
using itk::FastMarchingImageFilterBase< TInput, TOutput >::LabelImagePointer = typename LabelImageType::Pointer

Definition at line 119 of file itkFastMarchingImageFilterBase.h.

template<typename TInput , typename TOutput >
using itk::FastMarchingImageFilterBase< TInput, TOutput >::LabelImageType = Image< unsigned char, ImageDimension >

Definition at line 118 of file itkFastMarchingImageFilterBase.h.

template<typename TInput , typename TOutput >
using itk::FastMarchingImageFilterBase< TInput, TOutput >::LabelType = typename Superclass::LabelType

Definition at line 113 of file itkFastMarchingImageFilterBase.h.

template<typename TInput , typename TOutput >
using itk::FastMarchingImageFilterBase< TInput, TOutput >::NeighborhoodIteratorType = NeighborhoodIterator<LabelImageType>

Definition at line 125 of file itkFastMarchingImageFilterBase.h.

template<typename TInput , typename TOutput >
using itk::FastMarchingImageFilterBase< TInput, TOutput >::NeighborhoodRadiusType = typename NeighborhoodIteratorType::RadiusType

Definition at line 126 of file itkFastMarchingImageFilterBase.h.

template<typename TInput , typename TOutput >
using itk::FastMarchingImageFilterBase< TInput, TOutput >::NodePairContainerConstIterator = typename Traits::NodePairContainerConstIterator

Definition at line 111 of file itkFastMarchingImageFilterBase.h.

template<typename TInput , typename TOutput >
using itk::FastMarchingImageFilterBase< TInput, TOutput >::NodePairContainerPointer = typename Traits::NodePairContainerPointer

Definition at line 110 of file itkFastMarchingImageFilterBase.h.

template<typename TInput , typename TOutput >
using itk::FastMarchingImageFilterBase< TInput, TOutput >::NodePairContainerType = typename Traits::NodePairContainerType

Definition at line 109 of file itkFastMarchingImageFilterBase.h.

template<typename TInput , typename TOutput >
using itk::FastMarchingImageFilterBase< TInput, TOutput >::NodePairType = typename Traits::NodePairType

Definition at line 108 of file itkFastMarchingImageFilterBase.h.

template<typename TInput , typename TOutput >
using itk::FastMarchingImageFilterBase< TInput, TOutput >::NodeType = typename Traits::NodeType

Definition at line 107 of file itkFastMarchingImageFilterBase.h.

template<typename TInput , typename TOutput >
using itk::FastMarchingImageFilterBase< TInput, TOutput >::OutputDirectionType = typename OutputImageType::DirectionType

Definition at line 105 of file itkFastMarchingImageFilterBase.h.

template<typename TInput , typename TOutput >
using itk::FastMarchingImageFilterBase< TInput, TOutput >::OutputImagePointer = typename Superclass::OutputDomainPointer

Definition at line 99 of file itkFastMarchingImageFilterBase.h.

template<typename TInput , typename TOutput >
using itk::FastMarchingImageFilterBase< TInput, TOutput >::OutputImageType = typename Superclass::OutputDomainType

Definition at line 98 of file itkFastMarchingImageFilterBase.h.

template<typename TInput , typename TOutput >
using itk::FastMarchingImageFilterBase< TInput, TOutput >::OutputPixelType = typename Superclass::OutputPixelType

Definition at line 100 of file itkFastMarchingImageFilterBase.h.

template<typename TInput , typename TOutput >
using itk::FastMarchingImageFilterBase< TInput, TOutput >::OutputPointType = typename OutputImageType::PointType

Definition at line 104 of file itkFastMarchingImageFilterBase.h.

template<typename TInput , typename TOutput >
using itk::FastMarchingImageFilterBase< TInput, TOutput >::OutputRegionType = typename OutputImageType::RegionType

Definition at line 103 of file itkFastMarchingImageFilterBase.h.

template<typename TInput , typename TOutput >
using itk::FastMarchingImageFilterBase< TInput, TOutput >::OutputSizeType = typename OutputImageType::SizeType

Definition at line 102 of file itkFastMarchingImageFilterBase.h.

template<typename TInput , typename TOutput >
using itk::FastMarchingImageFilterBase< TInput, TOutput >::OutputSpacingType = typename OutputImageType::SpacingType

Definition at line 101 of file itkFastMarchingImageFilterBase.h.

template<typename TInput , typename TOutput >
using itk::FastMarchingImageFilterBase< TInput, TOutput >::Pointer = SmartPointer< Self >

Definition at line 83 of file itkFastMarchingImageFilterBase.h.

template<typename TInput , typename TOutput >
using itk::FastMarchingImageFilterBase< TInput, TOutput >::Self = FastMarchingImageFilterBase

Definition at line 81 of file itkFastMarchingImageFilterBase.h.

template<typename TInput , typename TOutput >
using itk::FastMarchingImageFilterBase< TInput, TOutput >::Superclass = FastMarchingBase< TInput, TOutput >

Definition at line 82 of file itkFastMarchingImageFilterBase.h.

template<typename TInput , typename TOutput >
using itk::FastMarchingImageFilterBase< TInput, TOutput >::Traits = typename Superclass::Traits

Definition at line 85 of file itkFastMarchingImageFilterBase.h.

Constructor & Destructor Documentation

template<typename TInput , typename TOutput >
itk::FastMarchingImageFilterBase< TInput, TOutput >::FastMarchingImageFilterBase ( )
protected
template<typename TInput , typename TOutput >
itk::FastMarchingImageFilterBase< TInput, TOutput >::~FastMarchingImageFilterBase ( )
overrideprotecteddefault

Member Function Documentation

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

Make sure the given node does not violate any topological constraint

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

Generate the output image meta information.

template<typename TInput , typename TOutput >
void itk::FastMarchingImageFilterBase< TInput, TOutput >::GetInternalNodesUsed ( OutputImageType oImage,
const NodeType iNode,
InternalNodeStructureArray ioNodesUsed 
)
protected

Find the nodes were the front will propagate given a node

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

Returns the label value for a given node

Implements itk::FastMarchingBase< TInput, TOutput >.

template<typename TInput , typename TOutput >
virtual LabelImageType* itk::FastMarchingImageFilterBase< TInput, TOutput >::GetModifiableLabelImage ( )
virtual
template<typename TInput , typename TOutput >
virtual const char* itk::FastMarchingImageFilterBase< TInput, TOutput >::GetNameOfClass ( ) const
virtual
template<typename TInput , typename TOutput >
virtual const OutputDirectionType& itk::FastMarchingImageFilterBase< TInput, TOutput >::GetOutputDirection ( ) const
virtual

The output largeset possible, spacing and origin is computed as follows. If the speed image is nullptr 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 nullptr, the output information is copied from the input speed image.

template<typename TInput , typename TOutput >
virtual const OutputPointType& itk::FastMarchingImageFilterBase< TInput, TOutput >::GetOutputOrigin ( ) const
virtual

The output largeset possible, spacing and origin is computed as follows. If the speed image is nullptr 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 nullptr, the output information is copied from the input speed image.

template<typename TInput , typename TOutput >
virtual const OutputRegionType& itk::FastMarchingImageFilterBase< TInput, TOutput >::GetOutputRegion ( ) const
virtual

The output largeset possible, spacing and origin is computed as follows. If the speed image is nullptr 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 nullptr, the output information is copied from the input speed image.

template<typename TInput , typename 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 nullptr 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 nullptr, the output information is copied from the input speed image.

Definition at line 144 of file itkFastMarchingImageFilterBase.h.

template<typename TInput , typename TOutput >
virtual const OutputSpacingType& itk::FastMarchingImageFilterBase< TInput, TOutput >::GetOutputSpacing ( ) const
virtual

The output largeset possible, spacing and origin is computed as follows. If the speed image is nullptr 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 nullptr, the output information is copied from the input speed image.

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

Returns the output value for a given node

template<typename TInput , typename TOutput >
virtual const bool& itk::FastMarchingImageFilterBase< TInput, TOutput >::GetOverrideOutputInformation ( ) const
virtual

The output largeset possible, spacing and origin is computed as follows. If the speed image is nullptr 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 nullptr, the output information is copied from the input speed image.

template<typename TInput , typename TOutput >
IdentifierType itk::FastMarchingImageFilterBase< TInput, TOutput >::GetTotalNumberOfNodes ( ) const
overrideprotectedvirtual

Get the total number of nodes in the domain.

Implements itk::FastMarchingBase< TInput, TOutput >.

template<typename TInput , typename TOutput >
void itk::FastMarchingImageFilterBase< TInput, TOutput >::InitializeIndices2D ( )
protected
template<typename TInput , typename TOutput >
void itk::FastMarchingImageFilterBase< TInput, TOutput >::InitializeIndices3D ( )
protected
template<typename TInput , typename TOutput >
void itk::FastMarchingImageFilterBase< TInput, TOutput >::InitializeOutput ( OutputImageType oImage)
overrideprotected

Make sure the given node does not violate any topological constraint

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

Method for creation through the object factory.

template<typename TInput , typename 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 nullptr 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 nullptr, the output information is copied from the input speed image.

template<typename TInput , typename 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 nullptr 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 nullptr, the output information is copied from the input speed image.

template<typename TInput , typename TOutput >
void itk::FastMarchingImageFilterBase< TInput, TOutput >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
overrideprotected
template<typename TInput , typename TOutput >
void itk::FastMarchingImageFilterBase< TInput, TOutput >::SetLabelValueForGivenNode ( const NodeType iNode,
const LabelType iLabel 
)
overrideprotectedvirtual

Set the label value for a given node

Implements itk::FastMarchingBase< TInput, TOutput >.

template<typename TInput , typename 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 nullptr 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 nullptr, the output information is copied from the input speed image.

template<typename TInput , typename 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 nullptr 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 nullptr, the output information is copied from the input speed image.

template<typename TInput , typename 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 nullptr 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 nullptr, the output information is copied from the input speed image.

template<typename TInput , typename 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 nullptr 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 nullptr, the output information is copied from the input speed image.

Definition at line 142 of file itkFastMarchingImageFilterBase.h.

template<typename TInput , typename 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 nullptr 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 nullptr, the output information is copied from the input speed image.

template<typename TInput , typename TOutput >
void itk::FastMarchingImageFilterBase< TInput, TOutput >::SetOutputValue ( OutputImageType oDomain,
const NodeType iNode,
const OutputPixelType iValue 
)
overrideprotected
template<typename TInput , typename 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 nullptr 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 nullptr, the output information is copied from the input speed image.

template<typename TInput , typename TOutput >
double itk::FastMarchingImageFilterBase< TInput, TOutput >::Solve ( OutputImageType oImage,
const NodeType iNode,
InternalNodeStructureArray ioNeighbors 
) const
protected

Solve the quadratic equation

template<typename TInput , typename TOutput >
void itk::FastMarchingImageFilterBase< TInput, TOutput >::UpdateNeighbors ( OutputImageType oImage,
const NodeType iNode 
)
overrideprotected

Update values for the neighbors of a given node

template<typename TInput , typename TOutput >
void itk::FastMarchingImageFilterBase< TInput, TOutput >::UpdateValue ( OutputImageType oImage,
const NodeType iValue 
)
overrideprotected

Update value for a given node

Member Data Documentation

template<typename TInput , typename TOutput >
constexpr unsigned int itk::FastMarchingImageFilterBase< TInput, TOutput >::ImageDimension = Traits::ImageDimension
static

Definition at line 115 of file itkFastMarchingImageFilterBase.h.

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

Definition at line 167 of file itkFastMarchingImageFilterBase.h.

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

Definition at line 248 of file itkFastMarchingImageFilterBase.h.

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

Definition at line 249 of file itkFastMarchingImageFilterBase.h.

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

Definition at line 183 of file itkFastMarchingImageFilterBase.h.

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

Definition at line 255 of file itkFastMarchingImageFilterBase.h.

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

Definition at line 182 of file itkFastMarchingImageFilterBase.h.

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

Definition at line 169 of file itkFastMarchingImageFilterBase.h.

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

Definition at line 174 of file itkFastMarchingImageFilterBase.h.

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

Definition at line 172 of file itkFastMarchingImageFilterBase.h.

template<typename TInput , typename TOutput >
OutputRegionType itk::FastMarchingImageFilterBase< TInput, TOutput >::m_OutputRegion
protected

Definition at line 171 of file itkFastMarchingImageFilterBase.h.

template<typename TInput , typename TOutput >
OutputSpacingType itk::FastMarchingImageFilterBase< TInput, TOutput >::m_OutputSpacing
protected

Definition at line 173 of file itkFastMarchingImageFilterBase.h.

template<typename TInput , typename TOutput >
bool itk::FastMarchingImageFilterBase< TInput, TOutput >::m_OverrideOutputInformation { false }
protected

Definition at line 175 of file itkFastMarchingImageFilterBase.h.

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

Definition at line 240 of file itkFastMarchingImageFilterBase.h.

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

Definition at line 239 of file itkFastMarchingImageFilterBase.h.

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

Definition at line 168 of file itkFastMarchingImageFilterBase.h.


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