#include <HarmonicSurfaceMapper.h>
Public Member Functions | |
HarmonicSurfaceMapper () | |
Default constructor. | |
HarmonicSurfaceMapper (const HarmonicSurfaceMapper &) | |
Copy constructor. | |
HarmonicSurfaceMapper & | operator= (const HarmonicSurfaceMapper &) |
Assignment operator. | |
virtual | ~HarmonicSurfaceMapper () |
Destructor. | |
Public Member Functions inherited from mirtk::SymmetricWeightsSurfaceMapper | |
virtual void | ComputeMap () |
Construct and solve symmetric system of linear equations. | |
virtual | ~SymmetricWeightsSurfaceMapper () |
Destructor. | |
Public Member Functions inherited from mirtk::LinearFixedBoundarySurfaceMapper | |
virtual void | Finalize () |
Assemble output surface map. | |
int | FixedPointId (int i) const |
int | FixedPointIndex (int i) const |
int | FreePointId (int i) const |
int | FreePointIndex (int i) const |
double | GetFixedValue (int i, int j=0) const |
double | GetFreeValue (int i, int j=0) const |
double | GetValue (int i, int j=0) const |
virtual void | Initialize () |
Initialize filter after input and parameters are set. | |
bool | IsFixedPoint (int i) const |
Whether the map value of the specified surface point is fixed. | |
bool | IsFreePoint (int i) const |
Whether the map value of the specified surface point is free. | |
int | NumberOfFixedPoints () const |
Number of surface points with fixed map value. | |
int | NumberOfFreePoints () const |
Number of surface points with free map value. | |
virtual | ~LinearFixedBoundarySurfaceMapper () |
Destructor. | |
Public Member Functions inherited from mirtk::FixedBoundarySurfaceMapper | |
virtual | ~FixedBoundarySurfaceMapper () |
Destructor. | |
Public Member Functions inherited from mirtk::SurfaceMapper | |
void | Run () |
Compute surface map. | |
virtual | ~SurfaceMapper () |
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 double | Weight (int i, int j) const |
Protected Member Functions inherited from mirtk::SymmetricWeightsSurfaceMapper | |
SymmetricWeightsSurfaceMapper & | operator= (const SymmetricWeightsSurfaceMapper &) |
Assignment operator. | |
SymmetricWeightsSurfaceMapper () | |
Default constructor. | |
SymmetricWeightsSurfaceMapper (const SymmetricWeightsSurfaceMapper &) | |
Copy constructor. | |
Protected Member Functions inherited from mirtk::LinearFixedBoundarySurfaceMapper | |
LinearFixedBoundarySurfaceMapper () | |
Default constructor. | |
LinearFixedBoundarySurfaceMapper (const LinearFixedBoundarySurfaceMapper &) | |
Copy constructor. | |
LinearFixedBoundarySurfaceMapper & | operator= (const LinearFixedBoundarySurfaceMapper &) |
Assignment operator. | |
void | SetFreeValue (int i, double v) |
void | SetFreeValue (int i, int j, double v) |
void | SetValue (int i, double v) |
void | SetValue (int i, int j, double v) |
Protected Member Functions inherited from mirtk::FixedBoundarySurfaceMapper | |
FixedBoundarySurfaceMapper () | |
Default constructor. | |
FixedBoundarySurfaceMapper (const FixedBoundarySurfaceMapper &) | |
Copy constructor. | |
int | NumberOfComponents () const |
Number of boundary/surface map components. | |
FixedBoundarySurfaceMapper & | operator= (const FixedBoundarySurfaceMapper &) |
Assignment operator. | |
Protected Member Functions inherited from mirtk::SurfaceMapper | |
int | GetEdgeNeighborPoints (int i, int j, int &k, int &l) const |
void | GetPoint (int ptId, double p[3]) const |
int | NumberOfInteriorPoints () const |
Number of surface points minus the number of boundary points. | |
int | NumberOfPoints () const |
Number of surface points. | |
SurfaceMapper & | operator= (const SurfaceMapper &) |
Assignment operator. | |
class Point | Point (int ptId) const |
SurfaceMapper () | |
Default constructor. | |
SurfaceMapper (const SurfaceMapper &) | |
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) |
Computes piecewise linear harmonic surface map with fixed boundary
The harmonic surface map minimizes the discrete Dirichlet energy. It is the solution of the discrete Laplace equation. Moreover, because the boundary points are fixed and therefore the area of the parameteric domain is constant, this minimum is also a critical point of the conformal energy (Mullen et al., 2008). But because of these Dirichlet boundary conditions, the resulting map can only be as conformal as possible in a least squares sense. For a free boundary surface map which minimizes the conformal energy, see the NaturalConformalSurfaceMapper.
The surface map is the solution of a sparse linear system of equations, where the coefficients are the well-known cotangent weights of the discretized Laplace-Beltrami operator.
Definition at line 54 of file HarmonicSurfaceMapper.h.
|
protectedvirtual |
Weight of undirected edge (i, j)
[in] | i | First end point. |
[in] | j | Second end point. |
Implements mirtk::SymmetricWeightsSurfaceMapper.