19#ifndef itkFastMarchingQuadEdgeMeshFilterBase_h
20#define itkFastMarchingQuadEdgeMeshFilterBase_h
42template <
typename TInput,
typename TOutput>
179#ifndef ITK_MANUAL_INSTANTIATION
180# include "itkFastMarchingQuadEdgeMeshFilterBase.hxx"
FastMarchingTraits< TInput, TOutput > Traits
typename Traits::InputPixelType InputPixelType
typename Traits::OutputDomainPointer OutputDomainPointer
typename Traits::InputDomainType InputDomainType
typename Traits::OutputDomainType OutputDomainType
typename Traits::InputDomainPointer InputDomainPointer
FastMarchingBase()
Constructor.
typename Traits::OutputPixelType OutputPixelType
typename Traits::LabelType LabelType
typename Superclass::InputDomainType InputMeshType
SmartPointer< const Self > ConstPointer
void InitializeOutput(OutputMeshType *oMesh) override
~FastMarchingQuadEdgeMeshFilterBase() override=default
SmartPointer< Self > Pointer
bool CheckTopology(OutputMeshType *oMesh, const NodeType &iNode) override
Check if the current node violate topological criterion.
FastMarchingQuadEdgeMeshFilterBase Self
typename Traits::NodePairType NodePairType
void SetOutputValue(OutputMeshType *oMesh, const NodeType &iNode, const OutputPixelType &iValue) override
Set the output value (front value) for a given node.
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 Traits::NodePairContainerType NodePairContainerType
typename Traits::NodeType NodeType
typename Superclass::InputDomainPointer InputMeshPointer
typename OutputMeshType::CellsContainer OutputCellsContainer
typename Traits::NodePairContainerPointer NodePairContainerPointer
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
Update neighbors to a given node.
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 Traits::NodePairContainerConstIterator NodePairContainerConstIterator
typename OutputVectorType::RealValueType OutputVectorRealType
const InputMeshType * m_InputMesh
FastMarchingQuadEdgeMeshFilterBase()
typename OutputPointType::VectorType OutputVectorType
typename NodeLabelMapType::const_iterator NodeLabelMapConstIterator
void UpdateValue(OutputMeshType *oMesh, const NodeType &iNode) override
Update value for a given node.
typename NodeLabelMapType::iterator NodeLabelMapIterator
FastMarchingBase< TInput, TOutput > Superclass
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 Traits::OutputPixelType OutputPixelType
typename OutputMeshType::QEType OutputQEType
typename Traits::LabelType LabelType
const OutputPixelType GetOutputValue(OutputMeshType *oMesh, const NodeType &iNode) const override
Get the output value (front value) for a given node.
Implements transparent reference counting.
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
SizeValueType IdentifierType