Public Member Functions | Protected Member Functions | List of all members
mirtk::IntrinsicSurfaceMapper Class Reference

#include <IntrinsicSurfaceMapper.h>

Inheritance diagram for mirtk::IntrinsicSurfaceMapper:
Inheritance graph
Collaboration diagram for mirtk::IntrinsicSurfaceMapper:
Collaboration graph

Public Member Functions

 IntrinsicSurfaceMapper (double lambda=.5)
 
 IntrinsicSurfaceMapper (const IntrinsicSurfaceMapper &)
 Copy constructor.
 
IntrinsicSurfaceMapperoperator= (const IntrinsicSurfaceMapper &)
 Assignment operator.
 
virtual ~IntrinsicSurfaceMapper ()
 Destructor.
 
- Public Member Functions inherited from mirtk::NonSymmetricWeightsSurfaceMapper
virtual void ComputeMap ()
 Construct and solve (non-symmetric) system of linear equations.
 
 NonSymmetricWeightsSurfaceMapper ()
 Default constructor.
 
 NonSymmetricWeightsSurfaceMapper (const NonSymmetricWeightsSurfaceMapper &)
 Copy constructor.
 
NonSymmetricWeightsSurfaceMapperoperator= (const NonSymmetricWeightsSurfaceMapper &)
 Assignment operator.
 
virtual ~NonSymmetricWeightsSurfaceMapper ()
 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::NonSymmetricWeightsSurfaceMapper
virtual void Weights (int i, const int *j, double *w, int d) const
 
- Protected Member Functions inherited from mirtk::LinearFixedBoundarySurfaceMapper
 LinearFixedBoundarySurfaceMapper ()
 Default constructor.
 
 LinearFixedBoundarySurfaceMapper (const LinearFixedBoundarySurfaceMapper &)
 Copy constructor.
 
LinearFixedBoundarySurfaceMapperoperator= (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.
 
FixedBoundarySurfaceMapperoperator= (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.
 
SurfaceMapperoperator= (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)
 

Detailed Description

Surface maps based on a class of intrinsic surface parameterizations

Surface mapping methods based on this class use a linear combination of edge weights which result from the discrete formulations of Dirichlet (angle preserving) and Chi (Euler characteristic, area preserving) energy functionals (Desbrun et al., 2002) obtaind using the finite element method (FEM). A discrete harmonic map, also referred to as Discrete Conformal Parameterization (DCP), is obtained by minimizing the Dirichlet energy functional. A convex combination map referred to as Discrete Authalic Parameterization (DAP) is obtained by minimizing only the Chi energy. The normalized weights are a generalization of Barycentric coordinates (Meyer, 2002). The discrete Dirichlet energy functional used by this mapper is the piecewise linear finite element approximation of the Laplace equation (Eck et al., 1995; Wardetzky et al., 2007). These cotangent weights were previously used by Pinkall and Polthier (1993) to compute a conformal surface map.

Definition at line 56 of file IntrinsicSurfaceMapper.h.

Constructor & Destructor Documentation

§ IntrinsicSurfaceMapper()

mirtk::IntrinsicSurfaceMapper::IntrinsicSurfaceMapper ( double  lambda = .5)

Constructor

Parameters
[in]lambdaWeight of conformal energy in [0, 1]. The weight of the authalic energy is 1 - lambda.

Member Function Documentation

§ Weight()

virtual double mirtk::IntrinsicSurfaceMapper::Weight ( int  i,
int  j 
) const
protectedvirtual

Weight of directed edge (i, j)

Parameters
[in]iIndex of start point.
[in]jIndex of end point.
Returns
Weight of directed edge (i, j).

Reimplemented from mirtk::NonSymmetricWeightsSurfaceMapper.


The documentation for this class was generated from the following file: