#include <HarmonicTetrahedralMeshMapper.h>
Public Member Functions | |
HarmonicTetrahedralMeshMapper () | |
Default constructor. | |
HarmonicTetrahedralMeshMapper (const HarmonicTetrahedralMeshMapper &) | |
Copy constructor. | |
HarmonicTetrahedralMeshMapper & | operator= (const HarmonicTetrahedralMeshMapper &) |
Assignment operator. | |
virtual | ~HarmonicTetrahedralMeshMapper () |
Destructor. | |
Public Member Functions inherited from mirtk::LinearTetrahedralMeshMapper | |
virtual | ~LinearTetrahedralMeshMapper () |
Destructor. | |
Public Member Functions inherited from mirtk::TetrahedralMeshMapper | |
bool | IsBoundaryPoint (vtkIdType) const |
Whether a given point is on the boundary. | |
virtual | ~TetrahedralMeshMapper () |
Destructor. | |
Public Member Functions inherited from mirtk::VolumeMapper | |
int | NumberOfComponents () const |
Dimension of codomain of volumetric map. | |
void | Run () |
Parameterize interior of input data set. | |
virtual | ~VolumeMapper () |
Destructor. | |
Public Member Functions inherited from mirtk::Object | |
virtual const char * | NameOfClass () const =0 |
Get name of class, which this object is an instance of. | |
virtual ParameterList | Parameter () const |
Get parameter name/value pairs. | |
bool | Parameter (const ParameterList &) |
Set parameters from name/value pairs. | |
virtual bool | Set (const char *name, const char *value) |
virtual | ~Object () |
Destructor. | |
Protected Member Functions | |
virtual Matrix3x3 | GetWeight (vtkIdType cellId, const double v0[3], const double v1[3], const double v2[3], const double v3[3], double volume) const |
Protected Member Functions inherited from mirtk::LinearTetrahedralMeshMapper | |
virtual void | Initialize () |
Initialize filter after input and parameters are set. | |
LinearTetrahedralMeshMapper () | |
Default constructor. | |
LinearTetrahedralMeshMapper (const LinearTetrahedralMeshMapper &) | |
Copy constructor. | |
LinearTetrahedralMeshMapper & | operator= (const LinearTetrahedralMeshMapper &) |
Assignment operator. | |
virtual void | Solve () |
Parameterize interior points. | |
void | Solve (const LinearTetrahedralMeshMapper *) |
Solve linear system with operator weights computed using the passed object. | |
Protected Member Functions inherited from mirtk::TetrahedralMeshMapper | |
void | CopyAttributes (const TetrahedralMeshMapper &) |
Copy attributes of this class from another instance. | |
virtual void | Finalize () |
Finalize filter execution. | |
mirtkPublicAttributeMacro (vtkSmartPointer< vtkDataArray >, InputMask) | |
Boolean array indicating which points are on the boundary, i.e., fixed. | |
mirtkReadOnlyAttributeMacro (vtkSmartPointer< vtkPointSet >, Volume) | |
Discretized input domain, i.e., tetrahedral mesh. | |
mirtkReadOnlyAttributeMacro (vtkSmartPointer< vtkDataArray >, Coords) | |
Output coordinates of volume mesh points. | |
mirtkReadOnlyAttributeMacro (vtkSmartPointer< vtkDataArray >, BoundaryMask) | |
Boolean array indicating which points are on the boundary, i.e., fixed. | |
mirtkReadOnlyAttributeMacro (int, NumberOfPoints) | |
Number of points. | |
mirtkReadOnlyAttributeMacro (int, NumberOfBoundaryPoints) | |
Number of boundary points. | |
mirtkReadOnlyAttributeMacro (int, NumberOfInteriorPoints) | |
Number of interior points. | |
TetrahedralMeshMapper & | operator= (const TetrahedralMeshMapper &) |
Assignment operator. | |
TetrahedralMeshMapper () | |
Default constructor. | |
TetrahedralMeshMapper (const TetrahedralMeshMapper &) | |
Copy constructor. | |
Protected Member Functions inherited from mirtk::VolumeMapper | |
virtual void | InitializeBoundary (vtkPointSet *, vtkDataArray *) |
Initialize boundary surface with corresponding boundary map as point data. | |
VolumeMapper & | operator= (const VolumeMapper &) |
Assignment operator. | |
VolumeMapper () | |
Default constructor. | |
VolumeMapper (const VolumeMapper &) | |
Copy constructor. | |
Protected Member Functions inherited from mirtk::Object | |
template<typename... Args> | |
void | Throw (ErrorType err, const char *func, Args... args) const |
Additional Inherited Members | |
Static Public Member Functions inherited from mirtk::Object | |
static const char * | NameOfType () |
Get name of this class type. | |
Static Protected Member Functions inherited from mirtk::Object | |
template<typename... Args> | |
static void | ThrowStatic (ErrorType err, const char *cls, const char *func, Args... args) |
Approximate harmonic piecewise linear volumetric map using finite element method (FEM)
This implementation is based on
Paillé & Poulin (2012), As-conformal-as-possible discrete volumetric mapping, Computers and Graphics (Pergamon), 36(5), 427–433.
The discrete volumetric harmonic map was first presented in
Wang et al. (2004), Volumetric harmonic map, Communications in Information and Systems, 3(3), 191–202.
Definition at line 42 of file HarmonicTetrahedralMeshMapper.h.
|
protectedvirtual |
Calculate operator weight for given tetrahadron
[in] | cellId | ID of tetrahedron. |
[in] | v0 | First vertex/point of tetrahedron. |
[in] | v1 | Second vertex/point of tetrahedron. |
[in] | v2 | Third vertex/point of tetrahedron. |
[in] | v3 | Fourth vertex/point of tetrahedron. |
[in] | volume | Volume of tetrahedron. |
Implements mirtk::LinearTetrahedralMeshMapper.