Woolz Image Processing
Version 1.7.5
|
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.
WlzFnType _WlzBasisFn::type |
The transform basis function.
Referenced by WlzBasisFnConf2DFromCPts(), WlzBasisFnGauss2DFromCPts(), WlzBasisFnIMQ2DFromCPts(), WlzBasisFnIMQ3DFromCPts(), WlzBasisFnMQ2DFromCPts(), WlzBasisFnMQ3DFromCPts(), WlzBasisFnPoly2DFromCPts(), WlzBasisFnScalarMOS3DFromCPts(), WlzBasisFnSetCMesh2D(), WlzBasisFnSetCMesh3D(), WlzBasisFnSetMesh(), WlzBasisFnTPS2DChangeCPtsParam(), WlzBasisFnTPS2DFromCPts(), and WlzBasisFnTransformVertexD().
int _WlzBasisFn::nPoly |
Polynomial order + 1.
Referenced by WlzBasisFnConf2DFromCPts(), WlzBasisFnGauss2DFromCPts(), WlzBasisFnIMQ2DFromCPts(), WlzBasisFnIMQ3DFromCPts(), WlzBasisFnMQ2DFromCPts(), WlzBasisFnMQ3DFromCPts(), WlzBasisFnPoly2DFromCPts(), WlzBasisFnScalarMOS3DFromCPts(), WlzBasisFnTPS2DChangeCPtsParam(), WlzBasisFnTPS2DFromCPts(), WlzBasisFnValueConf2D(), and WlzBasisFnValuePoly2D().
int _WlzBasisFn::nBasis |
Number of basis function coefficients.
Referenced by WlzBasisFnConf2DFromCPts(), WlzBasisFnGauss2DFromCPts(), WlzBasisFnIMQ2DFromCPts(), WlzBasisFnIMQ3DFromCPts(), WlzBasisFnMQ2DFromCPts(), WlzBasisFnMQ3DFromCPts(), WlzBasisFnPoly2DFromCPts(), WlzBasisFnScalarMOS3DFromCPts(), and WlzBasisFnTPS2DFromCPts().
int _WlzBasisFn::nVtx |
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().
int _WlzBasisFn::maxVx |
Maximum number of vertices space has been allocated for.
Referenced by WlzBasisFnGauss2DFromCPts(), WlzBasisFnIMQ2DFromCPts(), WlzBasisFnIMQ3DFromCPts(), WlzBasisFnMQ2DFromCPts(), WlzBasisFnMQ3DFromCPts(), and WlzBasisFnTPS2DFromCPts().
WlzVertexP _WlzBasisFn::poly |
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().
WlzVertexP _WlzBasisFn::basis |
Basis function coefficients.
Referenced by WlzBasisFnFree(), WlzBasisFnGauss2DFromCPts(), WlzBasisFnIMQ2DFromCPts(), WlzBasisFnIMQ3DFromCPts(), WlzBasisFnMQ2DFromCPts(), WlzBasisFnMQ3DFromCPts(), WlzBasisFnScalarMOS3DFromCPts(), WlzBasisFnTPS2DFromCPts(), WlzBasisFnValueGauss2D(), WlzBasisFnValueIMQ2D(), WlzBasisFnValueIMQ3D(), WlzBasisFnValueMOS3D(), WlzBasisFnValueMQ2D(), WlzBasisFnValueMQ3D(), WlzBasisFnValueScalarMOS3D(), and WlzBasisFnValueTPS2D().
WlzVertexP _WlzBasisFn::vertices |
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(), WlzBasisFnValueMOSPhi(), WlzBasisFnValueMQ2D(), WlzBasisFnValueMQ3D(), WlzBasisFnValueScalarMOS3D(), and WlzBasisFnValueTPS2D().
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().
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(), WlzBasisFnScalarMOS3DFromCPts(), WlzBasisFnTPS2DFromCPts(), WlzBasisFnValueGauss2D(), WlzBasisFnValueIMQ2D(), WlzBasisFnValueIMQ3D(), WlzBasisFnValueMOS3D(), WlzBasisFnValueMQ2D(), WlzBasisFnValueMQ3D(), and WlzBasisFnValueScalarMOS3D().
WlzBasisEvalFn _WlzBasisFn::evalFn |
An alternative basis function evaluation function that may be called if non NULL.
Referenced by WlzBasisFnScalarMOS3DFromCPts(), WlzBasisFnValueMOS3D(), and WlzBasisFnValueScalarMOS3D().
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(), and WlzBasisFnScalarMOS3DFromCPts().
WlzBasisDistFn _WlzBasisFn::distFn |
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().
WlzCMeshP _WlzBasisFn::mesh |
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(), WlzBasisFnTPS2DFromCPts(), and WlzBasisFnValueMOSPhi().