Woolz Image Processing  Version 1.8.3
_WlzBasisFn Struct Reference

A basis function. Typedef: WlzBasisFn. More...

Data Fields

WlzFnType type
 
int nPoly
 
int nBasis
 
int nVtx
 
int maxVx
 
WlzVertexP poly
 
WlzVertexP basis
 
WlzVertexP vertices
 
WlzVertexP sVertices
 
void * param
 
WlzBasisEvalFn evalFn
 
WlzHistogramDomainevalData
 
WlzBasisDistFn distFn
 
WlzCMeshP mesh
 
double ** distMap
 

Detailed Description

A basis function. Typedef: WlzBasisFn.

Field Documentation

◆ type

◆ nPoly

◆ nBasis

int _WlzBasisFn::nBasis

Number of basis function coefficients.

Referenced by WlzBasisFnConf2DFromCPts(), and WlzBasisFnPoly2DFromCPts().

◆ nVtx

◆ maxVx

int _WlzBasisFn::maxVx

◆ poly

◆ basis

◆ vertices

◆ sVertices

WlzVertexP _WlzBasisFn::sVertices

Source vertices used to compute the transform. Not always used and may be NULL.

Referenced by WlzBasisFnFree(), WlzBasisFnGauss2DFromCPts(), WlzBasisFnIMQ2DFromCPts(), WlzBasisFnIMQ3DFromCPts(), WlzBasisFnMQ2DFromCPts(), WlzBasisFnMQ3DFromCPts(), and WlzBasisFnTPS2DFromCPts().

◆ param

void* _WlzBasisFn::param

Other parameters used by the basis function, e.g. delta in the MQ and Gauss basis functions. Must be allocated in a single block to allow the parameters to be freed by AlcFree(). For the MQ this is actually \((\delta r)^2\), where \(r\) is the range of the landmarks.

Referenced by WlzBasisFnFree(), WlzBasisFnGauss2DFromCPts(), WlzBasisFnIMQ2DFromCPts(), WlzBasisFnIMQ3DFromCPts(), WlzBasisFnMQ2DFromCPts(), WlzBasisFnMQ3DFromCPts(), WlzBasisFnTPS2DFromCPts(), WlzBasisFnValueGauss2D(), WlzBasisFnValueIMQ2D(), WlzBasisFnValueIMQ3D(), WlzBasisFnValueMOS3D(), WlzBasisFnValueMQ2D(), WlzBasisFnValueMQ3D(), and WlzBasisFnValueScalarMOS3D().

◆ evalFn

WlzBasisEvalFn _WlzBasisFn::evalFn

An alternative basis function evaluation function that may be called if non NULL.

Referenced by WlzBasisFnValueMOS3D(), and WlzBasisFnValueScalarMOS3D().

◆ evalData

WlzHistogramDomain* _WlzBasisFn::evalData

Data passed to the alternative basis function evaluation function if the function pointer is non NULL. AlcFree() will be called to free the data when the basis function is free'd.

Referenced by WlzBasisFnFree().

◆ distFn

◆ mesh

◆ distMap

double** _WlzBasisFn::distMap

Array of one dimensional arrays. There is a one dimensional array of mesh node distances for each landmark pair. Where the mesh is the mesh in the associated transform. In each one dimensional array the node distances are indexed bu the node indices. There is a one dimensional array for each of the control points. Essentialy these arrays cache distances to avoid recomputation. If a distance array is no longer valid it should be freed and set to NULL, it will then be recomputed as needed. Athough the number of control points may vary the number of mesh nodes must remain constant.

Referenced by WlzBasisFnFree(), WlzBasisFnGauss2DFromCPts(), WlzBasisFnIMQ2DFromCPts(), WlzBasisFnIMQ3DFromCPts(), WlzBasisFnMQ2DFromCPts(), WlzBasisFnMQ3DFromCPts(), and WlzBasisFnTPS2DFromCPts().


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