Woolz Image Processing Version 1.4.0
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.
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.
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.
WlzMeshTransformWlzMeshTransformCopy (WlzMeshTransform *gMesh, WlzErrorNum *dstErr)
 Copies the given mesh transform. The copied mesh will have any zombie elements squeezed out.
WlzMeshTransformWlzMeshFromObj (WlzObject *srcObj, WlzMeshGenMethod method, double minDist, double maxDist, WlzErrorNum *dstErr)
 Creates a mesh transform for the given object with all mesh displacements zero.
WlzObjectWlzMeshTransformObj (WlzObject *srcObj, WlzMeshTransform *gMesh, WlzInterpolationType interp, WlzErrorNum *dstErr)
 Transforms a woolz object using a the given mesh transform.
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.
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.
WlzErrorNum WlzMeshTransformVerify (WlzMeshTransform *mesh, int dispFlg, int *badElm, WlzMeshError *dstErrMsk)
 Checks that the given mesh transform is valid.
double WlzClassValCon4 (double *g, double p, double q)
 Interpolate pixel value using maximum probability.
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.
WlzDVertex2 WlzMeshTransformVtx (WlzDVertex2 vtx, WlzMeshTransform *mesh, WlzErrorNum *dstErr)
 Transform the vertex using the given mesh transform.

Detailed Description

Functions for computing mesh transforms.

Author:
Bill Hill
Date:
March 1999
Version:
Id:
8412c38d180c5a59059a9c5ee4a5693bc37eecdb
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