Woolz Image Processing  Version 1.8.3
WlzMakeStructs.c File Reference

Functions for allocating woolz structures. More...

Functions

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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
WlzVoxelValuesWlzMakeVoxelValueTb (WlzObjectType type, int p1, int pl, WlzPixelV backgrnd, WlzObject *orig, WlzErrorNum *dstErr)
 Allocate space for a voxel table. More...
 
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(). 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...
 
WlzObjectWlzMakeMarkers (WlzVertexType vType, int nVtx, WlzVertexP vtx, WlzMarkerType mType, int mSz, WlzErrorNum *dstErr)
 Constructs a domain from the union of marker domains with a marker domain at each of the given vertex positions. More...
 
WlzObjectWlzMarkerLattice (WlzObject *gObj, WlzMarkerType mType, int mSz, int mSep, WlzErrorNum *dstErr)
 Creates a new domain object that is a formed from a lattice of markers covering the given domain. More...
 
WlzPointsWlzMakePoints (WlzObjectType type, int nVtx, WlzVertexP vtxP, int maxVtx, WlzErrorNum *dstErr)
 Creates a new point domain. A point domain consists of an array of vertices which are treated as seperate points. More...
 
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. More...
 
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. More...
 
WlzPolygonDomainWlzMakePolygonDomain (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...
 
WlzBoundListWlzMakeBoundList (WlzObjectType type, int wrap, WlzPolygonDomain *poly, WlzErrorNum *dstErr)
 Allocate space and initialise a boundlist structure. More...
 
WlzIVertex2WlzMakeIVertex (int nverts, WlzErrorNum *dstErr)
 Make an integer vertex array. More...
 
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(). More...
 
WlzObjectWlzNewObjectValueTable (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...
 
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. More...
 
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. More...
 
WlzObjectWlzMakeEmpty (WlzErrorNum *dstErr)
 Convenience procedure to make a top-level empty object. More...
 
WlzObjectWlzMakeHistogram (WlzObjectType type, int maxBins, WlzErrorNum *dstErr)
 Convenience procedure to make a top-level object with a histogram domain. More...
 
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. More...
 
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. More...
 
WlzIntervalDomainWlzNewIDomain (WlzObjectType outDomType, WlzIntervalDomain *inDom, WlzErrorNum *dstErr)
 Make a copy of an intervaldomain. More...
 
WlzContourWlzMakeContour (WlzErrorNum *dstErr)
 Makes a new contour data structure. More...
 
WlzIndexedValuesWlzMakeIndexedValues (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...
 

Detailed Description

Functions for allocating woolz structures.

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

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

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

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