20 #ifndef MIRTK_SurfaceCurvature_H 21 #define MIRTK_SurfaceCurvature_H 23 #include "mirtk/SurfaceFilter.h" 24 #include "mirtk/PointSetExport.h" 26 #include "vtkDataArray.h" 94 XX = 0, YY = 1, ZZ = 2, XY = 3, YX = XY, YZ = 4, ZY = YZ, XZ = 5, ZX = XZ
98 MIRTK_PointSet_EXPORT
static const char *
const MINIMUM;
99 MIRTK_PointSet_EXPORT
static const char *
const MAXIMUM;
100 MIRTK_PointSet_EXPORT
static const char *
const PRINCIPAL;
101 MIRTK_PointSet_EXPORT
static const char *
const MEAN;
102 MIRTK_PointSet_EXPORT
static const char *
const GAUSS;
104 MIRTK_PointSet_EXPORT
static const char *
const NORMALS;
107 MIRTK_PointSet_EXPORT
static const char *
const TENSOR;
289 #endif // MIRTK_SurfaceCurvature_H static MIRTK_PointSet_EXPORT const char *const NORMALS
Name of curvature-based normals array.
mirtkGetMacro(CurvatureType, int)
Get output curvature types.
virtual void Finalize()
Finalize filter execution.
Gauss curvature, k_min * k_max.
SurfaceCurvature(int type=Scalars)
Default constructor.
void ComputeGaussCurvature()
Compute Gauss curvature.
static MIRTK_PointSet_EXPORT const char *const PRINCIPAL
Name of principal curvatures array.
Direction of maximum curvature.
vtkDataArray * GetGaussCurvature()
mirtkOnOffMacro(VtkCurvatures)
Enable/disable use of vtkCurvatures filter.
mirtkReadOnlyAttributeMacro(double, Volume)
mirtkSetMacro(CurvatureType, int)
Set output curvature types.
double Volume(vtkSmartPointer< vtkPolyData >)
Get approximate volume enclosed by polygonal mesh.
vtkDataArray * GetPrincipalCurvatures()
void DecomposeTensorField()
Compute eigenvalues (and eigenvectors) of curvature tensors.
void ComputeCurvedness()
Compute curvedness measure.
virtual void Initialize()
Initialize filter after input and parameters are set.
6 entries of inverse of symmetric 3x3 curvature tensor
virtual ~SurfaceCurvature()
Destructor.
Mean curvature, (k_min + k_max)/2.
Curvedness, i.e., sqrt((k_min^2 + k_max^2) / 2)
virtual void Execute()
Execute filter.
static MIRTK_PointSet_EXPORT const char *const GAUSS
Name of Gauss curvature array.
void CopyAttributes(const SurfaceCurvature &)
Copy attributes of this class from another instance.
static MIRTK_PointSet_EXPORT const char *const TENSOR
Name of curvature tensor array.
vtkDataArray * GetMinimumCurvature()
6 entries of symmetric 3x3 curvature tensor
void ComputeMinMaxCurvature(bool, bool)
Compute minimum and/or maximum curvature from mean and Gauss curvature.
mirtkPublicAttributeMacro(int, CurvatureType)
Curvature type(s) to compute.
Type
Enumeration of output curvature measures, can be combined using bitwise OR.
SurfaceCurvature & operator=(const SurfaceCurvature &)
Assignment operator.
static MIRTK_PointSet_EXPORT const char *const CURVEDNESS
Name of curvedness array.
static MIRTK_PointSet_EXPORT const char *const MEAN
Name of mean curvature array.
Minimum principal curvature, k_min.
Direction of minimum curvature.
static MIRTK_PointSet_EXPORT const char *const INVERSE_TENSOR
Name of inverse curvature tensor array.
vtkDataArray * GetCurvedness()
vtkDataArray * GetMaximumCurvature()
static MIRTK_PointSet_EXPORT const char *const MINIMUM
Name of minimum curvature array.
Maximum principal curvature, k_max.
void ComputeMeanCurvature()
Compute mean curvature.
Both principal curvatures in single array.
static MIRTK_PointSet_EXPORT const char *const MAXIMUM
Name of maximum curvature array.
void ComputeTensorField()
Compute curvature tensors.
static MIRTK_PointSet_EXPORT const char *const MINIMUM_DIRECTION
Name of minimum curvature direction array.
Point normal computed from curvature tensor.
static MIRTK_PointSet_EXPORT const char *const MAXIMUM_DIRECTION
Name of maximum curvature direction array.
vtkDataArray * GetMeanCurvature()
void ComputePrincipalCurvatures()
Compute principal curvatures from mean and Gauss curvature.