19#ifndef itkFastMarchingQuadEdgeMeshFilterBase_h
20#define itkFastMarchingQuadEdgeMeshFilterBase_h
44template <
typename TInput,
typename TOutput>
54 using typename Superclass::Traits;
64 using typename Superclass::InputPixelType;
70 using typename Superclass::OutputPixelType;
98 using typename Superclass::LabelType;
181#ifndef ITK_MANUAL_INSTANTIATION
182# include "itkFastMarchingQuadEdgeMeshFilterBase.hxx"
Abstract class to solve an Eikonal based-equation using Fast Marching Method.
typename FastMarchingTraits< TInput, TOutput >::SuperclassType Superclass
typename Traits::NodePairContainerType NodePairContainerType
typename Traits::NodePairContainerPointer NodePairContainerPointer
typename Traits::NodeType NodeType
typename Traits::NodePairType NodePairType
typename Traits::OutputPixelType OutputPixelType
typename Traits::LabelType LabelType
typename Traits::NodePairContainerConstIterator NodePairContainerConstIterator
Fast Marching Method on QuadEdgeMesh.
typename Superclass::InputDomainType InputMeshType
void InitializeOutput(OutputMeshType *oMesh) override
~FastMarchingQuadEdgeMeshFilterBase() override=default
bool CheckTopology(OutputMeshType *oMesh, const NodeType &iNode) override
void SetOutputValue(OutputMeshType *oMesh, const NodeType &iNode, const OutputPixelType &iValue) override
typename InputMeshType::PointIdentifier InputPointIdentifierType
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
typename Superclass::OutputDomainPointer OutputMeshPointer
typename OutputMeshType::PointDataContainer OutputPointDataContainer
typename Superclass::InputDomainPointer InputMeshPointer
typename OutputMeshType::CellsContainer OutputCellsContainer
typename OutputCellsContainer::ConstIterator OutputCellsContainerConstIterator
typename InputMeshType::PointType InputPointType
typename OutputPointsContainer::Pointer OutputPointsContainerPointer
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
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
typename OutputMeshType::CellType OutputCellType
typename OutputCellsContainer::Pointer OutputCellsContainerPointer
typename OutputMeshType::PointIdentifier OutputPointIdentifierType
IdentifierType GetTotalNumberOfNodes() const override
Get the total number of nodes in the domain.
std::map< NodeType, LabelType > NodeLabelMapType
void UpdateNeighbors(OutputMeshType *oMesh, const NodeType &iNode) override
typename OutputMeshType::PointType OutputPointType
typename OutputPointDataContainer::Pointer OutputPointDataContainerPointer
void SetLabelValueForGivenNode(const NodeType &iNode, const LabelType &iLabel) override
Set the Label Value for a given node.
typename OutputVectorType::RealValueType OutputVectorRealType
FastMarchingQuadEdgeMeshFilterBase()
typename OutputPointType::VectorType OutputVectorType
typename NodeLabelMapType::const_iterator NodeLabelMapConstIterator
void UpdateValue(OutputMeshType *oMesh, const NodeType &iNode) override
typename NodeLabelMapType::iterator NodeLabelMapIterator
typename OutputMeshType::PointsContainer OutputPointsContainer
typename Superclass::OutputDomainType OutputMeshType
typename OutputPointsContainer::Iterator OutputPointsContainerIterator
unsigned char GetLabelValueForGivenNode(const NodeType &iNode) const override
Get the LabelEnum Value for a given node.
typename OutputMeshType::QEType OutputQEType
const OutputPixelType GetOutputValue(OutputMeshType *oMesh, const NodeType &iNode) const override
SmartPointer< Self > Pointer
ImageBaseType::PointType PointType
ImageBaseType::SpacingType VectorType
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
SizeValueType IdentifierType