Woolz Image Processing Version 1.4.0
|
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 |
WlzHistogramDomain * | evalData |
WlzBasisDistFn | distFn |
WlzCMeshP | mesh |
double ** | distMap |
A basis function. Typedef: WlzBasisFn.
The transform basis function.
Referenced by WlzBasisFnConf2DFromCPts(), WlzBasisFnGauss2DFromCPts(), WlzBasisFnIMQ2DFromCPts(), WlzBasisFnIMQ3DFromCPts(), WlzBasisFnMQ2DFromCPts(), WlzBasisFnMQ3DFromCPts(), WlzBasisFnPoly2DFromCPts(), WlzBasisFnScalarMOS3DFromCPts(), WlzBasisFnSetCMesh2D(), WlzBasisFnSetCMesh3D(), WlzBasisFnSetMesh(), WlzBasisFnTPS2DChangeCPtsParam(), WlzBasisFnTPS2DFromCPts(), and WlzBasisFnTransformVertexD().
Polynomial order + 1.
Referenced by WlzBasisFnConf2DFromCPts(), WlzBasisFnGauss2DFromCPts(), WlzBasisFnIMQ2DFromCPts(), WlzBasisFnIMQ3DFromCPts(), WlzBasisFnMQ2DFromCPts(), WlzBasisFnMQ3DFromCPts(), WlzBasisFnPoly2DFromCPts(), WlzBasisFnScalarMOS3DFromCPts(), WlzBasisFnTPS2DChangeCPtsParam(), WlzBasisFnTPS2DFromCPts(), WlzBasisFnValueConf2D(), and WlzBasisFnValuePoly2D().
Number of basis function coefficients.
Referenced by WlzBasisFnConf2DFromCPts(), WlzBasisFnGauss2DFromCPts(), WlzBasisFnIMQ2DFromCPts(), WlzBasisFnIMQ3DFromCPts(), WlzBasisFnMQ2DFromCPts(), WlzBasisFnMQ3DFromCPts(), WlzBasisFnPoly2DFromCPts(), WlzBasisFnScalarMOS3DFromCPts(), and WlzBasisFnTPS2DFromCPts().
Number of control point vertices.
Referenced by WlzBasisFnConf2DFromCPts(), WlzBasisFnFree(), WlzBasisFnGauss2DFromCPts(), WlzBasisFnIMQ2DFromCPts(), WlzBasisFnIMQ3DFromCPts(), WlzBasisFnMQ2DFromCPts(), WlzBasisFnMQ3DFromCPts(), WlzBasisFnPoly2DFromCPts(), WlzBasisFnScalarMOS3DFromCPts(), WlzBasisFnTPS2DFromCPts(), WlzBasisFnValueGauss2D(), WlzBasisFnValueIMQ2D(), WlzBasisFnValueIMQ3D(), WlzBasisFnValueMOS3D(), WlzBasisFnValueMQ2D(), WlzBasisFnValueMQ3D(), WlzBasisFnValueScalarMOS3D(), and WlzBasisFnValueTPS2D().
Maximum number of vertices space has been allocated for.
Referenced by WlzBasisFnGauss2DFromCPts(), WlzBasisFnIMQ2DFromCPts(), WlzBasisFnIMQ3DFromCPts(), WlzBasisFnMQ2DFromCPts(), WlzBasisFnMQ3DFromCPts(), and WlzBasisFnTPS2DFromCPts().
Polynomial coefficients.
Referenced by WlzBasisFnConf2DFromCPts(), WlzBasisFnFree(), WlzBasisFnGauss2DFromCPts(), WlzBasisFnIMQ2DFromCPts(), WlzBasisFnIMQ3DFromCPts(), WlzBasisFnMQ2DFromCPts(), WlzBasisFnMQ3DFromCPts(), WlzBasisFnPoly2DFromCPts(), WlzBasisFnScalarMOS3DFromCPts(), WlzBasisFnTPS2DFromCPts(), WlzBasisFnValueConf2D(), WlzBasisFnValueGauss2D(), WlzBasisFnValueIMQ2D(), WlzBasisFnValueIMQ3D(), WlzBasisFnValueMOS3D(), WlzBasisFnValueMQ2D(), WlzBasisFnValueMQ3D(), WlzBasisFnValuePoly2D(), WlzBasisFnValueScalarMOS3D(), and WlzBasisFnValueTPS2D().
Basis function coefficients.
Referenced by WlzBasisFnFree(), WlzBasisFnGauss2DFromCPts(), WlzBasisFnIMQ2DFromCPts(), WlzBasisFnIMQ3DFromCPts(), WlzBasisFnMQ2DFromCPts(), WlzBasisFnMQ3DFromCPts(), WlzBasisFnScalarMOS3DFromCPts(), WlzBasisFnTPS2DFromCPts(), WlzBasisFnValueGauss2D(), WlzBasisFnValueIMQ2D(), WlzBasisFnValueIMQ3D(), WlzBasisFnValueMOS3D(), WlzBasisFnValueMQ2D(), WlzBasisFnValueMQ3D(), WlzBasisFnValueScalarMOS3D(), and WlzBasisFnValueTPS2D().
Control point vertices, these are the destination vertices of the control points used to define the basis function transform.
Referenced by WlzBasisFnFree(), WlzBasisFnGauss2DFromCPts(), WlzBasisFnIMQ2DFromCPts(), WlzBasisFnIMQ3DFromCPts(), WlzBasisFnMQ2DFromCPts(), WlzBasisFnMQ3DFromCPts(), WlzBasisFnScalarMOS3DFromCPts(), WlzBasisFnTPS2DFromCPts(), WlzBasisFnValueGauss2D(), WlzBasisFnValueIMQ2D(), WlzBasisFnValueIMQ3D(), WlzBasisFnValueMOS3D(), WlzBasisFnValueMQ2D(), WlzBasisFnValueMQ3D(), WlzBasisFnValueScalarMOS3D(), and WlzBasisFnValueTPS2D().
Source vertices used to compute the transform. Not always used and may be NULL.
Referenced by WlzBasisFnFree(), WlzBasisFnGauss2DFromCPts(), WlzBasisFnIMQ2DFromCPts(), WlzBasisFnIMQ3DFromCPts(), WlzBasisFnMQ2DFromCPts(), WlzBasisFnMQ3DFromCPts(), and WlzBasisFnTPS2DFromCPts().
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 , where
is the range of the landmarks.
Referenced by WlzBasisFnFree(), WlzBasisFnGauss2DFromCPts(), WlzBasisFnIMQ2DFromCPts(), WlzBasisFnIMQ3DFromCPts(), WlzBasisFnMQ2DFromCPts(), WlzBasisFnMQ3DFromCPts(), WlzBasisFnScalarMOS3DFromCPts(), WlzBasisFnTPS2DFromCPts(), WlzBasisFnValueGauss2D(), WlzBasisFnValueIMQ2D(), WlzBasisFnValueIMQ3D(), WlzBasisFnValueMOS3D(), WlzBasisFnValueMQ2D(), WlzBasisFnValueMQ3D(), and WlzBasisFnValueScalarMOS3D().
An alternative basis function evaluation function that may be called if non NULL.
Referenced by WlzBasisFnScalarMOS3DFromCPts(), WlzBasisFnValueMOS3D(), and WlzBasisFnValueScalarMOS3D().
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(), and WlzBasisFnScalarMOS3DFromCPts().
An alternative basis function distance function that may be called if non NULL.
Referenced by WlzBasisFnGauss2DFromCPts(), WlzBasisFnIMQ2DFromCPts(), WlzBasisFnIMQ3DFromCPts(), WlzBasisFnMQ2DFromCPts(), WlzBasisFnMQ3DFromCPts(), WlzBasisFnTPS2DFromCPts(), WlzBasisFnValueGauss2D(), WlzBasisFnValueIMQ2D(), WlzBasisFnValueIMQ3D(), WlzBasisFnValueMQ2D(), WlzBasisFnValueMQ3D(), and WlzBasisFnValueTPS2D().
Associated mesh.
Referenced by WlzBasisFnGauss2DFromCPts(), WlzBasisFnIMQ2DFromCPts(), WlzBasisFnIMQ3DFromCPts(), WlzBasisFnMQ2DFromCPts(), WlzBasisFnMQ3DFromCPts(), WlzBasisFnTPS2DChangeCPtsParam(), and WlzBasisFnTPS2DFromCPts().
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().