ITK  4.13.0
Insight Segmentation and Registration 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 >:

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 travelling 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 53 of file itkFastMarchingUpwindGradientImageFilterBase.h.

Public Types

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

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother () const
 
GradientImageType * GetGradientImage ()
 
virtual const char * GetNameOfClass () const
 
- Public Member Functions inherited from itk::FastMarchingImageFilterBase< TInput, TOutput >
virtual ::itk::LightObject::Pointer CreateAnother () const
 
virtual const LabelImageType * GetLabelImage () const
 
virtual LabelImageType * GetModifiableLabelImage ()
 
virtual void SetOutputSize (const OutputSizeType &size)
 
virtual OutputSizeType GetOutputSize () const
 
virtual void SetOutputRegion (OutputRegionType _arg)
 
virtual const OutputRegionType & GetOutputRegion () const
 
virtual void SetOutputSpacing (OutputSpacingType _arg)
 
virtual const OutputSpacingType & GetOutputSpacing () const
 
virtual void SetOutputDirection (OutputDirectionType _arg)
 
virtual const OutputDirectionType & GetOutputDirection () const
 
virtual void SetOutputOrigin (OutputPointType _arg)
 
virtual const OutputPointType & GetOutputOrigin () 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 StoppingCriterionType * GetModifiableStoppingCriterion ()
 
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 TopologyCheckType & GetTopologyCheck () const
 
virtual void SetTrialPoints (NodePairContainerType *_arg)
 
virtual NodePairContainerType * GetModifiableTrialPoints ()
 
virtual const
NodePairContainerType * 
GetTrialPoints () const
 
virtual void SetAlivePoints (NodePairContainerType *_arg)
 
virtual NodePairContainerType * GetModifiableAlivePoints ()
 
virtual const
NodePairContainerType * 
GetAlivePoints () const
 
virtual void SetProcessedPoints (NodePairContainerType *_arg)
 
virtual NodePairContainerType * GetModifiableProcessedPoints ()
 
virtual const
NodePairContainerType * 
GetProcessedPoints () const
 
virtual void SetForbiddenPoints (NodePairContainerType *_arg)
 
virtual NodePairContainerType * GetModifiableForbiddenPoints ()
 
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 Member Functions inherited from itk::FastMarchingImageFilterBase< TInput, TOutput >
static Pointer New ()
 

Static Public Attributes

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

Protected Member Functions

virtual void ComputeGradient (OutputImageType *oImage, const NodeType &iNode)
 
 FastMarchingUpwindGradientImageFilterBase ()
 
virtual void InitializeOutput (OutputImageType *oImage) override
 
void PrintSelf (std::ostream &os, Indent indent) const override
 
virtual void UpdateNeighbors (OutputImageType *oImage, const NodeType &iNode) override
 
 ~FastMarchingUpwindGradientImageFilterBase () override
 
- Protected Member Functions inherited from itk::FastMarchingImageFilterBase< TInput, TOutput >
bool DoesVoxelChangeViolateStrictTopology (const NodeType &) const
 
bool DoesVoxelChangeViolateWellComposedness (const NodeType &) const
 
virtual void EnlargeOutputRequestedRegion (DataObject *output) override
 
 FastMarchingImageFilterBase ()
 
virtual 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
 
virtual void UpdateNeighbors (OutputImageType *oImage, const NodeType &iNode) override
 
virtual void UpdateValue (OutputImageType *oImage, const NodeType &iValue) override
 
virtual ~FastMarchingImageFilterBase () override
 
bool CheckTopology (OutputImageType *oImage, const NodeType &iNode) override
 
void InitializeOutput (OutputImageType *oImage) override
 
- Protected Member Functions inherited from itk::FastMarchingBase< TInput, TOutput >
 FastMarchingBase ()
 
void GenerateData () override
 
void Initialize (OutputDomainType *oDomain)
 
void PrintSelf (std::ostream &os, Indent indent) const override
 
virtual ~FastMarchingBase () override
 

Additional Inherited Members

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

Member Typedef Documentation

template<typename TInput , typename TOutput >
typedef SmartPointer< const Self > itk::FastMarchingUpwindGradientImageFilterBase< TInput, TOutput >::ConstPointer
template<typename TInput , typename TOutput >
typedef GradientImageType::Pointer itk::FastMarchingUpwindGradientImageFilterBase< TInput, TOutput >::GradientImagePointer

GradientImagePointer typedef support.

Definition at line 89 of file itkFastMarchingUpwindGradientImageFilterBase.h.

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

GradientImage typedef support.

Definition at line 86 of file itkFastMarchingUpwindGradientImageFilterBase.h.

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

GradientPixel typedef support.

Definition at line 82 of file itkFastMarchingUpwindGradientImageFilterBase.h.

template<typename TInput , typename TOutput >
typedef Superclass::NodeType itk::FastMarchingUpwindGradientImageFilterBase< TInput, TOutput >::NodeType
template<typename TInput , typename TOutput >
typedef Superclass::OutputImageType itk::FastMarchingUpwindGradientImageFilterBase< TInput, TOutput >::OutputImageType
template<typename TInput , typename TOutput >
typedef Superclass::OutputPixelType itk::FastMarchingUpwindGradientImageFilterBase< TInput, TOutput >::OutputPixelType
template<typename TInput , typename TOutput >
typedef Superclass::OutputSpacingType itk::FastMarchingUpwindGradientImageFilterBase< TInput, TOutput >::OutputSpacingType
template<typename TInput , typename TOutput >
typedef SmartPointer< Self > itk::FastMarchingUpwindGradientImageFilterBase< TInput, TOutput >::Pointer
template<typename TInput , typename TOutput >
typedef FastMarchingUpwindGradientImageFilterBase itk::FastMarchingUpwindGradientImageFilterBase< TInput, TOutput >::Self

Standard class typdedefs.

Definition at line 58 of file itkFastMarchingUpwindGradientImageFilterBase.h.

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

Constructor & Destructor Documentation

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

Member Function Documentation

template<typename TInput , typename TOutput >
virtual void itk::FastMarchingUpwindGradientImageFilterBase< TInput, TOutput >::ComputeGradient ( OutputImageType *  oImage,
const NodeType &  iNode 
)
protectedvirtual
template<typename TInput , typename TOutput >
virtual::itk::LightObject::Pointer itk::FastMarchingUpwindGradientImageFilterBase< TInput, TOutput >::CreateAnother ( ) const
template<typename TInput , typename TOutput >
GradientImageType* itk::FastMarchingUpwindGradientImageFilterBase< TInput, TOutput >::GetGradientImage ( )

Get the gradient image.

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

template<typename TInput , typename TOutput >
virtual void itk::FastMarchingUpwindGradientImageFilterBase< TInput, TOutput >::InitializeOutput ( OutputImageType *  oImage)
overrideprotectedvirtual
template<typename TInput , typename TOutput >
static Pointer itk::FastMarchingUpwindGradientImageFilterBase< TInput, TOutput >::New ( )
static

Method for creation through the object factory.

template<typename TInput , typename TOutput >
void itk::FastMarchingUpwindGradientImageFilterBase< TInput, TOutput >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
overrideprotected
template<typename TInput , typename TOutput >
virtual void itk::FastMarchingUpwindGradientImageFilterBase< TInput, TOutput >::UpdateNeighbors ( OutputImageType *  oImage,
const NodeType &  iNode 
)
overrideprotectedvirtual

Member Data Documentation

template<typename TInput , typename TOutput >
const unsigned int itk::FastMarchingUpwindGradientImageFilterBase< TInput, TOutput >::ImageDimension = Superclass::ImageDimension
static

The dimension of the level set.

Definition at line 73 of file itkFastMarchingUpwindGradientImageFilterBase.h.


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