Woolz Image Processing  Version 1.7.5
WlzContour.c File Reference

Functions for extracting contours from objects. More...

Macros

#define WLZ_CTR_TOLERANCE   (1.0e-06)
 

Typedefs

typedef enum _WlzContourTriIsn2D WlzContourTriIsn2D
 
typedef enum _WlzContourBndSamMethod WlzContourBndSamMethod
 

Enumerations

enum  _WlzContourTriIsn2D {
  WLZ_CONTOUR_TIC2D_NONE,
  WLZ_CONTOUR_TIC2D_V1V0,
  WLZ_CONTOUR_TIC2D_V0V2,
  WLZ_CONTOUR_TIC2D_V2V1,
  WLZ_CONTOUR_TIC2D_V1S02,
  WLZ_CONTOUR_TIC2D_V0S21,
  WLZ_CONTOUR_TIC2D_V2S10,
  WLZ_CONTOUR_TIC2D_S10S02,
  WLZ_CONTOUR_TIC2D_S02S21,
  WLZ_CONTOUR_TIC2D_S21S10
}
 Classification of the intersection of a line segment with a triangle. Typedef: WlzContourTriIsn2D. More...
 
enum  _WlzContourBndSamMethod {
  WLZ_CONTOUR_BNDPTS_REGULAR,
  WLZ_CONTOUR_BNDPTS_RANDOM
}
 Boudary point sampling methods. Typedef: WlzContourBndSamMethod. More...
 

Functions

WlzContourWlzContourObjGrd (WlzObject *srcObj, double ctrLo, double ctrHi, double ctrWth, int nrmFlg, WlzErrorNum *dstErr)
 Creates a contour (list of connected edges or surface patches) from a Woolz object with values using a maximal gradient algorithm and retains the gradient vectors. The gradient vectors are only valid for valid vertex indicies and do not have unit length. More...
 
WlzContourWlzContourObj (WlzObject *srcObj, WlzContourMethod ctrMtd, double ctrVal, double ctrWth, int nrmFlg, WlzErrorNum *dstErr)
 Creates a contour (list of connected edges or surface patches) from a Woolz object's values. The source object should either a 2D or 3D domain object with values. This is the top level contour generation function which calls the appropriate function for the given contour type (dimension) and generation method. The given contour value is taken to be the iso-value for iso-value contours and the minimum gradient threshold value for maximal gradient contours. The contour width parameter is only used for maximal gradient contours where it is used to generate a recursive Deriche filter, see WlzRsvFilter(). More...
 
WlzContourWlzContourFromPoints (WlzObject *dObj, WlzVertexType vtxType, int nSPts, WlzVertexP sPts, double sAlpha, int nIPts, WlzVertexP iPts, double iDist, double iAlpha, int nOPts, WlzVertexP oPts, double oDist, double oAlpha, double delta, double tau, double samFac, WlzErrorNum *dstErr)
 Given three points sets: On, inside and outside some curve this function computes a contour for the curve. This is done by approximating (or interpolating) the distance function for the curve using multi order spline radial basis functions. The contour is then computed from the zero level set of the radial basis functions within the given distance object. The distance object sampling factor is used to subsample the distance object prior to cuting the zero value isosurface. The surface computed from a sampled distance object is then transformed using the inverse of the sampling transform. More...
 
WlzContourWlzContourGrdObj2D (WlzObject *srcObj, WlzObject *gGXObj, WlzObject *gGYObj, double grdLo, double grdHi, double ftrPrm, int nrmFlg, WlzErrorNum *dstErr)
 Creates an maximal gradient contour (list of edges) from a 2D Woolz object's values. More...
 
WlzContourWlzContourRBFBndObj3D (WlzObject *gObj, int bErosion, int bDilation, int sDilation, int sFac, int oFac, double sAlpha, double oAlpha, double delta, double tau, double samFac, WlzErrorNum *dstErr)
 Computes a 3D contour from the boundary of the given objects domain by extracting the zero level set of an approximate signed distance function computed using a multi-order spline radial basis function. The distance object sampling factor is used to subsample the distance object prior to cuting the zero value isosurface. The surface computed from a sampled distance object is then transformed using the inverse of the sampling transform. More...
 

Detailed Description

Functions for extracting contours from objects.

Author
Bill Hill
Date
September 1999
Version
Id
524ac714cd9776b2112ef1abf8f5a122b6c477c0
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.

Macro Definition Documentation

#define WLZ_CTR_TOLERANCE   (1.0e-06)

Referenced by WlzContourRBFBndObj3D().

Typedef Documentation