ITK  4.2.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions
itk::FastMarchingQuadEdgeMeshFilterBase< TInput, TOutput > Class Template Reference

#include <itkFastMarchingQuadEdgeMeshFilterBase.h>

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

List of all members.

Public Types

typedef SmartPointer< const SelfConstPointer
typedef
Superclass::InputDomainPointer 
InputMeshPointer
typedef Superclass::InputDomainType InputMeshType
typedef Superclass::InputPixelType InputPixelType
typedef
InputMeshType::PointIdentifier 
InputPointIdentifierType
typedef InputMeshType::PointType InputPointType
typedef Superclass::LabelType LabelType
typedef
NodeLabelMapType::const_iterator 
NodeLabelMapConstIterator
typedef NodeLabelMapType::iterator NodeLabelMapIterator
typedef std::map< NodeType,
LabelType
NodeLabelMapType
typedef
Traits::NodePairContainerConstIterator 
NodePairContainerConstIterator
typedef
Traits::NodePairContainerPointer 
NodePairContainerPointer
typedef
Traits::NodePairContainerType 
NodePairContainerType
typedef Traits::NodePairType NodePairType
typedef Traits::NodeType NodeType
typedef
OutputMeshType::CellsContainer 
OutputCellsContainer
typedef
OutputCellsContainer::ConstIterator 
OutputCellsContainerConstIterator
typedef
OutputCellsContainer::Pointer 
OutputCellsContainerPointer
typedef OutputMeshType::CellType OutputCellType
typedef
Superclass::OutputDomainPointer 
OutputMeshPointer
typedef
Superclass::OutputDomainType 
OutputMeshType
typedef Superclass::OutputPixelType OutputPixelType
typedef
OutputMeshType::PointDataContainer 
OutputPointDataContainer
typedef
OutputPointDataContainer::Pointer 
OutputPointDataContainerPointer
typedef
OutputMeshType::PointIdentifier 
OutputPointIdentifierType
typedef
OutputMeshType::PointsContainer 
OutputPointsContainer
typedef
OutputPointsContainer::Iterator 
OutputPointsContainerIterator
typedef
OutputPointsContainer::Pointer 
OutputPointsContainerPointer
typedef OutputMeshType::PointType OutputPointType
typedef OutputMeshType::QEType OutputQEType
typedef
OutputVectorType::RealValueType 
OutputVectorRealType
typedef OutputPointType::VectorType OutputVectorType
typedef SmartPointer< SelfPointer
typedef
FastMarchingQuadEdgeMeshFilterBase 
Self
typedef FastMarchingBase
< TInput, TOutput > 
Superclass
typedef Superclass::Traits Traits
- Public Types inherited from itk::FastMarchingBase< TInput, TOutput >
typedef Traits::InputDomainPointer InputDomainPointer
typedef Traits::InputDomainType InputDomainType
typedef Traits::OutputDomainPointer OutputDomainPointer
typedef Traits::OutputDomainType OutputDomainType
typedef
StoppingCriterionType::Pointer 
StoppingCriterionPointer
typedef
FastMarchingStoppingCriterionBase
< TInput, TOutput > 
StoppingCriterionType
typedef Traits::SuperclassType SuperclassType
enum  TopologyCheckType {
  Nothing = 0,
  NoHandles,
  Strict
}

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
virtual const char * GetNameOfClass () const
- 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 ()

Protected Member Functions

bool CheckTopology (OutputMeshType *oMesh, const NodeType &iNode)
const OutputVectorRealType ComputeUpdate (const OutputVectorRealType &iVal1, const OutputVectorRealType &iVal2, const OutputVectorRealType &iNorm1, const OutputVectorRealType &iSqNorm1, const OutputVectorRealType &iNorm2, const OutputVectorRealType &iSqNorm2, const OutputVectorRealType &iDot, const OutputVectorRealType &iF) const
 FastMarchingQuadEdgeMeshFilterBase ()
unsigned char GetLabelValueForGivenNode (const NodeType &iNode) const
const OutputPixelType GetOutputValue (OutputMeshType *oMesh, const NodeType &iNode) const
IdentifierType GetTotalNumberOfNodes () const
void InitializeOutput (OutputMeshType *oMesh)
void SetLabelValueForGivenNode (const NodeType &iNode, const LabelType &iLabel)
void SetOutputValue (OutputMeshType *oMesh, const NodeType &iNode, const OutputPixelType &iValue)
const OutputVectorRealType Solve (OutputMeshType *oMesh, const NodeType &iId, const OutputPointType &iCurrentPoint, const OutputVectorRealType &iF, const NodeType &iId1, const OutputPointType &iP1, const bool &iIsFar1, const OutputVectorRealType iVal1, const NodeType &iId2, const OutputPointType &iP2, const bool &iIsFar2, const OutputVectorRealType &iVal2) const
bool UnfoldTriangle (OutputMeshType *oMesh, const OutputPointIdentifierType &iId, const OutputPointType &iP, const OutputPointIdentifierType &iId1, const OutputPointType &iP1, const OutputPointIdentifierType &iId2, const OutputPointType &iP2, OutputVectorRealType &oNorm, OutputVectorRealType &oSqNorm, OutputVectorRealType &oDot1, OutputVectorRealType &oDot2, OutputPointIdentifierType &oId) const
void UpdateNeighbors (OutputMeshType *oMesh, const NodeType &iNode)
void UpdateValue (OutputMeshType *oMesh, const NodeType &iNode)
virtual ~FastMarchingQuadEdgeMeshFilterBase ()
- Protected Member Functions inherited from itk::FastMarchingBase< TInput, TOutput >
virtual bool CheckTopology (OutputDomainType *oDomain, const NodeType &iNode)=0
 FastMarchingBase ()
void GenerateData ()
virtual const OutputPixelType GetOutputValue (OutputDomainType *oDomain, const NodeType &iNode) const =0
void Initialize (OutputDomainType *oDomain)
virtual void InitializeOutput (OutputDomainType *oDomain)=0
void PrintSelf (std::ostream &os, Indent indent) const
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 ~FastMarchingBase ()

Protected Attributes

NodeLabelMapType m_Label
- 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

Private Member Functions

 FastMarchingQuadEdgeMeshFilterBase (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

Detailed Description

template<class TInput, class TOutput>
class itk::FastMarchingQuadEdgeMeshFilterBase< TInput, TOutput >

Fast Marching Method on QuadEdgeMesh.

The speed function is specified by the input mesh. Data associated to each point is considered as the speed function. The speed function is set using the method SetInput().

If the speed function is contant and of value one, fast marching results is an approximate geodesic function from the initial alive points.

Implementation of this class is based on "Fast Marching Methods on Triangulated Domains", Kimmel, R., and Sethian, J.A., Proc. Nat. Acad. Sci., 95, pp. 8341-8435, 1998.

Definition at line 44 of file itkFastMarchingQuadEdgeMeshFilterBase.h.


Member Typedef Documentation

template<class TInput , class TOutput >
typedef SmartPointer< const Self > itk::FastMarchingQuadEdgeMeshFilterBase< TInput, TOutput >::ConstPointer
template<class TInput , class TOutput >
typedef Superclass::InputDomainPointer itk::FastMarchingQuadEdgeMeshFilterBase< TInput, TOutput >::InputMeshPointer

Definition at line 61 of file itkFastMarchingQuadEdgeMeshFilterBase.h.

template<class TInput , class TOutput >
typedef Superclass::InputDomainType itk::FastMarchingQuadEdgeMeshFilterBase< TInput, TOutput >::InputMeshType

Definition at line 58 of file itkFastMarchingQuadEdgeMeshFilterBase.h.

template<class TInput , class TOutput >
typedef Superclass::InputPixelType itk::FastMarchingQuadEdgeMeshFilterBase< TInput, TOutput >::InputPixelType
template<class TInput , class TOutput >
typedef InputMeshType::PointIdentifier itk::FastMarchingQuadEdgeMeshFilterBase< TInput, TOutput >::InputPointIdentifierType

Definition at line 64 of file itkFastMarchingQuadEdgeMeshFilterBase.h.

template<class TInput , class TOutput >
typedef InputMeshType::PointType itk::FastMarchingQuadEdgeMeshFilterBase< TInput, TOutput >::InputPointType

Definition at line 63 of file itkFastMarchingQuadEdgeMeshFilterBase.h.

template<class TInput , class TOutput >
typedef Superclass::LabelType itk::FastMarchingQuadEdgeMeshFilterBase< TInput, TOutput >::LabelType
template<class TInput , class TOutput >
typedef NodeLabelMapType::const_iterator itk::FastMarchingQuadEdgeMeshFilterBase< TInput, TOutput >::NodeLabelMapConstIterator

Definition at line 105 of file itkFastMarchingQuadEdgeMeshFilterBase.h.

template<class TInput , class TOutput >
typedef NodeLabelMapType::iterator itk::FastMarchingQuadEdgeMeshFilterBase< TInput, TOutput >::NodeLabelMapIterator

Definition at line 104 of file itkFastMarchingQuadEdgeMeshFilterBase.h.

template<class TInput , class TOutput >
typedef std::map< NodeType, LabelType > itk::FastMarchingQuadEdgeMeshFilterBase< TInput, TOutput >::NodeLabelMapType

Definition at line 103 of file itkFastMarchingQuadEdgeMeshFilterBase.h.

template<class TInput , class TOutput >
typedef Traits::NodePairContainerConstIterator itk::FastMarchingQuadEdgeMeshFilterBase< TInput, TOutput >::NodePairContainerConstIterator
template<class TInput , class TOutput >
typedef Traits::NodePairContainerPointer itk::FastMarchingQuadEdgeMeshFilterBase< TInput, TOutput >::NodePairContainerPointer
template<class TInput , class TOutput >
typedef Traits::NodePairContainerType itk::FastMarchingQuadEdgeMeshFilterBase< TInput, TOutput >::NodePairContainerType
template<class TInput , class TOutput >
typedef Traits::NodePairType itk::FastMarchingQuadEdgeMeshFilterBase< TInput, TOutput >::NodePairType

NodePairType pair of node and corresponding value

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

Definition at line 90 of file itkFastMarchingQuadEdgeMeshFilterBase.h.

template<class TInput , class TOutput >
typedef Traits::NodeType itk::FastMarchingQuadEdgeMeshFilterBase< TInput, TOutput >::NodeType

NodeType type of node

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

Definition at line 89 of file itkFastMarchingQuadEdgeMeshFilterBase.h.

template<class TInput , class TOutput >
typedef OutputMeshType::CellsContainer itk::FastMarchingQuadEdgeMeshFilterBase< TInput, TOutput >::OutputCellsContainer

Definition at line 82 of file itkFastMarchingQuadEdgeMeshFilterBase.h.

template<class TInput , class TOutput >
typedef OutputCellsContainer::ConstIterator itk::FastMarchingQuadEdgeMeshFilterBase< TInput, TOutput >::OutputCellsContainerConstIterator

Definition at line 85 of file itkFastMarchingQuadEdgeMeshFilterBase.h.

template<class TInput , class TOutput >
typedef OutputCellsContainer::Pointer itk::FastMarchingQuadEdgeMeshFilterBase< TInput, TOutput >::OutputCellsContainerPointer

Definition at line 83 of file itkFastMarchingQuadEdgeMeshFilterBase.h.

template<class TInput , class TOutput >
typedef OutputMeshType::CellType itk::FastMarchingQuadEdgeMeshFilterBase< TInput, TOutput >::OutputCellType

Definition at line 86 of file itkFastMarchingQuadEdgeMeshFilterBase.h.

template<class TInput , class TOutput >
typedef Superclass::OutputDomainPointer itk::FastMarchingQuadEdgeMeshFilterBase< TInput, TOutput >::OutputMeshPointer

Definition at line 67 of file itkFastMarchingQuadEdgeMeshFilterBase.h.

template<class TInput , class TOutput >
typedef Superclass::OutputDomainType itk::FastMarchingQuadEdgeMeshFilterBase< TInput, TOutput >::OutputMeshType

Definition at line 66 of file itkFastMarchingQuadEdgeMeshFilterBase.h.

template<class TInput , class TOutput >
typedef Superclass::OutputPixelType itk::FastMarchingQuadEdgeMeshFilterBase< TInput, TOutput >::OutputPixelType
template<class TInput , class TOutput >
typedef OutputMeshType::PointDataContainer itk::FastMarchingQuadEdgeMeshFilterBase< TInput, TOutput >::OutputPointDataContainer

Definition at line 78 of file itkFastMarchingQuadEdgeMeshFilterBase.h.

template<class TInput , class TOutput >
typedef OutputPointDataContainer::Pointer itk::FastMarchingQuadEdgeMeshFilterBase< TInput, TOutput >::OutputPointDataContainerPointer

Definition at line 80 of file itkFastMarchingQuadEdgeMeshFilterBase.h.

template<class TInput , class TOutput >
typedef OutputMeshType::PointIdentifier itk::FastMarchingQuadEdgeMeshFilterBase< TInput, TOutput >::OutputPointIdentifierType

Definition at line 73 of file itkFastMarchingQuadEdgeMeshFilterBase.h.

template<class TInput , class TOutput >
typedef OutputMeshType::PointsContainer itk::FastMarchingQuadEdgeMeshFilterBase< TInput, TOutput >::OutputPointsContainer

Definition at line 74 of file itkFastMarchingQuadEdgeMeshFilterBase.h.

template<class TInput , class TOutput >
typedef OutputPointsContainer::Iterator itk::FastMarchingQuadEdgeMeshFilterBase< TInput, TOutput >::OutputPointsContainerIterator

Definition at line 76 of file itkFastMarchingQuadEdgeMeshFilterBase.h.

template<class TInput , class TOutput >
typedef OutputPointsContainer::Pointer itk::FastMarchingQuadEdgeMeshFilterBase< TInput, TOutput >::OutputPointsContainerPointer

Definition at line 75 of file itkFastMarchingQuadEdgeMeshFilterBase.h.

template<class TInput , class TOutput >
typedef OutputMeshType::PointType itk::FastMarchingQuadEdgeMeshFilterBase< TInput, TOutput >::OutputPointType

Definition at line 69 of file itkFastMarchingQuadEdgeMeshFilterBase.h.

template<class TInput , class TOutput >
typedef OutputMeshType::QEType itk::FastMarchingQuadEdgeMeshFilterBase< TInput, TOutput >::OutputQEType

Definition at line 72 of file itkFastMarchingQuadEdgeMeshFilterBase.h.

template<class TInput , class TOutput >
typedef OutputVectorType::RealValueType itk::FastMarchingQuadEdgeMeshFilterBase< TInput, TOutput >::OutputVectorRealType

Definition at line 71 of file itkFastMarchingQuadEdgeMeshFilterBase.h.

template<class TInput , class TOutput >
typedef OutputPointType::VectorType itk::FastMarchingQuadEdgeMeshFilterBase< TInput, TOutput >::OutputVectorType

Definition at line 70 of file itkFastMarchingQuadEdgeMeshFilterBase.h.

template<class TInput , class TOutput >
typedef SmartPointer< Self > itk::FastMarchingQuadEdgeMeshFilterBase< TInput, TOutput >::Pointer
template<class TInput , class TOutput >
typedef FastMarchingQuadEdgeMeshFilterBase itk::FastMarchingQuadEdgeMeshFilterBase< TInput, TOutput >::Self
template<class TInput , class TOutput >
typedef FastMarchingBase< TInput, TOutput > itk::FastMarchingQuadEdgeMeshFilterBase< TInput, TOutput >::Superclass
template<class TInput , class TOutput >
typedef Superclass::Traits itk::FastMarchingQuadEdgeMeshFilterBase< TInput, TOutput >::Traits

Constructor & Destructor Documentation

template<class TInput , class TOutput >
itk::FastMarchingQuadEdgeMeshFilterBase< TInput, TOutput >::FastMarchingQuadEdgeMeshFilterBase ( )
protected
template<class TInput , class TOutput >
virtual itk::FastMarchingQuadEdgeMeshFilterBase< TInput, TOutput >::~FastMarchingQuadEdgeMeshFilterBase ( )
protectedvirtual
template<class TInput , class TOutput >
itk::FastMarchingQuadEdgeMeshFilterBase< TInput, TOutput >::FastMarchingQuadEdgeMeshFilterBase ( const Self )
private

Member Function Documentation

template<class TInput , class TOutput >
bool itk::FastMarchingQuadEdgeMeshFilterBase< TInput, TOutput >::CheckTopology ( OutputMeshType oMesh,
const NodeType iNode 
)
protected
template<class TInput , class TOutput >
const OutputVectorRealType itk::FastMarchingQuadEdgeMeshFilterBase< TInput, TOutput >::ComputeUpdate ( const OutputVectorRealType iVal1,
const OutputVectorRealType iVal2,
const OutputVectorRealType iNorm1,
const OutputVectorRealType iSqNorm1,
const OutputVectorRealType iNorm2,
const OutputVectorRealType iSqNorm2,
const OutputVectorRealType iDot,
const OutputVectorRealType iF 
) const
protected
template<class TInput , class TOutput >
virtual::itk::LightObject::Pointer itk::FastMarchingQuadEdgeMeshFilterBase< TInput, TOutput >::CreateAnother ( void  ) const
template<class TInput , class TOutput >
unsigned char itk::FastMarchingQuadEdgeMeshFilterBase< TInput, TOutput >::GetLabelValueForGivenNode ( const NodeType iNode) const
protectedvirtual

Get the LabelType Value for a given node.

Parameters:
[in]iNode
Returns:
its label value

Implements itk::FastMarchingBase< TInput, TOutput >.

template<class TInput , class TOutput >
virtual const char* itk::FastMarchingQuadEdgeMeshFilterBase< TInput, TOutput >::GetNameOfClass ( ) const
virtual

Run-time type information (and related methods).

template<class TInput , class TOutput >
const OutputPixelType itk::FastMarchingQuadEdgeMeshFilterBase< TInput, TOutput >::GetOutputValue ( OutputMeshType oMesh,
const NodeType iNode 
) const
protected
template<class TInput , class TOutput >
IdentifierType itk::FastMarchingQuadEdgeMeshFilterBase< TInput, TOutput >::GetTotalNumberOfNodes ( ) const
protectedvirtual

Get the total number of nodes in the domain.

Implements itk::FastMarchingBase< TInput, TOutput >.

template<class TInput , class TOutput >
void itk::FastMarchingQuadEdgeMeshFilterBase< TInput, TOutput >::InitializeOutput ( OutputMeshType oMesh)
protected
template<class TInput , class TOutput >
static Pointer itk::FastMarchingQuadEdgeMeshFilterBase< TInput, TOutput >::New ( )
static

Method for creation through the object factory.

template<class TInput , class TOutput >
void itk::FastMarchingQuadEdgeMeshFilterBase< TInput, TOutput >::operator= ( const Self )
private
template<class TInput , class TOutput >
void itk::FastMarchingQuadEdgeMeshFilterBase< TInput, TOutput >::SetLabelValueForGivenNode ( const NodeType iNode,
const LabelType iLabel 
)
protectedvirtual

Set the Label Value for a given node.

Parameters:
[in]iNode
[in]iLabel

Implements itk::FastMarchingBase< TInput, TOutput >.

template<class TInput , class TOutput >
void itk::FastMarchingQuadEdgeMeshFilterBase< TInput, TOutput >::SetOutputValue ( OutputMeshType oMesh,
const NodeType iNode,
const OutputPixelType iValue 
)
protected
template<class TInput , class TOutput >
const OutputVectorRealType itk::FastMarchingQuadEdgeMeshFilterBase< TInput, TOutput >::Solve ( OutputMeshType oMesh,
const NodeType iId,
const OutputPointType iCurrentPoint,
const OutputVectorRealType iF,
const NodeType iId1,
const OutputPointType iP1,
const bool &  iIsFar1,
const OutputVectorRealType  iVal1,
const NodeType iId2,
const OutputPointType iP2,
const bool &  iIsFar2,
const OutputVectorRealType iVal2 
) const
protected
template<class TInput , class TOutput >
bool itk::FastMarchingQuadEdgeMeshFilterBase< TInput, TOutput >::UnfoldTriangle ( OutputMeshType oMesh,
const OutputPointIdentifierType iId,
const OutputPointType iP,
const OutputPointIdentifierType iId1,
const OutputPointType iP1,
const OutputPointIdentifierType iId2,
const OutputPointType iP2,
OutputVectorRealType oNorm,
OutputVectorRealType oSqNorm,
OutputVectorRealType oDot1,
OutputVectorRealType oDot2,
OutputPointIdentifierType oId 
) const
protected
template<class TInput , class TOutput >
void itk::FastMarchingQuadEdgeMeshFilterBase< TInput, TOutput >::UpdateNeighbors ( OutputMeshType oMesh,
const NodeType iNode 
)
protected
template<class TInput , class TOutput >
void itk::FastMarchingQuadEdgeMeshFilterBase< TInput, TOutput >::UpdateValue ( OutputMeshType oMesh,
const NodeType iNode 
)
protected

Member Data Documentation

template<class TInput , class TOutput >
NodeLabelMapType itk::FastMarchingQuadEdgeMeshFilterBase< TInput, TOutput >::m_Label
protected

Definition at line 112 of file itkFastMarchingQuadEdgeMeshFilterBase.h.


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