Woolz Image Processing
Version 1.8.3
|
Files | |
file | WlzAssign.c |
Woolz objects domains and values maintain a linkcount, which records it's usage by other objects, domains or values. To increment a linkcount the appropriate assignment function should be used. | |
file | WlzBuildObj.c |
Functions to allow spatial domain objects with values to be built incrementally. | |
file | WlzConstruct3D.c |
Functions to construct 3D domain objects from 2D domain objects. | |
file | WlzCopy.c |
Functions to make 'deep' copies of objects. | |
file | WlzFreeSpace.c |
Functions for freeing objects and their components. | |
file | WlzMakeCompound.c |
Makes compound objects. | |
file | WlzMakeIntervalValues.c |
Makes an interval values table. | |
file | WlzMakeStructs.c |
Functions for allocating woolz structures. | |
file | WlzTiledValues.c |
Functions construct and convert tiled objects. | |
Functions | |
WlzObject * | WlzAssignObject (WlzObject *obj, WlzErrorNum *dstErr) |
Assign an object (increment it's linkcount) by first checking for NULL, then the value of linkcount, before incrementing the linkcount. If used concientiously, assignment should avoid memory errors. More... | |
WlzCompoundArray * | WlzAssignCompoundArray (WlzCompoundArray *obj, WlzErrorNum *dstErr) |
Assign a compound array (increment it's linkcount) by first checking for NULL, then the value of linkcount, before incrementing the linkcount. If used concientiously, assignment should avoid memory errors. More... | |
WlzDomain | WlzAssignDomain (WlzDomain domain, WlzErrorNum *dstErr) |
Assign a domain by incrementing it's linkcount. More... | |
WlzValues | WlzAssignValues (WlzValues values, WlzErrorNum *dstErr) |
Assign a values by incrementing it's linkcount. More... | |
WlzProperty | WlzAssignProperty (WlzProperty property, WlzErrorNum *dstErr) |
Assign a property by incrementing it's linkcount. More... | |
WlzAffineTransform * | WlzAssignAffineTransform (WlzAffineTransform *trans, WlzErrorNum *dstErr) |
Assign an affine transform by incrementing it's linkcount. More... | |
WlzTransform | WlzAssignTransform (WlzTransform t, WlzErrorNum *dstErr) |
Assign a transform by incrementing it's linkcount. More... | |
WlzThreeDViewStruct * | WlzAssign3DViewStruct (WlzThreeDViewStruct *viewStr, WlzErrorNum *dstErr) |
Assign an woolz 3D view structure by incrementing it's linkcount. More... | |
WlzBoundList * | WlzAssignBoundList (WlzBoundList *blist, WlzErrorNum *dstErr) |
Assign a boundary list by incrementing it's linkcount. More... | |
WlzPolygonDomain * | WlzAssignPolygonDomain (WlzPolygonDomain *poly, WlzErrorNum *dstErr) |
Assign a polygon domain by incrementing it's linkcount. More... | |
WlzGMModel * | WlzAssignGMModel (WlzGMModel *model, WlzErrorNum *dstErr) |
Assign a geometric model by incrementing it's linkcount. More... | |
int | WlzUnlink (int *linkcount, WlzErrorNum *dstErr) |
Unlink an object, domain or values by decrementing and testing it's linkcount. More... | |
WlzBSpline * | WlzMakeBSpline (WlzObjectType type, int order, int maxKnots, WlzErrorNum *dstErr) |
Creates a new B-spline domain. This can be freed using using WlzFreeDomain(). More... | |
WlzErrorNum | WlzFreeBSpline (WlzBSpline *bs) |
Frees a B-spline domain. More... | |
WlzBSpline * | WlzBSplineCopy (WlzBSpline *srcBS, WlzErrorNum *dstErr) |
Copies a B-spline domain. More... | |
WlzObject * | WlzBuildObj3U (WlzObject *cObj, WlzIVertex3 og, WlzIVertex2 sz, int bufSz, WlzUByte *buf, WlzErrorNum *dstErr) |
Wrapper for WlzBuildObj3() with WlzUByte values. More... | |
WlzObject * | WlzBuildObj3S (WlzObject *cObj, WlzIVertex3 og, WlzIVertex2 sz, int bufSz, short *buf, WlzErrorNum *dstErr) |
Wrapper for WlzBuildObj3() with short values. More... | |
WlzObject * | WlzBuildObj3I (WlzObject *cObj, WlzIVertex3 og, WlzIVertex2 sz, int bufSz, int *buf, WlzErrorNum *dstErr) |
Wrapper for WlzBuildObj3() with int values. More... | |
WlzObject * | WlzBuildObj3F (WlzObject *cObj, WlzIVertex3 og, WlzIVertex2 sz, int bufSz, float *buf, WlzErrorNum *dstErr) |
Wrapper for WlzBuildObj3() with float values. More... | |
WlzObject * | WlzBuildObj3D (WlzObject *cObj, WlzIVertex3 og, WlzIVertex2 sz, int bufSz, double *buf, WlzErrorNum *dstErr) |
Wrapper for WlzBuildObj3() with double values. More... | |
WlzObject * | WlzBuildObj3R (WlzObject *cObj, WlzIVertex3 og, WlzIVertex2 sz, int bufSz, WlzUInt *buf, WlzErrorNum *dstErr) |
Wrapper for WlzBuildObj3() with RGBA values. More... | |
WlzObject * | WlzBuildObj3B (WlzObject *cObj, WlzIVertex3 og, WlzIVertex2 sz, WlzGreyType gType, int bufSz, char *buf, WlzErrorNum *dstErr) |
Wrapper for WlzBuildObj3() with buffer passed as bytes. More... | |
WlzObject * | WlzBuildObj3 (WlzObject *cObj, WlzIVertex3 og, WlzIVertex2 sz, WlzGreyType gType, int bufSz, WlzGreyP bufP, WlzErrorNum *dstErr) |
Creates a new or adds to an existing 3D spatial domain object using a rectangular buffer of values to a single plane of the given current object (which may be NULL or empty if the object is to be created). The returned object will share domains and values of planes other than the given plane with the current object. More... | |
WlzObject * | WlzConstruct3DObjFromFile (int nFileStr, char **fileStr, int plane1, float xSz, float ySz, float zSz, WlzErrorNum *dstErr) |
Constructs a 3D domain object from 2D domain objects read from the given files. Each file is read in turn and added to the 3D object. An empty plane can be specified by setting the file string to NULL. Either all or none of the 2D objects must have values. When the 2D objects have values then the background value of the first 2D object is set to be the background value of the 3D object. More... | |
WlzObject * | WlzConstruct3DObjFromObj (int nObjs, WlzObject **objs, int plane1, float xSz, float ySz, float zSz, WlzErrorNum *dstErr) |
Constructs a 3D domain object from 2D domain objects. Each 2D object is assigned in turn to the 3D object no domains or values are copied. An empty can be specified by setting the 2D object to NULL. Either all or none of the 2D objects must have values. When the 2D objects have values then the background value of the first 2D object is set to be the background value of the 3D object. More... | |
WlzObject * | WlzCopyObject (WlzObject *inObj, WlzErrorNum *dstErr) |
Copies a Woolz object together with it's domain, values and properties and then returns the copy. More... | |
WlzDomain | WlzCopyDomain (WlzObjectType inObjType, WlzDomain inDom, WlzErrorNum *dstErr) |
Copies the given objects domain. More... | |
WlzValues | WlzCopyValues (WlzObjectType inObjType, WlzValues inVal, WlzDomain inDom, WlzErrorNum *dstErr) |
Copies the given values. More... | |
WlzPropertyList * | WlzCopyPropertyList (WlzPropertyList *gList, WlzErrorNum *dstErr) |
Copies the given property list. More... | |
WlzIndexedValues * | WlzCopyIndexedValues (WlzIndexedValues *inV, WlzErrorNum *dstErr) |
Copies the given indexed values. More... | |
WlzErrorNum | WlzCopyObjectGreyValues (WlzObject *dObj, WlzObject *sObj) |
Copies the grey values of the source object to the destination object, overwriting the values of the destination object. More... | |
WlzErrorNum | WlzFreeObj (WlzObject *obj) |
Free space allocated to a woolz object. More... | |
WlzErrorNum | WlzFreeCompoundArray (WlzCompoundArray *obj) |
Free space allocated to a woolz compound array object. More... | |
WlzErrorNum | WlzFreeIntervalDomain (WlzIntervalDomain *idom) |
Free an interval domain - convenience link to WlzFreeDomain() More... | |
WlzErrorNum | WlzFreeHistogramDomain (WlzHistogramDomain *hist) |
Free a histogram domain. More... | |
WlzErrorNum | WlzFreeDomain (WlzDomain domain) |
Free a domain structure of any type. All domain structures must have a type and linkcount. Most also have a freeptr by which, if set, all the space allocated can be freed, however there are some special cases. More... | |
WlzErrorNum | WlzFreePlaneDomain (WlzPlaneDomain *planedm) |
Free a planedomain. More... | |
WlzErrorNum | WlzFreeValueTb (WlzRagRValues *vdmn) |
Convenience routine to free a ragged rect valuetable. More... | |
WlzErrorNum | WlzFreeValues (WlzValues values) |
Free a values structure, currently only WlzRagRValues and WlzRectValues DO NOT call this function with any other values structure types! More... | |
WlzErrorNum | WlzFreeVoxelValueTb (WlzVoxelValues *voxtab) |
Free a voxel value table. More... | |
WlzErrorNum | WlzFreePolyDmn (WlzPolygonDomain *poly) |
Free a polygon domain. More... | |
WlzErrorNum | WlzFreeBoundList (WlzBoundList *b) |
Recursively free a boundary list. More... | |
WlzErrorNum | WlzFree3DWarpTrans (Wlz3DWarpTrans *obj) |
Free a 3D warp transform. More... | |
WlzErrorNum | WlzFreeContour (WlzContour *ctr) |
Free's a WlzContour data structure. More... | |
WlzErrorNum | WlzFreeIndexedValues (WlzIndexedValues *ixv) |
Frees an indexed valuetable. More... | |
WlzErrorNum | WlzFreePointValues (WlzPointValues *pv) |
Frees a points valuetable. More... | |
WlzLBTDomain2D * | WlzMakeLBTDomain2D (WlzObjectType type, int l1, int ll, int k1, int kl, WlzErrorNum *dstErr) |
Creates a linear binary tree domain without creating any nodes, leaving the nodes pointer NULL. Only the type, bounding box and depth are set. The depth \(d\) is set such that \[ 2^d >= \max(k_l - k_1, l_l - l_1) + 1 \] where \(k_1\), \(k_l\), \(l_1\) and \(l_l\) are the first column, last column, first line and last line respectively. More... | |
WlzLBTDomain3D * | WlzMakeLBTDomain3D (WlzObjectType type, int p1, int pl, int l1, int ll, int k1, int kl, WlzErrorNum *dstErr) |
Creates a linear binary tree domain without creating any nodes, leaving the nodes pointer NULL. Only the type, bounding box and depth are set. The depth \(d\) is set such that \[ 2^d >= \max(p_l - p_1, k_l - k_1, l_l - l_1) + 1 \] where \(k_1\), \(k_l\), \(l_1\) and \(l_l\) are the first column, last column, first line and last line respectively. More... | |
WlzErrorNum | WlzFreeLBTDomain3D (WlzLBTDomain3D *lDom) |
Frees the given 3D linear binary tree domain. More... | |
WlzErrorNum | WlzFreeLBTDomain2D (WlzLBTDomain2D *lDom) |
Frees the given 2D linear binary tree domain. More... | |
WlzCompoundArray * | WlzMakeCompoundArray (WlzObjectType type, int mode, int n, WlzObject **ol, WlzObjectType otype, WlzErrorNum *dstErr) |
Makes a new Woolz compound array object. More... | |
WlzIntervalValues * | WlzMakeIntervalValues (WlzObjectType type, WlzObject *obj, WlzPixelV bckgrnd, WlzErrorNum *dstErr) |
Make in interval values table to match the input object The table will have linkcount set to zero. More... | |
WlzIntervalDomain * | WlzMakeIntervalDomain (WlzObjectType type, int l1, int ll, int k1, int kl, WlzErrorNum *dstErr) |
Allocate space for an interval domain structure. If the type is WLZ_INTERVALDOMAIN_INTVL then allocate space for the interval line array and set the pointer. More... | |
WlzPlaneDomain * | WlzMakePlaneDomain (WlzObjectType type, int p1, int pl, int l1, int ll, int k1, int kl, WlzErrorNum *dstErr) |
Allocate space for a plane domain and the domain pointers. More... | |
WlzObject * | WlzNewObjectValues (WlzObject *sObj, WlzObjectType tType, WlzPixelV bgdV, int setFG, WlzPixelV fgdV, WlzErrorNum *dstErr) |
Creaes a new object with the domain of the given object and a new values. More... | |
WlzVoxelValues * | WlzNewValuesVox (WlzObject *sObj, WlzObjectType gTType, WlzPixelV bgdV, WlzErrorNum *dstErr) |
From the domain of the given source object a new voxel value table is created with the given grey type and background value. More... | |
WlzObject * | WlzMakeMain (WlzObjectType type, WlzDomain domain, WlzValues values, WlzPropertyList *plist, WlzObject *assoc, WlzErrorNum *dstErr) |
Make a top-level woolz object assigning domain, values and other pointers as required . The type is checked. The domain is not checked for NULL although this should only apply to the WLZ_EMPTY_OBJ. More... | |
WlzRagRValues * | WlzMakeValueTb (WlzObjectType type, int l1, int ll, int k1, WlzPixelV backgrnd, WlzObject *orig, WlzErrorNum *dstErr) |
Allocate and initialise space for a ragged-rectangle value table only. More... | |
WlzVoxelValues * | WlzMakeVoxelValueTb (WlzObjectType type, int p1, int pl, WlzPixelV backgrnd, WlzObject *orig, WlzErrorNum *dstErr) |
Allocate space for a voxel table. More... | |
WlzRectValues * | WlzMakeRectValueTb (WlzObjectType type, int line1, int lastln, int kol1, int width, WlzPixelV backgrnd, int *values, WlzErrorNum *dstErr) |
Make rectangular value table attaching values if set. Note the values pointer is just copied and will not be freed when the object is freed unless the freeptr is set using AlcFreePointerPush(). More... | |
WlzErrorNum | WlzMakeInterval (int line, WlzIntervalDomain *idom, int nints, WlzInterval *intptr) |
Attach and interval pointer to a an interval domain in the appropriate place and set the number of intervals on the line. Note this procedure makes no checks on the arguments because it is often used in deeply nested loops. More... | |
WlzErrorNum | WlzMakeValueLine (WlzRagRValues *vtb, int line, int k1, int kl, int *greyptr) |
Attach the grey values for a valueline within a ragged- rectangle value table. Not this procedure does not check the input arguments because it is often at the core of nested loops. More... | |
WlzPointValues * | WlzNewPointValues (WlzObject *obj, int rank, int *dim, WlzGreyType vType, WlzErrorNum *dstErr) |
Makes a new point value table which covers the points of the given object. More... | |
WlzPointValues * | WlzMakePointValues (size_t nP, int rank, int *dim, WlzGreyType vType, WlzErrorNum *dstErr) |
Makes a new point value table with space for the requested number of points. More... | |
WlzPolygonDomain * | WlzMakePolygonDomain (WlzObjectType type, int n, WlzIVertex2 *vertices, int maxv, int copy, WlzErrorNum *dstErr) |
Makes a polygon domain, allocating space and copying vertices as required acording to the copy flag. The polygon domain must be freed when longer required using WlzFreePolyDmn(). More... | |
WlzBoundList * | WlzMakeBoundList (WlzObjectType type, int wrap, WlzPolygonDomain *poly, WlzErrorNum *dstErr) |
Allocate space and initialise a boundlist structure. More... | |
WlzIVertex2 * | WlzMakeIVertex (int nverts, WlzErrorNum *dstErr) |
Make an integer vertex array. More... | |
WlzObject * | WlzMakeRect (int line1, int lastln, int kol1, int lastkl, WlzGreyType pixeltype, int *grey_values, WlzPixelV backgrnd, WlzPropertyList *plist, WlzObject *assoc_obj, WlzErrorNum *dstErr) |
Make a top-level rectangular object, setting values if non-NULL, uses WlzMakeRectValueTb() to assign values which by default will not be freed when the object is freed. The freeptr needs to be explicitly set by the calling procedure. This is a convenience procedure calling WlzMakeIntervalDomain() then WlzMakeRectValueTb() then WlzMakeMain(). More... | |
WlzObject * | WlzNewObjectValueTable (WlzObject *gObj, WlzPixelV bgdV, WlzErrorNum *dstErr) |
Creates a new Woolz object using the given object's domain and a new value table, but uses the grey values of the given object's value table. More... | |
WlzObject * | WlzMakeCuboid (int plane1, int lastpl, int line1, int lastln, int kol1, int lastkl, WlzGreyType pixType, WlzPixelV bgdV, WlzPropertyList *plist, WlzObject *assocObj, WlzErrorNum *dstErr) |
Creates a 3D domain object with values, for which the domain is a cuboid and the values are of the given type and initialized to have value zero. More... | |
WlzHistogramDomain * | WlzMakeHistogramDomain (WlzObjectType type, int maxBins, WlzErrorNum *dstErr) |
Allocates space for a histogram domain with the space for the given maximum number of bins of the appropriate type. More... | |
WlzObject * | WlzMakeEmpty (WlzErrorNum *dstErr) |
Convenience procedure to make a top-level empty object. More... | |
WlzObject * | WlzMakeHistogram (WlzObjectType type, int maxBins, WlzErrorNum *dstErr) |
Convenience procedure to make a top-level object with a histogram domain. More... | |
WlzObject * | WlzNewGrey (WlzObject *iobj, WlzErrorNum *dstErr) |
Make a top-level object with the same domain as iobj (pointer copied and linkcount incremented) and new valuetable with values copied from iobj. If iobj has no valuetable then the returned object will have no value- table. This allows a copy of a 2D grey-value object. More... | |
WlzRagRValues * | WlzNewValueTb (WlzObject *obj, WlzObjectType type, WlzPixelV backgrnd, WlzErrorNum *dstErr) |
Create a value table of required type with the same size and shape as the domain of obj. This must be of type WLZ_2D_DOMAINOBJ. More... | |
WlzIntervalDomain * | WlzNewIDomain (WlzObjectType outDomType, WlzIntervalDomain *inDom, WlzErrorNum *dstErr) |
Make a copy of an intervaldomain. More... | |
WlzContour * | WlzMakeContour (WlzErrorNum *dstErr) |
Makes a new contour data structure. More... | |
WlzIndexedValues * | WlzMakeIndexedValues (WlzObject *obj, int rank, int *dim, WlzGreyType vType, WlzValueAttach attach, WlzErrorNum *dstErr) |
Makes a new indexed value table. More... | |
WlzErrorNum | WlzExtendIndexedValues (WlzIndexedValues *ixv, size_t n) |
Extends the given indexed value table. This is just a wrapper for AlcVectorExtend(). More... | |
WlzTiledValues * | WlzMakeTiledValues (int dim, int vRank, WlzErrorNum *dstErr) |
Allocates a new tiled value table, but without allocating any indices or tiles. More... | |
WlzErrorNum | WlzFreeTiledValues (WlzTiledValues *tVal) |
Frees a tiled value table. More... | |
WlzTiledValues * | WlzNewTiledValues (WlzTiledValues *gVal, WlzPixelV bgdV, WlzErrorNum *dstErr) |
Creates a new tiled values table which shares both the grey value tiles and indexing with the given tiled values. This is done by using the original_table field. More... | |
WlzObject * | WlzMakeTiledValuesFromObj (WlzObject *gObj, size_t tileSz, int copyValues, WlzGreyType gType, unsigned int vRank, unsigned int *vDim, WlzPixelV bgdV, WlzErrorNum *dstErr) |
Creates a tiled object from the given object. More... | |
WlzErrorNum | WlzMakeTiledValuesTiles (WlzTiledValues *tVal) |
Allocates tiles without a memory mapped file for the tiles values and sets background value within the tiles. More... | |
WlzTiledValueBuffer * | WlzMakeTiledValueBuffer (WlzTiledValues *tVal, WlzErrorNum *dstErr) |
Makes a new tiled values buffer for the given tiled values table. More... | |
void | WlzFreeTiledValueBuffer (WlzTiledValueBuffer *tBuf) |
Frees the given tiled values buffer including it's line buffer. More... | |
WlzObject * | WlzMakeTiledValuesObj2D (WlzObject *gObj, size_t tileSz, int setTiles, WlzGreyType gType, unsigned int vRank, unsigned int *vDim, WlzPixelV bgdV, WlzErrorNum *dstErr) |
Creates a 2D domain object which has the same domain as the given 2D domain object but a tiled value table. More... | |
WlzObject * | WlzMakeTiledValuesObj3D (WlzObject *gObj, size_t tileSz, int setTiles, WlzGreyType gType, unsigned int vRank, unsigned int *vDim, WlzPixelV bgdV, WlzErrorNum *dstErr) |
Creates a 3D domain object which has the same domain as the given 3D domain object but a tiled value table. More... | |
WlzObject* WlzAssignObject | ( | WlzObject * | obj, |
WlzErrorNum * | dstErr | ||
) |
Assign an object (increment it's linkcount) by first checking for NULL, then the value of linkcount, before incrementing the linkcount. If used concientiously, assignment should avoid memory errors.
obj | Given object. |
dstErr | Destination error pointer, may be NULL. |
References _WlzObject::linkcount, WLZ_ERR_LINKCOUNT_DATA, WLZ_ERR_NONE, and WLZ_ERR_OBJECT_NULL.
Referenced by Wlz3DSectionOcc(), Wlz3DSectionSegmentObject(), Wlz3DViewTransformBitmap(), WlzAssignCompoundArray(), WlzBoundaryDomain(), WlzBoundaryToPolyObjArray(), WlzBSplineToDomain(), WlzCannyDeriche(), WlzCMeshDispToField(), WlzCMeshFromObj2D(), WlzCMeshFromObj3D(), WlzCMeshIntersectDom2D5(), WlzCMeshTransformManyObjAsIdx(), WlzConComThreshold(), WlzCopyValues(), WlzDGTensorFeatures(), WlzDistanceTransform(), WlzDomainFill3D(), WlzDomainNearby(), WlzGauss2(), WlzGetPatchTree(), WlzGetProjectionFromObject(), WlzGreyModGradient(), WlzGreySetValue(), WlzImageArithmetic(), WlzIndexObjFromCompound(), WlzIndexObjToCompound(), WlzInit3DViewStruct(), WlzInteriority(), WlzInteriorityN(), WlzLabel3D(), WlzLaplacian(), WlzLineSkeleton(), WlzLineSkeletonSegment(), WlzMakeCompoundArray(), WlzMakeMain(), WlzMakePatchTree(), WlzMakeTiledValuesObj2D(), WlzMakeTiledValuesObj3D(), WlzObjToConvexHull(), WlzOffsetDist(), WlzPatchTreeToObject(), WlzPointsFromDomObj(), WlzPolyToObj(), WlzProj3DToSection(), WlzRegCCorObjs(), WlzRegConCalcRCC(), WlzRegisterPatchTreeBF(), WlzRGBAMultiThreshold(), WlzScalarFeatures2D(), WlzSepTrans(), WlzSobel(), WlzSplitObj(), and WlzXORDom().
WlzCompoundArray* WlzAssignCompoundArray | ( | WlzCompoundArray * | obj, |
WlzErrorNum * | dstErr | ||
) |
Assign a compound array (increment it's linkcount) by first checking for NULL, then the value of linkcount, before incrementing the linkcount. If used concientiously, assignment should avoid memory errors.
obj | Given compound array. |
dstErr | Destination error pointer, may be NULL. |
References WlzAssignObject().
WlzDomain WlzAssignDomain | ( | WlzDomain | domain, |
WlzErrorNum * | dstErr | ||
) |
Assign a domain by incrementing it's linkcount.
domain | Given domain. |
dstErr | Destination error pointer, may be NULL. |
References _WlzDomain::core, _WlzCoreDomain::linkcount, WLZ_ERR_DOMAIN_NULL, WLZ_ERR_LINKCOUNT_DATA, and WLZ_ERR_NONE.
Referenced by Wlz3DSectionSegmentObject(), WlzBasisFnTransformBoundList(), WlzBoundaryToObj(), WlzClipObjToBox3D(), WlzCMeshCompSurfMap(), WlzConstruct3DObjFromFile(), WlzConstruct3DObjFromObj(), WlzCopyDomain(), WlzDGTensorFeatures(), WlzDiffDomain3d(), WlzFillBlankPlanes(), WlzFromArray1D(), WlzIntersect3d(), WlzLabel3D(), WlzMakeCuboid(), WlzMakeCuboidObject(), WlzMakeMain(), WlzMakeSphereObject(), WlzObjToBoundary(), WlzPolygonToObj(), WlzShiftDomain(), and WlzUnion3d().
WlzValues WlzAssignValues | ( | WlzValues | values, |
WlzErrorNum * | dstErr | ||
) |
Assign a values by incrementing it's linkcount.
values | Given values. |
dstErr | Destination error pointer, may be NULL. |
References _WlzValues::core, _WlzCoreValues::linkcount, WLZ_ERR_LINKCOUNT_DATA, WLZ_ERR_NONE, and WLZ_ERR_VALUES_NULL.
Referenced by WlzBasisFnInvertMakeCMeshTr2D(), WlzBasisFnInvertMakeCMeshTr3D(), WlzBasisFnMakeCMeshTr2D(), WlzBasisFnMakeCMeshTr3D(), WlzBSplineToDomain(), WlzClipObjToBox3D(), WlzCMeshTransformFromObj(), WlzConstruct3DObjFromFile(), WlzConstruct3DObjFromObj(), WlzCopyScaleCMeshValue(), WlzCopyValues(), WlzDiffDomain3d(), WlzDistanceTransform(), WlzDomainFill3D(), WlzFillBlankPlanes(), WlzFromArray1D(), WlzGetProjectionFromObject(), WlzGreyMeanDifference(), WlzGreyTransfer(), WlzIntersect3d(), WlzIntersectN(), WlzLabel3D(), WlzLBTMakeNodeIndexObj2D(), WlzLBTMakeNodeIndexObj3D(), WlzMakeCuboid(), WlzMakeMain(), WlzNewTiledValues(), WlzNewValuesVox(), WlzScalarBinaryOp2(), WlzShiftValues(), WlzUnion3d(), and WlzUnionN().
WlzProperty WlzAssignProperty | ( | WlzProperty | property, |
WlzErrorNum * | dstErr | ||
) |
Assign a property by incrementing it's linkcount.
property | Given property. |
dstErr | Destination error pointer, may be NULL. |
References _WlzProperty::core, _WlzCoreProperty::linkcount, WLZ_ERR_LINKCOUNT_DATA, WLZ_ERR_NONE, and WLZ_ERR_PROPERTY_NULL.
WlzAffineTransform* WlzAssignAffineTransform | ( | WlzAffineTransform * | trans, |
WlzErrorNum * | dstErr | ||
) |
Assign an affine transform by incrementing it's linkcount.
trans | Given affine transform. |
dstErr | Destination error pointer, may be NULL. |
References _WlzAffineTransform::linkcount, WLZ_ERR_LINKCOUNT_DATA, WLZ_ERR_NONE, and WLZ_ERR_OBJECT_NULL.
Referenced by WlzMake3DViewStruct(), WlzMake3DViewStructCopy(), and WlzMatchICPCtr().
WlzTransform WlzAssignTransform | ( | WlzTransform | t, |
WlzErrorNum * | dstErr | ||
) |
Assign a transform by incrementing it's linkcount.
t | Given transform. |
dstErr | Destination error pointer, may be NULL. |
References _WlzTransform::core, _WlzCoreTransform::linkcount, WLZ_ERR_LINKCOUNT_DATA, and WLZ_ERR_NONE.
WlzThreeDViewStruct* WlzAssign3DViewStruct | ( | WlzThreeDViewStruct * | viewStr, |
WlzErrorNum * | dstErr | ||
) |
Assign an woolz 3D view structure by incrementing it's linkcount.
viewStr | Given 3D view structure. |
dstErr | Destination error pointer, may be NULL. |
References _WlzThreeDViewStruct::linkcount, WLZ_ERR_LINKCOUNT_DATA, WLZ_ERR_NONE, and WLZ_ERR_OBJECT_NULL.
WlzBoundList* WlzAssignBoundList | ( | WlzBoundList * | blist, |
WlzErrorNum * | dstErr | ||
) |
Assign a boundary list by incrementing it's linkcount.
blist | Given boundary list. |
dstErr | Destination error pointer, may be NULL. |
References _WlzBoundList::linkcount, WLZ_ERR_LINKCOUNT_DATA, WLZ_ERR_NONE, and WLZ_ERR_OBJECT_NULL.
Referenced by WlzBoundDecimate(), WlzBoundSmooth(), and WlzConvertBoundType().
WlzPolygonDomain* WlzAssignPolygonDomain | ( | WlzPolygonDomain * | poly, |
WlzErrorNum * | dstErr | ||
) |
Assign a polygon domain by incrementing it's linkcount.
poly | Given boundary list. |
dstErr | Destination error pointer, may be NULL. |
References _WlzPolygonDomain::linkcount, WLZ_ERR_LINKCOUNT_DATA, WLZ_ERR_NONE, and WLZ_ERR_OBJECT_NULL.
Referenced by WlzBoundDecimate(), WlzBoundSmooth(), WlzConvertBoundType(), and WlzMakeBoundList().
WlzGMModel* WlzAssignGMModel | ( | WlzGMModel * | model, |
WlzErrorNum * | dstErr | ||
) |
Assign a geometric model by incrementing it's linkcount.
model | Given geometric model. |
dstErr | Destination error pointer, may be NULL. |
References _WlzGMModel::linkcount, WLZ_ERR_LINKCOUNT_DATA, and WLZ_ERR_NONE.
Referenced by WlzAffineTransformContour(), WlzAffineTransformGMModel(), WlzBasisFnTransformContour(), WlzCMeshToContour(), WlzContourGrdObj2D(), WlzCopyDomain(), and WlzShiftDomain().
int WlzUnlink | ( | int * | linkcount, |
WlzErrorNum * | dstErr | ||
) |
Unlink an object, domain or values by decrementing and testing it's linkcount.
linkcount | Given linkcount pointer. |
dstErr | Destination error pointer, may be NULL. |
References WLZ_ERR_LINKCOUNT_DATA, WLZ_ERR_NONE, and WLZ_ERR_PARAM_NULL.
Referenced by WlzCMeshFree2D(), WlzCMeshFree2D5(), WlzCMeshFree3D(), WlzFree3DViewStruct(), WlzFreeAffineTransform(), WlzFreeBoundList(), WlzFreeBSpline(), WlzFreeContour(), WlzFreeConvexHullDomain2(), WlzFreeConvexHullDomain3(), WlzFreeDomain(), WlzFreeEMAPProperty(), WlzFreeEmptyTransform(), WlzFreeLUTValues(), WlzFreeObj(), WlzFreePlaneDomain(), WlzFreePolyDmn(), WlzFreeProperty(), WlzFreePropertyList(), WlzFreePropertyListEntry(), WlzFreeSimpleProperty(), WlzFreeTiledValues(), WlzFreeValues(), and WlzFreeVoxelValueTb().
WlzBSpline* WlzMakeBSpline | ( | WlzObjectType | type, |
int | order, | ||
int | maxKnots, | ||
WlzErrorNum * | dstErr | ||
) |
Creates a new B-spline domain. This can be freed using using WlzFreeDomain().
type | Type of B-spline domain: Must be either WLZ_BSPLINE_C2D or WLZ_BSPLINE_C3D. |
order | Must be in the range [1-5]. |
maxKnots | Maximum number of knots per dimension. |
dstErr | Destination error pointer, may be NULL. |
References AlcCalloc(), _WlzBSpline::coefficients, _WlzBSpline::knots, _WlzBSpline::maxKnots, _WlzBSpline::order, _WlzBSpline::type, WLZ_BSPLINE_C2D, WLZ_BSPLINE_C3D, WLZ_BSPLINE_ORDER_MAX, WLZ_BSPLINE_ORDER_MIN, WLZ_ERR_DOMAIN_DATA, WLZ_ERR_DOMAIN_TYPE, WLZ_ERR_MEM_ALLOC, and WLZ_ERR_NONE.
Referenced by WlzBSplineCopy(), and WlzBSplineFromVertices().
WlzErrorNum WlzFreeBSpline | ( | WlzBSpline * | bs | ) |
Frees a B-spline domain.
bs | Given B-spline domain. |
References AlcFree(), _WlzBSpline::linkcount, WLZ_ERR_NONE, and WlzUnlink().
Referenced by WlzAffineTransformBSpline(), and WlzFreeObj().
WlzBSpline* WlzBSplineCopy | ( | WlzBSpline * | srcBS, |
WlzErrorNum * | dstErr | ||
) |
Copies a B-spline domain.
srcBS | Given source B-spline domain. |
dstErr | Destination error pointer, may be NULL. |
References _WlzBSpline::coefficients, _WlzBSpline::knots, _WlzBSpline::maxKnots, _WlzBSpline::nKnots, _WlzBSpline::order, _WlzBSpline::type, WLZ_BSPLINE_C2D, WLZ_ERR_DOMAIN_NULL, WLZ_ERR_NONE, WlzMakeBSpline(), and WlzValueCopyDoubleToDouble().
Referenced by WlzAffineTransformBSpline(), and WlzCopyDomain().
WlzObject* WlzBuildObj3U | ( | WlzObject * | cObj, |
WlzIVertex3 | og, | ||
WlzIVertex2 | sz, | ||
int | bufSz, | ||
WlzUByte * | buf, | ||
WlzErrorNum * | dstErr | ||
) |
Wrapper for WlzBuildObj3() with WlzUByte values.
cObj | Given current object. |
og | Origin of rectangular buffer. |
sz | Buffer size (note 2D). |
bufSz | Number of values in the buffer (ie sz.vtX * sz.vtY). |
buf | Given buffer of values. |
dstErr | Destination error pointer, may be NULL. |
References _WlzGreyP::ubp, WLZ_GREY_UBYTE, and WlzBuildObj3().
WlzObject* WlzBuildObj3S | ( | WlzObject * | cObj, |
WlzIVertex3 | og, | ||
WlzIVertex2 | sz, | ||
int | bufSz, | ||
short * | buf, | ||
WlzErrorNum * | dstErr | ||
) |
Wrapper for WlzBuildObj3() with short values.
cObj | Given current object. |
og | Origin of rectangular buffer. |
sz | Buffer size (note 2D). |
bufSz | Number of values in the buffer (ie sz.vtX * sz.vtY). |
buf | Given buffer of values. |
dstErr | Destination error pointer, may be NULL. |
References _WlzGreyP::shp, WLZ_GREY_SHORT, and WlzBuildObj3().
WlzObject* WlzBuildObj3I | ( | WlzObject * | cObj, |
WlzIVertex3 | og, | ||
WlzIVertex2 | sz, | ||
int | bufSz, | ||
int * | buf, | ||
WlzErrorNum * | dstErr | ||
) |
Wrapper for WlzBuildObj3() with int values.
cObj | Given current object. |
og | Origin of rectangular buffer. |
sz | Buffer size (note 2D). |
bufSz | Number of values in the buffer (ie sz.vtX * sz.vtY). |
buf | Given buffer of values. |
dstErr | Destination error pointer, may be NULL. |
References _WlzGreyP::inp, WLZ_GREY_INT, and WlzBuildObj3().
WlzObject* WlzBuildObj3F | ( | WlzObject * | cObj, |
WlzIVertex3 | og, | ||
WlzIVertex2 | sz, | ||
int | bufSz, | ||
float * | buf, | ||
WlzErrorNum * | dstErr | ||
) |
Wrapper for WlzBuildObj3() with float values.
cObj | Given current object. |
og | Origin of rectangular buffer. |
sz | Buffer size (note 2D). |
bufSz | Number of values in the buffer (ie sz.vtX * sz.vtY). |
buf | Given buffer of values. |
dstErr | Destination error pointer, may be NULL. |
References _WlzGreyP::flp, WLZ_GREY_FLOAT, and WlzBuildObj3().
WlzObject* WlzBuildObj3D | ( | WlzObject * | cObj, |
WlzIVertex3 | og, | ||
WlzIVertex2 | sz, | ||
int | bufSz, | ||
double * | buf, | ||
WlzErrorNum * | dstErr | ||
) |
Wrapper for WlzBuildObj3() with double values.
cObj | Given current object. |
og | Origin of rectangular buffer. |
sz | Buffer size (note 2D). |
bufSz | Number of values in the buffer (ie sz.vtX * sz.vtY). |
buf | Given buffer of values. |
dstErr | Destination error pointer, may be NULL. |
References _WlzGreyP::dbp, WLZ_GREY_DOUBLE, and WlzBuildObj3().
WlzObject* WlzBuildObj3R | ( | WlzObject * | cObj, |
WlzIVertex3 | og, | ||
WlzIVertex2 | sz, | ||
int | bufSz, | ||
WlzUInt * | buf, | ||
WlzErrorNum * | dstErr | ||
) |
Wrapper for WlzBuildObj3() with RGBA values.
cObj | Given current object. |
og | Origin of rectangular buffer. |
sz | Buffer size (note 2D). |
bufSz | Number of values in the buffer (ie sz.vtX * sz.vtY). |
buf | Given buffer of values. |
dstErr | Destination error pointer, may be NULL. |
References _WlzGreyP::rgbp, WLZ_GREY_RGBA, and WlzBuildObj3().
WlzObject* WlzBuildObj3B | ( | WlzObject * | cObj, |
WlzIVertex3 | og, | ||
WlzIVertex2 | sz, | ||
WlzGreyType | gType, | ||
int | bufSz, | ||
char * | buf, | ||
WlzErrorNum * | dstErr | ||
) |
Wrapper for WlzBuildObj3() with buffer passed as bytes.
cObj | Given current object. |
og | Origin of rectangular buffer. |
sz | Buffer size (note 2D). |
gType | The grey type. |
bufSz | Number of values in the buffer (ie sz.vtX * sz.vtY * sizeof(<gType>))). |
buf | Given buffer of values. |
dstErr | Destination error pointer, may be NULL. |
References _WlzGreyP::ubp, WLZ_ERR_GREY_TYPE, WLZ_ERR_NONE, WlzBuildObj3(), and WlzGreySize().
WlzObject* WlzBuildObj3 | ( | WlzObject * | cObj, |
WlzIVertex3 | og, | ||
WlzIVertex2 | sz, | ||
WlzGreyType | gType, | ||
int | bufSz, | ||
WlzGreyP | bufP, | ||
WlzErrorNum * | dstErr | ||
) |
Creates a new or adds to an existing 3D spatial domain object using a rectangular buffer of values to a single plane of the given current object (which may be NULL or empty if the object is to be created). The returned object will share domains and values of planes other than the given plane with the current object.
cObj | Given current object. |
og | Origin of rectangular buffer. |
sz | Buffer size (note 2D). |
gType | Grey type which must be consistent with the current object (if it is valid) and the buffer of values. |
bufSz | Number of values in the buffer (ie sz.vtX * sz.vtY). |
bufP | Given buffer of values. |
dstErr | Destination error pointer, may be NULL. |
References ALG_MAX, ALG_MIN, _WlzValues::core, _WlzDomain::core, _WlzObject::domain, _WlzPlaneDomain::domains, _WlzGreyV::inv, _WlzPlaneDomain::kol1, _WlzPlaneDomain::lastkl, _WlzPlaneDomain::lastln, _WlzPlaneDomain::lastpl, _WlzPlaneDomain::line1, _WlzDomain::p, _WlzPlaneDomain::plane1, _WlzPixelV::type, _WlzObject::type, _WlzPixelV::v, _WlzObject::values, _WlzVoxelValues::values, _WlzValues::vox, _WlzPlaneDomain::voxel_size, _WlzIVertex2::vtX, _WlzIVertex3::vtX, _WlzIVertex2::vtY, _WlzIVertex3::vtY, _WlzIVertex3::vtZ, WLZ_2D_DOMAINOBJ, WLZ_3D_DOMAINOBJ, WLZ_EMPTY_OBJ, WLZ_ERR_DOMAIN_NULL, WLZ_ERR_GREY_TYPE, WLZ_ERR_NONE, WLZ_ERR_OBJECT_TYPE, WLZ_ERR_VALUES_NULL, WLZ_GREY_ERROR, WLZ_GREY_INT, WLZ_PLANEDOMAIN_DOMAIN, WLZ_VOXELVALUETABLE_GREY, WlzGetBackground(), WlzGreyTypeFromObj(), WlzMakeMain(), WlzMakePlaneDomain(), WlzMakeVoxelValueTb(), _WlzIBox3::xMax, _WlzIBox3::xMin, _WlzIBox3::yMax, _WlzIBox3::yMin, _WlzIBox3::zMax, and _WlzIBox3::zMin.
Referenced by WlzBuildObj3B(), WlzBuildObj3D(), WlzBuildObj3F(), WlzBuildObj3I(), WlzBuildObj3R(), WlzBuildObj3S(), and WlzBuildObj3U().
WlzObject* WlzConstruct3DObjFromFile | ( | int | nFileStr, |
char ** | fileStr, | ||
int | plane1, | ||
float | xSz, | ||
float | ySz, | ||
float | zSz, | ||
WlzErrorNum * | dstErr | ||
) |
Constructs a 3D domain object from 2D domain objects read from the given files. Each file is read in turn and added to the 3D object. An empty plane can be specified by setting the file string to NULL. Either all or none of the 2D objects must have values. When the 2D objects have values then the background value of the first 2D object is set to be the background value of the 3D object.
nFileStr | Number of file strings. |
fileStr | File strings. |
plane1 | The plane coordinate of the first 2D object. |
xSz | Column voxel size. |
ySz | Line voxel size. |
zSz | Plane voxel size. |
dstErr | Destination error pointer, may be NULL. |
References _WlzValues::core, _WlzDomain::core, _WlzObject::domain, _WlzPlaneDomain::domains, _WlzDomain::p, _WlzObject::type, _WlzObject::values, _WlzVoxelValues::values, _WlzValues::vox, _WlzPlaneDomain::voxel_size, WLZ_2D_DOMAINOBJ, WLZ_3D_DOMAINOBJ, WLZ_EMPTY_OBJ, WLZ_ERR_DOMAIN_NULL, WLZ_ERR_NONE, WLZ_ERR_OBJECT_TYPE, WLZ_ERR_PARAM_NULL, WLZ_ERR_READ_EOF, WLZ_ERR_VALUES_NULL, WLZ_PLANEDOMAIN_DOMAIN, WLZ_VOXELVALUETABLE_GREY, WlzAssignDomain(), WlzAssignValues(), WlzFreeDomain(), WlzFreeObj(), WlzFreeValues(), WlzGetBackground(), WlzMakeMain(), WlzMakePlaneDomain(), WlzMakeVoxelValueTb(), WlzReadObj(), and WlzStandardPlaneDomain().
WlzObject* WlzConstruct3DObjFromObj | ( | int | nObjs, |
WlzObject ** | objs, | ||
int | plane1, | ||
float | xSz, | ||
float | ySz, | ||
float | zSz, | ||
WlzErrorNum * | dstErr | ||
) |
Constructs a 3D domain object from 2D domain objects. Each 2D object is assigned in turn to the 3D object no domains or values are copied. An empty can be specified by setting the 2D object to NULL. Either all or none of the 2D objects must have values. When the 2D objects have values then the background value of the first 2D object is set to be the background value of the 3D object.
nObjs | Number of objects. |
objs | The 2D objects, the first of which MUST not be NULL. |
plane1 | The plane coordinate of the first 2D object. |
xSz | Column voxel size. |
ySz | Line voxel size. |
zSz | Plane voxel size. |
dstErr | Destination error pointer, may be NULL. |
References _WlzValues::core, _WlzDomain::core, _WlzObject::domain, _WlzPlaneDomain::domains, _WlzDomain::p, _WlzObject::type, _WlzObject::values, _WlzVoxelValues::values, _WlzValues::vox, _WlzPlaneDomain::voxel_size, WLZ_2D_DOMAINOBJ, WLZ_3D_DOMAINOBJ, WLZ_EMPTY_OBJ, WLZ_ERR_DOMAIN_NULL, WLZ_ERR_NONE, WLZ_ERR_OBJECT_NULL, WLZ_ERR_OBJECT_TYPE, WLZ_ERR_PARAM_NULL, WLZ_ERR_VALUES_NULL, WLZ_PLANEDOMAIN_DOMAIN, WLZ_VOXELVALUETABLE_GREY, WlzAssignDomain(), WlzAssignValues(), WlzFreeDomain(), WlzFreeValues(), WlzGetBackground(), WlzMakeMain(), WlzMakePlaneDomain(), WlzMakeVoxelValueTb(), and WlzStandardPlaneDomain().
WlzObject* WlzCopyObject | ( | WlzObject * | inObj, |
WlzErrorNum * | dstErr | ||
) |
Copies a Woolz object together with it's domain, values and properties and then returns the copy.
inObj | The given object. |
dstErr | Destination error pointer, may be NULL. |
References AlcVectorFree(), _WlzIndexedValues::attach, _WlzDomain::cm2, _WlzValues::core, _WlzDomain::core, _WlzIndexedValues::dim, _WlzObject::domain, _WlzCMeshP::m2, _WlzObject::plist, _WlzIndexedValues::rank, _WlzObject::type, _WlzCoreValues::type, _WlzObject::values, _WlzIndexedValues::values, _WlzIndexedValues::vType, WLZ_2D_DOMAINOBJ, WLZ_2D_POLYGON, WLZ_3D_DOMAINOBJ, WLZ_3D_POLYGON, WLZ_3D_VIEW_STRUCT, WLZ_3D_WARP_TRANS, WLZ_AFFINE_TRANS, WLZ_BOUNDLIST, WLZ_CMESH_2D, WLZ_CMESH_2D5, WLZ_CMESH_3D, WLZ_COMPOUND_ARR_1, WLZ_COMPOUND_ARR_2, WLZ_COMPOUND_LIST_1, WLZ_COMPOUND_LIST_2, WLZ_CONTOUR, WLZ_CONV_HULL, WLZ_CONVOLVE_FLOAT, WLZ_CONVOLVE_INT, WLZ_EMPTY_OBJ, WLZ_ERR_NONE, WLZ_ERR_OBJECT_NULL, WLZ_ERR_OBJECT_TYPE, WLZ_ERR_VALUES_TYPE, WLZ_FMATCHOBJ, WLZ_HISTOGRAM, WLZ_INDEXED_VALUES, WLZ_LUT, WLZ_PROPERTY_OBJ, WLZ_RECTANGLE, WLZ_SPLINE, WLZ_TEXT, WLZ_TRANS_OBJ, WLZ_WARP_TRANS, WlzCMeshCopy(), WlzCopyDomain(), WlzCopyPropertyList(), WlzCopyValues(), WlzFreeDomain(), WlzFreePropertyList(), WlzFreeValues(), WlzIndexedValueSize(), WlzMakeEmpty(), WlzMakeIndexedValues(), WlzMakeMain(), and _WlzValues::x.
Referenced by Wlz2DContains(), WlzCopyValues(), WlzGreyScale(), WlzGreyShift(), WlzGreyTransfer(), WlzGreyValueMixing_s(), and WlzTransformProduct().
WlzDomain WlzCopyDomain | ( | WlzObjectType | inObjType, |
WlzDomain | inDom, | ||
WlzErrorNum * | dstErr | ||
) |
Copies the given objects domain.
inObjType | Type of given domain's parent object. |
inDom | Domain to be copied. |
dstErr | Destination error pointer, may be NULL. |
References _WlzDomain::b, _WlzLUTDomain::bin1, _WlzHistogramDomain::binSize, _WlzHistogramDomain::binValues, _WlzDomain::bs, _WlzDomain::cm2, _WlzDomain::cm2d5, _WlzDomain::cm3, _WlzDomain::core, _WlzDomain::ctr, _WlzDomain::cvh2, _WlzDomain::cvh3, _WlzPlaneDomain::domains, _WlzBoundList::down, _WlzDomain::hist, _WlzDomain::i, _WlzPlaneDomain::kol1, _WlzLUTDomain::lastbin, _WlzPlaneDomain::lastkl, _WlzPlaneDomain::lastln, _WlzPlaneDomain::lastpl, _WlzPlaneDomain::line1, _WlzDomain::lut, _WlzHistogramDomain::maxBins, _WlzPolygonDomain::maxvertices, _WlzContour::model, _WlzHistogramDomain::nBins, _WlzBoundList::next, _WlzPolygonDomain::nvertices, _WlzHistogramDomain::origin, _WlzDomain::p, _WlzPlaneDomain::plane1, _WlzDomain::poly, _WlzBoundList::poly, _WlzDomain::t, _WlzCoreDomain::type, _WlzIntervalDomain::type, _WlzPlaneDomain::type, _WlzPolygonDomain::type, _WlzBoundList::type, _WlzHistogramDomain::type, _WlzPlaneDomain::voxel_size, _WlzDomain::vs3d, _WlzPolygonDomain::vtx, _WlzConvHullDomain2::vtxType, _WlzConvHullDomain3::vtxType, WLZ_2D_DOMAINOBJ, WLZ_2D_POLYGON, WLZ_3D_DOMAINOBJ, WLZ_3D_POLYGON, WLZ_3D_VIEW_STRUCT, WLZ_3D_WARP_TRANS, WLZ_AFFINE_TRANS, WLZ_BOUNDLIST, WLZ_CMESH_2D, WLZ_CMESH_2D5, WLZ_CMESH_3D, WLZ_COMPOUND_ARR_1, WLZ_COMPOUND_ARR_2, WLZ_COMPOUND_LIST_1, WLZ_COMPOUND_LIST_2, WLZ_CONTOUR, WLZ_CONV_HULL, WLZ_CONVHULL_DOMAIN_2D, WLZ_CONVHULL_DOMAIN_3D, WLZ_CONVOLVE_FLOAT, WLZ_CONVOLVE_INT, WLZ_EMPTY_OBJ, WLZ_ERR_DOMAIN_NULL, WLZ_ERR_DOMAIN_TYPE, WLZ_ERR_NONE, WLZ_ERR_OBJECT_TYPE, WLZ_ERR_UNIMPLEMENTED, WLZ_FMATCHOBJ, WLZ_GREY_DOUBLE, WLZ_GREY_INT, WLZ_HISTOGRAM, WLZ_HISTOGRAMDOMAIN_INT, WLZ_LUT, WLZ_PROPERTY_OBJ, WLZ_RECTANGLE, WLZ_SPLINE, WLZ_TEXT, WLZ_TRANS_OBJ, WLZ_WARP_TRANS, WlzAffineTransformCopy(), WlzAssignDomain(), WlzAssignGMModel(), WlzBSplineCopy(), WlzCMeshCopy2D(), WlzCMeshCopy2D5(), WlzCMeshCopy3D(), WlzConvexHullCopy2(), WlzConvexHullCopy3(), WlzFreeBoundList(), WlzFreeDomain(), WlzFreePolyDmn(), WlzGMModelCopy(), WlzMake3DViewStructCopy(), WlzMakeBoundList(), WlzMakeContour(), WlzMakeHistogramDomain(), WlzMakeLUTDomain(), WlzMakePlaneDomain(), WlzMakePolygonDomain(), WlzNewIDomain(), WlzValueCopyGreyToGrey(), and _WlzBoundList::wrap.
Referenced by WlzCopyObject(), WlzDiffDomain3d(), and WlzUnion3d().
WlzValues WlzCopyValues | ( | WlzObjectType | inObjType, |
WlzValues | inVal, | ||
WlzDomain | inDom, | ||
WlzErrorNum * | dstErr | ||
) |
Copies the given values.
inObjType | Type of given values parent object. |
inVal | Values to be copied. |
inDom | Domain over which values are defined (parent object's domain). |
dstErr | Destination error pointer, may be NULL. |
References _WlzVoxelValues::bckgrnd, _WlzValues::core, _WlzDomain::core, _WlzPlaneDomain::domains, _WlzVoxelValues::lastpl, _WlzCoreValues::linkcount, _WlzValues::lut, _WlzValues::obj, _WlzDomain::p, _WlzVoxelValues::plane1, _WlzCoreDomain::type, _WlzCoreValues::type, _WlzVoxelValues::type, _WlzObject::values, _WlzVoxelValues::values, _WlzValues::vox, WLZ_2D_DOMAINOBJ, WLZ_3D_DOMAINOBJ, WLZ_ERR_DOMAIN_NULL, WLZ_ERR_DOMAIN_TYPE, WLZ_ERR_NONE, WLZ_ERR_VALUES_NULL, WLZ_ERR_VALUES_TYPE, WLZ_LUT, WLZ_PLANEDOMAIN_DOMAIN, WLZ_TRANS_OBJ, WLZ_VOXELVALUETABLE_GREY, WlzAssignObject(), WlzAssignValues(), WlzCopyObject(), WlzFreeObj(), WlzFreeValues(), WlzGreyTableIsTiled(), WlzMakeMain(), WlzMakeVoxelValueTb(), and WlzNewGrey().
Referenced by WlzCMeshExpValues(), WlzCopyObject(), WlzGreyModGradient(), and WlzUnion3d().
WlzPropertyList* WlzCopyPropertyList | ( | WlzPropertyList * | gList, |
WlzErrorNum * | dstErr | ||
) |
Copies the given property list.
A new property list is created with a zero link count and a linked list for the properties. Each property of given list is then copied and assigned to the new list. The order of the properties in the new list is the same as that in the given list, although a property that occurs more than once in the given list will have many copies created.
gList | Given property list. |
dstErr | Destination error pointer, may be NULL. |
References _WlzProperty::core, _AlcDLPItem::entry, _AlcDLPList::head, _WlzPropertyList::list, _WlzProperty::simple, _WlzCoreProperty::type, WLZ_ERR_MEM_ALLOC, WLZ_ERR_NONE, WLZ_ERR_PROPERTY_NULL, WLZ_PROPERTY_SIMPLE, and WlzMakePropertyList().
Referenced by WlzCopyObject().
WlzIndexedValues* WlzCopyIndexedValues | ( | WlzIndexedValues * | inV, |
WlzErrorNum * | dstErr | ||
) |
Copies the given indexed values.
inV | Given indexed values. |
dstErr | Destination error pointer, may be NULL. |
References AlcCalloc(), AlcMalloc(), AlcVectorCount(), AlcVectorNew(), _WlzIndexedValues::attach, _AlcVector::blkSz, _AlcVector::blkUse, _AlcVector::blocks, _WlzIndexedValues::dim, _AlcVector::elmSz, _WlzIndexedValues::rank, _WlzIndexedValues::type, _WlzIndexedValues::values, _WlzIndexedValues::vType, WLZ_ERR_MEM_ALLOC, WLZ_ERR_NONE, WLZ_ERR_VALUES_NULL, WLZ_ERR_VALUES_TYPE, WLZ_INDEXED_VALUES, WlzFreeIndexedValues(), and WlzIndexedValueSize().
Referenced by WlzCMeshDispToField().
WlzErrorNum WlzCopyObjectGreyValues | ( | WlzObject * | dObj, |
WlzObject * | sObj | ||
) |
Copies the grey values of the source object to the destination object, overwriting the values of the destination object.
dObj | Destination object. |
sObj | Source object. |
References _WlzValues::core, _WlzDomain::core, _WlzObject::domain, _WlzObject::type, _WlzObject::values, WLZ_2D_DOMAINOBJ, WLZ_ERR_DOMAIN_NULL, WLZ_ERR_NONE, WLZ_ERR_OBJECT_NULL, WLZ_ERR_OBJECT_TYPE, and WLZ_ERR_VALUES_NULL.
Referenced by WlzMakeTiledValuesObj2D(), and WlzMakeTiledValuesObj3D().
WlzErrorNum WlzFreeObj | ( | WlzObject * | obj | ) |
Free space allocated to a woolz object.
obj | Object to be freed. |
References AlcFree(), _WlzObject::assoc, _WlzDomain::b, _WlzDomain::bs, _WlzDomain::cm2, _WlzDomain::cm2d5, _WlzDomain::cm3, _WlzValues::core, _WlzDomain::core, _WlzDomain::ctr, _WlzDomain::cvh2, _WlzDomain::cvh3, _WlzObject::domain, _WlzDomain::hist, _WlzDomain::i, _WlzObject::linkcount, _WlzIntervalDomain::linkcount, _WlzPlaneDomain::linkcount, _WlzCoreValues::linkcount, _WlzCompoundArray::n, _WlzCompoundArray::o, _WlzValues::obj, _WlzDomain::p, _WlzObject::plist, _WlzDomain::poly, _WlzValues::pts, _WlzDomain::pts, _WlzDomain::r, _WlzValues::t, _WlzDomain::t, _WlzObject::type, _WlzCoreDomain::type, _WlzCoreValues::type, _WlzValues::v, _WlzObject::values, _WlzValues::vox, WLZ_2D_DOMAINOBJ, WLZ_2D_POLYGON, WLZ_3D_DOMAINOBJ, WLZ_AFFINE_TRANS, WLZ_BOUNDLIST, WLZ_CMESH_2D, WLZ_CMESH_2D5, WLZ_CMESH_3D, WLZ_COMPOUND_ARR_1, WLZ_COMPOUND_ARR_2, WLZ_CONTOUR, WLZ_CONV_HULL, WLZ_CONVHULL_DOMAIN_2D, WLZ_CONVHULL_DOMAIN_3D, WLZ_DBG, WLZ_DBG_ALLOC, WLZ_DBG_LVL_1, WLZ_DBG_LVL_FN, WLZ_EMPTY_OBJ, WLZ_ERR_DOMAIN_TYPE, WLZ_ERR_MEM_FREE, WLZ_ERR_NONE, WLZ_ERR_OBJECT_TYPE, WLZ_GREY_TAB_TILED, WLZ_HISTOGRAM, WLZ_LUT, WLZ_POINTS, WLZ_PROPERTY_OBJ, WLZ_RECTANGLE, WLZ_SPLINE, WLZ_TRANS_OBJ, WlzCMeshFree2D(), WlzCMeshFree2D5(), WlzCMeshFree3D(), WlzFreeAffineTransform(), WlzFreeBoundList(), WlzFreeBSpline(), WlzFreeContour(), WlzFreeConvexHullDomain2(), WlzFreeConvexHullDomain3(), WlzFreeDomain(), WlzFreeIndexedValues(), WlzFreeLUTValues(), WlzFreePlaneDomain(), WlzFreePointValues(), WlzFreePolyDmn(), WlzFreePropertyList(), WlzFreeTiledValues(), WlzFreeValueTb(), WlzFreeVoxelValueTb(), WlzGreyTableIsTiled(), WlzUnlink(), and _WlzValues::x.
Referenced by Wlz2DContains(), Wlz3DSectionOcc(), Wlz3DSectionSegmentObject(), Wlz3DViewTransformBitmap(), WlzBasisFnInvertMakeCMeshTr2D(), WlzBasisFnInvertMakeCMeshTr3D(), WlzBasisFnMakeCMeshTr2D(), WlzBasisFnMakeCMeshTr3D(), WlzBasisFnTransformRandom(), WlzBoundaryDomain(), WlzBoundaryToObj(), WlzBoundTo8Bound(), WlzBoundToObj(), WlzBSplineToDomain(), WlzCannyDeriche(), WlzCCorS2D(), WlzClipObjToBox2D(), WlzClipObjToBox3D(), WlzCMeshCompSurfMapToDomain(), WlzCMeshComputeCurvatures(), WlzCMeshComputeCurvaturesFromNodNorm(), WlzCMeshComputeNormalsElm(), WlzCMeshComputeNormalsIxv2D5(), WlzCMeshComputeNormalsNod(), WlzCMeshDispToField(), WlzCMeshDistance2D(), WlzCMeshDistance3D(), WlzCMeshFlatten2D5(), WlzCMeshFromObj2D(), WlzCMeshFromObj3D(), WlzCMeshIntersectDom2D5(), WlzCMeshSetDispFromField(), WlzCMeshTransformFromObj(), WlzCMeshTransformManyObjAsIdx(), WlzConstruct3DObjFromFile(), WlzContourRBFBndObj3D(), WlzCopyValues(), WlzDbgObjWrite(), WlzDGTensorFeatures(), WlzDGTensorSDFeature(), WlzDiffDomain(), WlzDiffDomain3d(), WlzDistanceTransform(), WlzDomainFill(), WlzDomainFill3D(), WlzDomainNearby(), WlzDomainOccupancy(), WlzEffReadObjJpeg(), WlzEffWriteObjBmp2D(), WlzEffWriteObjJpeg(), WlzEffWriteObjPnm2D(), WlzEffWriteObjTxt(), WlzExplode3D(), WlzFillBlankPlanes(), WlzFree3DViewStruct(), WlzFreeCompoundArray(), WlzFreePatchTree(), WlzFreeTransform(), WlzFromArray1D(), WlzGauss2(), WlzGaussFilter(), WlzGaussNoise(), WlzGetMaskedSectionFromObject(), WlzGetPatchTree(), WlzGetPatchTreeToDepth(), WlzGetProjectionFromObject(), WlzGreyMeanDifference(), WlzGreyModGradient(), WlzGreyScale(), WlzGreySetRange(), WlzGreySetRangeLut(), WlzGreySetValue(), WlzGreyShift(), WlzHyThreshold(), WlzIndexObjFromCompound(), WlzIndexObjToCompound(), WlzInit3DViewStruct(), WlzIntersect3d(), WlzIntersectN(), WlzIterateWSpFree(), WlzLabel3D(), WlzLaplacian(), WlzLBTDomain2DFromIDomain(), WlzLBTDomain3DFromPDomain(), WlzLineSkeleton(), WlzLineSkeletonSegment(), WlzLUTGreyTransformNew(), WlzMakeCuboidObject(), WlzMakeMarkers(), WlzMakeSphereObject(), WlzMakeStdStructElement(), WlzMakeTiledValuesObj2D(), WlzMakeTiledValuesObj3D(), WlzMarkerLattice(), WlzNewGrey(), WlzNewObjectValues(), WlzNewValuesVox(), WlzNObjGreyStats(), WlzObjToBoundary(), WlzObjToConvexHull(), WlzOffsetDist(), WlzPatchTreeToObject(), WlzPointsFromDomObj(), WlzPointsToDomObj(), WlzPolygonToObj(), WlzProj3DToSection(), WlzRegICPObjsGrd(), WlzRGBAGreyScale(), WlzRGBAGreyStats(), WlzRGBAImageArithmetic(), WlzRGBAModGradient(), WlzRGBAMultiThreshold(), WlzRGBAScalarBinaryOp(), WlzScalarBinaryOp2(), WlzScalarFeatures2D(), WlzScalarMulAdd(), WlzSepTrans(), WlzSetBackground(), WlzSobel(), WlzSplitMontageObj(), WlzSplitObj(), WlzTensorSmooth(), WlzToArray1D(), WlzUnion3d(), WlzUnionN(), WlzVerifyObject(), WlzVerticesFromObj3I(), WlzVerticesFromObjBnd3I(), WlzVolume(), and WlzXORDom().
WlzErrorNum WlzFreeCompoundArray | ( | WlzCompoundArray * | obj | ) |
Free space allocated to a woolz compound array object.
obj | Compound array object to be freed. |
References WlzFreeObj().
WlzErrorNum WlzFreeIntervalDomain | ( | WlzIntervalDomain * | idom | ) |
Free an interval domain - convenience link to WlzFreeDomain()
idom | interval domain pointer to be freed. |
References _WlzDomain::i, and WlzFreeDomain().
Referenced by Wlz3DSectionSegmentObject(), WlzDiffDomain(), WlzIntersectN(), WlzMakeCircleObject(), WlzNewIDomain(), WlzProfileLineIDom(), WlzStandardPlaneDomain(), and WlzUnionN().
WlzErrorNum WlzFreeHistogramDomain | ( | WlzHistogramDomain * | hist | ) |
Free a histogram domain.
hist | Histogram domain to be freed. |
References _WlzDomain::hist, and WlzFreeDomain().
Referenced by WlzBasisFnFree().
WlzErrorNum WlzFreeDomain | ( | WlzDomain | domain | ) |
Free a domain structure of any type. All domain structures must have a type and linkcount. Most also have a freeptr by which, if set, all the space allocated can be freed, however there are some special cases.
domain | Domain to be freed. |
References ALC_ER_NONE, AlcFree(), AlcFreeStackFree(), _WlzDomain::cm2, _WlzDomain::cm3, _WlzDomain::core, _WlzCoreDomain::freeptr, _WlzCoreDomain::linkcount, _WlzCoreDomain::type, _WlzDomain::vs3d, WLZ_3D_VIEW_STRUCT, WLZ_CMESH_2D, WLZ_CMESH_3D, WLZ_ERR_MEM_FREE, WLZ_ERR_NONE, WlzCMeshFree2D(), WlzCMeshFree3D(), WlzFree3DViewStruct(), and WlzUnlink().
Referenced by WlzAffineTransformPoints(), WlzBasisFnTransformObj(), WlzBSplineEvalPoints(), WlzBSplineFromVertices(), WlzCMeshTransformFromObj(), WlzConstruct3DObjFromFile(), WlzConstruct3DObjFromObj(), WlzCopyDomain(), WlzCopyObject(), WlzDGTensorFeatures(), WlzFreeHistogramDomain(), WlzFreeIntervalDomain(), WlzFreeLBTDomain2D(), WlzFreeLBTDomain3D(), WlzFreeObj(), WlzFreePlaneDomain(), WlzFromArray1D(), WlzGetProjectionFromObject(), WlzLineSkeletonSegment(), WlzMakeCuboid(), WlzMakeLUTObject(), WlzMakeQuadrilateral(), WlzMakeRect(), WlzMakeTiledValuesObj2D(), WlzMakeTiledValuesObj3D(), WlzShiftDomain(), and WlzShiftObject().
WlzErrorNum WlzFreePlaneDomain | ( | WlzPlaneDomain * | planedm | ) |
Free a planedomain.
planedm | Pointer to planedomain structure to be freed. |
References AlcFree(), _WlzPlaneDomain::domains, _WlzPlaneDomain::lastpl, _WlzPlaneDomain::linkcount, _WlzPlaneDomain::plane1, _WlzPlaneDomain::type, WLZ_ERR_NONE, WLZ_ERR_PLANEDOMAIN_TYPE, WLZ_PLANEDOMAIN_AFFINE, WLZ_PLANEDOMAIN_BOUNDLIST, WLZ_PLANEDOMAIN_DOMAIN, WLZ_PLANEDOMAIN_HISTOGRAM, WLZ_PLANEDOMAIN_POLYGON, WlzFreeAffineTransform(), WlzFreeBoundList(), WlzFreeDomain(), WlzFreePolyDmn(), and WlzUnlink().
Referenced by Wlz3DSectionSegmentObject(), WlzBoundaryToObj(), WlzFree3DWarpTrans(), WlzFreeObj(), WlzFromArray1D(), WlzMakeCuboidObject(), WlzMakeSphereObject(), WlzObjToBoundary(), and WlzPolygonToObj().
WlzErrorNum WlzFreeValueTb | ( | WlzRagRValues * | vdmn | ) |
Convenience routine to free a ragged rect valuetable.
vdmn | Value domain to be freed. |
References _WlzValues::v, WLZ_ERR_NONE, and WlzFreeValues().
Referenced by WlzFreeObj(), WlzIndexObjFromCompound(), WlzLUTTransformObj(), WlzMakeTiledValuesObj2D(), WlzNewValueTb(), and WlzStandardPlaneDomain().
WlzErrorNum WlzFreeValues | ( | WlzValues | values | ) |
Free a values structure, currently only WlzRagRValues and WlzRectValues DO NOT call this function with any other values structure types!
values | Values union to be freed. |
References AlcFree(), AlcFreeStackFree(), _WlzRagRValues::freeptr, _WlzRagRValues::linkcount, _WlzRagRValues::original_table, _WlzValues::v, WLZ_ERR_NONE, WLZ_ERR_VALUES_DATA, and WlzUnlink().
Referenced by WlzCMeshIntersectDom2D5(), WlzConstruct3DObjFromFile(), WlzConstruct3DObjFromObj(), WlzCopyObject(), WlzCopyValues(), WlzFreeValueTb(), WlzFreeVoxelValueTb(), WlzFromArray1D(), WlzMakeCuboid(), WlzMakeIntervalValues(), WlzMakeRect(), WlzShiftObject(), and WlzShiftValues().
WlzErrorNum WlzFreeVoxelValueTb | ( | WlzVoxelValues * | voxtab | ) |
Free a voxel value table.
voxtab |
References AlcFree(), AlcFreeStackFree(), _WlzVoxelValues::freeptr, _WlzVoxelValues::lastpl, _WlzVoxelValues::linkcount, _WlzVoxelValues::original_table, _WlzVoxelValues::plane1, _WlzVoxelValues::type, _WlzVoxelValues::values, _WlzValues::vox, WLZ_ERR_NONE, WLZ_ERR_VOXELVALUES_TYPE, WLZ_VOXELVALUETABLE_GREY, WlzFreeValues(), and WlzUnlink().
Referenced by WlzFreeObj(), WlzFromArray1D(), WlzIndexObjFromCompound(), WlzLUTTransformObj(), and WlzMakeTiledValuesObj3D().
WlzErrorNum WlzFreePolyDmn | ( | WlzPolygonDomain * | poly | ) |
Free a polygon domain.
poly | Polygon domain to be freed. |
References AlcFree(), _WlzPolygonDomain::linkcount, WLZ_ERR_NONE, and WlzUnlink().
Referenced by WlzBasisFnTransformPoly2(), WlzBoundaryToPolyObjArray(), WlzCMeshCompSurfMapToDomain(), WlzConvertPolyType(), WlzCopyDomain(), WlzFreeBoundList(), WlzFreeObj(), WlzFreePlaneDomain(), WlzPolySmooth(), and WlzShiftDomain().
WlzErrorNum WlzFreeBoundList | ( | WlzBoundList * | b | ) |
Recursively free a boundary list.
b | Boundary list structure to be freed (note this will call WlzFreeBoundList recursively). |
References AlcFree(), _WlzBoundList::down, _WlzBoundList::linkcount, _WlzBoundList::next, _WlzBoundList::poly, WLZ_ERR_NONE, WlzFreePolyDmn(), and WlzUnlink().
Referenced by WlzBasisFnTransformBoundList(), WlzBoundDecimate(), WlzBoundSmooth(), WlzConvertBoundType(), WlzCopyDomain(), WlzDomainFill(), WlzFreeObj(), WlzFreePlaneDomain(), and WlzShiftDomain().
WlzErrorNum WlzFree3DWarpTrans | ( | Wlz3DWarpTrans * | obj | ) |
Free a 3D warp transform.
obj | 3D warp transform object to be freed. |
References AlcFree(), _Wlz3DWarpTrans::intptdoms, _Wlz3DWarpTrans::pdom, WLZ_ERR_NONE, WLZ_ERR_OBJECT_NULL, and WlzFreePlaneDomain().
WlzErrorNum WlzFreeContour | ( | WlzContour * | ctr | ) |
Free's a WlzContour data structure.
ctr | Contour to be freed. |
References AlcFree(), _WlzGMModel::linkcount, _WlzContour::linkcount, _WlzContour::model, _WlzContour::type, WLZ_CONTOUR, WLZ_ERR_DOMAIN_NULL, WLZ_ERR_DOMAIN_TYPE, WLZ_ERR_NONE, WlzGMModelFree(), and WlzUnlink().
Referenced by WlzAffineTransformContour(), WlzBasisFnTransformContour(), WlzCMeshToContour(), and WlzFreeObj().
WlzErrorNum WlzFreeIndexedValues | ( | WlzIndexedValues * | ixv | ) |
Frees an indexed valuetable.
ixv | Given indexed valuetable. |
References AlcFree(), AlcVectorFree(), _WlzIndexedValues::dim, _WlzIndexedValues::rank, _WlzIndexedValues::type, _WlzIndexedValues::values, WLZ_ERR_NONE, WLZ_ERR_VALUES_NULL, WLZ_ERR_VALUES_TYPE, and WLZ_INDEXED_VALUES.
Referenced by WlzBasisFnMakeCMeshTr2D(), WlzBasisFnMakeCMeshTr3D(), WlzCMeshComputeCurvaturesFromNodNorm(), WlzCMeshComputeNormalsElm(), WlzCMeshComputeNormalsIxv2D5(), WlzCMeshComputeNormalsNod(), WlzCopyIndexedValues(), WlzFreeObj(), and WlzMakeIndexedValues().
WlzErrorNum WlzFreePointValues | ( | WlzPointValues * | pv | ) |
Frees a points valuetable.
pv | Given points valuetable. |
References AlcFree(), _WlzPointValues::dim, _WlzPointValues::rank, _WlzPointValues::type, _WlzGreyP::v, _WlzPointValues::values, WLZ_ERR_NONE, WLZ_ERR_VALUES_NULL, WLZ_ERR_VALUES_TYPE, and WLZ_POINT_VALUES.
Referenced by WlzFreeObj(), WlzMakePointValues(), and WlzPointValuesFromDomObj().
WlzLBTDomain2D* WlzMakeLBTDomain2D | ( | WlzObjectType | type, |
int | l1, | ||
int | ll, | ||
int | k1, | ||
int | kl, | ||
WlzErrorNum * | dstErr | ||
) |
Creates a linear binary tree domain without creating any nodes, leaving the nodes pointer NULL. Only the type, bounding box and depth are set. The depth \(d\) is set such that
\[ 2^d >= \max(k_l - k_1, l_l - l_1) + 1 \]
where \(k_1\), \(k_l\), \(l_1\) and \(l_l\) are the first column, last column, first line and last line respectively.
type | Type of domain, which must be WLZ_LBTDOMAIN_2D. |
l1 | First line. |
ll | last line. |
k1 | First column. |
kl | Last column. |
dstErr | Destination error pointer, may be NULL. |
References AlcCalloc(), AlgBitNextPowerOfTwo(), _WlzLBTDomain2D::depth, _WlzLBTDomain2D::kol1, _WlzLBTDomain2D::lastkl, _WlzLBTDomain2D::lastln, _WlzLBTDomain2D::line1, _WlzLBTDomain2D::type, WLZ_ERR_MEM_ALLOC, WLZ_ERR_NONE, WLZ_ERR_PARAM_DATA, WLZ_LBTDOMAIN_2D, and WLZ_MAX.
Referenced by WlzLBTDomain2DFromIDomain().
WlzLBTDomain3D* WlzMakeLBTDomain3D | ( | WlzObjectType | type, |
int | p1, | ||
int | pl, | ||
int | l1, | ||
int | ll, | ||
int | k1, | ||
int | kl, | ||
WlzErrorNum * | dstErr | ||
) |
Creates a linear binary tree domain without creating any nodes, leaving the nodes pointer NULL. Only the type, bounding box and depth are set. The depth \(d\) is set such that
\[ 2^d >= \max(p_l - p_1, k_l - k_1, l_l - l_1) + 1 \]
where \(k_1\), \(k_l\), \(l_1\) and \(l_l\) are the first column, last column, first line and last line respectively.
type | Type of domain, which must be WLZ_LBTDOMAIN_3D. |
p1 | First plane. |
pl | Last plane. |
l1 | First line. |
ll | Last line. |
k1 | First column. |
kl | Last column. |
dstErr | Destination error pointer, may be NULL. |
References AlcCalloc(), AlgBitNextPowerOfTwo(), _WlzLBTDomain3D::depth, _WlzLBTDomain3D::kol1, _WlzLBTDomain3D::lastkl, _WlzLBTDomain3D::lastln, _WlzLBTDomain3D::lastpl, _WlzLBTDomain3D::line1, _WlzLBTDomain3D::plane1, _WlzLBTDomain3D::type, WLZ_ERR_MEM_ALLOC, WLZ_ERR_NONE, WLZ_ERR_PARAM_DATA, WLZ_LBTDOMAIN_3D, and WLZ_MAX.
Referenced by WlzLBTDomain3DFromPDomain().
WlzErrorNum WlzFreeLBTDomain3D | ( | WlzLBTDomain3D * | lDom | ) |
Frees the given 3D linear binary tree domain.
lDom | Given LBT domain. |
References _WlzDomain::l3, WLZ_ERR_NONE, and WlzFreeDomain().
Referenced by WlzCMeshFromObj3D().
WlzErrorNum WlzFreeLBTDomain2D | ( | WlzLBTDomain2D * | lDom | ) |
Frees the given 2D linear binary tree domain.
lDom | Given LBT domain. |
References _WlzDomain::l2, WLZ_ERR_NONE, and WlzFreeDomain().
Referenced by WlzCMeshFromObj2D().
WlzCompoundArray* WlzMakeCompoundArray | ( | WlzObjectType | type, |
int | mode, | ||
int | n, | ||
WlzObject ** | ol, | ||
WlzObjectType | otype, | ||
WlzErrorNum * | dstErr | ||
) |
Makes a new Woolz compound array object.
type | Type of compound array which should be either WLZ_COMPOUND_ARR_1 or WLZ_COMPOUND_ARR_2. |
mode | Action to be performed, which may have the values:
|
n | Number of objects. |
ol | Input object list. |
otype | Woolz object type if objects are type checked. |
dstErr | Destination pointer for error number, may be NULL. |
References AlcCalloc(), _WlzCompoundArray::linkcount, _WlzCompoundArray::n, _WlzCompoundArray::o, _WlzCompoundArray::otype, _WlzCompoundArray::type, WLZ_COMPOUND_ARR_1, WLZ_COMPOUND_ARR_2, WLZ_ERR_MEM_ALLOC, WLZ_ERR_NONE, WLZ_ERR_OBJECT_TYPE, WLZ_ERR_PARAM_DATA, and WlzAssignObject().
Referenced by WlzCMeshDispToField(), WlzDGTensorFeatures(), WlzDistAllNearest(), WlzEffReadObjTiff(), WlzGreyModGradient(), WlzIndexObjToCompound(), WlzLabel3D(), WlzRGBAGreyScale(), WlzRGBAImageArithmetic(), WlzScalarMulAdd(), and WlzSepTrans().
WlzIntervalValues* WlzMakeIntervalValues | ( | WlzObjectType | type, |
WlzObject * | obj, | ||
WlzPixelV | bckgrnd, | ||
WlzErrorNum * | dstErr | ||
) |
Make in interval values table to match the input object The table will have linkcount set to zero.
type | Required table type. |
obj | Input object. |
bckgrnd | Values table background value. |
dstErr | Error return. |
References AlcCalloc(), AlcFreeStackPush(), _WlzIntervalValues::bckgrnd, _WlzIntervalWSpace::colrmn, _WlzValues::core, _WlzDomain::core, _WlzGreyP::dbp, _WlzObject::domain, _WlzGreyP::flp, _WlzIntervalValues::freeptr, _WlzValues::i, _WlzDomain::i, _WlzGreyP::inp, _WlzIntervalDomain::kol1, _WlzIntervalValues::kol1, _WlzIntervalDomain::lastkl, _WlzIntervalDomain::lastln, _WlzIntervalValues::lastln, _WlzIntervalWSpace::lftpos, _WlzIntervalDomain::line1, _WlzIntervalValues::line1, _WlzIntervalValues::linkcount, _WlzValueIntervalLine::nintvs, _WlzIntervalWSpace::nwlpos, _WlzIntervalValues::original_table, _WlzGreyP::rgbp, _WlzIntervalWSpace::rgtpos, _WlzGreyP::shp, _WlzObject::type, _WlzIntervalValues::type, _WlzGreyP::ubp, _WlzValueLine::values, _WlzIntervalValues::vil, _WlzValueLine::vkol1, _WlzValueLine::vlastkl, _WlzValueIntervalLine::vtbint, _WlzIntervalValues::width, WLZ_2D_DOMAINOBJ, WLZ_EMPTY_OBJ, WLZ_ERR_DOMAIN_NULL, WLZ_ERR_DOMAIN_TYPE, WLZ_ERR_EOO, WLZ_ERR_GREY_TYPE, WLZ_ERR_MEM_ALLOC, WLZ_ERR_NONE, WLZ_ERR_OBJECT_NULL, WLZ_GREY_DOUBLE, WLZ_GREY_FLOAT, WLZ_GREY_INT, WLZ_GREY_RGBA, WLZ_GREY_SHORT, WLZ_GREY_UBYTE, WLZ_RASTERDIR_ILIC, WlzArea(), WlzFreeValues(), WlzGreyTableTypeToGreyType(), WlzGreyTableTypeToTableType(), WlzInitRasterScan(), WlzIntervalCount(), and WlzNextInterval().
Referenced by WlzBSplineToDomain(), WlzDomainFill3D(), and WlzNewValueTb().
WlzIntervalDomain* WlzMakeIntervalDomain | ( | WlzObjectType | type, |
int | l1, | ||
int | ll, | ||
int | k1, | ||
int | kl, | ||
WlzErrorNum * | dstErr | ||
) |
Allocate space for an interval domain structure. If the type is WLZ_INTERVALDOMAIN_INTVL then allocate space for the interval line array and set the pointer.
type | Required interval domain type. |
l1 | First line |
ll | Last line. |
k1 | First column |
kl | Last column |
dstErr | error return values: WLZ_ERR_NONE, WLZ_ERR_PARAM_DATA, WLZ_ERR_MEM_ALLOC |
References AlcCalloc(), AlcMalloc(), _WlzIntervalDomain::freeptr, _WlzIntervalDomain::intvlines, _WlzIntervalDomain::kol1, _WlzIntervalDomain::lastkl, _WlzIntervalDomain::lastln, _WlzIntervalDomain::line1, _WlzIntervalDomain::linkcount, _WlzIntervalDomain::type, WLZ_ERR_MEM_ALLOC, WLZ_ERR_NONE, WLZ_ERR_PARAM_DATA, WLZ_INTERVALDOMAIN_INTVL, and WLZ_INTERVALDOMAIN_RECT.
Referenced by Wlz3DSectionSegmentObject(), WlzClipObjToBox2D(), WlzDiffDomain(), WlzErosion4(), WlzFillBlankPlanes(), WlzGetProjectionFromObject(), WlzIntersectN(), WlzMakeCircleObject(), WlzMakeCuboid(), WlzMakeQuadrilateral(), WlzMakeRect(), WlzMakeRectangleObject(), WlzNewIDomain(), WlzProfileLineIDom(), and WlzUnionN().
WlzPlaneDomain* WlzMakePlaneDomain | ( | WlzObjectType | type, |
int | p1, | ||
int | pl, | ||
int | l1, | ||
int | ll, | ||
int | k1, | ||
int | kl, | ||
WlzErrorNum * | dstErr | ||
) |
Allocate space for a plane domain and the domain pointers.
type | PlaneDomain type. |
p1 | First plane |
pl | Last plane. |
l1 | First line. |
ll | Last line. |
k1 | First column. |
kl | Last column. |
dstErr | error return values: WLZ_ERR_NONE, WLZ_ERR_MEM_ALLOC, WLZ_ERR_PARAM_DATA. |
References AlcCalloc(), AlcFree(), AlcMalloc(), _WlzPlaneDomain::domains, _WlzPlaneDomain::freeptr, _WlzPlaneDomain::kol1, _WlzPlaneDomain::lastkl, _WlzPlaneDomain::lastln, _WlzPlaneDomain::lastpl, _WlzPlaneDomain::line1, _WlzPlaneDomain::linkcount, _WlzPlaneDomain::plane1, _WlzPlaneDomain::type, _WlzPlaneDomain::voxel_size, WLZ_ERR_MEM_ALLOC, WLZ_ERR_NONE, WLZ_ERR_PARAM_DATA, WLZ_PLANEDOMAIN_AFFINE, WLZ_PLANEDOMAIN_BOUNDLIST, WLZ_PLANEDOMAIN_DOMAIN, WLZ_PLANEDOMAIN_HISTOGRAM, WLZ_PLANEDOMAIN_POLYGON, and WLZ_PLANEDOMAIN_WARP.
Referenced by Wlz3DSectionSegmentObject(), WlzBoundaryToObj(), WlzBuildObj3(), WlzClipObjToBox3D(), WlzConstruct3DObjFromFile(), WlzConstruct3DObjFromObj(), WlzCopyDomain(), WlzCutObjToValBox3D(), WlzDiffDomain3d(), WlzDomainFill3D(), WlzIntersect3d(), WlzLabel3D(), WlzMakeCuboid(), WlzMakeCuboidObject(), WlzMakeSphereObject(), WlzObjToBoundary(), WlzPolygonToObj(), WlzSampleObjPoint3D(), WlzShiftDomain(), and WlzUnion3d().
WlzObject* WlzNewObjectValues | ( | WlzObject * | sObj, |
WlzObjectType | tType, | ||
WlzPixelV | bgdV, | ||
int | setFG, | ||
WlzPixelV | fgdV, | ||
WlzErrorNum * | dstErr | ||
) |
Creaes a new object with the domain of the given object and a new values.
This function conveniently wraps up WlzNewValueTb(), WlzNewValuesVox(), WlzMakeMain() and WlzGreySetValue().
sObj | Given object. |
tType | Grey table type. |
bgdV | Background value. |
setFG | Set forground value if non zero. |
fgdV | Foreground value to be set. |
dstErr | Destinaition error pointer, may be NULL. |
References _WlzDomain::core, _WlzObject::domain, _WlzObject::type, _WlzValues::v, _WlzValues::vox, WLZ_2D_DOMAINOBJ, WLZ_3D_DOMAINOBJ, WLZ_ERR_DOMAIN_NULL, WLZ_ERR_NONE, WLZ_ERR_OBJECT_NULL, WLZ_ERR_OBJECT_TYPE, WlzFreeObj(), WlzGreySetValue(), WlzMakeMain(), WlzNewValuesVox(), and WlzNewValueTb().
Referenced by WlzDomainOccupancy(), WlzLineSkeleton(), WlzLineSkeletonSegment(), WlzNObjGreyStats(), WlzSetBackGroundNewObj(), and WlzTensorGetComponent().
WlzVoxelValues* WlzNewValuesVox | ( | WlzObject * | sObj, |
WlzObjectType | gTType, | ||
WlzPixelV | bgdV, | ||
WlzErrorNum * | dstErr | ||
) |
From the domain of the given source object a new voxel value table is created with the given grey type and background value.
sObj | Source object. |
gTType | Given grey table type for the plane value tables. |
bgdV | Background value. |
dstErr | Destination error pointer, may be NULL. |
References _WlzValues::core, _WlzDomain::core, _WlzObject::domain, _WlzPlaneDomain::domains, _WlzPlaneDomain::lastpl, _WlzDomain::p, _WlzPlaneDomain::plane1, _WlzObject::type, _WlzCoreDomain::type, _WlzValues::v, _WlzVoxelValues::values, WLZ_2D_DOMAINOBJ, WLZ_3D_DOMAINOBJ, WLZ_ERR_DOMAIN_NULL, WLZ_ERR_DOMAIN_TYPE, WLZ_ERR_NONE, WLZ_ERR_OBJECT_NULL, WLZ_ERR_OBJECT_TYPE, WLZ_PLANEDOMAIN_DOMAIN, WLZ_VOXELVALUETABLE_GREY, WlzAssignValues(), WlzFreeObj(), WlzMakeMain(), WlzMakeVoxelValueTb(), and WlzNewValueTb().
Referenced by WlzBSplineToDomain(), WlzDistanceTransform(), WlzGreyTransfer(), WlzIndexObjFromCompound(), WlzLBTMakeNodeIndexObj3D(), WlzLUTTransformObj(), WlzMakeTiledValuesObj3D(), and WlzNewObjectValues().
WlzObject* WlzMakeMain | ( | WlzObjectType | type, |
WlzDomain | domain, | ||
WlzValues | values, | ||
WlzPropertyList * | plist, | ||
WlzObject * | assoc, | ||
WlzErrorNum * | dstErr | ||
) |
Make a top-level woolz object assigning domain, values and other pointers as required . The type is checked. The domain is not checked for NULL although this should only apply to the WLZ_EMPTY_OBJ.
type | Object type. |
domain | Domain to be assigned using WlzAssignDomain() |
values | Values to be attached using WlzAssignValues() |
plist | Property list attached using WlzAssignPropertyList() |
assoc | Associated Object attached using WlzAssignObject(). |
dstErr | error return values: WLZ_ERR_NONE, WLZ_ERR_MEM_ALLOC, WLZ_ERR_PARAM_DATA snd error values from WlzAssign procedures. |
References AlcFree(), AlcMalloc(), _WlzObject::assoc, _WlzValues::core, _WlzDomain::core, _WlzObject::domain, _WlzObject::linkcount, _WlzCoreDomain::linkcount, _WlzCoreValues::linkcount, _WlzObject::plist, _WlzObject::type, _WlzObject::values, WLZ_2D_DOMAINOBJ, WLZ_2D_POLYGON, WLZ_3D_DOMAINOBJ, WLZ_3D_POLYGON, WLZ_3D_VIEW_STRUCT, WLZ_3D_WARP_TRANS, WLZ_AFFINE_TRANS, WLZ_BOUNDLIST, WLZ_CMESH_2D, WLZ_CMESH_2D5, WLZ_CMESH_3D, WLZ_CMESH_TRANS, WLZ_CONTOUR, WLZ_CONV_HULL, WLZ_DBG, WLZ_DBG_ALLOC, WLZ_DBG_LVL_1, WLZ_EMPTY_OBJ, WLZ_ERR_MEM_ALLOC, WLZ_ERR_NONE, WLZ_ERR_PARAM_DATA, WLZ_HISTOGRAM, WLZ_LUT, WLZ_MESH_TRANS, WLZ_POINTS, WLZ_PROPERTY_OBJ, WLZ_RECTANGLE, WLZ_SPLINE, WLZ_TRANS_OBJ, WLZ_WARP_TRANS, WlzAssignDomain(), WlzAssignObject(), WlzAssignPropertyList(), and WlzAssignValues().
Referenced by Wlz3DSectionSegmentObject(), WlzBasisFnInvertMakeCMeshTr2D(), WlzBasisFnInvertMakeCMeshTr3D(), WlzBasisFnMakeCMeshTr2D(), WlzBasisFnMakeCMeshTr3D(), WlzBasisFnTransformObj(), WlzBasisFnTransformRandom(), WlzBoundaryToObj(), WlzBoundaryToPolyObjArray(), WlzBSplineToDomain(), WlzBuildObj3(), WlzCannyDeriche(), WlzClipObjToBox2D(), WlzClipObjToBox3D(), WlzCMeshComputeCurvaturesFromNodNorm(), WlzCMeshComputeNormalsElm(), WlzCMeshComputeNormalsIxv2D5(), WlzCMeshComputeNormalsNod(), WlzCMeshCurvToImage(), WlzCMeshDispToField(), WlzCMeshDistance2D(), WlzCMeshDistance3D(), WlzCMeshExpValues(), WlzCMeshFlatten2D5(), WlzCMeshIntersectDom2D5(), WlzCMeshMeshMeshProduct(), WlzCMeshSetDispFromField(), WlzCMeshToContour(), WlzCMeshTransformFromObj(), WlzConstruct3DObjFromFile(), WlzConstruct3DObjFromObj(), WlzConvertVtx(), WlzCopyObject(), WlzCopyScaleCMeshValue(), WlzCopyValues(), WlzCutObjToValBox3D(), WlzDGTensorPDFeature(), WlzDGTensorSDFeature(), WlzDiffDomain(), WlzDiffDomain3d(), WlzDistAllNearest(), WlzDistanceTransform(), WlzDomainFill(), WlzDomainFill3D(), WlzErosion4(), WlzExplode3D(), WlzFillBlankPlanes(), WlzFromArray1D(), WlzGaussNoise(), WlzGetMaskedSectionFromObject(), WlzGetProjectionFromObject(), WlzGreyMeanDifference(), WlzGreyModGradient(), WlzGreySetRange(), WlzGreySetRangeLut(), WlzGreySetValue(), WlzGreyTransfer(), WlzHyThreshold(), WlzIndexObjFromCompound(), WlzIndexObjToCompound(), WlzIndexToRGBA(), WlzIntersect3d(), WlzIntersectN(), WlzIntRescaleObj(), WlzLabel3D(), WlzLBTDomain2DFromIDomain(), WlzLBTDomain3DFromPDomain(), WlzLBTMakeNodeIndexObj2D(), WlzLBTMakeNodeIndexObj3D(), WlzLineSkeleton(), WlzLineSkeletonSegment(), WlzLUTTransformObj(), WlzMakeCircleObject(), WlzMakeCuboid(), WlzMakeCuboidObject(), WlzMakeEmpty(), WlzMakeHistogram(), WlzMakeLUTObject(), WlzMakeQuadrilateral(), WlzMakeRect(), WlzMakeRectangleObject(), WlzMakeSphereObject(), WlzMakeTiledValuesObj2D(), WlzMakeTiledValuesObj3D(), WlzMarkerLattice(), WlzNewGrey(), WlzNewObjectValues(), WlzNewValuesVox(), WlzNMSuppress(), WlzObjToBoundary(), WlzObjToConvexHull(), WlzPatchTreeToObject(), WlzPointsFromDomObj(), WlzPolygonToObj(), WlzPolyTo8Polygon(), WlzProjectObjToPlane(), WlzReadObj(), WlzRegConCalcRCC(), WlzRegICPObjsGrd(), WlzRGBAModGradient(), WlzRGBAMultiThreshold(), WlzSampleObjPoint3D(), WlzScalarBinaryOp2(), WlzSepTrans(), WlzSetBackground(), WlzShiftObject(), WlzToArray1D(), WlzUnion3d(), WlzUnionN(), WlzVerifyObject(), WlzVerticesFromObj3I(), and WlzVolume().
WlzRagRValues* WlzMakeValueTb | ( | WlzObjectType | type, |
int | l1, | ||
int | ll, | ||
int | k1, | ||
WlzPixelV | backgrnd, | ||
WlzObject * | orig, | ||
WlzErrorNum * | dstErr | ||
) |
Allocate and initialise space for a ragged-rectangle value table only.
type | Values structure type. Must be a correct type as given by WlzGreyValueTableType() with table_type = WLZ_GREY_TAB_RAGR. |
l1 | First line. |
ll | Last line. |
k1 | First column. |
backgrnd | Background pixel value |
orig | Original object holding the grey-value data. |
dstErr | Error return values: WLZ_ERR_NONE, WLZ_ERR_PARAM_DATA, WLZ_ERR_LINE_DATA, WLZ_ERR_MEM_ALLOC |
References AlcCalloc(), AlcFree(), _WlzRagRValues::bckgrnd, _WlzValues::core, _WlzRagRValues::freeptr, _WlzRagRValues::kol1, _WlzRagRValues::lastln, _WlzRagRValues::line1, _WlzRagRValues::linkcount, _WlzRagRValues::original_table, _WlzRagRValues::type, _WlzRagRValues::vtblines, _WlzRagRValues::width, WLZ_ERR_LINE_DATA, WLZ_ERR_MEM_ALLOC, WLZ_ERR_NONE, WLZ_ERR_PARAM_DATA, WLZ_GREY_DOUBLE, WLZ_GREY_FLOAT, WLZ_GREY_INT, WLZ_GREY_RGBA, WLZ_GREY_SHORT, WLZ_GREY_TAB_INTL, WLZ_GREY_TAB_RAGR, WLZ_GREY_TAB_RECT, WLZ_GREY_UBYTE, WlzGreyTableTypeToGreyType(), WlzGreyTableTypeToTableType(), and WlzValueConvertPixel().
Referenced by WlzNewValueTb(), and WlzShiftValues().
WlzVoxelValues* WlzMakeVoxelValueTb | ( | WlzObjectType | type, |
int | p1, | ||
int | pl, | ||
WlzPixelV | backgrnd, | ||
WlzObject * | orig, | ||
WlzErrorNum * | dstErr | ||
) |
Allocate space for a voxel table.
type | Voxel table type. |
p1 | Fist plane. |
pl | Last plane. |
backgrnd | Background pixel value. |
orig | Original object holding the voxel table |
dstErr | Error return values: WLZ_ERR_NONE, WLZ_ERR_PARAM_DATA, WLZ_ERR_MEM_ALLOC |
References AlcCalloc(), _WlzVoxelValues::bckgrnd, _WlzValues::core, _WlzVoxelValues::freeptr, _WlzVoxelValues::lastpl, _WlzVoxelValues::linkcount, _WlzVoxelValues::original_table, _WlzVoxelValues::plane1, _WlzVoxelValues::type, _WlzVoxelValues::values, WLZ_ERR_MEM_ALLOC, WLZ_ERR_NONE, WLZ_ERR_PARAM_DATA, WLZ_ERR_PLANE_DATA, and WLZ_VOXELVALUETABLE_GREY.
Referenced by WlzBuildObj3(), WlzClipObjToBox3D(), WlzConstruct3DObjFromFile(), WlzConstruct3DObjFromObj(), WlzCopyValues(), WlzCutObjToValBox3D(), WlzDiffDomain3d(), WlzDistanceTransform(), WlzDomainFill3D(), WlzFromArray1D(), WlzIntersect3d(), WlzLabel3D(), WlzMakeCuboid(), WlzNewValuesVox(), WlzSampleObjPoint3D(), WlzScalarBinaryOp2(), WlzShiftValues(), and WlzUnion3d().
WlzRectValues* WlzMakeRectValueTb | ( | WlzObjectType | type, |
int | line1, | ||
int | lastln, | ||
int | kol1, | ||
int | width, | ||
WlzPixelV | backgrnd, | ||
int * | values, | ||
WlzErrorNum * | dstErr | ||
) |
Make rectangular value table attaching values if set. Note the values pointer is just copied and will not be freed when the object is freed unless the freeptr is set using AlcFreePointerPush().
type | Value table type. Must be a valid table type e.g. as returned by WlzGreyValueTableType() with table_type = WLZ_GREY_TAB_RECT. |
line1 | First line |
lastln | Last line. |
kol1 | First column |
width | Width |
backgrnd | Background pixel value. |
values | Pointer to array of pixel values. |
dstErr | Error return values: WLZ_ERR_NONE, WLZ_ERR_PARAM_DATA, WLZ_ERR_MEM_ALLOC |
References AlcFree(), AlcMalloc(), _WlzRectValues::bckgrnd, _WlzValues::core, _WlzRectValues::freeptr, _WlzGreyP::inp, _WlzRectValues::kol1, _WlzRectValues::lastln, _WlzRectValues::line1, _WlzRectValues::linkcount, _WlzRectValues::original_table, _WlzRectValues::type, _WlzRectValues::values, _WlzRectValues::width, WLZ_ERR_MEM_ALLOC, WLZ_ERR_NONE, WLZ_ERR_PARAM_DATA, WLZ_GREY_DOUBLE, WLZ_GREY_FLOAT, WLZ_GREY_INT, WLZ_GREY_RGBA, WLZ_GREY_SHORT, WLZ_GREY_TAB_INTL, WLZ_GREY_TAB_RAGR, WLZ_GREY_TAB_RECT, WLZ_GREY_UBYTE, WlzGreyTableTypeToGreyType(), WlzGreyTableTypeToTableType(), and WlzValueConvertPixel().
Referenced by WlzFromArray1D(), WlzMakeCuboid(), WlzMakeRect(), WlzNewValueTb(), and WlzShiftValues().
WlzErrorNum WlzMakeInterval | ( | int | line, |
WlzIntervalDomain * | idom, | ||
int | nints, | ||
WlzInterval * | intptr | ||
) |
Attach and interval pointer to a an interval domain in the appropriate place and set the number of intervals on the line. Note this procedure makes no checks on the arguments because it is often used in deeply nested loops.
line | Line on which the interval array is to be attached. |
idom | Pointer to the interval domain to hold the intervals. |
nints | Number of intervals in the array. |
intptr | Pointer to the set of intervals. |
References _WlzIntervalDomain::intvlines, _WlzIntervalLine::intvs, _WlzIntervalDomain::line1, _WlzIntervalLine::nintvs, and WLZ_ERR_NONE.
Referenced by Wlz3DSectionSegmentObject(), WlzClipObjToBox2D(), WlzDiffDomain(), WlzIntersectN(), WlzMakeCircleObject(), WlzMakeQuadrilateral(), WlzNewIDomain(), WlzSkStrip4(), and WlzUnionN().
WlzErrorNum WlzMakeValueLine | ( | WlzRagRValues * | vtb, |
int | line, | ||
int | k1, | ||
int | kl, | ||
int * | greyptr | ||
) |
Attach the grey values for a valueline within a ragged- rectangle value table. Not this procedure does not check the input arguments because it is often at the core of nested loops.
vtb | Pointer to a ragged rectangle value table. |
line | Line for the values to be set. |
k1 | First column of grey interval. |
kl | Last column of grey interval. |
greyptr | Grey values pointer cast type int *. |
References _WlzGreyP::inp, _WlzRagRValues::kol1, _WlzRagRValues::line1, _WlzValueLine::values, _WlzValueLine::vkol1, _WlzValueLine::vlastkl, _WlzRagRValues::vtblines, and WLZ_ERR_NONE.
Referenced by WlzNewValueTb().
WlzPointValues* WlzNewPointValues | ( | WlzObject * | obj, |
int | rank, | ||
int * | dim, | ||
WlzGreyType | vType, | ||
WlzErrorNum * | dstErr | ||
) |
Makes a new point value table which covers the points of the given object.
obj | Given object, the domain of which is used to determine the value allocation. This must have type WLZ_POINTS. |
rank | The rank of the individual values. |
dim | The dimensions of individual indexed values. |
vType | The type of the data in the individual values. |
dstErr | Destination error pointer, may be NULL. |
References _WlzDomain::core, _WlzObject::domain, _WlzPoints::nPoints, _WlzDomain::pts, _WlzObject::type, WLZ_ERR_DOMAIN_NULL, WLZ_ERR_NONE, WLZ_ERR_OBJECT_NULL, WLZ_ERR_OBJECT_TYPE, WLZ_POINTS, and WlzMakePointValues().
WlzPointValues* WlzMakePointValues | ( | size_t | nP, |
int | rank, | ||
int * | dim, | ||
WlzGreyType | vType, | ||
WlzErrorNum * | dstErr | ||
) |
Makes a new point value table with space for the requested number of points.
nP | Number of points to allocate space for. |
rank | The rank of the individual values. |
dim | The dimensions of individual indexed values. |
vType | The type of the data in the individual values. |
dstErr | Destination error pointer, may be NULL. |
References AlcCalloc(), AlcMalloc(), _WlzPointValues::dim, _WlzPointValues::maxPoints, _WlzPointValues::pSz, _WlzPointValues::rank, _WlzPointValues::type, _WlzGreyP::v, _WlzPointValues::values, _WlzPointValues::vType, WLZ_ERR_GREY_TYPE, WLZ_ERR_MEM_ALLOC, WLZ_ERR_NONE, WLZ_ERR_PARAM_DATA, WLZ_GREY_BIT, WLZ_POINT_VALUES, WlzFreePointValues(), and WlzGreySize().
Referenced by WlzDGTensorPDFeature(), WlzNewPointValues(), and WlzPointValuesFromDomObj().
WlzPolygonDomain* WlzMakePolygonDomain | ( | WlzObjectType | type, |
int | n, | ||
WlzIVertex2 * | vertices, | ||
int | maxv, | ||
int | copy, | ||
WlzErrorNum * | dstErr | ||
) |
Makes a polygon domain, allocating space and copying vertices as required acording to the copy flag. The polygon domain must be freed when longer required using WlzFreePolyDmn().
type | Required type of the polygon domain; WLZ_POLYGON_INT, WLZ_POLYGON_FLOAT or WLZ_POLYGON_DOUBLE. |
n | Number of vertices, required if vertices pointer is not NULL. |
vertices | Vertices pointer, either an array of vertices or NULL. Although this is of type WlzIVertex2 *, the vertex type must match the polygon type (eg WlzDVertex2 * for WLZ_POLYGON_DOUBLE). Vertices should be passed by casting the vertex pointer to WlzIVertex2 * if required. |
maxv | Size of the vertex array, ie the maximum number of vertices that the polygon domain may hold. |
copy | Copy flag:
|
dstErr | Destination error pointer, may be NULL. |
References AlcCalloc(), _WlzPolygonDomain::linkcount, _WlzPolygonDomain::maxvertices, _WlzPolygonDomain::nvertices, _WlzPolygonDomain::type, _WlzPolygonDomain::vtx, WLZ_ERR_MEM_ALLOC, WLZ_ERR_NONE, WLZ_ERR_PARAM_DATA, WLZ_POLYGON_DOUBLE, WLZ_POLYGON_FLOAT, and WLZ_POLYGON_INT.
Referenced by WlzBasisFnTransformPoly2(), WlzConvertPolyType(), WlzCopyDomain(), WlzPolyDecimate(), WlzPolyEquispace(), WlzPolyReverse(), WlzPolyTo8Polygon(), and WlzShiftDomain().
WlzBoundList* WlzMakeBoundList | ( | WlzObjectType | type, |
int | wrap, | ||
WlzPolygonDomain * | poly, | ||
WlzErrorNum * | dstErr | ||
) |
Allocate space and initialise a boundlist structure.
type | BoundList type, one of: WLZ_BOUNDLIST_PIECE or WLZ_BOUNDLIST_HOLE. |
wrap | number of vertices by which the polygon is "wrapped" ie number of vertices overlapping at the beginning and end. |
poly | polygon for this boundary structure |
dstErr | Error return, values: WLZ_ERR_NONE, WLZ_ERR_PARAM_DATA, WLZ_ERR_MEM_ALLOC. |
References AlcFree(), AlcMalloc(), _WlzBoundList::down, _WlzBoundList::freeptr, _WlzBoundList::linkcount, _WlzBoundList::next, _WlzBoundList::poly, _WlzBoundList::type, _WlzBoundList::up, WLZ_BOUNDLIST_HOLE, WLZ_BOUNDLIST_PIECE, WLZ_ERR_MEM_ALLOC, WLZ_ERR_NONE, WLZ_ERR_PARAM_DATA, WlzAssignPolygonDomain(), and _WlzBoundList::wrap.
Referenced by WlzBoundDecimate(), WlzBoundSmooth(), WlzBoundTo8Bound(), WlzConvertBoundType(), WlzCopyDomain(), WlzObjToBoundary(), and WlzShiftDomain().
WlzIVertex2* WlzMakeIVertex | ( | int | nverts, |
WlzErrorNum * | dstErr | ||
) |
Make an integer vertex array.
nverts | Number of vertices. |
dstErr | Error return, values: WLZ_ERR_NONE, WLZ_ERR_MEM_ALLOC. |
References AlcMalloc(), WLZ_ERR_MEM_ALLOC, and WLZ_ERR_NONE.
WlzObject* WlzMakeRect | ( | int | line1, |
int | lastln, | ||
int | kol1, | ||
int | lastkl, | ||
WlzGreyType | pixeltype, | ||
int * | grey_values, | ||
WlzPixelV | backgrnd, | ||
WlzPropertyList * | plist, | ||
WlzObject * | assoc_obj, | ||
WlzErrorNum * | dstErr | ||
) |
Make a top-level rectangular object, setting values if non-NULL, uses WlzMakeRectValueTb() to assign values which by default will not be freed when the object is freed. The freeptr needs to be explicitly set by the calling procedure. This is a convenience procedure calling WlzMakeIntervalDomain() then WlzMakeRectValueTb() then WlzMakeMain().
line1 | First line. |
lastln | Last line |
kol1 | First column |
lastkl | last column |
pixeltype | Pixel type for the grey values. If WLZ_GREY_ERROR is given then no values are created. |
grey_values | Pointer to the grey values array. |
backgrnd | Background pixel value. |
plist | Property list to be attached. |
assoc_obj | Associated object. |
dstErr | Error return, values: WLZ_ERR_NONE and valuea from WlzMakeRectValueTb() and WlzMakeMain(). |
References _WlzValues::core, _WlzDomain::i, _WlzValues::r, WLZ_2D_DOMAINOBJ, WLZ_ERR_NONE, WLZ_GREY_ERROR, WLZ_GREY_TAB_RECT, WLZ_INTERVALDOMAIN_RECT, WlzFreeDomain(), WlzFreeValues(), WlzGreyValueTableType(), WlzMakeIntervalDomain(), WlzMakeMain(), and WlzMakeRectValueTb().
Referenced by WlzBSplineToDomain(), WlzEffReadObjJpeg(), and WlzFromArray1D().
WlzObject* WlzNewObjectValueTable | ( | WlzObject * | gObj, |
WlzPixelV | bgdV, | ||
WlzErrorNum * | dstErr | ||
) |
Creates a new Woolz object using the given object's domain and a new value table, but uses the grey values of the given object's value table.
gObj | Given object. |
bgdV | Required background value. |
dstErr | Destination error pointer, may be NULL. |
References _WlzValues::core, _WlzDomain::core, _WlzObject::domain, _WlzObject::type, _WlzObject::values, WLZ_2D_DOMAINOBJ, WLZ_ERR_DOMAIN_NULL, WLZ_ERR_NONE, WLZ_ERR_OBJECT_NULL, and WLZ_ERR_VALUES_NULL.
Referenced by WlzSetBackGroundNewObj().
WlzObject* WlzMakeCuboid | ( | int | plane1, |
int | lastpl, | ||
int | line1, | ||
int | lastln, | ||
int | kol1, | ||
int | lastkl, | ||
WlzGreyType | pixType, | ||
WlzPixelV | bgdV, | ||
WlzPropertyList * | plist, | ||
WlzObject * | assocObj, | ||
WlzErrorNum * | dstErr | ||
) |
Creates a 3D domain object with values, for which the domain is a cuboid and the values are of the given type and initialized to have value zero.
plane1 | First plane. |
lastpl | Last plane. |
line1 | First line. |
lastln | Last line. |
kol1 | First column. |
lastkl | Last column. |
pixType | Pixel type for the grey values. If WLZ_GREY_ERROR is given then no values are created. |
bgdV | Background pixel value. |
plist | Property list to be attached. |
assocObj | Associated object. |
dstErr | Destination error pointer, may be NULL. |
References ALC_ER_NONE, AlcCalloc(), AlcFree(), AlcFreeStackPush(), _WlzValues::core, _WlzDomain::core, _WlzPlaneDomain::domains, _WlzRectValues::freeptr, _WlzDomain::i, _WlzDomain::p, _WlzValues::r, _WlzVoxelValues::values, _WlzValues::vox, _WlzPlaneDomain::voxel_size, WLZ_3D_DOMAINOBJ, WLZ_ERR_GREY_TYPE, WLZ_ERR_MEM_ALLOC, WLZ_ERR_NONE, WLZ_GREY_ERROR, WLZ_GREY_TAB_RECT, WLZ_INTERVALDOMAIN_RECT, WLZ_NULL, WLZ_PLANEDOMAIN_DOMAIN, WLZ_VOXELVALUETABLE_GREY, WlzAssignDomain(), WlzAssignValues(), WlzFreeDomain(), WlzFreeValues(), WlzGreySize(), WlzGreyValueTableType(), WlzMakeIntervalDomain(), WlzMakeMain(), WlzMakePlaneDomain(), WlzMakeRectValueTb(), and WlzMakeVoxelValueTb().
Referenced by WlzBSplineToDomain(), and WlzFromArray1D().
WlzHistogramDomain* WlzMakeHistogramDomain | ( | WlzObjectType | type, |
int | maxBins, | ||
WlzErrorNum * | dstErr | ||
) |
Allocates space for a histogram domain with the space for the given maximum number of bins of the appropriate type.
type | histogram type, one of: WLZ_HISTOGRAMDOMAIN_INT or WLZ_HISTOGRAMDOMAIN_FLOAT |
maxBins | Maximum number of histogram bins. |
dstErr | Error return, values: WLZ_ERR_NONE, WLZ_ERR_PARAM_DATA, WLZ_ERR_MEM_ALLOC. |
References ALC_ER_NONE, AlcCalloc(), AlcFree(), AlcFreeStackPush(), _WlzHistogramDomain::binValues, _WlzGreyP::dbp, _WlzHistogramDomain::freeptr, _WlzGreyP::inp, _WlzHistogramDomain::maxBins, _WlzHistogramDomain::type, WLZ_ERR_DOMAIN_TYPE, WLZ_ERR_MEM_ALLOC, WLZ_ERR_NONE, WLZ_ERR_PARAM_DATA, WLZ_HISTOGRAMDOMAIN_FLOAT, and WLZ_HISTOGRAMDOMAIN_INT.
Referenced by WlzCopyDomain(), and WlzMakeHistogram().
WlzObject* WlzMakeEmpty | ( | WlzErrorNum * | dstErr | ) |
Convenience procedure to make a top-level empty object.
dstErr | Error return, values from WlzMakeMain(). |
References _WlzValues::core, _WlzDomain::core, WLZ_EMPTY_OBJ, and WlzMakeMain().
Referenced by Wlz3DSectionSegmentObject(), Wlz3DViewTransformObj(), WlzAffineTransformObjCb(), WlzBasisFnTransformObj(), WlzBoundaryToObj(), WlzClipObjToBox2D(), WlzClipObjToBox3D(), WlzCMeshDistance2D(), WlzCMeshDistance3D(), WlzCMeshTransformObj(), WlzCompoundToRGBA(), WlzConComThreshold(), WlzConvolveObj(), WlzCopyObject(), WlzCutObjToValBox3D(), WlzDiffDomain(), WlzDomainFill(), WlzDomainNearby(), WlzErosion4(), WlzGreyCrossing(), WlzGreyDitherObj(), WlzGreyModGradient(), WlzGreyScale(), WlzGreyShift(), WlzGreyTransfer(), WlzGreyVariance(), WlzHistogramObj(), WlzImageArithmetic(), WlzIndexObjToCompound(), WlzIntersect3d(), WlzIntersectN(), WlzIntRescaleObj(), WlzMakeMarkers(), WlzMakeStdStructElement(), WlzNewGrey(), WlzOffsetDist(), WlzPointsToDomObj(), WlzPolarSample(), WlzPolygonToObj(), WlzPolyTo8Polygon(), WlzPolyToObj(), WlzProfileLine(), WlzRasterObj(), WlzRGBAMultiThreshold(), WlzRsvFilterObj(), WlzSampleObj(), WlzScalarBinaryOp2(), WlzSepTrans(), WlzShiftObject(), WlzSkeleton(), WlzStructDilation(), WlzStructErosion(), WlzUnionN(), and WlzWindow().
WlzObject* WlzMakeHistogram | ( | WlzObjectType | type, |
int | maxBins, | ||
WlzErrorNum * | dstErr | ||
) |
Convenience procedure to make a top-level object with a histogram domain.
type | Type of the histogram domain, one of: WLZ_HISTOGRAMDOMAIN_INT or WLZ_HISTOGRAMDOMAIN_FLOAT. |
maxBins | Maximum number of histogram bins. |
dstErr | Error return, values: from WlzMakeHistogramDomain() and WlzMakeMain(). |
References _WlzValues::core, _WlzDomain::hist, WLZ_ERR_NONE, WLZ_HISTOGRAM, WlzMakeHistogramDomain(), and WlzMakeMain().
WlzObject* WlzNewGrey | ( | WlzObject * | iobj, |
WlzErrorNum * | dstErr | ||
) |
Make a top-level object with the same domain as iobj (pointer copied and linkcount incremented) and new valuetable with values copied from iobj. If iobj has no valuetable then the returned object will have no value- table. This allows a copy of a 2D grey-value object.
iobj | Input object which defines the domain and grey values for which the new grey table will be defined. |
dstErr | Error return, values: WLZ_ERR_NONE, WLZ_ERR_OBJECT_TYPE and errors from WlzNewValueTb(), WlzMakeMain(), WlzInitGreyScan() and WlzNextGreyInterval(). |
References _WlzValues::core, _WlzDomain::core, _WlzObject::domain, _WlzIntervalWSpace::lftpos, _WlzGreyWSpace::pixeltype, _WlzObject::plist, _WlzIntervalWSpace::rgtpos, _WlzObject::type, _WlzCoreDomain::type, _WlzCoreValues::type, _WlzGreyWSpace::u_grintptr, _WlzGreyP::ubp, _WlzValues::v, _WlzObject::values, WLZ_2D_DOMAINOBJ, WLZ_EMPTY_OBJ, WLZ_ERR_DOMAIN_TYPE, WLZ_ERR_EOO, WLZ_ERR_NONE, WLZ_ERR_OBJECT_NULL, WLZ_ERR_OBJECT_TYPE, WLZ_ERR_VALUES_TYPE, WLZ_GREY_DOUBLE, WLZ_GREY_FLOAT, WLZ_GREY_INT, WLZ_GREY_RGBA, WLZ_GREY_SHORT, WLZ_GREY_TAB_RAGR, WLZ_GREY_TAB_RECT, WLZ_GREY_UBYTE, WLZ_INTERVALDOMAIN_INTVL, WLZ_INTERVALDOMAIN_RECT, WlzFreeObj(), WlzGetBackground(), WlzGreyTableIsTiled(), WlzGreyTableTypeToGreyType(), WlzGreyValueTableType(), WlzInitGreyScan(), WlzMakeEmpty(), WlzMakeMain(), WlzNewValueTb(), and WlzNextGreyInterval().
Referenced by WlzCopyValues(), WlzGreyDitherObj(), and WlzSeqPar().
WlzRagRValues* WlzNewValueTb | ( | WlzObject * | obj, |
WlzObjectType | type, | ||
WlzPixelV | backgrnd, | ||
WlzErrorNum * | dstErr | ||
) |
Create a value table of required type with the same size and shape as the domain of obj. This must be of type WLZ_2D_DOMAINOBJ.
obj | Given object in which the domain defines minimum coverage of the new value table. |
type | Value table type. |
backgrnd | Background pixel value. |
dstErr | Destination error pointer, may be NULL. |
References AlcFreeStackPush(), AlcMalloc(), _WlzDomain::core, _WlzGreyP::dbp, _WlzGreyV::dbv, _WlzObject::domain, _WlzGreyP::flp, _WlzGreyV::flv, _WlzRagRValues::freeptr, _WlzRectValues::freeptr, _WlzValues::i, _WlzDomain::i, _WlzGreyP::inp, _WlzIntervalWSpace::intrmn, _WlzGreyV::inv, _WlzIntervalDomain::kol1, _WlzIntervalDomain::lastkl, _WlzIntervalDomain::lastln, _WlzRectValues::lastln, _WlzIntervalWSpace::lftpos, _WlzIntervalDomain::line1, _WlzRectValues::line1, _WlzIntervalWSpace::linpos, _WlzIntervalWSpace::nwlpos, _WlzValues::r, _WlzGreyP::rgbp, _WlzGreyV::rgbv, _WlzIntervalWSpace::rgtpos, _WlzGreyP::shp, _WlzGreyV::shv, _WlzObject::type, _WlzGreyP::ubp, _WlzGreyV::ubv, _WlzGreyP::v, _WlzPixelV::v, _WlzValues::v, _WlzRectValues::values, _WlzRagRValues::width, _WlzRectValues::width, WLZ_2D_DOMAINOBJ, WLZ_ERR_EOO, WLZ_ERR_GREY_TYPE, WLZ_ERR_MEM_ALLOC, WLZ_ERR_NONE, WLZ_ERR_OBJECT_NULL, WLZ_ERR_OBJECT_TYPE, WLZ_GREY_DOUBLE, WLZ_GREY_FLOAT, WLZ_GREY_INT, WLZ_GREY_RGBA, WLZ_GREY_SHORT, WLZ_GREY_TAB_INTL, WLZ_GREY_TAB_RAGR, WLZ_GREY_TAB_RECT, WLZ_GREY_UBYTE, WLZ_RASTERDIR_ILIC, WlzFreeValueTb(), WlzGreyTableTypeToGreyType(), WlzGreyTableTypeToTableType(), WlzInitRasterScan(), WlzLineArea(), WlzMakeIntervalValues(), WlzMakeRectValueTb(), WlzMakeValueLine(), WlzMakeValueTb(), and WlzNextInterval().
Referenced by WlzCMeshCurvToImage(), WlzCMeshIntersectDom2D5(), WlzDistanceTransform(), WlzFillBlankPlanes(), WlzGetProjectionFromObject(), WlzGreyTransfer(), WlzIndexObjFromCompound(), WlzIntersectN(), WlzLBTMakeNodeIndexObj2D(), WlzLUTTransformObj(), WlzMakeTiledValuesObj2D(), WlzNewGrey(), WlzNewObjectValues(), WlzNewValuesVox(), WlzRGBAModGradient(), WlzScalarBinaryOp2(), and WlzUnionN().
WlzIntervalDomain* WlzNewIDomain | ( | WlzObjectType | outDomType, |
WlzIntervalDomain * | inDom, | ||
WlzErrorNum * | dstErr | ||
) |
Make a copy of an intervaldomain.
outDomType | Interval domain type, one of: WLZ_INTERVALDOMAIN_INTVL or WLZ_INTERVALDOMAIN_RECT. |
inDom | Input domain to be copied. |
dstErr | Error return, values: WLZ_ERR_NONE, WLZ_ERR_DOMAIN_TYPE, WLZ_ERR_MEM_ALLOC or errors from WlzMakeInterval(), WlzMakeIntervalDomain(). |
References AlcFreeStackPush(), AlcMalloc(), _WlzIntervalDomain::freeptr, _WlzInterval::ileft, _WlzIntervalDomain::intvlines, _WlzIntervalLine::intvs, _WlzInterval::iright, _WlzIntervalDomain::kol1, _WlzIntervalDomain::lastkl, _WlzIntervalDomain::lastln, _WlzIntervalDomain::line1, _WlzIntervalLine::nintvs, _WlzIntervalDomain::type, WLZ_ERR_DOMAIN_NULL, WLZ_ERR_DOMAIN_TYPE, WLZ_ERR_MEM_ALLOC, WLZ_ERR_NONE, WLZ_INTERVALDOMAIN_INTVL, WLZ_INTERVALDOMAIN_RECT, WlzFreeIntervalDomain(), WlzMakeInterval(), and WlzMakeIntervalDomain().
Referenced by WlzCopyDomain(), WlzFillBlankPlanes(), and WlzShiftDomain().
WlzContour* WlzMakeContour | ( | WlzErrorNum * | dstErr | ) |
Makes a new contour data structure.
dstErr | Error return, values: WLZ_ERR_NONE, WLZ_ERR_MEM_ALLOC. |
References AlcCalloc(), _WlzContour::type, WLZ_CONTOUR, WLZ_ERR_MEM_ALLOC, and WLZ_ERR_NONE.
Referenced by WlzAffineTransformContour(), WlzBasisFnTransformContour(), WlzCMeshToContour(), WlzContourGrdObj2D(), WlzCopyDomain(), and WlzShiftDomain().
WlzIndexedValues* WlzMakeIndexedValues | ( | WlzObject * | obj, |
int | rank, | ||
int * | dim, | ||
WlzGreyType | vType, | ||
WlzValueAttach | attach, | ||
WlzErrorNum * | dstErr | ||
) |
Makes a new indexed value table.
obj | Given object, the domain of which is used to determine the value allocation. |
rank | The rank of the individual values. |
dim | The dimensions of individual indexed values. |
vType | The type of the data in the individual values. |
attach | Specifies what the values are to be attached to. |
dstErr | Destination error pointer, may be NULL. |
References AlcCalloc(), AlcMalloc(), AlcVectorNew(), _WlzIndexedValues::attach, _AlcVector::blkCnt, _AlcVector::blkSz, _WlzDomain::cm2, _WlzDomain::cm2d5, _WlzDomain::cm3, _WlzDomain::core, _WlzIndexedValues::dim, _WlzObject::domain, _WlzCMeshRes::elm, _WlzCMeshRes::nod, _WlzIndexedValues::rank, _WlzCMesh2D::res, _WlzCMesh2D5::res, _WlzCMesh3D::res, _WlzCoreDomain::type, _WlzIndexedValues::type, _WlzIndexedValues::values, _WlzCMeshEntRes::vec, _WlzIndexedValues::vType, WLZ_CMESH_2D, WLZ_CMESH_2D5, WLZ_CMESH_3D, WLZ_ERR_DOMAIN_NULL, WLZ_ERR_DOMAIN_TYPE, WLZ_ERR_GREY_TYPE, WLZ_ERR_MEM_ALLOC, WLZ_ERR_NONE, WLZ_ERR_OBJECT_NULL, WLZ_ERR_PARAM_DATA, WLZ_GREY_BIT, WLZ_INDEXED_VALUES, WLZ_VALUE_ATTACH_ELM, WLZ_VALUE_ATTACH_NOD, WlzFreeIndexedValues(), and WlzGreySize().
Referenced by WlzBasisFnInvertMakeCMeshTr2D(), WlzBasisFnInvertMakeCMeshTr3D(), WlzBasisFnMakeCMeshTr2D(), WlzBasisFnMakeCMeshTr3D(), WlzCMeshComputeCurvaturesFromNodNorm(), WlzCMeshComputeNormalsElm(), WlzCMeshComputeNormalsIxv2D5(), WlzCMeshComputeNormalsNod(), WlzCMeshDistance2D(), WlzCMeshDistance3D(), WlzCMeshMeshMeshProduct(), WlzCMeshSetDispFromField(), WlzCMeshTransformFromObj(), WlzCopyObject(), and WlzCopyScaleCMeshValue().
WlzErrorNum WlzExtendIndexedValues | ( | WlzIndexedValues * | ixv, |
size_t | n | ||
) |
Extends the given indexed value table. This is just a wrapper for AlcVectorExtend().
ixv | Given indexed values. |
n | Number of values to extend to. |
References ALC_ER_NONE, AlcVectorExtend(), _WlzIndexedValues::values, WLZ_ERR_MEM_ALLOC, WLZ_ERR_NONE, and WLZ_ERR_VALUES_NULL.
WlzTiledValues* WlzMakeTiledValues | ( | int | dim, |
int | vRank, | ||
WlzErrorNum * | dstErr | ||
) |
Allocates a new tiled value table, but without allocating any indices or tiles.
dim | Dimension. |
vRank | Rank of the individual values, zero for scalar values, one for vector values etc.... |
dstErr | Destination error pointer, may be NULL. |
References AlcCalloc(), AlcFree(), _WlzTiledValues::dim, _WlzTiledValues::fd, _WlzTiledValues::nIdx, _WlzTiledValues::type, _WlzTiledValues::vDim, _WlzTiledValues::vRank, WLZ_ERR_MEM_ALLOC, WLZ_ERR_NONE, WLZ_ERR_PARAM_DATA, WLZ_GREY_INT, WLZ_GREY_TAB_TILED, and WLZ_GREY_TABLE_TYPE.
Referenced by WlzMakeTiledValuesObj2D(), WlzMakeTiledValuesObj3D(), and WlzNewTiledValues().
WlzErrorNum WlzFreeTiledValues | ( | WlzTiledValues * | tVal | ) |
Frees a tiled value table.
tVal | The tiled value table to free. |
References AlcFree(), _WlzValues::core, _WlzTiledValues::fd, _WlzTiledValues::indices, _WlzTiledValues::linkcount, _WlzTiledValues::nIdx, _WlzTiledValues::numTiles, _WlzTiledValues::original_table, _WlzValues::t, _WlzTiledValues::tiles, _WlzTiledValues::tileSz, _WlzCoreValues::type, _WlzTiledValues::type, _WlzGreyP::v, _WlzTiledValues::vDim, _WlzTiledValues::vpe, _WlzTiledValues::vRank, WLZ_ERR_NONE, WLZ_ERR_VALUES_NULL, WLZ_ERR_VALUES_TYPE, WlzGreySize(), WlzGreyTableIsTiled(), WlzGreyTableTypeToGreyType(), and WlzUnlink().
Referenced by WlzFreeObj(), and WlzNewTiledValues().
WlzTiledValues* WlzNewTiledValues | ( | WlzTiledValues * | gVal, |
WlzPixelV | bgdV, | ||
WlzErrorNum * | dstErr | ||
) |
Creates a new tiled values table which shares both the grey value tiles and indexing with the given tiled values. This is done by using the original_table field.
gVal | The given tiled values. |
bgdV | Background value for the new values. |
dstErr | Destination error pointer, may be NULL. |
References _WlzTiledValues::bckgrnd, _WlzTiledValues::dim, _WlzTiledValues::fd, _WlzTiledValues::indices, _WlzTiledValues::kol1, _WlzTiledValues::lastkl, _WlzTiledValues::lastln, _WlzTiledValues::lastpl, _WlzTiledValues::line1, _WlzTiledValues::nIdx, _WlzTiledValues::numTiles, _WlzTiledValues::original_table, _WlzTiledValues::plane1, _WlzValues::t, _WlzTiledValues::tileOffset, _WlzTiledValues::tiles, _WlzTiledValues::tileSz, _WlzTiledValues::tileWidth, _WlzTiledValues::type, _WlzGreyP::v, _WlzTiledValues::vDim, _WlzTiledValues::vpe, _WlzTiledValues::vRank, WLZ_ERR_NONE, WLZ_ERR_VALUES_NULL, WlzAssignValues(), WlzFreeTiledValues(), and WlzMakeTiledValues().
WlzObject* WlzMakeTiledValuesFromObj | ( | WlzObject * | gObj, |
size_t | tileSz, | ||
int | copyValues, | ||
WlzGreyType | gType, | ||
unsigned int | vRank, | ||
unsigned int * | vDim, | ||
WlzPixelV | bgdV, | ||
WlzErrorNum * | dstErr | ||
) |
Creates a tiled object from the given object.
The tile size specifies the number of values that the tiles will contain and must be an integral power of two. The actual size in bytes of the tiles will vary with grey type.
gObj | Given object which must have an appropriate type for a tiled object. The valid types are currently WLZ_2D_DOMAINOBJ and WLZ_3D_DOMAINOBJ objects with values. |
tileSz | The required tile size. |
copyValues | Non zero if the grey values should be copied to the tiled object. |
gType | Required grey type for values table. |
vRank | Rank of the individual values, zero for scalar values, one for vector values etc.... |
vDim | Array of size vRank with individual value dimensions, not used if vRank is zero. |
bgdV | required background value. |
dstErr | Destination error pointer, may be NULL. |
References _WlzObject::type, WLZ_2D_DOMAINOBJ, WLZ_3D_DOMAINOBJ, WLZ_ERR_NONE, WLZ_ERR_OBJECT_NULL, WLZ_ERR_OBJECT_TYPE, WlzMakeTiledValuesObj2D(), and WlzMakeTiledValuesObj3D().
Referenced by WlzFromArray1D().
WlzErrorNum WlzMakeTiledValuesTiles | ( | WlzTiledValues * | tVal | ) |
Allocates tiles without a memory mapped file for the tiles values and sets background value within the tiles.
tVal | Given tiled values. |
References AlcMalloc(), _WlzTiledValues::bckgrnd, _WlzTiledValues::fd, _WlzTiledValues::numTiles, _WlzTiledValues::tiles, _WlzTiledValues::tileSz, _WlzPixelV::type, _WlzTiledValues::type, _WlzGreyP::v, _WlzPixelV::v, _WlzTiledValues::vpe, _WlzTiledValues::vRank, WLZ_ERR_MEM_ALLOC, WLZ_ERR_NONE, WLZ_ERR_VALUES_TYPE, WlzGreySize(), WlzGreyTableTypeToGreyType(), WlzGreyTableTypeToRank(), and WlzValueSetGrey().
Referenced by WlzFromArray1D(), WlzMakeTiledValuesObj2D(), and WlzMakeTiledValuesObj3D().
WlzTiledValueBuffer* WlzMakeTiledValueBuffer | ( | WlzTiledValues * | tVal, |
WlzErrorNum * | dstErr | ||
) |
Makes a new tiled values buffer for the given tiled values table.
tVal | Given tiled values. |
dstErr | Destination error pointer, may be NULL. |
References AlcCalloc(), AlcFree(), AlcMalloc(), _WlzTiledValueBuffer::gtype, _WlzTiledValues::kol1, _WlzTiledValues::lastkl, _WlzTiledValueBuffer::lnbuf, _WlzTiledValueBuffer::mode, _WlzTiledValues::type, _WlzGreyP::v, _WlzTiledValues::vpe, WLZ_ERR_GREY_TYPE, WLZ_ERR_MEM_ALLOC, WLZ_ERR_NONE, WLZ_ERR_VALUES_DATA, WLZ_ERR_VALUES_NULL, WLZ_ERR_VALUES_TYPE, WLZ_GREY_ERROR, WLZ_GREY_TAB_TILED, WLZ_IOFLAGS_NONE, WlzGreySize(), WlzGreyTableIsTiled(), WlzGreyTableTypeToGreyType(), and WlzTiledValuesMode().
Referenced by WlzInitGreyWSpace().
void WlzFreeTiledValueBuffer | ( | WlzTiledValueBuffer * | tBuf | ) |
Frees the given tiled values buffer including it's line buffer.
tBuf | Given tiled values, may be NULL. |
References AlcFree(), _WlzTiledValueBuffer::lnbuf, and _WlzGreyP::v.
Referenced by WlzEndGreyScan().
WlzObject* WlzMakeTiledValuesObj2D | ( | WlzObject * | gObj, |
size_t | tileSz, | ||
int | setTiles, | ||
WlzGreyType | gType, | ||
unsigned int | vRank, | ||
unsigned int * | vDim, | ||
WlzPixelV | bgdV, | ||
WlzErrorNum * | dstErr | ||
) |
Creates a 2D domain object which has the same domain as the given 2D domain object but a tiled value table.
The tile size specifies the number of values that the tiles will contain and must be an integral power of two. The actual size in bytes of the tiles will vary with grey type. If the given object must have valid values but the tiles these are copied to are not allocated if the setTiles flag is not set.
gObj | Given object known to be valid. |
tileSz | The required tile size. |
setTiles | Flag which must be set for the tiles to be allocated and their values set. |
gType | Required grey type for values table. |
vRank | Rank of the individual values, zero for scalar values, one for vector values etc.... |
vDim | Array of size vRank with individual value dimensions, not used if vRank is zero. |
bgdV | required background value. |
dstErr | Destination error pointer, may be NULL. |
References AlcFree(), AlgBitNextPowerOfTwo(), _WlzTiledValues::bckgrnd, _WlzValues::core, _WlzDomain::core, _WlzTiledValues::dim, _WlzObject::domain, _WlzDomain::i, _WlzTiledValues::indices, _WlzGreyV::inv, _WlzIntervalDomain::kol1, _WlzTiledValues::kol1, _WlzIntervalDomain::lastkl, _WlzTiledValues::lastkl, _WlzIntervalDomain::lastln, _WlzTiledValues::lastln, _WlzIntervalDomain::line1, _WlzTiledValues::line1, _WlzTiledValues::nIdx, _WlzTiledValues::numTiles, _WlzValues::t, _WlzTiledValues::tiles, _WlzTiledValues::tileSz, _WlzTiledValues::tileWidth, _WlzPixelV::type, _WlzObject::type, _WlzTiledValues::type, _WlzGreyP::v, _WlzPixelV::v, _WlzValues::v, _WlzObject::values, _WlzTiledValues::vDim, _WlzTiledValues::vpe, _WlzTiledValues::vRank, _WlzIVertex2::vtX, _WlzIVertex2::vtY, WLZ_2D_DOMAINOBJ, WLZ_ERR_DOMAIN_NULL, WLZ_ERR_NONE, WLZ_ERR_OBJECT_NULL, WLZ_ERR_OBJECT_TYPE, WLZ_ERR_PARAM_DATA, WLZ_GREY_INT, WLZ_GREY_TAB_RAGR, WLZ_GREY_TAB_TILED, WLZ_INTERPOLATION_NEAREST, WLZ_TRANSFORM_2D_AFFINE, WlzAffineTransformObj(), WlzAffineTransformScaleSet(), WlzAssignObject(), WlzCopyObjectGreyValues(), WlzFreeDomain(), WlzFreeObj(), WlzFreeValueTb(), WlzGreySetHilbertRankValues(), WlzGreySetIncValues(), WlzGreyValueTableType(), WlzMakeAffineTransform(), WlzMakeMain(), WlzMakeRectangleObject(), WlzMakeTiledValues(), WlzMakeTiledValuesTiles(), WlzNewValueTb(), WlzShiftDomain(), WlzStructDilation(), WlzTiledValuesValPerElm(), WlzToArray2D(), and WlzValueConvertPixel().
Referenced by WlzMakeTiledValuesFromObj().
WlzObject* WlzMakeTiledValuesObj3D | ( | WlzObject * | gObj, |
size_t | tileSz, | ||
int | setTiles, | ||
WlzGreyType | gType, | ||
unsigned int | vRank, | ||
unsigned int * | vDim, | ||
WlzPixelV | bgdV, | ||
WlzErrorNum * | dstErr | ||
) |
Creates a 3D domain object which has the same domain as the given 3D domain object but a tiled value table.
The tile size specifies the number of values that the tiles will contain and must be an integral power of two. The actual size in bytes of the tiles will vary with grey type.
gObj | Given object known to be valid. |
tileSz | The required tile size. |
setTiles | Flag which must be set for the tiles to be allocated and their values set. |
gType | Required grey type for values table. |
vRank | Rank of the individual values, zero for scalar values, one for vector values etc.... |
vDim | Array of size vRank with individual value dimensions, not used if vRank is zero. |
bgdV | required background value. |
dstErr | Destination error pointer, may be NULL. |
References AlcFree(), AlgBitNextPowerOfTwo(), _WlzTiledValues::bckgrnd, _WlzValues::core, _WlzDomain::core, _WlzTiledValues::dim, _WlzObject::domain, _WlzTiledValues::indices, _WlzGreyV::inv, _WlzPlaneDomain::kol1, _WlzTiledValues::kol1, _WlzPlaneDomain::lastkl, _WlzTiledValues::lastkl, _WlzPlaneDomain::lastln, _WlzTiledValues::lastln, _WlzPlaneDomain::lastpl, _WlzTiledValues::lastpl, _WlzPlaneDomain::line1, _WlzTiledValues::line1, _WlzTiledValues::nIdx, _WlzTiledValues::numTiles, _WlzDomain::p, _WlzPlaneDomain::plane1, _WlzTiledValues::plane1, _WlzValues::t, _WlzTiledValues::tiles, _WlzTiledValues::tileSz, _WlzTiledValues::tileWidth, _WlzPixelV::type, _WlzObject::type, _WlzTiledValues::type, _WlzGreyP::v, _WlzPixelV::v, _WlzObject::values, _WlzTiledValues::vDim, _WlzValues::vox, _WlzTiledValues::vpe, _WlzTiledValues::vRank, _WlzIVertex3::vtX, _WlzIVertex3::vtY, _WlzIVertex3::vtZ, WLZ_3D_DOMAINOBJ, WLZ_ERR_DOMAIN_NULL, WLZ_ERR_NONE, WLZ_ERR_OBJECT_NULL, WLZ_ERR_OBJECT_TYPE, WLZ_ERR_PARAM_DATA, WLZ_GREY_INT, WLZ_GREY_TAB_RAGR, WLZ_GREY_TAB_TILED, WLZ_INTERPOLATION_NEAREST, WLZ_TRANSFORM_3D_AFFINE, WlzAffineTransformObj(), WlzAffineTransformScaleSet(), WlzAssignObject(), WlzCopyObjectGreyValues(), WlzFreeAffineTransform(), WlzFreeDomain(), WlzFreeObj(), WlzFreeVoxelValueTb(), WlzGreySetHilbertRankValues(), WlzGreySetIncValues(), WlzGreyValueTableType(), WlzMakeAffineTransform(), WlzMakeCuboidObject(), WlzMakeMain(), WlzMakeTiledValues(), WlzMakeTiledValuesTiles(), WlzNewValuesVox(), WlzShiftDomain(), WlzStructDilation(), WlzTiledValuesValPerElm(), WlzToArray3D(), and WlzValueConvertPixel().
Referenced by WlzDGTensorSDFeature(), and WlzMakeTiledValuesFromObj().