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

Fast Marching Method on QuadEdgeMesh. More...

#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 Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
virtual const char * GetNameOfClass () const

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 Attributes

NodeLabelMapType m_Label

Private Member Functions

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

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 ( ) [protected, virtual]
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 [protected, virtual]

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 [protected, virtual]

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 
) [protected, virtual]

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: