ITK  5.2.0
Insight Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | List of all members
itk::FastMarchingUpwindGradientImageFilterBase< TInput, TOutput > Class Template Reference

#include <itkFastMarchingUpwindGradientImageFilterBase.h>

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

Public Types

using ConstPointer = SmartPointer< const Self >
 
using GradientImagePointer = typename GradientImageType::Pointer
 
using GradientImageType = Image< GradientPixelType, ImageDimension >
 
using GradientPixelType = CovariantVector< OutputPixelType, ImageDimension >
 
using NodeType = typename Superclass::NodeType
 
using OutputImageType = typename Superclass::OutputImageType
 
using OutputPixelType = typename Superclass::OutputPixelType
 
using OutputSpacingType = typename Superclass::OutputSpacingType
 
using Pointer = SmartPointer< Self >
 
using Self = FastMarchingUpwindGradientImageFilterBase
 
using Superclass = FastMarchingImageFilterBase< TInput, TOutput >
 
using Traits = typename Superclass::Traits
 
- Public Types inherited from itk::FastMarchingImageFilterBase< TInput, TOutput >
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
 
using TopologyCheckEnum = FastMarchingTraitsEnums::TopologyCheck
 
using Traits = FastMarchingTraits< TInput, TOutput >
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother () const
 
GradientImageTypeGetGradientImage ()
 
virtual const char * GetNameOfClass () const
 
- Public Member Functions inherited from itk::FastMarchingImageFilterBase< TInput, TOutput >
virtual ::itk::LightObject::Pointer CreateAnother () const
 
virtual const LabelImageTypeGetLabelImage () const
 
virtual LabelImageTypeGetModifiableLabelImage ()
 
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 void SetTopologyCheck (const TopologyCheckEnum _arg)
 
virtual const TopologyCheckEnumGetTopologyCheck () const
 
virtual void SetTrialPoints (NodePairContainerType *_arg)
 
virtual NodePairContainerTypeGetModifiableTrialPoints ()
 
virtual const NodePairContainerTypeGetTrialPoints () const
 
virtual void SetAlivePoints (NodePairContainerType *_arg)
 
virtual NodePairContainerTypeGetModifiableAlivePoints ()
 
virtual const NodePairContainerTypeGetAlivePoints () const
 
virtual void SetProcessedPoints (NodePairContainerType *_arg)
 
virtual NodePairContainerTypeGetModifiableProcessedPoints ()
 
virtual const NodePairContainerTypeGetProcessedPoints () const
 
virtual void SetForbiddenPoints (NodePairContainerType *_arg)
 
virtual NodePairContainerTypeGetModifiableForbiddenPoints ()
 
virtual const NodePairContainerTypeGetForbiddenPoints () const
 
virtual void SetStoppingCriterion (StoppingCriterionType *_arg)
 
virtual StoppingCriterionTypeGetModifiableStoppingCriterion ()
 
virtual const StoppingCriterionTypeGetStoppingCriterion () const
 
virtual double GetSpeedConstant ()
 
virtual void SetSpeedConstant (double _arg)
 
virtual double GetNormalizationFactor ()
 
virtual void SetNormalizationFactor (double _arg)
 
virtual OutputPixelType GetTargetReachedValue ()
 
virtual void SetCollectPoints (bool _arg)
 
virtual const bool & GetCollectPoints () const
 
virtual void CollectPointsOn ()
 
virtual void CollectPointsOff ()
 

Static Public Member Functions

static Pointer New ()
 
- Static Public Member Functions inherited from itk::FastMarchingImageFilterBase< TInput, TOutput >
static Pointer New ()
 

Static Public Attributes

static constexpr unsigned int ImageDimension = Superclass::ImageDimension
 
- Static Public Attributes inherited from itk::FastMarchingImageFilterBase< TInput, TOutput >
static constexpr unsigned int ImageDimension = Traits::ImageDimension
 

Protected Member Functions

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

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

Detailed Description

template<typename TInput, typename TOutput>
class itk::FastMarchingUpwindGradientImageFilterBase< TInput, TOutput >

Generates the upwind gradient field of fast marching arrival times.

This filter adds some extra functionality to its base class. While the solution T(x) of the Eikonal equation is being generated by the base class with the fast marching method, the filter generates the upwind gradient vectors of T(x), storing them in an image.

Since the Eikonal equation generates the arrival times of a wave traveling at a given speed, the generated gradient vectors can be interpreted as the slowness (1/velocity) vectors of the front (the quantity inside the modulus operator in the Eikonal equation).

Gradient vectors are computed using upwind finite differences, that is, information only propagates from points where the wavefront has already passed. This is consistent with how the fast marching method works.

For an alternative implementation, see itk::FastMarchingUpwindGradientImageFilter.

Author
Luca Antiga Ph.D. Biomedical Technologies Laboratory, Bioengineering Department, Mario Negri Institute, Italy.
See also
FastMarchingUpwindGradientImageFilter

Definition at line 54 of file itkFastMarchingUpwindGradientImageFilterBase.h.

Member Typedef Documentation

◆ ConstPointer

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

◆ GradientImagePointer

template<typename TInput , typename TOutput >
using itk::FastMarchingUpwindGradientImageFilterBase< TInput, TOutput >::GradientImagePointer = typename GradientImageType::Pointer

GradientImagePointer type alias support

Definition at line 88 of file itkFastMarchingUpwindGradientImageFilterBase.h.

◆ GradientImageType

template<typename TInput , typename TOutput >
using itk::FastMarchingUpwindGradientImageFilterBase< TInput, TOutput >::GradientImageType = Image<GradientPixelType, ImageDimension>

GradientImage type alias support

Definition at line 85 of file itkFastMarchingUpwindGradientImageFilterBase.h.

◆ GradientPixelType

template<typename TInput , typename TOutput >
using itk::FastMarchingUpwindGradientImageFilterBase< TInput, TOutput >::GradientPixelType = CovariantVector<OutputPixelType, ImageDimension>

GradientPixel type alias support

Definition at line 82 of file itkFastMarchingUpwindGradientImageFilterBase.h.

◆ NodeType

template<typename TInput , typename TOutput >
using itk::FastMarchingUpwindGradientImageFilterBase< TInput, TOutput >::NodeType = typename Superclass::NodeType

◆ OutputImageType

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

◆ OutputPixelType

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

◆ OutputSpacingType

template<typename TInput , typename TOutput >
using itk::FastMarchingUpwindGradientImageFilterBase< TInput, TOutput >::OutputSpacingType = typename Superclass::OutputSpacingType

◆ Pointer

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

◆ Self

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

Standard class typdedefs.

Definition at line 61 of file itkFastMarchingUpwindGradientImageFilterBase.h.

◆ Superclass

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

◆ Traits

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

Constructor & Destructor Documentation

◆ FastMarchingUpwindGradientImageFilterBase()

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

◆ ~FastMarchingUpwindGradientImageFilterBase()

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

Member Function Documentation

◆ ComputeGradient()

template<typename TInput , typename TOutput >
virtual void itk::FastMarchingUpwindGradientImageFilterBase< TInput, TOutput >::ComputeGradient ( OutputImageType oImage,
const NodeType iNode 
)
protectedvirtual

◆ CreateAnother()

template<typename TInput , typename TOutput >
virtual::itk::LightObject::Pointer itk::FastMarchingUpwindGradientImageFilterBase< TInput, TOutput >::CreateAnother ( ) const

◆ GetGradientImage()

template<typename TInput , typename TOutput >
GradientImageType* itk::FastMarchingUpwindGradientImageFilterBase< TInput, TOutput >::GetGradientImage ( )

Get the gradient image.

◆ GetNameOfClass()

template<typename TInput , typename TOutput >
virtual const char* itk::FastMarchingUpwindGradientImageFilterBase< TInput, TOutput >::GetNameOfClass ( ) const
virtual

Run-time type information (and related methods).

Reimplemented from itk::FastMarchingImageFilterBase< TInput, TOutput >.

◆ InitializeOutput()

template<typename TInput , typename TOutput >
void itk::FastMarchingUpwindGradientImageFilterBase< TInput, TOutput >::InitializeOutput ( OutputImageType output)
overrideprotected

◆ New()

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

Method for creation through the object factory.

◆ PrintSelf()

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

◆ UpdateNeighbors()

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

Member Data Documentation

◆ ImageDimension

template<typename TInput , typename TOutput >
constexpr unsigned int itk::FastMarchingUpwindGradientImageFilterBase< TInput, TOutput >::ImageDimension = Superclass::ImageDimension
staticconstexpr

The dimension of the level set.

Definition at line 74 of file itkFastMarchingUpwindGradientImageFilterBase.h.


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