ImFusion SDK 4.3
PointDistanceReg Class Reference

#include <ImFusion/Base/PointDistanceReg.h>

Registers a point set to a distance volume. More...

+ Inheritance diagram for PointDistanceReg:

Detailed Description

Registers a point set to a distance volume.

Public Member Functions

 PointDistanceReg (const TypedImage< float > *dist, vec3 ofs=vec3::Zero())
 Constructor providing the distance volume and optional offset.
 
 ~PointDistanceReg () override
 Destructor.
 
void setInitialMatrix (const mat4 *m)
 Optionally provide an initial alignment matrix.
 
void setReferenceMatrix (const mat4 &m)
 Set the optional reference matrix around which the relative pose will be applied.
 
void setAngleAxis (bool flag)
 Enable or disable angle-axis parameterization of the rotation.
 
void setWeightingAfterTransformation (bool after)
 Weigh the distances before or after applying the transformation.
 
void setDistanceOutput (double *ptr)
 Provide a pointer used for storing individual point distances.
 
void addPriorityBox (const vec3 &minCorner, const vec3 &maxCorner, double weight)
 Optionally defines rectangular regions with different weighting.
 
double evaluate (int n, const double *x, double *dx=0) override
 Returns point distance for a certain pose.
 
double computeDistance (const vec3 &point) const
 Returns the distance of a given point to the surface model in mm.
 
std::vector< vec3 > & points ()
 Read-write access to the point set.
 
void setPointWeights (const std::vector< double > &w)
 
std::vector< double > pointWeights () const
 
void setMatrix (const mat4 &mat)
 Set the current transformation matrix.
 
const mat4 & matrix () const
 Access the current transformation matrix.
 
mat4 matrix (int n, const double *x) const
 Return transformation matrix given relative pose parameters.
 
int removeOutliers (int n, const double *x, double threshold)
 Remove outliers from current points w.r.t. the input pose parameters, returns the number of such outliers.
 

Member Function Documentation

◆ evaluate()

double evaluate ( int n,
const double * x,
double * dx = 0 )
overridevirtual

Returns point distance for a certain pose.

Implements CostFunction.


The documentation for this class was generated from the following file:
Search Tab / S to search, Esc to close