![Logo](itkLogoSmall.png) |
ITK
5.1.0
Insight Toolkit
|
Go to the documentation of this file.
18 #ifndef itkLaplacianDeformationQuadEdgeMeshFilter_h
19 #define itkLaplacianDeformationQuadEdgeMeshFilter_h
23 #include "ITKQuadEdgeMeshFilteringExport.h"
27 #include <unordered_map>
51 extern ITKQuadEdgeMeshFiltering_EXPORT std::ostream &
115 template <
class TInputMesh,
class TOutputMesh,
class TSolverTraits>
134 static constexpr
unsigned int InputPointDimension =
InputMeshType::PointDimension;
145 static constexpr
unsigned int OutputPointDimension =
OutputMeshType::PointDimension;
158 this->m_CoefficientsMethod = iMethod;
184 itkSetMacro(Order,
unsigned int);
185 itkGetMacro(Order,
unsigned int);
189 #if !defined(ITK_LEGACY_REMOVE)
191 static constexpr
AreaEnum NONE = AreaEnum::NONE;
192 static constexpr
AreaEnum MIXEDAREA = AreaEnum::MIXEDAREA;
196 itkSetEnumMacro(AreaComputationType,
AreaEnum);
197 itkGetMacro(AreaComputationType,
AreaEnum);
200 #ifdef ITK_USE_CONCEPT_CHECKING
223 return reinterpret_cast<size_t>(qe);
227 using CoefficientMapType = std::unordered_map<OutputQEPrimal *, OutputCoordRepType, HashOutputQEPrimal>;
230 using AreaMapType = std::unordered_map<OutputPointIdentifier, OutputCoordRepType>;
233 using RowType = std::unordered_map<OutputPointIdentifier, OutputCoordRepType>;
244 unsigned int m_Order{ 1 };
248 PrintSelf(std::ostream & os,
Indent indent)
const override;
251 ComputeMixedAreaForGivenVertex(OutputPointIdentifier vId);
253 ComputeMixedArea(OutputQEPrimal * iQE1, OutputQEPrimal * iQE2);
256 ComputeVertexIdMapping();
259 ComputeLaplacianMatrix(MatrixType & ioL);
262 FillMatrixRow(OutputPointIdentifier iId,
unsigned int iDegree, OutputCoordRepType iWeight, RowType & ioRow);
284 SolveLinearSystems(
const MatrixType & iM,
310 #include "itkLaplacianDeformationQuadEdgeMeshFilter.hxx"
typename OutputMeshType::QEPrimal OutputQEPrimal
std::ostream & operator<<(std::ostream &os, const Array< TValue > &arr)
ImageBaseType::SpacingType VectorType
Control indentation during Print() invocation.
A convenience class for computation of various triangle elements in 2D or 3D.
typename InputMeshType::PointType InputPointType
Light weight base class for most itk classes.
typename OutputMeshType::VectorType OutputVectorType
Duplicates the content of a Mesh.
typename OutputMeshType::CoordRepType OutputCoordRepType
#define itkConceptMacro(name, concept)
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
Superclass for all the matrix coefficients computation classes.
TOutputMesh OutputMeshType
typename OutputQEPrimal::IteratorGeom OutputQEIterator
typename OutputMeshType::PointIdentifier OutputPointIdentifier
typename OutputMeshType::PointType OutputPointType