ITK  4.3.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<class TInput, class 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 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 (void) const
 
GradientImageTypeGetGradientImage ()
 
virtual const char * GetNameOfClass () const
 
- Public Member Functions inherited from itk::FastMarchingImageFilterBase< TInput, TOutput >
virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
virtual LabelImageTypeGetLabelImage ()
 
virtual void SetOutputSize (const OutputSizeType &size)
 
virtual OutputSizeType GetOutputSize () const
 
virtual void SetOutputRegion (OutputRegionType _arg)
 
virtual const OutputRegionTypeGetOutputRegion ()
 
virtual void SetOutputSpacing (OutputSpacingType _arg)
 
virtual const OutputSpacingTypeGetOutputSpacing ()
 
virtual void SetOutputDirection (OutputDirectionType _arg)
 
virtual const OutputDirectionTypeGetOutputDirection ()
 
virtual void SetOutputOrigin (OutputPointType _arg)
 
virtual const OutputPointTypeGetOutputOrigin ()
 
virtual void SetOverrideOutputInformation (bool _arg)
 
virtual const bool & GetOverrideOutputInformation ()
 
virtual void OverrideOutputInformationOn ()
 
virtual void OverrideOutputInformationOff ()
 
- Public Member Functions inherited from itk::FastMarchingBase< TInput, TOutput >
virtual double GetNormalizationFactor ()
 
virtual double GetSpeedConstant ()
 
virtual StoppingCriterionTypeGetStoppingCriterion ()
 
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 ()
 
virtual void SetTrialPoints (NodePairContainerType *_arg)
 
virtual NodePairContainerTypeGetTrialPoints ()
 
virtual void SetAlivePoints (NodePairContainerType *_arg)
 
virtual NodePairContainerTypeGetAlivePoints ()
 
virtual void SetProcessedPoints (NodePairContainerType *_arg)
 
virtual NodePairContainerTypeGetProcessedPoints ()
 
virtual void SetForbiddenPoints (NodePairContainerType *_arg)
 
virtual NodePairContainerTypeGetForbiddenPoints ()
 
virtual const bool & GetCollectPoints ()
 
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)
 
void PrintSelf (std::ostream &os, Indent indent) const
 
virtual void UpdateNeighbors (OutputImageType *oImage, const NodeType &iNode)
 
 ~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)
 
 FastMarchingImageFilterBase ()
 
virtual void GenerateOutputInformation ()
 
void GetInternalNodesUsed (OutputImageType *oImage, const NodeType &iNode, std::vector< InternalNodeStructure > &ioNodesUsed)
 
unsigned char GetLabelValueForGivenNode (const NodeType &iNode) const
 
const OutputPixelType GetOutputValue (OutputImageType *oImage, const NodeType &iNode) const
 
IdentifierType GetTotalNumberOfNodes () const
 
void InitializeIndices2D ()
 
void InitializeIndices3D ()
 
bool IsChangeWellComposed2D (const NodeType &) const
 
bool IsChangeWellComposed3D (const NodeType &) const
 
bool IsCriticalC1Configuration2D (const std::vector< bool > &) const
 
bool IsCriticalC1Configuration3D (const std::vector< bool > &) const
 
bool IsCriticalC2Configuration2D (const std::vector< bool > &) const
 
unsigned int IsCriticalC2Configuration3D (const std::vector< bool > &) const
 
bool IsCriticalC3Configuration2D (const std::vector< bool > &) const
 
bool IsCriticalC4Configuration2D (const std::vector< bool > &) const
 
void SetLabelValueForGivenNode (const NodeType &iNode, const LabelType &iLabel)
 
void SetOutputValue (OutputImageType *oDomain, const NodeType &iNode, const OutputPixelType &iValue)
 
double Solve (OutputImageType *oImage, const NodeType &iNode, std::vector< InternalNodeStructure > &ioNeighbors) const
 
virtual void UpdateNeighbors (OutputImageType *oImage, const NodeType &iNode)
 
virtual void UpdateValue (OutputImageType *oImage, const NodeType &iValue)
 
virtual ~FastMarchingImageFilterBase ()
 
bool CheckTopology (OutputImageType *oImage, const NodeType &iNode)
 
void InitializeOutput (OutputImageType *oImage)
 
- Protected Member Functions inherited from itk::FastMarchingBase< TInput, TOutput >
 FastMarchingBase ()
 
void GenerateData ()
 
void Initialize (OutputDomainType *oDomain)
 
void PrintSelf (std::ostream &os, Indent indent) const
 
virtual ~FastMarchingBase ()
 

Private Member Functions

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

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
 

Member Typedef Documentation

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

GradientImagePointer typedef support.

Definition at line 86 of file itkFastMarchingUpwindGradientImageFilterBase.h.

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

GradientImage typedef support.

Definition at line 83 of file itkFastMarchingUpwindGradientImageFilterBase.h.

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

GradientPixel typedef support.

Definition at line 79 of file itkFastMarchingUpwindGradientImageFilterBase.h.

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

Standard class typdedefs.

Definition at line 55 of file itkFastMarchingUpwindGradientImageFilterBase.h.

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

Constructor & Destructor Documentation

template<class TInput , class TOutput >
itk::FastMarchingUpwindGradientImageFilterBase< TInput, TOutput >::FastMarchingUpwindGradientImageFilterBase ( )
protected
template<class TInput , class TOutput >
itk::FastMarchingUpwindGradientImageFilterBase< TInput, TOutput >::~FastMarchingUpwindGradientImageFilterBase ( )
inlineprotected
template<class TInput , class TOutput >
itk::FastMarchingUpwindGradientImageFilterBase< TInput, TOutput >::FastMarchingUpwindGradientImageFilterBase ( const Self )
private

Member Function Documentation

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

Get the gradient image.

template<class TInput , class 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<class TInput , class TOutput >
virtual void itk::FastMarchingUpwindGradientImageFilterBase< TInput, TOutput >::InitializeOutput ( OutputImageType oImage)
protectedvirtual
template<class TInput , class TOutput >
static Pointer itk::FastMarchingUpwindGradientImageFilterBase< TInput, TOutput >::New ( )
static

Method for creation through the object factory.

template<class TInput , class TOutput >
void itk::FastMarchingUpwindGradientImageFilterBase< TInput, TOutput >::operator= ( const Self )
private
template<class TInput , class TOutput >
void itk::FastMarchingUpwindGradientImageFilterBase< TInput, TOutput >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
protected
template<class TInput , class TOutput >
virtual void itk::FastMarchingUpwindGradientImageFilterBase< TInput, TOutput >::UpdateNeighbors ( OutputImageType oImage,
const NodeType iNode 
)
protectedvirtual

Member Data Documentation

template<class TInput , class 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: