|
ITK
5.2.0
Insight Toolkit
|
Go to the documentation of this file.
18 #ifndef itkDiscretePrincipalCurvaturesQuadEdgeMeshFilter_h
19 #define itkDiscretePrincipalCurvaturesQuadEdgeMeshFilter_h
33 template <
typename TInputMesh,
typename TOutputMesh = TInputMesh>
67 #ifdef ITK_USE_CONCEPT_CHECKING
102 if (qe_it != qe_it->GetOnext())
120 qe_it2 = qe_it->GetOnext();
121 q0 = output->GetPoint(qe_it->GetDestination());
122 q1 = output->GetPoint(qe_it2->GetDestination());
124 temp_coeff = coefficent(output, qe_it);
125 Laplace += temp_coeff * (iP - q0);
128 sum_theta += static_cast<OutputCurvatureType>(TriangleType::ComputeAngle(q0, iP, q1));
133 face_normal = TriangleType::ComputeNormal(q0, iP, q1);
134 normal += face_normal;
137 }
while (qe_it != qe);
142 Laplace *= 0.25 * area;
143 m_Mean = Laplace * normal;
OutputCurvatureType ComputeMixedArea(OutputQEType *iQE1, OutputQEType *iQE2)
typename OutputMeshType::Pointer OutputMeshPointer
FIXME add documentation here.
OutputMeshType * GetOutput()
typename OutputMeshType::Pointer OutputMeshPointer
TOutputMesh OutputMeshType
typename OutputMeshType::PointsContainerPointer OutputPointsContainerPointer
typename InputMeshType::Pointer InputMeshPointer
typename InputMeshType::Pointer InputMeshPointer
typename OutputMeshType::PointIdentifier OutputPointIdentifier
typename Superclass::OutputCurvatureType OutputCurvatureType
A convenience class for computation of various triangle elements in 2D or 3D.
TriangleHelper< OutputPointType > TriangleType
OutputCurvatureType m_Gaussian
Light weight base class for most itk classes.
typename OutputMeshType::PointsContainerPointer OutputPointsContainerPointer
typename OutputMeshTraits::PixelType OutputCurvatureType
typename OutputMeshType::VectorType OutputVectorType
typename OutputMeshType::MeshTraits OutputMeshTraits
typename OutputMeshType::PointType OutputPointType
typename OutputPointType::CoordRepType OutputCoordType
#define itkConceptMacro(name, concept)
~DiscretePrincipalCurvaturesQuadEdgeMeshFilter() override=default
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
typename OutputMeshType::PointsContainerIterator OutputPointsContainerIterator
virtual OutputCurvatureType ComputeDelta()
typename OutputMeshType::QEType OutputQEType
static constexpr double e
TOutputMesh OutputMeshType
DiscretePrincipalCurvaturesQuadEdgeMeshFilter()
typename OutputMeshType::CellIdentifier OutputCellIdentifier
static constexpr double pi
void ComputeMeanAndGaussianCurvatures(const OutputPointType &iP)
typename OutputMeshType::PointIdentifier OutputPointIdentifier
typename OutputMeshType::PointType OutputPointType
OutputCurvatureType m_Mean
typename OutputMeshType::PointsContainerIterator OutputPointsContainerIterator