ITK  4.9.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Private 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.

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

Definition at line 50 of file itkFastMarchingUpwindGradientImageFilterBase.h.

Public Types

typedef SmartPointer< const SelfConstPointer
 
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< SelfPointer
 
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 SelfConstPointer
 
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< SelfPointer
 
typedef FastMarchingImageFilterBase Self
 
typedef FastMarchingBase
< TInput, TOutput > 
Superclass
 
typedef Superclass::Traits Traits
 
- Public Types inherited from itk::FastMarchingBase< TInput, TOutput >
typedef SmartPointer< const SelfConstPointer
 
typedef Traits::InputDomainPointer InputDomainPointer
 
typedef Traits::InputDomainType InputDomainType
 
typedef Traits::InputPixelType InputPixelType
 
typedef Traits::LabelType LabelType
 
typedef
Traits::NodePairContainerConstIterator 
NodePairContainerConstIterator
 
typedef
Traits::NodePairContainerPointer 
NodePairContainerPointer
 
typedef
Traits::NodePairContainerType 
NodePairContainerType
 
typedef Traits::NodePairType NodePairType
 
typedef Traits::NodeType NodeType
 
typedef Traits::OutputDomainPointer OutputDomainPointer
 
typedef Traits::OutputDomainType OutputDomainType
 
typedef Traits::OutputPixelType OutputPixelType
 
typedef SmartPointer< SelfPointer
 
typedef FastMarchingBase Self
 
typedef
StoppingCriterionType::Pointer 
StoppingCriterionPointer
 
typedef
FastMarchingStoppingCriterionBase
< TInput, TOutput > 
StoppingCriterionType
 
typedef SuperclassType Superclass
 
typedef Traits::SuperclassType SuperclassType
 
enum  TopologyCheckType {
  Nothing = 0,
  NoHandles,
  Strict
}
 
typedef FastMarchingTraits
< TInput, TOutput > 
Traits
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother () 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 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 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 ()
 
- 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 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 ()
 
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 ()
 

Private Member Functions

 FastMarchingUpwindGradientImageFilterBase (const Self &) ITK_DELETE_FUNCTION
 
void operator= (const Self &) ITK_DELETE_FUNCTION
 

Additional Inherited Members

- Protected Types inherited from itk::FastMarchingBase< TInput, TOutput >
typedef std::vector< NodePairTypeHeapContainerType
 
typedef std::greater
< NodePairType
NodeComparerType
 
typedef std::priority_queue
< NodeType, HeapContainerType,
NodeComparerType
PriorityQueueType
 
- 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 InputImageTypem_InputCache
 
LabelImagePointer m_LabelImage
 
NodeType m_LastIndex
 
OutputDirectionType m_OutputDirection
 
OutputPointType m_OutputOrigin
 
OutputRegionType m_OutputRegion
 
OutputSpacingType m_OutputSpacing
 
bool m_OverrideOutputInformation
 
Array< unsigned char > m_ReflectionIndices [2]
 
Array< unsigned char > m_RotationIndices [4]
 
NodeType m_StartIndex
 
- Protected Attributes inherited from itk::FastMarchingBase< TInput, TOutput >
NodePairContainerPointer m_AlivePoints
 
bool m_CollectPoints
 
NodePairContainerPointer m_ForbiddenPoints
 
PriorityQueueType m_Heap
 
double m_InverseSpeed
 
OutputPixelType m_LargeValue
 
double m_NormalizationFactor
 
NodePairContainerPointer m_ProcessedPoints
 
double m_SpeedConstant
 
StoppingCriterionPointer m_StoppingCriterion
 
OutputPixelType m_TargetReachedValue
 
TopologyCheckType m_TopologyCheck
 
OutputPixelType m_TopologyValue
 
NodePairContainerPointer m_TrialPoints
 

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

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

GradientImage typedef support.

Definition at line 83 of file itkFastMarchingUpwindGradientImageFilterBase.h.

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

GradientPixel typedef support.

Definition at line 79 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 55 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 ( )
inlineprotected
template<typename TInput , typename TOutput >
itk::FastMarchingUpwindGradientImageFilterBase< TInput, TOutput >::FastMarchingUpwindGradientImageFilterBase ( const Self )
private

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 >::operator= ( const Self )
private
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 70 of file itkFastMarchingUpwindGradientImageFilterBase.h.


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