19 #ifndef itkFastMarchingQuadEdgeMeshFilterBase_h 20 #define itkFastMarchingQuadEdgeMeshFilterBase_h 43 template<
typename TInput,
typename TOutput >
77 typedef typename OutputMeshType::PointDataContainer
79 typedef typename OutputPointDataContainer::Pointer
84 typedef typename OutputCellsContainer::ConstIterator
93 typedef typename Traits::NodePairContainerConstIterator
117 const NodeType& iNode,
118 const OutputPixelType& iValue ) ITK_OVERRIDE;
121 const NodeType& iNode ) const ITK_OVERRIDE;
126 const LabelType& iLabel ) ITK_OVERRIDE;
129 const NodeType& iNode ) ITK_OVERRIDE;
132 const NodeType& iNode ) ITK_OVERRIDE;
134 const OutputVectorRealType
135 Solve( OutputMeshType* oMesh,
136 const NodeType& iId, const OutputPointType& iCurrentPoint,
137 const OutputVectorRealType& iF,
138 const NodeType& iId1, const OutputPointType& iP1,
139 const
bool& iIsFar1, const OutputVectorRealType iVal1,
140 const NodeType& iId2, const OutputPointType& iP2,
141 const
bool& iIsFar2, const OutputVectorRealType& iVal2 )
145 const OutputVectorRealType
147 const OutputVectorRealType& iVal1, const OutputVectorRealType& iVal2,
148 const OutputVectorRealType& iNorm1, const OutputVectorRealType& iSqNorm1,
149 const OutputVectorRealType& iNorm2, const OutputVectorRealType& iSqNorm2,
150 const OutputVectorRealType& iDot, const OutputVectorRealType& iF )
154 OutputMeshType* oMesh,
155 const OutputPointIdentifierType& iId, const OutputPointType& iP,
156 const OutputPointIdentifierType& iId1, const OutputPointType& iP1,
157 const OutputPointIdentifierType& iId2, const OutputPointType &iP2,
158 OutputVectorRealType& oNorm, OutputVectorRealType& oSqNorm,
159 OutputVectorRealType& oDot1, OutputVectorRealType& oDot2,
160 OutputPointIdentifierType& oId ) const;
163 const NodeType& iNode ) ITK_OVERRIDE;
169 void operator = ( const Self& );
174 #include "itkFastMarchingQuadEdgeMeshFilterBase.hxx" 175 #endif // itkFastMarchingQuadEdgeMeshFilterBase_h SmartPointer< Self > Pointer
SmartPointer< const Self > ConstPointer
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
void UpdateNeighbors(OutputMeshType *oMesh, const NodeType &iNode) override
Superclass::OutputDomainType OutputMeshType
OutputPointType::VectorType OutputVectorType
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
Superclass::InputPixelType InputPixelType
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes...
FastMarchingQuadEdgeMeshFilterBase Self
OutputMeshType::PointsContainer OutputPointsContainer
void UpdateValue(OutputMeshType *oMesh, const NodeType &iNode) override
const InputMeshType * m_InputMesh
InputMeshType::PointIdentifier InputPointIdentifierType
InputMeshType::PointType InputPointType
FastMarchingBase< TInput, TOutput > Superclass
OutputMeshType::PointType OutputPointType
Superclass::LabelType LabelType
Superclass::InputDomainType InputMeshType
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
SizeValueType IdentifierType
void InitializeOutput(OutputMeshType *oMesh) override
void SetLabelValueForGivenNode(const NodeType &iNode, const LabelType &iLabel) override
Set the Label Value for a given node.
Abstract class to solve an Eikonal based-equation using Fast Marching Method.
OutputVectorType::RealValueType OutputVectorRealType
Traits::OutputDomainPointer OutputDomainPointer
NodeLabelMapType::const_iterator NodeLabelMapConstIterator
FastMarchingQuadEdgeMeshFilterBase()
Superclass::InputDomainPointer InputMeshPointer
void SetOutputValue(OutputMeshType *oMesh, const NodeType &iNode, const OutputPixelType &iValue) override
Traits::InputDomainType InputDomainType
const OutputPixelType GetOutputValue(OutputMeshType *oMesh, const NodeType &iNode) const override
Traits::InputPixelType InputPixelType
Traits::NodeType NodeType
OutputMeshType::QEType OutputQEType
Traits::NodePairType NodePairType
Fast Marching Method on QuadEdgeMesh.
Traits::OutputPixelType OutputPixelType
IdentifierType GetTotalNumberOfNodes() const override
Get the total number of nodes in the domain.
OutputMeshType::PointIdentifier OutputPointIdentifierType
std::map< NodeType, LabelType > NodeLabelMapType
FastMarchingTraits< TInput, TOutput > Traits
NodeLabelMapType::iterator NodeLabelMapIterator
OutputPointsContainer::Iterator OutputPointsContainerIterator
virtual ~FastMarchingQuadEdgeMeshFilterBase()
Superclass::OutputPixelType OutputPixelType
OutputPointsContainer::Pointer OutputPointsContainerPointer
OutputMeshType::CellType OutputCellType
bool CheckTopology(OutputMeshType *oMesh, const NodeType &iNode) override
Traits::NodePairContainerType NodePairContainerType
OutputMeshType::CellsContainer OutputCellsContainer
OutputPointDataContainer::Pointer OutputPointDataContainerPointer
unsigned char GetLabelValueForGivenNode(const NodeType &iNode) const override
Get the LabelType Value for a given node.
Traits::NodePairContainerConstIterator NodePairContainerConstIterator
OutputMeshType::PointDataContainer OutputPointDataContainer
Superclass::OutputDomainPointer OutputMeshPointer
Traits::LabelType LabelType
Traits::OutputDomainType OutputDomainType
Traits::NodePairContainerPointer NodePairContainerPointer
Traits::InputDomainPointer InputDomainPointer
OutputCellsContainer::ConstIterator OutputCellsContainerConstIterator
Superclass::Traits Traits
OutputCellsContainer::Pointer OutputCellsContainerPointer