Woolz Image Processing Version 1.4.0
WlzAllocation

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

WlzObjectWlzAssignObject (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.
WlzDomain WlzAssignDomain (WlzDomain domain, WlzErrorNum *dstErr)
 Assign a domain by incrementing it's linkcount.
WlzValues WlzAssignValues (WlzValues values, WlzErrorNum *dstErr)
 Assign a values by incrementing it's linkcount.
WlzProperty WlzAssignProperty (WlzProperty property, WlzErrorNum *dstErr)
 Assign a property by incrementing it's linkcount.
WlzAffineTransformWlzAssignAffineTransform (WlzAffineTransform *trans, WlzErrorNum *dstErr)
 Assign an affine transform by incrementing it's linkcount.
WlzTransform WlzAssignTransform (WlzTransform t, WlzErrorNum *dstErr)
 Assign a transform by incrementing it's linkcount.
WlzThreeDViewStructWlzAssign3DViewStruct (WlzThreeDViewStruct *viewStr, WlzErrorNum *dstErr)
 Assign an woolz 3D view structure by incrementing it's linkcount.
WlzBoundListWlzAssignBoundList (WlzBoundList *blist, WlzErrorNum *dstErr)
 Assign a boundary list by incrementing it's linkcount.
WlzPolygonDomainWlzAssignPolygonDomain (WlzPolygonDomain *poly, WlzErrorNum *dstErr)
 Assign a polygon domain by incrementing it's linkcount.
WlzGMModelWlzAssignGMModel (WlzGMModel *model, WlzErrorNum *dstErr)
 Assign a geometric model by incrementing it's linkcount.
int WlzUnlink (int *linkcount, WlzErrorNum *dstErr)
 Unlink an object, domain or values by decrementing and testing it's linkcount.
WlzObjectWlzBuildObj3U (WlzObject *cObj, WlzIVertex3 og, WlzIVertex2 sz, int bufSz, WlzUByte *buf, WlzErrorNum *dstErr)
 Wrapper for WlzBuildObj3() with WlzUByte values.
WlzObjectWlzBuildObj3S (WlzObject *cObj, WlzIVertex3 og, WlzIVertex2 sz, int bufSz, short *buf, WlzErrorNum *dstErr)
 Wrapper for WlzBuildObj3() with short values.
WlzObjectWlzBuildObj3I (WlzObject *cObj, WlzIVertex3 og, WlzIVertex2 sz, int bufSz, int *buf, WlzErrorNum *dstErr)
 Wrapper for WlzBuildObj3() with int values.
WlzObjectWlzBuildObj3F (WlzObject *cObj, WlzIVertex3 og, WlzIVertex2 sz, int bufSz, float *buf, WlzErrorNum *dstErr)
 Wrapper for WlzBuildObj3() with float values.
WlzObjectWlzBuildObj3D (WlzObject *cObj, WlzIVertex3 og, WlzIVertex2 sz, int bufSz, double *buf, WlzErrorNum *dstErr)
 Wrapper for WlzBuildObj3() with double values.
WlzObjectWlzBuildObj3R (WlzObject *cObj, WlzIVertex3 og, WlzIVertex2 sz, int bufSz, WlzUInt *buf, WlzErrorNum *dstErr)
 Wrapper for WlzBuildObj3() with RGBA values.
WlzObjectWlzBuildObj3B (WlzObject *cObj, WlzIVertex3 og, WlzIVertex2 sz, WlzGreyType gType, int bufSz, char *buf, WlzErrorNum *dstErr)
 Wrapper for WlzBuildObj3() with buffer passed as bytes.
WlzObjectWlzBuildObj3 (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.
WlzObjectWlzConstruct3DObjFromFile (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.
WlzObjectWlzConstruct3DObjFromObj (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.
WlzObjectWlzCopyObject (WlzObject *inObj, WlzErrorNum *dstErr)
 Copies a Woolz object together with it's domain, values and properties and then returns the copy.
WlzDomain WlzCopyDomain (WlzObjectType inObjType, WlzDomain inDom, WlzErrorNum *dstErr)
 Copies the given objects domain.
WlzValues WlzCopyValues (WlzObjectType inObjType, WlzValues inVal, WlzDomain inDom, WlzErrorNum *dstErr)
 Copies the given values.
WlzPropertyListWlzCopyPropertyList (WlzPropertyList *gList, WlzErrorNum *dstErr)
 Copies the given property list.
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.
WlzErrorNum WlzFreeObj (WlzObject *obj)
 Free space allocated to a woolz object.
WlzErrorNum WlzFreeIntervalDomain (WlzIntervalDomain *idom)
 Free an interval domain - convenience link to WlzFreeDomain()
WlzErrorNum WlzFreeHistogramDomain (WlzHistogramDomain *hist)
 Free a histogram domain.
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.
WlzErrorNum WlzFreePlaneDomain (WlzPlaneDomain *planedm)
 Free a planedomain.
WlzErrorNum WlzFreeValueTb (WlzRagRValues *vdmn)
 Convenience routine to free a ragged rect valuetable.
WlzErrorNum WlzFreeValues (WlzValues values)
 Free a values structure, currently only WlzRagRValues and WlzRectValues DO NOT call this function with any other values structure types!
WlzErrorNum WlzFreeVoxelValueTb (WlzVoxelValues *voxtab)
 Free a voxel value table.
WlzErrorNum WlzFreeConvHull (WlzConvHullValues *c)
 Free convex hull values.
WlzErrorNum WlzFreePolyDmn (WlzPolygonDomain *poly)
 Free a polygon domain.
WlzErrorNum WlzFreeBoundList (WlzBoundList *b)
 Recursively free a boundary list.
WlzErrorNum WlzFree3DWarpTrans (Wlz3DWarpTrans *obj)
 Free a 3D warp transform.
WlzErrorNum WlzFreeContour (WlzContour *ctr)
 Free's a WlzContour data structure.
WlzErrorNum WlzFreeIndexedValues (WlzIndexedValues *ixv)
 Frees an indexed valuetable.
WlzErrorNum WlzFreePointValues (WlzPointValues *pv)
 Frees a points valuetable.
WlzLBTDomain2DWlzMakeLBTDomain2D (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.

WlzLBTDomain3DWlzMakeLBTDomain3D (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.

WlzErrorNum WlzFreeLBTDomain3D (WlzLBTDomain3D *lDom)
 Frees the given 3D linear binary tree domain.
WlzErrorNum WlzFreeLBTDomain2D (WlzLBTDomain2D *lDom)
 Frees the given 2D linear binary tree domain.
WlzCompoundArrayWlzMakeCompoundArray (WlzObjectType type, int mode, int n, WlzObject **ol, WlzObjectType otype, WlzErrorNum *dstErr)
 Makes a new Woolz compound array object.
WlzIntervalValuesWlzMakeIntervalValues (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.
WlzIntervalDomainWlzMakeIntervalDomain (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.
WlzPlaneDomainWlzMakePlaneDomain (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.
WlzObjectWlzNewObjectValues (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.
WlzVoxelValuesWlzNewValuesVox (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.
WlzObjectWlzMakeMain (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.
WlzRagRValuesWlzMakeValueTb (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.
WlzVoxelValuesWlzMakeVoxelValueTb (WlzObjectType type, int p1, int pl, WlzPixelV backgrnd, WlzObject *orig, WlzErrorNum *dstErr)
 Allocate space for a voxel table.
WlzRectValuesWlzMakeRectValueTb (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().
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.
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.
WlzPointValuesWlzNewPointValues (WlzObject *obj, int rank, int *dim, WlzGreyType vType, WlzErrorNum *dstErr)
 Makes a new point value table which covers the points of the given object.
WlzPointValuesWlzMakePointValues (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.
WlzPolygonDomainWlzMakePolygonDomain (WlzObjectType type, int n, WlzIVertex2 *vertices, int maxv, int copy, WlzErrorNum *dstErr)
 Make a polygon domain, allocating space and copying as required:
WlzBoundListWlzMakeBoundList (WlzObjectType type, int wrap, WlzPolygonDomain *poly, WlzErrorNum *dstErr)
 Allocate space and initialise a boundlist structure.
WlzIVertex2WlzMakeIVertex (int nverts, WlzErrorNum *dstErr)
 Make an integer vertex array.
WlzObjectWlzMakeRect (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().
WlzObjectWlzMakeCuboid (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.
WlzHistogramDomainWlzMakeHistogramDomain (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.
WlzObjectWlzMakeEmpty (WlzErrorNum *dstErr)
 Convenience procedure to make a top-level empty object.
WlzObjectWlzMakeHistogram (WlzObjectType type, int maxBins, WlzErrorNum *dstErr)
 Convenience procedure to make a top-level object with a histogram domain.
WlzObjectWlzNewGrey (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.
WlzRagRValuesWlzNewValueTb (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.
WlzIntervalDomainWlzNewIDomain (WlzObjectType outDomType, WlzIntervalDomain *inDom, WlzErrorNum *dstErr)
 Make a copy of an intervaldomain.
WlzContourWlzMakeContour (WlzErrorNum *dstErr)
 Makes a new contour data structure.
WlzIndexedValuesWlzMakeIndexedValues (WlzObject *obj, int rank, int *dim, WlzGreyType vType, WlzValueAttach attach, WlzErrorNum *dstErr)
 Makes a new indexed value table.
WlzTiledValuesWlzMakeTiledValues (int dim, WlzErrorNum *dstErr)
 Allocates a new tiled value table, but without allocating any indices or tiles. int dim Dimension.
WlzErrorNum WlzFreeTiledValues (WlzTiledValues *tVal)
 Frees a tiled value table.
WlzObjectWlzMakeTiledValuesFromObj (WlzObject *gObj, size_t tileSz, int copyValues, WlzGreyType gType, WlzPixelV bgdV, WlzErrorNum *dstErr)
 Creates a tiled object from the given object.
WlzErrorNum WlzMakeTiledValuesTiles (WlzTiledValues *tVal)
 Allocates tiles for the tiles values but does not set the values within the tiles.

Function Documentation

WlzProperty WlzAssignProperty ( WlzProperty  property,
WlzErrorNum dstErr 
)

Assign a property by incrementing it's linkcount.

Returns:
Given property with incremented linkcount or the core property set to NULL on error.
Parameters:
propertyGiven property.
dstErrDestination error pointer, may be NULL.

References _WlzProperty::core, _WlzCoreProperty::linkcount, WLZ_ERR_LINKCOUNT_DATA, WLZ_ERR_NONE, and WLZ_ERR_PROPERTY_NULL.

Referenced by WlzCopyPropertyList().

WlzAffineTransform* WlzAssignAffineTransform ( WlzAffineTransform trans,
WlzErrorNum dstErr 
)

Assign an affine transform by incrementing it's linkcount.

Returns:
Given affine transform with incremented linkcount or NULL on error.
Parameters:
transGiven affine transform.
dstErrDestination error pointer, may be NULL.

References _WlzAffineTransform::linkcount, WLZ_ERR_LINKCOUNT_DATA, WLZ_ERR_NONE, and WLZ_ERR_OBJECT_NULL.

Referenced by main(), SecListToTransforms(), WlzMake3DViewStruct(), WlzMake3DViewStructCopy(), WlzMatchICPCtr(), and WlzRegICPVerticesWSD2D().

WlzTransform WlzAssignTransform ( WlzTransform  t,
WlzErrorNum dstErr 
)

Assign a transform by incrementing it's linkcount.

Returns:
Given transform with incremented linkcount or NULL on error.
Parameters:
tGiven transform.
dstErrDestination 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.

Returns:
Given 3D view structure with incremented linkcount or NULL on error.
Parameters:
viewStrGiven 3D view structure.
dstErrDestination 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.

Returns:
Given boundary list with incremented linkcount or NULL on error.
Parameters:
blistGiven boundary list.
dstErrDestination 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.

Returns:
Given polygon domain with incremented linkcount or NULL on error.
Parameters:
polyGiven boundary list.
dstErrDestination 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(), WlzMakeBoundList(), and WlzObjToBoundary().

WlzGMModel* WlzAssignGMModel ( WlzGMModel model,
WlzErrorNum dstErr 
)

Assign a geometric model by incrementing it's linkcount.

Returns:
Given geometric model with incremented linkcount or NULL on error.
Parameters:
modelGiven geometric model.
dstErrDestination error pointer, may be NULL.

References _WlzGMModel::linkcount, WLZ_ERR_LINKCOUNT_DATA, and WLZ_ERR_NONE.

Referenced by WlzAffineTransformContour(), WlzAffineTransformGMModel(), WlzBasisFnTransformContour(), WlzCMeshToContour(), WlzContourGrdObj2D(), WlzCopyDomain(), WlzEffReadObjObj(), WlzEffReadObjPly2(), WlzEffReadObjSMesh(), WlzEffReadObjStl(), and WlzShiftDomain().

int WlzUnlink ( int *  linkcount,
WlzErrorNum dstErr 
)
WlzObject* WlzBuildObj3U ( WlzObject cObj,
WlzIVertex3  og,
WlzIVertex2  sz,
int  bufSz,
WlzUByte buf,
WlzErrorNum dstErr 
)

Wrapper for WlzBuildObj3() with WlzUByte values.

Returns:
New Woolz object.
Parameters:
cObjGiven current object.
ogOrigin of rectangular buffer.
szBuffer size (note 2D).
bufSzNumber of values in the buffer (ie sz.vtX * sz.vtY).
bufGiven buffer of values.
dstErrDestination 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.

Returns:
New Woolz object.
Parameters:
cObjGiven current object.
ogOrigin of rectangular buffer.
szBuffer size (note 2D).
bufSzNumber of values in the buffer (ie sz.vtX * sz.vtY).
bufGiven buffer of values.
dstErrDestination 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.

Returns:
New Woolz object.
Parameters:
cObjGiven current object.
ogOrigin of rectangular buffer.
szBuffer size (note 2D).
bufSzNumber of values in the buffer (ie sz.vtX * sz.vtY).
bufGiven buffer of values.
dstErrDestination 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.

Returns:
New Woolz object.
Parameters:
cObjGiven current object.
ogOrigin of rectangular buffer.
szBuffer size (note 2D).
bufSzNumber of values in the buffer (ie sz.vtX * sz.vtY).
bufGiven buffer of values.
dstErrDestination 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.

Returns:
New Woolz object.
Parameters:
cObjGiven current object.
ogOrigin of rectangular buffer.
szBuffer size (note 2D).
bufSzNumber of values in the buffer (ie sz.vtX * sz.vtY).
bufGiven buffer of values.
dstErrDestination 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.

Returns:
New Woolz object.
Parameters:
cObjGiven current object.
ogOrigin of rectangular buffer.
szBuffer size (note 2D).
bufSzNumber of values in the buffer (ie sz.vtX * sz.vtY).
bufGiven buffer of values.
dstErrDestination 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.

Returns:
New Woolz object.
Parameters:
cObjGiven current object.
ogOrigin of rectangular buffer.
szBuffer size (note 2D).
gTypeThe grey type.
bufSzNumber of values in the buffer (ie sz.vtX * sz.vtY * sizeof(<gType>))).
bufGiven buffer of values.
dstErrDestination 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.

Returns:
New Woolz object.
Parameters:
cObjGiven current object.
ogOrigin of rectangular buffer.
szBuffer size (note 2D).
gTypeGrey type which must be consistent with the current object (if it is valid) and the buffer of values.
bufSzNumber of values in the buffer (ie sz.vtX * sz.vtY).
bufPGiven buffer of values.
dstErrDestination 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, _WlzVoxelValues::values, _WlzObject::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, WlzAssignDomain(), WlzAssignValues(), WlzFreeObj(), 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.

Returns:
New 3D object.
Parameters:
nFileStrNumber of file strings.
fileStrFile strings.
plane1The plane coordinate of the first 2D object.
xSzColumn voxel size.
ySzLine voxel size.
zSzPlane voxel size.
dstErrDestination error pointer, may be NULL.

References _WlzValues::core, _WlzDomain::core, _WlzObject::domain, _WlzPlaneDomain::domains, _WlzDomain::p, _WlzObject::type, _WlzVoxelValues::values, _WlzObject::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.

Returns:
New 3D object.
Parameters:
nObjsNumber of objects.
objsThe 2D objects, the first of which MUST not be NULL.
plane1The plane coordinate of the first 2D object.
xSzColumn voxel size.
ySzLine voxel size.
zSzPlane voxel size.
dstErrDestination error pointer, may be NULL.

References _WlzValues::core, _WlzDomain::core, _WlzObject::domain, _WlzPlaneDomain::domains, _WlzDomain::p, _WlzObject::type, _WlzVoxelValues::values, _WlzObject::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.

Returns:
Copy of given object.
Parameters:
inObjThe given object.
dstErrDestination 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, _WlzCoreValues::type, _WlzObject::type, _WlzIndexedValues::values, _WlzObject::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_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(), WlzHistogramFindPeaks(), WlzHistogramFitPeaks(), and WlzTransformProduct().

WlzDomain WlzCopyDomain ( WlzObjectType  inObjType,
WlzDomain  inDom,
WlzErrorNum dstErr 
)

Copies the given objects domain.

Returns:
Copied domain, NULL on error.
Parameters:
inObjTypeType of given domain's parent object.
inDomDomain to be copied.
dstErrDestination error pointer, may be NULL.

References _WlzDomain::b, _WlzLUTDomain::bin1, _WlzHistogramDomain::binSize, _WlzHistogramDomain::binValues, _WlzDomain::cm2, _WlzDomain::cm2d5, _WlzDomain::cm3, _WlzDomain::core, _WlzDomain::ctr, _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, _WlzBoundList::poly, _WlzDomain::poly, _WlzDomain::t, _WlzBoundList::type, _WlzPolygonDomain::type, _WlzHistogramDomain::type, _WlzPlaneDomain::type, _WlzIntervalDomain::type, _WlzPlaneDomain::voxel_size, _WlzDomain::vs3d, _WlzPolygonDomain::vtx, 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_DOMAIN_NULL, WLZ_ERR_NONE, WLZ_ERR_OBJECT_TYPE, WLZ_FMATCHOBJ, WLZ_GREY_DOUBLE, WLZ_GREY_INT, WLZ_HISTOGRAM, WLZ_HISTOGRAMDOMAIN_INT, WLZ_LUT, WLZ_PROPERTY_OBJ, WLZ_RECTANGLE, WLZ_TEXT, WLZ_TRANS_OBJ, WLZ_WARP_TRANS, WlzAffineTransformCopy(), WlzAssignDomain(), WlzAssignGMModel(), WlzCMeshCopy2D(), WlzCMeshCopy2D5(), WlzCMeshCopy3D(), 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 
)
WlzPropertyList* WlzCopyPropertyList ( WlzPropertyList gList,
WlzErrorNum dstErr 
)

Copies the given property list.

Returns:
Copied 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.

Parameters:
gListGiven property list.
dstErrDestination error pointer, may be NULL.

References ALC_ER_NONE, AlcDLPListEntryAppend(), _WlzEMAPProperty::anatomyUID, _WlzEMAPProperty::comment, _WlzProperty::core, _WlzProperty::emap, _WlzEMAPProperty::emapType, _AlcDLPItem::entry, _WlzEMAPProperty::fileName, _WlzProperty::greyV, _AlcDLPList::head, _WlzPropertyList::list, _WlzEMAPProperty::modelName, _WlzEMAPProperty::modelUID, _WlzGreyProperty::name, _WlzNameProperty::name, _WlzProperty::name, _AlcDLPItem::next, _WlzProperty::simple, _WlzEMAPProperty::stage, _WlzEMAPProperty::subStage, _WlzEMAPProperty::targetUID, _WlzEMAPProperty::targetVersion, _WlzCoreProperty::type, _WlzGreyProperty::value, _WlzEMAPProperty::version, WLZ_ERR_MEM_ALLOC, WLZ_ERR_NONE, WLZ_ERR_PROPERTY_NULL, WLZ_ERR_PROPERTY_TYPE, WLZ_PROPERTY_EMAP, WLZ_PROPERTY_GREY, WLZ_PROPERTY_NAME, WLZ_PROPERTY_SIMPLE, WlzAssignProperty(), WlzFreePropertyList(), WlzFreePropertyListEntry(), WlzMakeEMAPProperty(), WlzMakeGreyProperty(), WlzMakeNameProperty(), and WlzMakePropertyList().

Referenced by WlzCopyObject().

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.

Returns:
Woolz error code.
Parameters:
dObjDestination object.
sObjSource object.

References _WlzValues::core, _WlzDomain::core, _WlzObject::domain, _WlzObject::type, _WlzObject::values, WLZ_2D_DOMAINOBJ, WLZ_3D_DOMAINOBJ, WLZ_ERR_DOMAIN_NULL, WLZ_ERR_NONE, WLZ_ERR_OBJECT_NULL, WLZ_ERR_OBJECT_TYPE, and WLZ_ERR_VALUES_NULL.

WlzErrorNum WlzFreeObj ( WlzObject obj)

Free space allocated to a woolz object.

Returns:
Error number, values: WLZ_ERR_NONE, WLZ_ERR_MEM_FREE
Parameters:
objObject to be freed.
Source:
WlzFreeSpace.c

References AlcFree(), _WlzObject::assoc, _WlzDomain::b, _WlzValues::c, _WlzDomain::cm2, _WlzDomain::cm2d5, _WlzDomain::cm3, _WlzValues::core, _WlzDomain::ctr, _WlzObject::domain, _WlzDomain::hist, _WlzDomain::i, _WlzPlaneDomain::linkcount, _WlzCoreValues::linkcount, _WlzIntervalDomain::linkcount, _WlzObject::linkcount, _WlzCompoundArray::n, _WlzCompoundArray::o, _WlzValues::obj, _WlzDomain::p, _WlzObject::plist, _WlzDomain::poly, _WlzValues::pts, _WlzDomain::pts, _WlzDomain::r, _WlzDomain::t, _WlzValues::t, _WlzCoreValues::type, _WlzObject::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_DBG, WLZ_DBG_ALLOC, WLZ_DBG_LVL_1, WLZ_DBG_LVL_FN, WLZ_EMPTY_OBJ, 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_TRANS_OBJ, WlzCMeshFree2D(), WlzCMeshFree2D5(), WlzCMeshFree3D(), WlzFreeAffineTransform(), WlzFreeBoundList(), WlzFreeContour(), WlzFreeConvHull(), WlzFreeDomain(), WlzFreeIndexedValues(), WlzFreeLUTValues(), WlzFreePlaneDomain(), WlzFreePointValues(), WlzFreePolyDmn(), WlzFreePropertyList(), WlzFreeTiledValues(), WlzFreeValueTb(), WlzFreeVoxelValueTb(), WlzGreyTableIsTiled(), WlzUnlink(), and _WlzValues::x.

Referenced by DumbRegMatch(), main(), SecListToTransforms(), Wlz2DContains(), Wlz3DSectionOcc(), Wlz3DSectionSegmentObject(), Wlz3DViewTransformBitmap(), Wlz3DViewTransformObj(), WlzAffineTransformObjCb(), WlzBasisFnInvertMakeCMeshTr2D(), WlzBasisFnInvertMakeCMeshTr3D(), WlzBasisFnMakeCMeshTr2D(), WlzBasisFnMakeCMeshTr3D(), WlzBoundaryToObj(), WlzBoundTo8Bound(), WlzBoundToObj(), WlzBuildObj3(), WlzCannyDeriche(), WlzCCorS2D(), WlzClipObjToBox2D(), WlzClipObjToBox3D(), WlzCMeshComputeCurvatures(), WlzCMeshComputeCurvaturesFromNodNorm(), WlzCMeshComputeNormalsElm(), WlzCMeshComputeNormalsIxv2D5(), WlzCMeshComputeNormalsNod(), WlzCMeshCurvToImage(), WlzCMeshDistance2D(), WlzCMeshDistance3D(), WlzCMeshFlatten2D5(), WlzCMeshFromObj2D(), WlzCMeshFromObj3D(), WlzCMeshIntersectDom2D5(), WlzCMeshStrainTensor(), WlzCMeshStrainTensorAtPts(), WlzCMeshToDomObj(), WlzCMeshTransformFromObj(), WlzCMeshTransformManyObjAsIdx(), WlzCompoundArrayToScalar(), WlzConstruct3DObjFromFile(), WlzContourGrdObj2D(), WlzContourRBFBndObj3D(), WlzCopyScaleCMeshValue(), WlzCopyValues(), WlzCutObjToValBox3D(), WlzDbgObjWrite(), WlzDiffDomain(), WlzDiffDomain3d(), WlzDistanceTransform(), WlzDomainFill(), WlzDomainOccupancy(), WlzDrawDomainObj(), WlzEffReadObjAm(), WlzEffReadObjAnl(), WlzEffReadObjIPL(), WlzEffReadObjJpeg(), WlzEffReadObjObj(), WlzEffReadObjPly2(), WlzEffReadObjSlc(), WlzEffReadObjSMesh(), WlzEffReadObjStl(), WlzEffReadObjTiff(), WlzEffWriteObjBmp2D(), WlzEffWriteObjJpeg(), WlzEffWriteObjPnm2D(), WlzEffWriteObjTiff(), WlzEffWriteObjTxt(), WlzEMAPDomainTransform(), WlzEMAPFreeMapping(), WlzExplode3D(), WlzFillBlankPlanes(), WlzFree3DViewStruct(), WlzFreePatchTree(), WlzFreeTransform(), WlzGauss2(), WlzGaussNoise(), WlzGeometryTrackUpAndDown_s(), WlzGetMaskedSectionFromObject(), WlzGetPatchTree(), WlzGetPatchTreeToDepth(), WlzGetProjectionFromObject(), WlzGreyMask(), WlzGreyMeanDifference(), WlzGreyModGradient(), WlzGreyScale(), WlzGreySetRange(), WlzGreySetRangeLut(), WlzGreySetValue(), WlzGreyShift(), WlzGreyStats(), WlzGreyTemplate(), WlzGreyTransfer(), WlzHasIntersection(), WlzHistogramFindPeaks(), WlzHistogramFitPeaks(), WlzHistogramMapValues(), WlzHistogramMatchObj(), WlzHistogramObj(), WlzHyThreshold(), WlzImageArithmetic(), WlzIndexObjFromCompound(), WlzIndexObjToCompound(), WlzInit3DViewStruct(), WlzIntersect3d(), WlzIntersectN(), WlzIterateWSpFree(), WlzLabel3d(), WlzLBTDomain2DFromIDomain(), WlzLBTDomain3DFromPDomain(), WlzLBTMakeNodeIndexObj2D(), WlzLBTMakeNodeIndexObj3D(), WlzLUTGreyTransformNew(), WlzLUTTransformObj(), WlzMakeCuboidObject(), WlzMakeMarkers(), WlzMakeSphereObject(), WlzMakeStdStructElement(), WlzMarkerLattice(), WlzMeshTransformObj_3D(), WlzNewGrey(), WlzNewObjectValues(), WlzNewValuesVox(), WlzNMSuppress(), WlzNObjGreyStats(), WlzObjToBoundary(), WlzPatchTreeToObject(), WlzPointsToDomObj(), WlzPolarSample(), WlzPolygonToObj(), WlzPolyToObj(), WlzProj3DToSection(), WlzProjectObjToPlane(), WlzReadObj(), WlzRegCCorObjs(), WlzRegConCalcRCC8(), WlzRegICPObjsGrd(), WlzRegICPVerticesWSD2D(), WlzRegisterPatchTreeBF(), WlzRGBAGreyScale(), WlzRGBAGreyStats(), WlzRGBAImageArithmetic(), WlzRGBAModGradient(), WlzRGBAMultiThreshold(), WlzRGBAScalarBinaryOp(), WlzRGBChanRatio(), WlzRsvFilterObj(), WlzSampleObjPoint3D(), WlzScalarBinaryOp2(), WlzScalarFeatures2D(), WlzSepTrans(), WlzSetBackground(), WlzShadeCorrectBFDF(), WlzSobel(), WlzSplitMontageObj(), WlzSplitObj(), WlzStructDilation(), WlzStructErosion(), WlzToArray1D(), WlzTransposeObj(), WlzUnion3d(), WlzUnionN(), WlzVerifyObject(), WlzVerticesFromObj3I(), WlzVerticesFromObjBnd2I(), WlzVerticesFromObjBnd3I(), WlzVolume(), and WlzWindow().

WlzErrorNum WlzFreeIntervalDomain ( WlzIntervalDomain idom)
WlzErrorNum WlzFreeHistogramDomain ( WlzHistogramDomain hist)

Free a histogram domain.

Returns:
Error number, values: from WlzFreeDomain().
Parameters:
histHistogram domain to be freed.
Source:
WlzFreeSpace.c

References _WlzDomain::hist, and WlzFreeDomain().

Referenced by WlzBasisFnFree().

WlzErrorNum WlzFreeValueTb ( WlzRagRValues vdmn)

Convenience routine to free a ragged rect valuetable.

Returns:
Error number, values: WLZ_ERR_NONE and from WlzFreeValues().
Parameters:
vdmnValue domain to be freed.
Source:
WlzFreeSpace.c

References _WlzValues::v, WLZ_ERR_NONE, and WlzFreeValues().

Referenced by WlzFreeObj(), WlzIndexObjFromCompound(), WlzLBTMakeNodeIndexObj2D(), WlzLBTMakeNodeIndexObj3D(), WlzLUTTransformObj(), 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!

Returns:
Error number, values: WLZ_ERR_NONE, WLZ_ERR_VALUES_DATA.
Parameters:
valuesValues union to be freed.
Source:
WlzFreeSpace.c

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(), WlzEffReadObjTiff(), WlzFreeValueTb(), WlzFreeVoxelValueTb(), WlzFromArray1D(), WlzMakeCuboid(), WlzMakeIntervalValues(), WlzMakeRect(), WlzShiftObject(), and WlzShiftValues().

WlzErrorNum WlzFreeConvHull ( WlzConvHullValues c)

Free convex hull values.

Returns:
Error number, values: WLZ_ERR_NONE and from WlzUnlink().
Parameters:
cPointer to convex hull values to be freed.
Source:
WlzFreeSpace.c

References AlcFree(), _WlzConvHullValues::linkcount, WLZ_ERR_NONE, and WlzUnlink().

Referenced by WlzFreeObj().

WlzErrorNum WlzFreePolyDmn ( WlzPolygonDomain poly)

Free a polygon domain.

Returns:
Error number, values: WLZ_ERR_NONE and from WlzUnlink().
Parameters:
polyPolygon domain to be freed.
Source:
WlzFreeSpace.c

References AlcFree(), _WlzPolygonDomain::linkcount, WLZ_ERR_NONE, and WlzUnlink().

Referenced by WlzBasisFnTransformPoly2(), WlzBoundaryToPolyObjArray(), WlzConvertPolyType(), WlzCopyDomain(), WlzFreeBoundList(), WlzFreeObj(), WlzFreePlaneDomain(), WlzPolySmooth(), and WlzShiftDomain().

WlzErrorNum WlzFreeBoundList ( WlzBoundList b)

Recursively free a boundary list.

Returns:
Error number, values: WLZ_ERR_NONE and from WlzUnlink().
Parameters:
bBoundary list structure to be freed (note this will call WlzFreeBoundList recursively).
Source:
WlzFreeSpace.c

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(), WlzShiftDomain(), and WlzTransposeObj().

WlzErrorNum WlzFree3DWarpTrans ( Wlz3DWarpTrans obj)

Free a 3D warp transform.

Returns:
Error number, values: WLZ_ERR_NONE and from WlzFreePlaneDomain().
Parameters:
obj3D warp transform object to be freed.
Source:
WlzFreeSpace.c

References AlcFree(), _Wlz3DWarpTrans::intptdoms, _Wlz3DWarpTrans::pdom, WLZ_ERR_NONE, WLZ_ERR_OBJECT_NULL, and WlzFreePlaneDomain().

WlzErrorNum WlzFreePointValues ( WlzPointValues pv)

Frees a points valuetable.

Returns:
Woolz error code.
Parameters:
pvGiven 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(), and WlzMakePointValues().

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.

Returns:
New 2D linear binary tree domain.
Parameters:
typeType of domain, which must be WLZ_LBTDOMAIN_2D.
l1First line.
lllast line.
k1First column.
klLast column.
dstErrDestination 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.

Returns:
New 3D linear binary tree domain.
Parameters:
typeType of domain, which must be WLZ_LBTDOMAIN_3D.
p1First plane.
plLast plane.
l1First line.
llLast line.
k1First column.
klLast column.
dstErrDestination 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.

Returns:
Woolz error code.
Parameters:
lDomGiven 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.

Returns:
Woolz error code.
Parameters:
lDomGiven 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.

Returns:
New Woolz compound array object.
Parameters:
typeType of compound array which should be either WLZ_COMPOUND_ARR_1 or WLZ_COMPOUND_ARR_2.
modeAction to be performed, which may have the values:
  • 1: Allocate an empty array with space for n objects.
  • 2: Array members are given in the input object list, the list linked.
  • 3: Array members are given in the input object list, objects assigned.
nNumber of objects.
olInput object list.
otypeWoolz object type if objects are type checked.
dstErrDestination 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 WlzEffReadObjAnl(), WlzEffReadObjTiff(), WlzGreyModGradient(), WlzIndexObjToCompound(), WlzRGBAGreyScale(), WlzRGBAImageArithmetic(), WlzRGBAToCompound(), WlzSepTrans(), and WlzShadeCorrectBFDF().

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.

Returns:
New interval values table.
Parameters:
typeRequired table type.
objInput object.
bckgrndValues table background value.
dstErrError return.
Constraints
The woolz object type must resolve to WLZ_GREY_TAB_INTL using WlzGreyTableTypeToTableType()or an error will be reported and NULL returned. For historical reasons the type encodes the table type as well as the grey-value type.
Source:
WlzMakeIntervalValues.c

References AlcCalloc(), AlcFreeStackPush(), _WlzIntervalValues::bckgrnd, _WlzIntervalWSpace::colrmn, _WlzValues::core, _WlzDomain::core, _WlzGreyP::dbp, _WlzObject::domain, _WlzGreyP::flp, _WlzIntervalValues::freeptr, _WlzDomain::i, _WlzValues::i, _WlzGreyP::inp, _WlzIntervalDomain::kol1, _WlzIntervalValues::kol1, _WlzIntervalDomain::lastkl, _WlzIntervalValues::lastln, _WlzIntervalDomain::lastln, _WlzIntervalWSpace::lftpos, _WlzIntervalValues::line1, _WlzIntervalDomain::line1, _WlzIntervalValues::linkcount, _WlzValueIntervalLine::nintvs, _WlzIntervalWSpace::nwlpos, _WlzIntervalValues::original_table, _WlzGreyP::rgbp, _WlzIntervalWSpace::rgtpos, _WlzGreyP::shp, _WlzIntervalValues::type, _WlzObject::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 WlzNewValueTb().

WlzIntervalDomain* WlzMakeIntervalDomain ( WlzObjectType  type,
int  l1,
int  ll,
int  k1,
int  kl,
WlzErrorNum dstErr 
)
WlzPlaneDomain* WlzMakePlaneDomain ( WlzObjectType  type,
int  p1,
int  pl,
int  l1,
int  ll,
int  k1,
int  kl,
WlzErrorNum dstErr 
)
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.

Returns:
New object or NULL on error.

This function conveniently wraps up WlzNewValueTb(), WlzNewValuesVox(), WlzMakeMain() and WlzGreySetValue().

Parameters:
sObjGiven object.
tTypeGrey table type.
bgdVBackground value.
setFGSet forground value if non zero.
fgdVForeground value to be set.
dstErrDestinaition 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(), and WlzNObjGreyStats().

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.

Returns:
New voxel value table.
Parameters:
sObjSource object.
gTTypeGiven grey table type for the plane value tables.
bgdVBackground value.
dstErrDestination error pointer, may be NULL.

References _WlzDomain::core, _WlzValues::core, _WlzObject::domain, _WlzPlaneDomain::domains, _WlzPlaneDomain::lastpl, _WlzDomain::p, _WlzPlaneDomain::plane1, _WlzCoreDomain::type, _WlzObject::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 WlzContourRBFBndObj3D(), WlzDistanceTransform(), WlzIndexObjFromCompound(), WlzLBTMakeNodeIndexObj3D(), WlzLUTTransformObj(), 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.

Returns:
Pointer to object structure.
Parameters:
typeObject type.
domainDomain to be assigned using WlzAssignDomain()
valuesValues to be attached using WlzAssignValues()
plistProperty list attached using WlzAssignPropertyList()
assocAssociated Object attached using WlzAssignObject().
dstErrerror return values: WLZ_ERR_NONE, WLZ_ERR_MEM_ALLOC, WLZ_ERR_PARAM_DATA snd error values from WlzAssign procedures.
Source:
WlzMakeStructs.c

References AlcFree(), AlcMalloc(), _WlzObject::assoc, _WlzValues::core, _WlzDomain::core, _WlzObject::domain, _WlzCoreValues::linkcount, _WlzCoreDomain::linkcount, _WlzObject::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_TRANS_OBJ, WLZ_WARP_TRANS, WlzAssignDomain(), WlzAssignObject(), WlzAssignPropertyList(), and WlzAssignValues().

Referenced by SecListToTransforms(), Wlz3DSectionSegmentObject(), Wlz3DViewTransformObj(), WlzAffineTransformObjCb(), WlzBasisFnInvertMakeCMeshTr2D(), WlzBasisFnInvertMakeCMeshTr3D(), WlzBasisFnMakeCMeshTr2D(), WlzBasisFnMakeCMeshTr3D(), WlzBasisFnTransformObj(), WlzBoundaryToObj(), WlzBoundaryToPolyObjArray(), WlzBoundTo8Bound(), WlzBuildObj3(), WlzCannyDeriche(), WlzCbThreshold(), WlzClipObjToBox2D(), WlzClipObjToBox3D(), WlzCMeshCompSurfMapIdx(), WlzCMeshComputeCurvaturesFromNodNorm(), WlzCMeshComputeNormalsElm(), WlzCMeshComputeNormalsIxv2D5(), WlzCMeshComputeNormalsNod(), WlzCMeshCurvToImage(), WlzCMeshDistance2D(), WlzCMeshDistance3D(), WlzCMeshExtract2D(), WlzCMeshFlatten2D5(), WlzCMeshIntersect(), WlzCMeshIntersectDom2D5(), WlzCMeshMeshMeshProduct(), WlzCMeshToContour(), WlzCMeshTransformFromObj(), WlzCMeshTransformObj(), WlzConstruct3DObjFromFile(), WlzConstruct3DObjFromObj(), WlzContourRBFBndObj3D(), WlzConvertPix(), WlzConvertVtx(), WlzCopyObject(), WlzCopyScaleCMeshValue(), WlzCopyValues(), WlzCutObjToValBox3D(), WlzDiffDomain(), WlzDiffDomain3d(), WlzDilation(), WlzDistanceTransform(), WlzDomainFill(), WlzEffReadObjEMT(), WlzEffReadObjMesh(), WlzEffReadObjNodeEle(), WlzEffReadObjObj(), WlzEffReadObjPly2(), WlzEffReadObjSMesh(), WlzEffReadObjStl(), WlzEffReadObjTiff(), WlzEffReadObjVMesh(), WlzEffWriteObjTiff(), WlzErosion(), WlzErosion4(), WlzExplode3D(), WlzFillBlankPlanes(), WlzFromArray1D(), WlzGaussNoise(), WlzGetMaskedSectionFromObject(), WlzGetProjectionFromObject(), WlzGetSectionFromObject(), WlzGreyMask(), WlzGreyMeanDifference(), WlzGreyModGradient(), WlzGreySetRange(), WlzGreySetRangeLut(), WlzGreySetValue(), WlzGreyStats(), WlzGreyTemplate(), WlzGreyTransfer(), WlzHasIntersection(), WlzHistogramMapValues(), WlzHistogramMatchObj(), WlzHistogramObj(), WlzHyThreshold(), WlzImageArithmetic(), WlzIndexObjFromCompound(), WlzIndexObjToCompound(), WlzIndexToRGBA(), WlzIntersect3d(), WlzIntersectN(), WlzIntRescaleObj(), WlzLabel(), WlzLabel3d(), WlzLBTDomain2DFromIDomain(), WlzLBTDomain3DFromPDomain(), WlzLBTMakeNodeIndexObj2D(), WlzLBTMakeNodeIndexObj3D(), WlzLUTTransformObj(), WlzMakeCircleObject(), WlzMakeCuboid(), WlzMakeCuboidObject(), WlzMakeEmpty(), WlzMakeHistogram(), WlzMakeLUTObject(), WlzMakeQuadrilateral(), WlzMakeRect(), WlzMakeRectangleObject(), WlzMakeSinglePixelObject(), WlzMakeSphereObject(), WlzMarkerLattice(), WlzMeshTransformObj_3D(), WlzNewGrey(), WlzNewObjectValues(), WlzNewValuesVox(), WlzNMSuppress(), WlzObjToBoundary(), WlzObjToConvexPolygon(), WlzPatchTreeToObject(), WlzPolygonToObj(), WlzPolyTo8Polygon(), WlzPolyToObj(), WlzProjectObjToPlane(), WlzReadObj(), WlzRegICPObjsGrd(), WlzRGBAModGradient(), WlzRGBAMultiThreshold(), WlzRGBAToChannel(), WlzRGBAToCompound(), WlzRGBAToModulus(), WlzRsvFilterObj(), WlzSampleObjPoint2D(), WlzSampleObjPoint3D(), WlzScalarBinaryOp2(), WlzSepTrans(), WlzSetBackground(), WlzShadeCorrectBFDF(), WlzShiftObject(), WlzStructDilation(), WlzStructErosion(), WlzThreshold(), WlzToArray1D(), WlzTransposeObj(), 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.

Returns:
Pointer to a ragged rectangle values table.
Parameters:
typeValues structure type. Must be a correct type as given by WlzGreyTableType() with table_type = WLZ_GREY_TAB_RAGR.
l1First line.
llLast line.
k1First column.
backgrndBackground pixel value
origOriginal object holding the grey-value data.
dstErrError return values: WLZ_ERR_NONE, WLZ_ERR_PARAM_DATA, WLZ_ERR_LINE_DATA, WLZ_ERR_MEM_ALLOC
Source:
WlzMakeStructs.c

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().

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().

Returns:
Pointer to a rectangular value table.
Parameters:
typeValue table type. Must be a valid table type e.g. as returned by WlzGreyTableType() with table_type = WLZ_GREY_TAB_RECT.
line1First line
lastlnLast line.
kol1First column
widthWidth
backgrndBackground pixel value.
valuesPointer to array of pixel values.
dstErrError return values: WLZ_ERR_NONE, WLZ_ERR_PARAM_DATA, WLZ_ERR_MEM_ALLOC
Source:
WlzMakeStructs.c

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.

Returns:
Woolz error, values: WLZ_ERR_NONE
Parameters:
lineLine on which the interval array is to be attached.
idomPointer to the interval domain to hold the intervals.
nintsNumber of intervals in the array.
intptrPointer to the set of intervals.
Source:
WlzMakeStructs.c

References _WlzIntervalDomain::intvlines, _WlzIntervalLine::intvs, _WlzIntervalDomain::line1, _WlzIntervalLine::nintvs, and WLZ_ERR_NONE.

Referenced by Wlz3DSectionSegmentObject(), Wlz3DViewTransformObj(), WlzCbThreshold(), WlzClipObjToBox2D(), WlzDiffDomain(), WlzDilation(), WlzErosion(), WlzErosion4(), WlzIntersectN(), WlzLabel(), WlzMakeCircleObject(), WlzMakeQuadrilateral(), WlzNewIDomain(), WlzPolyToObj(), WlzSampleObjPoint2D(), WlzSkStrip4(), WlzStructDilation(), WlzStructErosion(), WlzThreshold(), 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.

Returns:
Woolz error, values: WLZ_ERR_NONE.
Parameters:
vtbPointer to a ragged rectangle value table.
lineLine for the values to be set.
k1First column of grey interval.
klLast column of grey interval.
greyptrGrey values pointer cast type int *.
Source:
WlzMakeStructs.c

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.

Returns:
New point value table or NULL on error.
Parameters:
objGiven object, the domain of which is used to determine the value allocation. This must have type WLZ_POINTS.
rankThe rank of the individual values.
dimThe dimensions of individual indexed values.
vTypeThe type of the data in the individual values.
dstErrDestination 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.

Returns:
New point value table or NULL on error.
Parameters:
nP,:Number of points to allocate space for.
rankThe rank of the individual values.
dimThe dimensions of individual indexed values.
vTypeThe type of the data in the individual values.
dstErrDestination 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 WlzNewPointValues().

WlzPolygonDomain* WlzMakePolygonDomain ( WlzObjectType  type,
int  n,
WlzIVertex2 vertices,
int  maxv,
int  copy,
WlzErrorNum dstErr 
)

Make a polygon domain, allocating space and copying as required:

  • vertices != NULL, copy=0 - just plant the pointer
  • vertices != NULL, copy=1 - allocate space and copy
  • vertices == NULL, copy=0 - no vertex space allocated
    probably an error!!
  • vertices == NULL, copy=1 - allocate space for maxv vertices
Returns:
Pointer to the initialised structure.
Parameters:
typeone of WLZ_POLYGON_INT, WLZ_POLYGON_FLOAT, WLZ_POLYGON_DOUBLE
nnumber of vertices if vertices!=NULL.
verticesvertices to be set, see type for value options.
maxvsize of array if vertices!=NULL else number of vertices for which space it to be allocated.
copycopy flag see description for values.
dstErrError return, values: WLZ_ERR_NONE, WLZ_ERR_PARAM_DATA, WLZ_ERR_MEM_ALLOC.
Source:
WlzMakeStructs.c

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(), WlzObjToBoundary(), WlzObjToConvexPolygon(), WlzPolyDecimate(), WlzPolyEquispace(), WlzPolyReverse(), WlzPolyTo8Polygon(), and WlzShiftDomain().

WlzBoundList* WlzMakeBoundList ( WlzObjectType  type,
int  wrap,
WlzPolygonDomain poly,
WlzErrorNum dstErr 
)

Allocate space and initialise a boundlist structure.

Returns:
Pointer to a BoundList structure.
Parameters:
typeBoundList type, one of: WLZ_BOUNDLIST_PIECE or WLZ_BOUNDLIST_HOLE.
wrapnumber of vertices by which the polygon is "wrapped" ie number of vertices overlapping at the beginning and end.
polypolygon for this boundary structure
dstErrError return, values: WLZ_ERR_NONE, WLZ_ERR_PARAM_DATA, WLZ_ERR_MEM_ALLOC.
Source:
WlzMakeStructs.c

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.

Returns:
Pointer to the array of vertex structures.
Parameters:
nvertsNumber of vertices.
dstErrError return, values: WLZ_ERR_NONE, WLZ_ERR_MEM_ALLOC.
Source:
WlzMakeStructs.c

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().

Returns:
Pointer to the top-level object.
Parameters:
line1First line.
lastlnLast line
kol1First column
lastkllast column
pixeltypePixel type for the grey values. If WLZ_GREY_ERROR is given then no values are created.
grey_valuesPointer to the grey values array.
backgrndBackground pixel value.
plistProperty list to be attached.
assoc_objAssociated object.
dstErrError return, values: WLZ_ERR_NONE and valuea from WlzMakeRectValueTb() and WlzMakeMain().
Source:
WlzMakeStructs.c

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(), WlzGreyTableType(), WlzMakeIntervalDomain(), WlzMakeMain(), and WlzMakeRectValueTb().

Referenced by WlzEffReadObjAnl(), WlzEffReadObjJpeg(), and WlzPolarSample().

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.

Returns:
New 3D domain object with values or NULL on error.
Parameters:
plane1First plane.
lastplLast plane.
line1First line.
lastlnLast line.
kol1First column.
lastklLast column.
pixTypePixel type for the grey values. If WLZ_GREY_ERROR is given then no values are created.
bgdVBackground pixel value.
plistProperty list to be attached.
assocObjAssociated object.
dstErrDestination 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_PLANEDOMAIN_DOMAIN, WLZ_VOXELVALUETABLE_GREY, WlzAssignDomain(), WlzAssignValues(), WlzFreeDomain(), WlzFreeValues(), WlzGreySize(), WlzGreyTableType(), WlzMakeIntervalDomain(), WlzMakeMain(), WlzMakePlaneDomain(), WlzMakeRectValueTb(), and WlzMakeVoxelValueTb().

Referenced by WlzEffReadObjAnl().

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.

Returns:
Pointer to object, NULL on error.
Parameters:
typehistogram type, one of: WLZ_HISTOGRAMDOMAIN_INT or WLZ_HISTOGRAMDOMAIN_FLOAT
maxBinsMaximum number of histogram bins.
dstErrError return, values: WLZ_ERR_NONE, WLZ_ERR_PARAM_DATA, WLZ_ERR_MEM_ALLOC.
Source:
WlzMakeStructs.c

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.

Returns:
Pointer to the Object structure, NULL on error.
Parameters:
dstErrError return, values from WlzMakeMain().
Source:
WlzMakeStructs.c

References _WlzValues::core, _WlzDomain::core, WLZ_EMPTY_OBJ, and WlzMakeMain().

Referenced by main(), Wlz3DSectionSegmentObject(), Wlz3DViewTransformObj(), WlzAffineTransformObjCb(), WlzBasisFnTransformObj(), WlzBoundaryToObj(), WlzCbThreshold(), WlzClipObjToBox2D(), WlzClipObjToBox3D(), WlzCMeshDistance2D(), WlzCMeshDistance3D(), WlzCMeshTransformObj(), WlzCompoundToRGBA(), WlzConvolveObj(), WlzCopyObject(), WlzCutObjToValBox3D(), WlzDiffDomain(), WlzDilation(), WlzDomainFill(), WlzEMAPDomainTransform(), WlzErosion(), WlzErosion4(), WlzGreyCrossing(), WlzGreyDitherObj(), WlzGreyGradient(), WlzGreyMask(), WlzGreyModGradient(), WlzGreyScale(), WlzGreyShift(), WlzGreyTemplate(), WlzGreyTransfer(), WlzGreyVariance(), WlzHistogramObj(), WlzImageArithmetic(), WlzIndexObjToCompound(), WlzIntersect3d(), WlzIntersectN(), WlzIntRescaleObj(), WlzMakeMarkers(), WlzMakeStdStructElement(), WlzMeshTransformObj_3D(), WlzNewGrey(), WlzNMSuppress(), WlzObjToConvexPolygon(), WlzPointsToDomObj(), WlzPolarSample(), WlzPolygonToObj(), WlzPolyTo8Polygon(), WlzPolyToObj(), WlzRasterObj(), WlzRGBAMultiThreshold(), WlzRGBAToChannel(), WlzRGBAToCompound(), WlzRGBAToModulus(), WlzRsvFilterObj(), WlzSampleObj(), WlzSampleObjPoint2D(), WlzScalarBinaryOp2(), WlzSepTrans(), WlzShadeCorrectBFDF(), WlzShiftObject(), WlzSkeleton(), WlzStructDilation(), WlzStructErosion(), WlzThreshold(), WlzTransposeObj(), WlzUnionN(), and WlzWindow().

WlzObject* WlzMakeHistogram ( WlzObjectType  type,
int  maxBins,
WlzErrorNum dstErr 
)

Convenience procedure to make a top-level object with a histogram domain.

Returns:
Pointer to a Histogram object, NULL on error.
Parameters:
typeType of the histogram domain, one of: WLZ_HISTOGRAMDOMAIN_INT or WLZ_HISTOGRAMDOMAIN_FLOAT.
maxBinsMaximum number of histogram bins.
dstErrError return, values: from WlzMakeHistogramDomain() and WlzMakeMain().
Source:
WlzMakeStructs.c

References _WlzValues::core, _WlzDomain::hist, WLZ_ERR_NONE, WLZ_HISTOGRAM, WlzMakeHistogramDomain(), and WlzMakeMain().

Referenced by WlzHistogramCopy(), WlzHistogramObj(), and WlzHistogramRebin().

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.

Returns:
Pointer to the top-level object, NULL on error.
Parameters:
iobjInput object which defines the domain and grey values for which the new grey table will be defined.
dstErrError return, values: WLZ_ERR_NONE, WLZ_ERR_OBJECT_TYPE and errors from WlzNewValueTb(), WlzMakeMain(), WlzInitGreyScan() and WlzNextGreyInterval().
Source:
WlzMakeStructs.c

References _WlzValues::core, _WlzDomain::core, _WlzObject::domain, _WlzIntervalWSpace::lftpos, _WlzGreyWSpace::pixeltype, _WlzObject::plist, _WlzIntervalWSpace::rgtpos, _WlzCoreValues::type, _WlzCoreDomain::type, _WlzObject::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_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(), WlzGreyTableType(), WlzGreyTableTypeToGreyType(), WlzInitGreyScan(), WlzMakeEmpty(), WlzMakeMain(), WlzNewValueTb(), and WlzNextGreyInterval().

Referenced by WlzCopyValues(), WlzGreyDitherObj(), WlzGreyMask(), WlzRsvFilterObj(), 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.

Returns:
Pointer to new ragged-rectangle value table structure.
Parameters:
objObject which defines the shape of the new value table.
typeValue table type.
backgrndBackground pixel value.
dstErrError return, values: WLZ_ERR_NONE, WLZ_ERR_OBJECT_TYPE, WLZ_ERR_MEM_ALLOC and errors from WlzMakeIntervalValues(), WlzGreyTableTypeToTableType(), WlzLineArea(), WlzMakeValueTb(), WlzInitRasterScan() and WlzMakeValueLine().
Source:
WlzMakeStructs.c

References AlcFreeStackPush(), AlcMalloc(), _WlzDomain::core, _WlzGreyP::dbp, _WlzGreyV::dbv, _WlzObject::domain, _WlzGreyP::flp, _WlzGreyV::flv, _WlzRectValues::freeptr, _WlzRagRValues::freeptr, _WlzValues::i, _WlzDomain::i, _WlzGreyP::inp, _WlzIntervalWSpace::intrmn, _WlzGreyV::inv, _WlzIntervalDomain::kol1, _WlzIntervalDomain::lastkl, _WlzRectValues::lastln, _WlzIntervalDomain::lastln, _WlzIntervalWSpace::lftpos, _WlzRectValues::line1, _WlzIntervalDomain::line1, _WlzIntervalWSpace::linpos, _WlzIntervalWSpace::nwlpos, _WlzValues::r, _WlzGreyP::rgbp, _WlzGreyV::rgbv, _WlzIntervalWSpace::rgtpos, _WlzGreyP::shp, _WlzGreyV::shv, _WlzObject::type, _WlzGreyP::ubp, _WlzGreyV::ubv, _WlzPixelV::v, _WlzGreyP::v, _WlzValues::v, _WlzRectValues::values, _WlzRectValues::width, _WlzRagRValues::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 Wlz3DViewTransformObj(), WlzCMeshCurvToImage(), WlzCMeshIntersectDom2D5(), WlzCMeshTransformObj(), WlzConvertPix(), WlzDistanceTransform(), WlzFillBlankPlanes(), WlzGetProjectionFromObject(), WlzGreyTemplate(), WlzIndexObjFromCompound(), WlzIndexToRGBA(), WlzIntersectN(), WlzLBTMakeNodeIndexObj2D(), WlzLUTTransformObj(), WlzNewGrey(), WlzNewObjectValues(), WlzNewValuesVox(), WlzRGBAModGradient(), WlzRGBAToChannel(), WlzRGBAToCompound(), WlzRGBAToModulus(), WlzScalarBinaryOp2(), WlzTransposeObj(), and WlzUnionN().

WlzIntervalDomain* WlzNewIDomain ( WlzObjectType  outDomType,
WlzIntervalDomain inDom,
WlzErrorNum dstErr 
)
WlzContour* WlzMakeContour ( WlzErrorNum dstErr)

Makes a new contour data structure.

Returns:
Pointer to a WLZContour object.
Parameters:
dstErrError return, values: WLZ_ERR_NONE, WLZ_ERR_MEM_ALLOC.
Source:
WlzMakeStructs.c

References AlcCalloc(), _WlzContour::type, WLZ_CONTOUR, WLZ_ERR_MEM_ALLOC, and WLZ_ERR_NONE.

Referenced by WlzAffineTransformContour(), WlzBasisFnTransformContour(), WlzCMeshToContour(), WlzContourGrdObj2D(), WlzCopyDomain(), WlzEffReadObjObj(), WlzEffReadObjPly2(), WlzEffReadObjSMesh(), WlzEffReadObjStl(), and WlzShiftDomain().

WlzIndexedValues* WlzMakeIndexedValues ( WlzObject obj,
int  rank,
int *  dim,
WlzGreyType  vType,
WlzValueAttach  attach,
WlzErrorNum dstErr 
)

Makes a new indexed value table.

Returns:
New index value table or NULL on error.
Parameters:
objGiven object, the domain of which is used to determine the value allocation.
rankThe rank of the individual values.
dimThe dimensions of individual indexed values.
vTypeThe type of the data in the individual values.
attachSpecifies what the values are to be attached to.
dstErrDestination 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, _WlzCMesh3D::res, _WlzCMesh2D5::res, _WlzCMesh2D::res, _WlzIndexedValues::type, _WlzCoreDomain::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(), WlzCMeshCompSurfMapIdx(), WlzCMeshComputeCurvaturesFromNodNorm(), WlzCMeshComputeNormalsElm(), WlzCMeshComputeNormalsIxv2D5(), WlzCMeshComputeNormalsNod(), WlzCMeshDistance2D(), WlzCMeshDistance3D(), WlzCMeshMeshMeshProduct(), WlzCMeshTransformFromObj(), WlzCopyObject(), and WlzCopyScaleCMeshValue().

WlzTiledValues* WlzMakeTiledValues ( int  dim,
WlzErrorNum dstErr 
)

Allocates a new tiled value table, but without allocating any indices or tiles. int dim Dimension.

Returns:
New tiled values.
Parameters:
dstErrDestination error pointer, may be NULL.

References AlcCalloc(), AlcFree(), _WlzTiledValues::dim, _WlzTiledValues::fd, _WlzTiledValues::nIdx, _WlzTiledValues::type, WLZ_ERR_MEM_ALLOC, WLZ_ERR_NONE, WLZ_ERR_PARAM_DATA, and WLZ_VALUETABLE_TILED_INT.

WlzObject* WlzMakeTiledValuesFromObj ( WlzObject gObj,
size_t  tileSz,
int  copyValues,
WlzGreyType  gType,
WlzPixelV  bgdV,
WlzErrorNum dstErr 
)

Creates a tiled object from the given object.

Returns:
New tiled object or NULL on error.

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.

Parameters:
gObjGiven 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.
tileSzThe required tile size.
copyValuesNon zero if the grey values should be copied to the tiled object.
gTypeRequired grey type for values table.
bgdVrequired background value.
dstErrDestination error pointer, may be NULL.

References _WlzObject::type, WLZ_2D_DOMAINOBJ, WLZ_3D_DOMAINOBJ, WLZ_ERR_NONE, WLZ_ERR_OBJECT_NULL, and WLZ_ERR_OBJECT_TYPE.

WlzErrorNum WlzMakeTiledValuesTiles ( WlzTiledValues tVal)

Allocates tiles for the tiles values but does not set the values within the tiles.

Returns:
Woolz error code.
Parameters:
tValGiven tiled values.

References AlcMalloc(), _WlzTiledValues::fd, _WlzTiledValues::numTiles, _WlzTiledValues::tiles, _WlzTiledValues::tileSz, _WlzTiledValues::type, _WlzGreyP::v, WLZ_ERR_MEM_ALLOC, WLZ_ERR_NONE, WlzGreySize(), and WlzGreyTableTypeToGreyType().