Woolz Image Processing  Version 1.7.5
WlzMeshTransform.c File Reference

Functions for computing mesh transforms. More...

Data Structures

struct  _WlzMeshScanDElm
 Mesh scanning element. More...
 
struct  _WlzMeshScanItv
 Scan interval within an element. More...
 
struct  _WlzMeshScanWSp
 Mesh scanning workspace. More...
 
struct  _WlzMeshPolyVx
 Linked list based polygon data structure. More...
 

Typedefs

typedef struct _WlzMeshScanDElm WlzMeshScanDElm
 
typedef struct _WlzMeshScanItv WlzMeshScanItv
 
typedef struct _WlzMeshScanWSp WlzMeshScanWSp
 
typedef struct _WlzMeshPolyVx WlzMeshPolyVx
 

Functions

WlzErrorNum WlzMeshFreeTransform (WlzMeshTransform *mesh)
 Free's the given mesh transform. More...
 
WlzMeshTransformWlzMeshTransformNew (unsigned int nNode, unsigned int nElem, WlzErrorNum *dstErr)
 Creates a mesh transform data structure with the nodes, elements and displacements allocated and initialized to zero. More...
 
WlzMeshTransformWlzMeshTransformAdapt (WlzMeshTransform *gMesh, double minArea, WlzErrorNum *dstErr)
 Adapts the given mesh transform so that each of the elements in the displaced mesh has an area greater than the given minimum. More...
 
WlzMeshTransformWlzMeshTransformCopy (WlzMeshTransform *gMesh, WlzErrorNum *dstErr)
 Copies the given mesh transform. The copied mesh will have any zombie elements squeezed out. More...
 
WlzMeshTransformWlzMeshFromObj (WlzObject *srcObj, WlzMeshGenMethod method, double minDist, double maxDist, WlzErrorNum *dstErr)
 Creates a mesh transform for the given object with all mesh displacements zero. More...
 
WlzObjectWlzMeshTransformObj (WlzObject *srcObj, WlzMeshTransform *gMesh, WlzInterpolationType interp, WlzErrorNum *dstErr)
 Transforms a woolz object using a the given mesh transform. More...
 
WlzMeshTransformWlzMeshTransformFromCPts (WlzObject *obj, WlzFnType basisFnType, int polyOrder, int nSPts, WlzDVertex2 *sPts, int nDPts, WlzDVertex2 *dPts, WlzMeshGenMethod meshGenMtd, double meshMinDist, double meshMaxDist, WlzErrorNum *dstErr)
 Computes a mesh transform for the given object and a set of control points using both an affine and a basis function transform to set the mesh displacements. More...
 
WlzErrorNum WlzMeshAffineProduct (WlzMeshTransform *mTr, WlzAffineTransform *aTr, int order)
 Computes the product of the given affine and mesh transforms in place, ie the mesh transform has it's displacements overwritten. More...
 
WlzErrorNum WlzMeshTransformVerify (WlzMeshTransform *mesh, int dispFlg, int *badElm, WlzMeshError *dstErrMsk)
 Checks that the given mesh transform is valid. More...
 
double WlzClassValCon4 (double *g, double p, double q)
 Interpolate pixel value using maximum probability. More...
 
WlzMeshTransformWlzMeshFromObjBox (WlzObject *srcObj, WlzIBox2 *dstBox, int boxDilation, WlzErrorNum *dstErr)
 Creates a mesh transform for the given object where the mesh has just two elements which enclose the objects bounding box. All mesh displacements are zero. More...
 
WlzDVertex2 WlzMeshTransformVtx (WlzDVertex2 vtx, WlzMeshTransform *mesh, WlzErrorNum *dstErr)
 Transform the vertex using the given mesh transform. More...
 

Detailed Description

Functions for computing mesh transforms.

Author
Bill Hill
Date
March 1999
Version
Id
a108152aad37c987f62ab813a187488a8cf631bd
Address: MRC Human Genetics Unit, MRC Institute of Genetics and Molecular Medicine, University of Edinburgh, Western General Hospital, Edinburgh, EH4 2XU, UK.
Copyright (C), [2012], The University Court of the University of Edinburgh, Old College, Edinburgh, UK.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

Typedef Documentation

typedef struct _WlzMeshPolyVx WlzMeshPolyVx