ITK  6.0.0
Insight 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>

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

Definition at line 75 of file itkFastMarchingImageFilterBase.h.

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

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 InternalNodeStructureArray = FixedArray< InternalNodeStructure, ImageDimension >
 
using LabelImagePointer = typename LabelImageType::Pointer
 
using LabelImageType = Image< unsigned char, ImageDimension >
 
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 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 >
 
- 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
 
using TopologyCheckEnum = FastMarchingTraitsEnums::TopologyCheck
 
using Traits = FastMarchingTraits< TInput, TOutput >
 

Public Member Functions

virtual LabelImageTypeGetModifiableLabelImage ()
 
const char * GetNameOfClass () const override
 
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 ()
 
- Public Member Functions inherited from itk::FastMarchingBase< TInput, TOutput >
virtual StoppingCriterionTypeGetModifiableStoppingCriterion ()
 
const char * GetNameOfClass () const override
 
virtual double GetNormalizationFactor ()
 
virtual double GetSpeedConstant ()
 
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 (const TopologyCheckEnum _arg)
 
virtual const TopologyCheckEnumGetTopologyCheck () const
 
virtual void SetTrialPoints (NodePairContainerType *_arg)
 
virtual NodePairContainerTypeGetModifiableTrialPoints ()
 
virtual void SetAlivePoints (NodePairContainerType *_arg)
 
virtual NodePairContainerTypeGetModifiableAlivePoints ()
 
virtual void SetProcessedPoints (NodePairContainerType *_arg)
 
virtual NodePairContainerTypeGetModifiableProcessedPoints ()
 
virtual void SetForbiddenPoints (NodePairContainerType *_arg)
 
virtual NodePairContainerTypeGetModifiableForbiddenPoints ()
 
virtual const bool & GetCollectPoints () const
 
virtual void CollectPointsOn ()
 

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 *oImage, const NodeType &iNode, const OutputPixelType &iValue) override
 
double Solve (OutputImageType *oImage, const NodeType &iNode, InternalNodeStructureArray &iNeighbors) const
 
void UpdateNeighbors (OutputImageType *oImage, const NodeType &iNode) override
 
void UpdateValue (OutputImageType *oImage, const NodeType &iNode) 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 unsigned char GetLabelValueForGivenNode (const NodeType &iNode) const =0
 
virtual const OutputPixelType GetOutputValue (OutputDomainType *oDomain, const NodeType &iNode) const =0
 
virtual IdentifierType GetTotalNumberOfNodes () const =0
 
void Initialize (OutputDomainType *oDomain)
 
virtual void InitializeOutput (OutputDomainType *oDomain)=0
 
void PrintSelf (std::ostream &os, Indent indent) const override
 
virtual void SetLabelValueForGivenNode (const NodeType &iNode, const LabelType &iLabel)=0
 
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 {}
 
TopologyCheckEnum 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

◆ ConnectedComponentImagePointer

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

Definition at line 121 of file itkFastMarchingImageFilterBase.h.

◆ ConnectedComponentImageType

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

Definition at line 120 of file itkFastMarchingImageFilterBase.h.

◆ ConstPointer

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

Definition at line 83 of file itkFastMarchingImageFilterBase.h.

◆ InputImagePointer

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

Definition at line 94 of file itkFastMarchingImageFilterBase.h.

◆ InputImageType

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

Definition at line 93 of file itkFastMarchingImageFilterBase.h.

◆ InternalNodeStructureArray

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

Definition at line 129 of file itkFastMarchingImageFilterBase.h.

◆ LabelImagePointer

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

Definition at line 118 of file itkFastMarchingImageFilterBase.h.

◆ LabelImageType

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

Definition at line 117 of file itkFastMarchingImageFilterBase.h.

◆ NeighborhoodIteratorType

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

Definition at line 123 of file itkFastMarchingImageFilterBase.h.

◆ NeighborhoodRadiusType

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

Definition at line 124 of file itkFastMarchingImageFilterBase.h.

◆ NodePairContainerConstIterator

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

Definition at line 110 of file itkFastMarchingImageFilterBase.h.

◆ NodePairContainerPointer

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

Definition at line 109 of file itkFastMarchingImageFilterBase.h.

◆ NodePairContainerType

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

Definition at line 108 of file itkFastMarchingImageFilterBase.h.

◆ NodePairType

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

Definition at line 107 of file itkFastMarchingImageFilterBase.h.

◆ NodeType

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

Definition at line 106 of file itkFastMarchingImageFilterBase.h.

◆ OutputDirectionType

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

Definition at line 104 of file itkFastMarchingImageFilterBase.h.

◆ OutputImagePointer

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

Definition at line 98 of file itkFastMarchingImageFilterBase.h.

◆ OutputImageType

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

Definition at line 97 of file itkFastMarchingImageFilterBase.h.

◆ OutputPointType

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

Definition at line 103 of file itkFastMarchingImageFilterBase.h.

◆ OutputRegionType

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

Definition at line 102 of file itkFastMarchingImageFilterBase.h.

◆ OutputSizeType

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

Definition at line 101 of file itkFastMarchingImageFilterBase.h.

◆ OutputSpacingType

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

Definition at line 100 of file itkFastMarchingImageFilterBase.h.

◆ Pointer

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

Definition at line 82 of file itkFastMarchingImageFilterBase.h.

◆ Self

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

Definition at line 80 of file itkFastMarchingImageFilterBase.h.

◆ Superclass

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

Definition at line 81 of file itkFastMarchingImageFilterBase.h.

Constructor & Destructor Documentation

◆ FastMarchingImageFilterBase()

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

◆ ~FastMarchingImageFilterBase()

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

Member Function Documentation

◆ CheckTopology()

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

◆ DoesVoxelChangeViolateStrictTopology()

template<typename TInput , typename TOutput >
bool itk::FastMarchingImageFilterBase< TInput, TOutput >::DoesVoxelChangeViolateStrictTopology ( const NodeType ) const
protected

◆ DoesVoxelChangeViolateWellComposedness()

template<typename TInput , typename TOutput >
bool itk::FastMarchingImageFilterBase< TInput, TOutput >::DoesVoxelChangeViolateWellComposedness ( const NodeType ) const
protected

◆ EnlargeOutputRequestedRegion()

template<typename TInput , typename TOutput >
void itk::FastMarchingImageFilterBase< TInput, TOutput >::EnlargeOutputRequestedRegion ( DataObject output)
overrideprotected

◆ GenerateOutputInformation()

template<typename TInput , typename TOutput >
void itk::FastMarchingImageFilterBase< TInput, TOutput >::GenerateOutputInformation ( )
overrideprotected

Generate the output image meta information.

◆ GetInternalNodesUsed()

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

◆ GetLabelValueForGivenNode()

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

◆ GetModifiableLabelImage()

template<typename TInput , typename TOutput >
virtual LabelImageType * itk::FastMarchingImageFilterBase< TInput, TOutput >::GetModifiableLabelImage ( )
virtual

◆ GetNameOfClass()

template<typename TInput , typename TOutput >
const char * itk::FastMarchingImageFilterBase< TInput, TOutput >::GetNameOfClass ( ) const
override

◆ GetOutputDirection()

template<typename TInput , typename TOutput >
virtual const OutputDirectionType & itk::FastMarchingImageFilterBase< TInput, TOutput >::GetOutputDirection ( ) const
virtual

The output largest 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.

◆ GetOutputOrigin()

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

The output largest 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.

◆ GetOutputRegion()

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

The output largest 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.

◆ GetOutputSize()

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

The output largest 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 146 of file itkFastMarchingImageFilterBase.h.

◆ GetOutputSpacing()

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

The output largest 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.

◆ GetOutputValue()

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

◆ GetOverrideOutputInformation()

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

The output largest 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.

◆ GetTotalNumberOfNodes()

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

◆ InitializeIndices2D()

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

◆ InitializeIndices3D()

template<typename TInput , typename TOutput >
void itk::FastMarchingImageFilterBase< TInput, TOutput >::InitializeIndices3D ( )
protected

◆ InitializeOutput()

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

◆ IsChangeWellComposed2D()

template<typename TInput , typename TOutput >
bool itk::FastMarchingImageFilterBase< TInput, TOutput >::IsChangeWellComposed2D ( const NodeType ) const
protected

◆ IsChangeWellComposed3D()

template<typename TInput , typename TOutput >
bool itk::FastMarchingImageFilterBase< TInput, TOutput >::IsChangeWellComposed3D ( const NodeType ) const
protected

◆ IsCriticalC1Configuration2D()

template<typename TInput , typename TOutput >
bool itk::FastMarchingImageFilterBase< TInput, TOutput >::IsCriticalC1Configuration2D ( const std::bitset< 9 > &  ) const
protected

◆ IsCriticalC1Configuration3D()

template<typename TInput , typename TOutput >
bool itk::FastMarchingImageFilterBase< TInput, TOutput >::IsCriticalC1Configuration3D ( const std::bitset< 8 > &  ) const
protected

◆ IsCriticalC2Configuration2D()

template<typename TInput , typename TOutput >
bool itk::FastMarchingImageFilterBase< TInput, TOutput >::IsCriticalC2Configuration2D ( const std::bitset< 9 > &  ) const
protected

◆ IsCriticalC2Configuration3D()

template<typename TInput , typename TOutput >
unsigned int itk::FastMarchingImageFilterBase< TInput, TOutput >::IsCriticalC2Configuration3D ( const std::bitset< 8 > &  ) const
protected

◆ IsCriticalC3Configuration2D()

template<typename TInput , typename TOutput >
bool itk::FastMarchingImageFilterBase< TInput, TOutput >::IsCriticalC3Configuration2D ( const std::bitset< 9 > &  ) const
protected

◆ IsCriticalC4Configuration2D()

template<typename TInput , typename TOutput >
bool itk::FastMarchingImageFilterBase< TInput, TOutput >::IsCriticalC4Configuration2D ( const std::bitset< 9 > &  ) const
protected

◆ New()

template<typename TInput , typename TOutput >
static Pointer itk::FastMarchingImageFilterBase< TInput, TOutput >::New ( )
static

Method for creation through the object factory.

◆ OverrideOutputInformationOn()

template<typename TInput , typename TOutput >
virtual void itk::FastMarchingImageFilterBase< TInput, TOutput >::OverrideOutputInformationOn ( )
virtual

The output largest 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.

◆ PrintSelf()

template<typename TInput , typename TOutput >
void itk::FastMarchingImageFilterBase< TInput, TOutput >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
overrideprotected

◆ SetLabelValueForGivenNode()

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

◆ SetOutputDirection()

template<typename TInput , typename TOutput >
virtual void itk::FastMarchingImageFilterBase< TInput, TOutput >::SetOutputDirection ( OutputDirectionType  _arg)
virtual

The output largest 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.

◆ SetOutputOrigin()

template<typename TInput , typename TOutput >
virtual void itk::FastMarchingImageFilterBase< TInput, TOutput >::SetOutputOrigin ( OutputPointType  _arg)
virtual

The output largest 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.

◆ SetOutputRegion()

template<typename TInput , typename TOutput >
virtual void itk::FastMarchingImageFilterBase< TInput, TOutput >::SetOutputRegion ( OutputRegionType  _arg)
virtual

The output largest 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.

◆ SetOutputSize()

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

The output largest 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 141 of file itkFastMarchingImageFilterBase.h.

◆ SetOutputSpacing()

template<typename TInput , typename TOutput >
virtual void itk::FastMarchingImageFilterBase< TInput, TOutput >::SetOutputSpacing ( OutputSpacingType  _arg)
virtual

The output largest 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.

◆ SetOutputValue()

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

◆ SetOverrideOutputInformation()

template<typename TInput , typename TOutput >
virtual void itk::FastMarchingImageFilterBase< TInput, TOutput >::SetOverrideOutputInformation ( bool  _arg)
virtual

The output largest 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.

◆ Solve()

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

Solve the quadratic equation

◆ UpdateNeighbors()

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

◆ UpdateValue()

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

Update value for a given node

Member Data Documentation

◆ ImageDimension

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

Definition at line 114 of file itkFastMarchingImageFilterBase.h.

◆ m_BufferedRegion

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

Definition at line 171 of file itkFastMarchingImageFilterBase.h.

◆ m_C1Indices

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

Definition at line 263 of file itkFastMarchingImageFilterBase.h.

◆ m_C2Indices

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

Definition at line 264 of file itkFastMarchingImageFilterBase.h.

◆ m_ConnectedComponentImage

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

Definition at line 189 of file itkFastMarchingImageFilterBase.h.

◆ m_InputCache

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

Definition at line 272 of file itkFastMarchingImageFilterBase.h.

◆ m_LabelImage

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

Definition at line 188 of file itkFastMarchingImageFilterBase.h.

◆ m_LastIndex

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

Definition at line 173 of file itkFastMarchingImageFilterBase.h.

◆ m_OutputDirection

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

Definition at line 178 of file itkFastMarchingImageFilterBase.h.

◆ m_OutputOrigin

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

Definition at line 176 of file itkFastMarchingImageFilterBase.h.

◆ m_OutputRegion

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

Definition at line 175 of file itkFastMarchingImageFilterBase.h.

◆ m_OutputSpacing

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

Definition at line 177 of file itkFastMarchingImageFilterBase.h.

◆ m_OverrideOutputInformation

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

Definition at line 179 of file itkFastMarchingImageFilterBase.h.

◆ m_ReflectionIndices

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

Definition at line 251 of file itkFastMarchingImageFilterBase.h.

◆ m_RotationIndices

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

Definition at line 250 of file itkFastMarchingImageFilterBase.h.

◆ m_StartIndex

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

Definition at line 172 of file itkFastMarchingImageFilterBase.h.


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