Woolz Image Processing
Version 1.8.3
|
Files | |
file | WlzBackground.c |
Functions to get and set the background value of objects. | |
file | WlzConvertPix.c |
Conversion of values. | |
file | WlzCutObjToBox.c |
Functions for creating new domain objects with rectangular value tables. | |
file | WlzGreyDitherObj.c |
Makes a dithered object from the given grey-level object. | |
file | WlzGreyInvertMinMax.c |
Grey value inversion. | |
file | WlzGreyMask.c |
Functions to set the value within the domain of a object. | |
file | WlzGreyModGradient.c |
Functions to calculate the modulus of the grey-level gradient of Woolz objects. | |
file | WlzGreyScan.c |
Object grey value scanning functions. | |
file | WlzGreySetHilbert.c |
Functions for creating objects with integral grey values that are related to their Hilbert indices. | |
file | WlzGreySetIncValues.c |
Functions for creating objects with integer grey values that increment. | |
file | WlzGreySetValue.c |
Sets the grey values of objects. | |
file | WlzGreyTemplate.c |
Attach a grey table to a template object. | |
file | WlzGreyTransfer.c |
Transfers grey values from a source to a destination object. The source object grey values are set in the intersection domain between source and destination. Destination domain and the destination values outside of the intersection are unchanged. | |
file | WlzKrig.c |
Functions for interpolation based on kriging. | |
file | WlzRGBAConvert.c |
Conversion routines for RGBA data including conversion to modulus. | |
file | WlzRGBAModGradient.c |
Calculates the modulus of the gradient of a RGBA object. The gradient is defined as the modulus of the "modulus" vector, i.e. the modulus for each colour. | |
file | WlzRGBAPixelUtils.c |
Utility functions for pixel and RGBA values. | |
file | WlzRGBARange.c |
Finds the range of values in a RGBA type image. | |
file | WlzValueTableUtils.c |
Functions for computing value amd value table types. | |
file | WlzValueUtils.c |
Many small functions for setting, copying and converting values. | |
Functions | |
WlzErrorNum | WlzSetBackground (WlzObject *obj, WlzPixelV bgd) |
Sets the backgound value of an image object. More... | |
WlzPixelV | WlzGetBackground (WlzObject *obj, WlzErrorNum *dstErr) |
Gets the background value of the given object. More... | |
WlzObject * | WlzSetBackGroundNewObj (WlzObject *gObj, WlzPixelV bgdV, WlzErrorNum *dstErr) |
Creates a new Woolz object in which the background value is as given. The given object must be either a 2D or 3D domain object with a valid domain, however it's values can be NULL. If the values are NULL then a new value table is created with the same grey type as the given background value, or if non-NULL then a new value table is created while sharing the values of the original object's value table when this is possible. The given object remains unchanged apart from linkcounts. More... | |
WlzObject * | WlzConvertPix (WlzObject *obj, WlzGreyType newpixtype, WlzErrorNum *dstErr) |
Converts the pixel type of the image object, creating a new object with the same domain as the given object. More... | |
WlzPolygonDomain * | WlzConvertPolyType (WlzPolygonDomain *pdom, WlzObjectType type, WlzErrorNum *dstErr) |
Converts a polygon domain type. More... | |
WlzBoundList * | WlzConvertBoundType (WlzBoundList *bound, WlzObjectType type, WlzErrorNum *dstErr) |
Converts a boundary list to the required type. More... | |
WlzObject * | WlzConvertVtx (WlzObject *obj, WlzVertexType newVtxType, WlzErrorNum *dstErr) |
Converts the vertices of an object to the required type. More... | |
WlzObject * | WlzCutObjToBox2D (WlzObject *sObj, WlzIBox2 cutBox, WlzGreyType dGreyType, int bgNoise, double bgMu, double bgSigma, WlzErrorNum *dstErrNum) |
Cuts a new object with a rectangular value table from the given woolz object. More... | |
WlzObject * | WlzCutObjToValBox2D (WlzObject *sObj, WlzIBox2 cutBox, WlzGreyType dGreyType, void *gValP, int bgNoise, double bgMu, double bgSigma, WlzErrorNum *dstErrNum) |
Cuts a new object with a rectangular value table from the given woolz object and allows access to grey table. If the source object has no values then the destination object will always have foreground value 1 and background value 0, ie the background parameters are ignored. More... | |
WlzObject * | WlzCutObjToBox3D (WlzObject *sObj, WlzIBox3 cutBox, WlzGreyType dGreyType, int bgNoise, double bgMu, double bgSigma, WlzErrorNum *dstErrNum) |
Cuts a new object with (a) rectangular value table(s) from the given woolz object. If the source object has no values then the destination object will always have foreground value 1 and background value 0, ie the background parameters are ignored. More... | |
WlzObject * | WlzCutObjToValBox3D (WlzObject *sObj, WlzIBox3 cutBox, WlzGreyType dGreyType, void *gValP, int bgNoise, double bgMu, double bgSigma, WlzErrorNum *dstErrNum) |
Cuts a new object with (a) rectangular value table(s) from the given woolz object. If the source object has no values then the destination object will always have foreground value 1 and background value 0, ie the background parameters are ignored. More... | |
WlzObject * | WlzGreyDitherObj (WlzObject *o, unsigned int destBits, WlzErrorNum *dstErr) |
Makes a dithered object from the given grey-level Woolz object. The destination bits are determined by the number of shades in the dithered image (usually 1 bit) and the bit planes to use (typically to match the bit-planes of a display mask). More... | |
WlzErrorNum | WlzGreyInvertMinMax (WlzObject *obj, WlzPixelV min, WlzPixelV max) |
Invert the Grey values of an object within a given range. The supplied min and max values define the grey transformation by: \[ g' = g_{max} + g_{min} - g \] which means that g=gmax gives g'=gmin and g=gmin gives | |
WlzObject * | WlzGreyMask (WlzObject *obj, WlzObject *mask, WlzPixelV maskVal, WlzErrorNum *dstErr) |
Set the value maskVal within the domain given by the mask object. The mask object can be a 2D, 3D, polygon or boundary object. A 3D mask with a 2D object is an error. A 2D mask with a 3D object will be applied to each plane in turn. More... | |
WlzObject * | WlzGreyModGradient (WlzObject *obj, double width, WlzErrorNum *dstErr) |
Calculate the modulus of the grey-level gradient at each point. The gradient images are calculated using WlzGauss2() with width parameter set to width . Will now calculate the modulus for each object of a compound object if appropriate. More... | |
WlzErrorNum | WlzInitGreyScan (WlzObject *obj, WlzIntervalWSpace *iwsp, WlzGreyWSpace *gwsp) |
Initialise interval and grey scanning of standard object in standard direction. More... | |
WlzErrorNum | WlzEndGreyScan (WlzIntervalWSpace *iwsp, WlzGreyWSpace *gwsp) |
This must be called when a grey workspace is no longer required as it frees resources of the workspace. More... | |
WlzErrorNum | WlzInitGreyRasterScan (WlzObject *obj, WlzIntervalWSpace *iwsp, WlzGreyWSpace *gwsp, WlzRasterDir raster, int tranpl) |
As WlzInitGreyScan(), but with choice of raster direction and transplanting,. More... | |
WlzErrorNum | WlzInitGreyWSpace (WlzObject *obj, WlzIntervalWSpace *iwsp, WlzGreyWSpace *gwsp, int tranpl) |
Attach grey workspace to interval scanning workspace. More... | |
WlzErrorNum | WlzNextGreyInterval (WlzIntervalWSpace *iwsp) |
Obtain next interval and its grey table. More... | |
WlzErrorNum | WlzGreyInterval (WlzIntervalWSpace *iwsp) |
Handle grey table for an interval. This must follow a call to WlzNextInterval(). More... | |
WlzObject * | WlzGreyNewHilbertRankValues (WlzObject *in, WlzErrorNum *dstErr) |
Creates a new domain object with integer values that increment throughout the object in Hilbert rank order. The input object's domain is used in the output object. Output object values start from 1. More... | |
WlzErrorNum | WlzGreySetHilbertRankValues (WlzObject *obj, unsigned int *rVal) |
Sets the values of domain object with int values so that they increment throughout the object in Hilbert rank order. More... | |
WlzObject * | WlzGreyNewIncValues (WlzObject *in, WlzErrorNum *dstErr) |
Creates a new domain object with integer values that increment throughout the object in scan order. Object values start from 1. More... | |
WlzErrorNum | WlzGreySetIncValues (WlzObject *obj, int *gVal) |
Sets the values of a 2 or 3D domain object with int values so that they increment throughout the object in scan order. Object values are set by incrementing the given value in place. The given object must have WLZ_GREY_INT values. More... | |
WlzErrorNum | WlzGreySetValue (WlzObject *obj, WlzPixelV val) |
Set the grey value of every pixel/voxel to the given value. More... | |
WlzObject * | WlzGreyTemplate (WlzObject *obj, WlzObject *tmpl, WlzPixelV tmplVal, WlzErrorNum *dstErr) |
WlzObject * | WlzGreyTransfer (WlzObject *dObj, WlzObject *sObj, int inplace, WlzErrorNum *dstErr) |
Transfers grey values from the source object to the destination object within the intersection of the source and destination. Grey values within the destination object outside of the source object are unchanged. It is an error if either object has a different dimension or grey value type, except for when either is an empty object. More... | |
void | WlzGreyValueGetDir (WlzGreyValueWSpace *gVWSp, int plane, int line, int kol) |
Gets a single grey value/pointer for the given point from the 3D values and domain in the work space. More... | |
void | WlzKrigSetModelFn (WlzKrigModelFn *fn, WlzKrigModelFnType type, double c0, double c1, double a) |
Sets a kriging function data stuctures parameters and function pointer. See the kriging model function types and their implementation for the meaning of the parameters. More... | |
double | WlzKrigModelFnLinear (WlzKrigModelFn *f, double h) |
A linear kriging variance model. \[ \left\{ \begin{array}{ll} h < a & \gamma(h) = c_0 + \frac{(c_1 - c_0)}{a} h \\ h \geq a & \gamma(h) = c_1 \end{array} \right. \] . More... | |
double | WlzKrigModelFnSpherical (WlzKrigModelFn *f, double h) |
A spherical kriging variance model. \[ \left\{ \begin{array}{ll} 0 < h \leq a & \gamma(h) = c_0 + c_1 \frac{1}{2} (\frac{3h}{a} - \frac{h^3}{a^3}) \\ h > a & \gamma(h) = c_0 + c_1 \end{array} \right. \] . More... | |
double | WlzKrigModelFnExponential (WlzKrigModelFn *f, double h) |
An exponential kriging variance model. \[ \gamma(h) = c_0 + c_1(1 - e^{-\frac{h}{a}}) \] . More... | |
double | WlzKrigModelFnGaussian (WlzKrigModelFn *f, double h) |
A Gaussian kriging variance model. \[ \gamma(h) = c_0 + c_1(1 - e^{-(\frac{h}{a})^2}) \] . More... | |
double | WlzKrigModelFnQuadratic (WlzKrigModelFn *f, double h) |
A Quadratic kriging variance model. \[ \gamma(h) = c_0 + c_1 \left( \frac{ (\frac{h}{a})^2} {1 + (\frac{h}{a})^2} \right) \] . More... | |
WlzErrorNum | WlzKrigOSetModelSV2D (AlgMatrix modelSV, WlzKrigModelFn *modelFn, int n, WlzDVertex2 *nbr, int *wSp) |
Computes the ordinary kriging model semi-variogram from the given neighbourhood vertices. More... | |
WlzErrorNum | WlzKrigOSetModelSV3D (AlgMatrix modelSV, WlzKrigModelFn *modelFn, int n, WlzDVertex3 *nbr, int *wSp) |
Computes the ordinary kriging model semi-variogram from the given neighbourhood vertices. More... | |
WlzErrorNum | WlzKrigOSetPosSV2D (double *posSV, WlzKrigModelFn *modelFn, int n, WlzDVertex2 *nbr, WlzDVertex2 pos) |
Computes the ordinary kriging position semi-variogram from the given neighbourhood vertices and the given position vertex. More... | |
WlzErrorNum | WlzKrigOSetPosSV3D (double *posSV, WlzKrigModelFn *modelFn, int n, WlzDVertex3 *nbr, WlzDVertex3 pos) |
Computes the ordinary kriging position semi-variogram from the given neighbourhood vertices and the given position vertex. More... | |
WlzErrorNum | WlzKrigOWeightsSolve (AlgMatrix modelSV, double *posSV, int *wSp, double eps) |
Computes the ordinary kriging weights from the model and position semi-variograms. More... | |
WlzErrorNum | WlzKrigReallocBuffers2D (WlzDVertex2 **dstNbrPosBuf, double **dstPosSV, int **dstWSp, AlgMatrix *dstModelSV, int *dstMaxKrigBuf, int nNbrC, int nNbrL) |
A convinience function for allocating and reallocating the buffers needed for 2D kriging. All given pointers must be valid and on the first call all pointer values (eg *dstNbrPosBuf) must be NULL. More... | |
WlzErrorNum | WlzKrigReallocBuffers3D (WlzDVertex3 **dstNbrPosBuf, double **dstPosSV, int **dstWSp, AlgMatrix *dstModelSV, int *dstMaxKrigBuf, int nNbrC, int nNbrL) |
A convinience function for allocating and reallocating the buffers needed for 3D kriging. All given pointers must be valid and on the first call all pointer values (eg *dstNbrPosBuf) must be NULL. More... | |
WlzCompoundArray * | WlzRGBAToCompound (WlzObject *obj, WlzRGBAColorSpace colSpc, WlzErrorNum *dstErr) |
Convert a RGBA image to a compound object. The RGBA channels are at array indices 0,1,2,3 respectively and the sub-object grey types will be WLZ_GREY_UBYTE. More... | |
WlzObject * | WlzCompoundToRGBA (WlzCompoundArray *cmpnd, WlzRGBAColorSpace colSpc, WlzErrorNum *dstErr) |
Creates a WLZ_GREY_RGBA valued object from the given compound array. This is a static function which will always be called with valid parameters so they aren't checked. If all members of the compound array are empty then the returned object will be empty too. More... | |
WlzObject * | WlzRGBAToModulus (WlzObject *obj, WlzErrorNum *dstErr) |
Calculate the modulus of the rgb values and return in an image of grey type WLZ_GREY_SHORT. More... | |
WlzObject * | WlzIndexToRGBA (WlzObject *obj, unsigned char colormap[3][256], WlzErrorNum *dstErr) |
Convert a grey-level woolz object to RGBA via a colourmap look-up table. Values are clamped to [0,255] and the LUT is assumed to be unsigned byte 3x256. More... | |
WlzObject * | WlzRGBAModGradient (WlzObject *obj, double width, WlzErrorNum *dstErr) |
Calculate the modulus of the rgb-level gradient at each point. The gradient images are calculated using WlzGauss2() with width parameter set to width . Note the modulus returned is the modulus of vector formed by the independent channels, i.e. take the modulus for each channel seperately then the modulus of the resultant vector. More... | |
double | WlzRGBAPixelValue (WlzPixelV pixVal, WlzRGBAColorChannel chan, WlzErrorNum *dstErr) |
Calculate the pixel value for a given channel. For grey-pixel types the colour channel values are set equal to the grey value i.e. the pixel is assumed to be (g,g,g). If the grey-channel is requested of a colour pixel the modulus is returned. For colour pixels the error return value is -1, for grey pixels the error return should be tested since all values are valid (except grey-type WlzUByte). Hue and saturation are zero for grey-pixel types. More... | |
WlzErrorNum | WlzRGBAModulusRange (WlzObject *obj, double *min, double *max) |
Computes the range of values in a RGBA type image. Currently implemented is modulus range. Use WlzGreyRange to get the individual colour ranges. More... | |
int | WlzTiledValuesMode (WlzTiledValues *tv, WlzErrorNum *dstErr) |
Determines how the tiled values of a tiles value table may be used. If memory mapping is in use then the mode in which the file (containing the memory mapped values) was opened determines the modes in which the tiled values can be accessed. Inappropriate access (eg attempting to change a grey value in a memory mapped tiled values table that was opened for read only) will generate a memory fault. The returned value is a bit mask in which WLZ_IOFLAGS_READ will be set iff grey values can be read and WLZ_IOFLAGS_WRITE will be set iff the grey values can be written to (ie modified). More... | |
void | WlzTiledValueBufferFlush (WlzTiledValueBuffer *tvb, WlzTiledValues *tv) |
Flushes the values in the tiled values buffer to the tiled values table. More... | |
void | WlzTiledValueBufferFill (WlzTiledValueBuffer *tvb, WlzTiledValues *tv) |
Fills the tiled values buffer using values from the tiled values table. More... | |
void | WlzTiledValuesCopyLine (WlzTiledValues *tv, WlzGreyP gP, int pl, int ln, int kl1, int lkl) |
Copies a single line of grey values to a tiled value table. This is done within the valid tiles which may lie outside of an object's domain, so care should be used when calling this function. All the given coordinate values are with respect to the tiled value table's origin. If the tiled values have a number of values per element greater than one then the given buffer must have too. More... | |
int | WlzTiledValuesValPerElm (WlzTiledValues *tVal) |
Computes the number of values per pixel/voxel for a tiled value table. More... | |
WlzObjectType | WlzGreyValueTableType (int rank, WlzGreyTableType tableType, WlzGreyType greyType, WlzErrorNum *dstErr) |
Computes a grey table type from table and grey types. This function is equivalent to the macro WLZ_GREY_TABLE_TYPE but with range checks. More... | |
WlzGreyType | WlzGreyTableTypeToGreyType (WlzObjectType gTabType, WlzErrorNum *dstErr) |
Computes the type of grey from a grey table type. This function is equivalent to the macro WLZ_GREY_TABLE_TO_GREY_TYPE but with range checks. More... | |
WlzGreyTableType | WlzGreyTableTypeToTableType (WlzObjectType gTabType, WlzErrorNum *dstErr) |
Computes the type of table from a grey table type. This function is equivalent to the macro WLZ_GREY_TABLE_TO_TABLE_TYPE but with range checks. More... | |
int | WlzGreyTableTypeToRank (WlzObjectType gTabType, WlzErrorNum *dstErr) |
Computes the rank from a grey table type. This function is equivalent to the macro WLZ_GREY_TABLE_TO_RANK but with range checks. More... | |
WlzGreyTableType | WlzGreyTableIsTiled (WlzObjectType gTabType) |
Determines whether the grey table type is tiled. More... | |
WlzGreyType | WlzGreyTypeFromObj (WlzObject *obj, WlzErrorNum *dstErr) |
Gets the grey type of the values in a Woolz object. If the object is not a domain object with values an error is returned. If the object is a 3D domain object with values, all 2D value tables are checked and an error is returned if they don't all have the same grey type. More... | |
WlzDVertex3 | WlzVozelSz (WlzObject *obj, WlzErrorNum *dstErr) |
Gets the given 3D domain objects voxel size. More... | |
void * | WlzIndexedValueGet (WlzIndexedValues *ixv, int idx) |
Gets a pointer to the valuetable entry for the given index. If the indexed values are not valid for the given index NULL will be returned. See also WlzIndexedValueExtGet(). More... | |
void * | WlzIndexedValueExtGet (WlzIndexedValues *ixv, int idx) |
Gets a pointer to the valuetable entry for the given index. The value table is extended as required so that there should always be a valid entry unless memory allocation fails. See also WlzIndexedValueGet(). More... | |
WlzErrorNum | WlzIndexedValuesSet (WlzObject *obj, size_t cnt, void *val) |
Sets all values covered by the domain in the given object to the given value. Ths function calls memcpy() for each indexed value using the given value count and pointer. More... | |
void | WlzValueSetInt (int *vec, int value, size_t count) |
Sets the elements of the given vector to a given value, where the vector type is int. More... | |
void | WlzValueSetShort (short *vec, short value, size_t count) |
Sets the elements of the given vector to a given value, where the vector type is short. More... | |
void | WlzValueSetUByte (WlzUByte *vec, WlzUByte value, size_t count) |
Sets the elements of the given vector to a given value, where the vector type is WlzUByte. More... | |
void | WlzValueSetFloat (float *vec, float value, size_t count) |
Sets the elements of the given vector to a given value, where the vector type is float. More... | |
void | WlzValueSetDouble (double *vec, double value, size_t count) |
Sets the elements of the given vector to a given value, where the vector type is double. More... | |
void | WlzValueSetRGBA (WlzUInt *vec, WlzUInt value, size_t count) |
Sets the elements of the given vector to a given value, where the vector type is rgb-alpha. More... | |
void | WlzValueSetDVertex (WlzDVertex2 *vec, WlzDVertex2 value, size_t count) |
Sets the elements of the given vector to a given value, where the vector type is WlzDVertex2. More... | |
void | WlzValueSetFVertex (WlzFVertex2 *vec, WlzFVertex2 value, size_t count) |
Sets the elements of the given vector to a given value, where the vector type is WlzFVertex2. More... | |
void | WlzValueSetIVertex (WlzIVertex2 *vec, WlzIVertex2 value, size_t count) |
Sets the elements of the given vector to a given value, where the vector type is WlzIVertex2. More... | |
void | WlzValueSetGrey (WlzGreyP vec, size_t vecOff, WlzGreyV value, WlzGreyType gType, size_t count) |
Sets the elements of the given vector to a given value, where the vector type is any one of int, short, WlzUByte, float, double. More... | |
WlzGreyP | WlzValueSetGreyP (WlzGreyP base, WlzGreyType gType, size_t off) |
Sets a grey pointer using the given base grey pointer and an offset. More... | |
void | WlzValueClampIntToShort (int *vec, size_t count) |
Clamps a vector of int values to the limits of short. More... | |
void | WlzValueClampIntToUByte (int *vec, size_t count) |
Clamps a vector of int values to the limits of WlzUByte. More... | |
void | WlzValueClampShortToUByte (short *vec, size_t count) |
Clamps a vector of short values to the limits of WlzUByte. More... | |
void | WlzValueClampDoubleToInt (double *vec, size_t count) |
Clamps a vector of double values to the limits of int. More... | |
void | WlzValueClampDoubleToShort (double *vec, size_t count) |
Clamps a vector of double values to the limits of short. More... | |
void | WlzValueClampDoubleToUByte (double *vec, size_t count) |
Clamps a vector of double values to the limits of WlzUByte. More... | |
void | WlzValueClampDoubleToRGBA (double *vec, size_t count) |
Clamps a vector of double values to the limits of RGBA. More... | |
void | WlzValueClampDoubleToFloat (double *vec, size_t count) |
Clamps a vector of double values to the limits of float. More... | |
void | WlzValueClampFloatToInt (float *vec, size_t count) |
Clamps a vector of float values to the limits of int. More... | |
void | WlzValueClampFloatToShort (float *vec, size_t count) |
Clamps a vector of float values to the limits of short. More... | |
void | WlzValueClampFloatToUByte (float *vec, size_t count) |
Clamps a vector of float values to the limits of WlzUByte. More... | |
void | WlzValueClampIntIntoShort (short *dst, int *src, size_t count) |
Clamps a vector of int values into a vector of short values. More... | |
void | WlzValueClampIntIntoUByte (WlzUByte *dst, int *src, size_t count) |
Clamps a vector of nt values into a vector of WlzUByte values. More... | |
void | WlzValueClampShortIntoUByte (WlzUByte *dst, short *src, size_t count) |
Clamps a vector of short values into a vector of WlzUByte values. More... | |
void | WlzValueClampFloatIntoInt (int *dst, float *src, size_t count) |
Clamps a vector of float values into a vector of int values. More... | |
void | WlzValueClampFloatIntoShort (short *dst, float *src, size_t count) |
Clamps a vector of float values into a vector of short values. More... | |
void | WlzValueClampFloatIntoUByte (WlzUByte *dst, float *src, size_t count) |
Clamps a vector of float values into a vector of WlzUByte values. More... | |
void | WlzValueClampDoubleIntoInt (int *dst, double *src, size_t count) |
Clamps a vector of into double values into a vector of int values. More... | |
void | WlzValueClampDoubleIntoShort (short *dst, double *src, size_t count) |
Clamps a vector of double values into a vector of short values. More... | |
void | WlzValueClampDoubleIntoUByte (WlzUByte *dst, double *src, size_t count) |
Clamps a vector of double values into a vector of WlzUByte values. More... | |
void | WlzValueClampDoubleIntoFloat (float *dst, double *src, size_t count) |
Clamps a vector of double values into a vector of float values. More... | |
void | WlzValueClampIntIntoRGBA (WlzUInt *dst, int *src, size_t count) |
Clamps a vector of int values into a vector of RGBA values. More... | |
void | WlzValueClampShortIntoRGBA (WlzUInt *dst, short *src, size_t count) |
Clamps a vector of short values into a vector of RGBA values. More... | |
void | WlzValueClampFloatIntoRGBA (WlzUInt *dst, float *src, size_t count) |
Clamps a vector of float values into a vector of RGBA values. More... | |
void | WlzValueClampDoubleIntoRGBA (WlzUInt *dst, double *src, size_t count) |
Clamps a vector of double values into a vector of RGBA values. More... | |
WlzErrorNum WlzSetBackground | ( | WlzObject * | obj, |
WlzPixelV | bgd | ||
) |
Sets the backgound value of an image object.
obj | Given object in which to set the background value. |
bgd | Required background value. |
References _WlzRagRValues::bckgrnd, _WlzRectValues::bckgrnd, _WlzIntervalValues::bckgrnd, _WlzVoxelValues::bckgrnd, _WlzValues::core, _WlzDomain::core, _WlzObject::domain, _WlzPlaneDomain::domains, _WlzValues::i, _WlzPlaneDomain::lastpl, _WlzValues::obj, _WlzDomain::p, _WlzPlaneDomain::plane1, _WlzValues::r, _WlzPixelV::type, _WlzObject::type, _WlzPlaneDomain::type, _WlzCoreValues::type, _WlzVoxelValues::type, _WlzValues::v, _WlzObject::values, _WlzVoxelValues::values, _WlzValues::vox, WLZ_2D_DOMAINOBJ, WLZ_3D_DOMAINOBJ, WLZ_EMPTY_OBJ, WLZ_ERR_DOMAIN_NULL, WLZ_ERR_GREY_TYPE, WLZ_ERR_NONE, WLZ_ERR_OBJECT_NULL, WLZ_ERR_OBJECT_TYPE, WLZ_ERR_PLANEDOMAIN_TYPE, WLZ_ERR_VOXELVALUES_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_PLANEDOMAIN_DOMAIN, WLZ_TRANS_OBJ, WLZ_VOXELVALUETABLE_GREY, WlzFreeObj(), WlzGreyTableTypeToGreyType(), WlzGreyTableTypeToTableType(), WlzMakeMain(), and WlzValueConvertPixel().
Referenced by WlzCMeshDispToField(), and WlzOffsetDist().
WlzPixelV WlzGetBackground | ( | WlzObject * | obj, |
WlzErrorNum * | dstErr | ||
) |
Gets the background value of the given object.
obj | Given object. |
dstErr | Destination error pointer, may be NULL. |
References _WlzRagRValues::bckgrnd, _WlzRectValues::bckgrnd, _WlzIntervalValues::bckgrnd, _WlzVoxelValues::bckgrnd, _WlzTiledValues::bckgrnd, _WlzValues::core, _WlzObject::domain, _WlzValues::i, _WlzDomain::i, _WlzGreyV::inv, _WlzValues::obj, _WlzDomain::p, _WlzValues::r, _WlzValues::t, _WlzPixelV::type, _WlzObject::type, _WlzPlaneDomain::type, _WlzCoreValues::type, _WlzPixelV::v, _WlzValues::v, _WlzObject::values, _WlzValues::vox, 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_PLANEDOMAIN_TYPE, WLZ_ERR_VALUES_TYPE, WLZ_GREY_ERROR, WLZ_GREY_INT, WLZ_GREY_TAB_INTL, WLZ_GREY_TAB_RAGR, WLZ_GREY_TAB_RECT, WLZ_GREY_TAB_TILED, WLZ_PLANEDOMAIN_DOMAIN, WLZ_TRANS_OBJ, WLZ_VOXELVALUETABLE_GREY, WlzGreyTableIsTiled(), and WlzGreyTableTypeToTableType().
Referenced by WlzBuildObj3(), WlzClipObjToBox3D(), WlzConstruct3DObjFromFile(), WlzConstruct3DObjFromObj(), WlzConvolveObj(), WlzCutObjToValBox3D(), WlzEffWriteObjStack(), WlzFillBlankPlanes(), WlzGreyCrossing(), WlzGreyTemplate(), WlzGreyTransfer(), WlzGreyVariance(), WlzIntersectN(), WlzLabel3D(), WlzLUTTransformObj(), WlzNewGrey(), WlzSampleObjPoint2D(), WlzSampleObjPoint3D(), WlzScalarBinaryOp2(), WlzSepTrans(), WlzTensorGetComponent(), and WlzUnionN().
WlzObject* WlzSetBackGroundNewObj | ( | WlzObject * | gObj, |
WlzPixelV | bgdV, | ||
WlzErrorNum * | dstErr | ||
) |
Creates a new Woolz object in which the background value is as given. The given object must be either a 2D or 3D domain object with a valid domain, however it's values can be NULL. If the values are NULL then a new value table is created with the same grey type as the given background value, or if non-NULL then a new value table is created while sharing the values of the original object's value table when this is possible. The given object remains unchanged apart from linkcounts.
gObj | Given object. |
bgdV | Given background value. |
dstErr | Destination error pointer, may be NULL. |
References _WlzValues::core, _WlzDomain::core, _WlzObject::domain, _WlzPixelV::type, _WlzObject::values, WLZ_ERR_DOMAIN_NULL, WLZ_ERR_NONE, WLZ_ERR_OBJECT_NULL, WLZ_GREY_TAB_RAGR, WlzGreyValueTableType(), WlzNewObjectValues(), and WlzNewObjectValueTable().
WlzObject* WlzConvertPix | ( | WlzObject * | obj, |
WlzGreyType | newpixtype, | ||
WlzErrorNum * | dstErr | ||
) |
Converts the pixel type of the image object, creating a new object with the same domain as the given object.
obj | The object for conversion. |
newpixtype | The required grey-value type. |
dstErr | Destination error pointer, may be NULL. |
References _WlzObject::type, WLZ_2D_DOMAINOBJ, WLZ_3D_DOMAINOBJ, WLZ_ERR_NONE, WLZ_ERR_OBJECT_NULL, and WLZ_GREY_ERROR.
Referenced by WlzGauss2(), WlzGreyModGradient(), WlzLaplacian(), and WlzSobel().
WlzPolygonDomain* WlzConvertPolyType | ( | WlzPolygonDomain * | pdom, |
WlzObjectType | type, | ||
WlzErrorNum * | dstErr | ||
) |
Converts a polygon domain type.
pdom | Given polygon domain. |
type | Required polygon domain type. |
dstErr | Destination pointer for error, may be NULL. |
References _WlzPolygonDomain::nvertices, _WlzPolygonDomain::type, _WlzPolygonDomain::vtx, WLZ_ERR_DOMAIN_DATA, WLZ_ERR_DOMAIN_NULL, WLZ_ERR_DOMAIN_TYPE, WLZ_ERR_NONE, WLZ_ERR_PARAM_TYPE, WLZ_POLYGON_DOUBLE, WLZ_POLYGON_FLOAT, WLZ_POLYGON_INT, WlzFreePolyDmn(), WlzMakePolygonDomain(), WlzValueCopyDVertexToDVertex(), WlzValueCopyDVertexToFVertex(), WlzValueCopyDVertexToIVertex(), WlzValueCopyFVertexToDVertex(), WlzValueCopyFVertexToFVertex(), WlzValueCopyFVertexToIVertex(), WlzValueCopyIVertexToDVertex(), WlzValueCopyIVertexToFVertex(), and WlzValueCopyIVertexToIVertex().
Referenced by WlzConvertBoundType(), WlzConvertVtx(), and WlzPolySmooth().
WlzBoundList* WlzConvertBoundType | ( | WlzBoundList * | bound, |
WlzObjectType | type, | ||
WlzErrorNum * | dstErr | ||
) |
Converts a boundary list to the required type.
bound | Given boundary list. |
type | Required boundary list type. |
dstErr | Destination pointer for error, may be NULL. |
References _WlzBoundList::down, _WlzBoundList::next, _WlzBoundList::poly, _WlzBoundList::type, WLZ_ERR_DOMAIN_NULL, WLZ_ERR_NONE, WlzAssignBoundList(), WlzAssignPolygonDomain(), WlzConvertPolyType(), WlzFreeBoundList(), WlzMakeBoundList(), and _WlzBoundList::wrap.
Referenced by WlzConvertVtx().
WlzObject* WlzConvertVtx | ( | WlzObject * | obj, |
WlzVertexType | newVtxType, | ||
WlzErrorNum * | dstErr | ||
) |
Converts the vertices of an object to the required type.
obj | Given object. |
newVtxType | Required vertex type. |
dstErr | Destination pointer for error, may be NULL. |
References _WlzDomain::b, _WlzValues::core, _WlzObject::domain, _WlzDomain::poly, _WlzObject::type, WLZ_2D_POLYGON, WLZ_3D_DOMAINOBJ, WLZ_BOUNDLIST, WLZ_ERR_NONE, WLZ_ERR_OBJECT_NULL, WLZ_ERR_PARAM_TYPE, WLZ_POLYGON_DOUBLE, WLZ_POLYGON_FLOAT, WLZ_POLYGON_INT, WLZ_VERTEX_D2, WLZ_VERTEX_F2, WLZ_VERTEX_I2, WlzConvertBoundType(), WlzConvertPolyType(), and WlzMakeMain().
WlzObject* WlzCutObjToBox2D | ( | WlzObject * | sObj, |
WlzIBox2 | cutBox, | ||
WlzGreyType | dGreyType, | ||
int | bgNoise, | ||
double | bgMu, | ||
double | bgSigma, | ||
WlzErrorNum * | dstErrNum | ||
) |
Cuts a new object with a rectangular value table from the given woolz object.
sObj | Given source object. |
cutBox | Rectangle box to cut from the object. |
dGreyType | Required grey type for the value table. |
bgNoise | If zero background value is used otherwise if non zero the background is set using gaussian noise. |
bgMu | Mean of background noise. |
bgSigma | Standard deviation of the background noise. |
dstErrNum | Destination pointer for error number, may be NULL if not required. |
References WlzCutObjToValBox2D().
Referenced by WlzEffWriteObjJpeg(), WlzEffWriteObjTxt(), and WlzWindow().
WlzObject* WlzCutObjToValBox2D | ( | WlzObject * | sObj, |
WlzIBox2 | cutBox, | ||
WlzGreyType | dGreyType, | ||
void * | gValP, | ||
int | bgNoise, | ||
double | bgMu, | ||
double | bgSigma, | ||
WlzErrorNum * | dstErrNum | ||
) |
Cuts a new object with a rectangular value table from the given woolz object and allows access to grey table. If the source object has no values then the destination object will always have foreground value 1 and background value 0, ie the background parameters are ignored.
sObj | Given source object. |
cutBox | Rectangle box to cut from the object. |
dGreyType | Required grey type for the value table. |
gValP | If non-NULL allocated space for grey values. |
bgNoise | If zero background value is used otherwise if non zero the background is set using gaussian noise. |
bgMu | Mean of background noise. |
bgSigma | Standard deviation of the background noise. |
dstErrNum | Destination pointer for error number, may be NULL if not required. |
References _WlzPixelV::type, and WLZ_GREY_ERROR.
Referenced by WlzCutObjToBox2D(), WlzCutObjToValBox3D(), WlzEffWriteObjBmp2D(), and WlzEffWriteObjPnm2D().
WlzObject* WlzCutObjToBox3D | ( | WlzObject * | sObj, |
WlzIBox3 | cutBox, | ||
WlzGreyType | dGreyType, | ||
int | bgNoise, | ||
double | bgMu, | ||
double | bgSigma, | ||
WlzErrorNum * | dstErrNum | ||
) |
Cuts a new object with (a) rectangular value table(s) from the given woolz object. If the source object has no values then the destination object will always have foreground value 1 and background value 0, ie the background parameters are ignored.
sObj | Given source object. |
cutBox | Cut box. |
dGreyType | Required grey type for the value table. |
bgNoise | If zero background value is used otherwise if non zero the background is set using gaussian noise. |
bgMu | Mean of background noise. |
bgSigma | Standard deviation of the background noise. |
dstErrNum | Destination pointer for error number, may be NULL if not required. |
References WlzCutObjToValBox3D().
WlzObject* WlzCutObjToValBox3D | ( | WlzObject * | sObj, |
WlzIBox3 | cutBox, | ||
WlzGreyType | dGreyType, | ||
void * | gValP, | ||
int | bgNoise, | ||
double | bgMu, | ||
double | bgSigma, | ||
WlzErrorNum * | dstErrNum | ||
) |
Cuts a new object with (a) rectangular value table(s) from the given woolz object. If the source object has no values then the destination object will always have foreground value 1 and background value 0, ie the background parameters are ignored.
sObj | Given source object. |
cutBox | Cut box. |
dGreyType | Required grey type for the value table. |
gValP | If non-NULL allocated space for grey values. |
bgNoise | If zero background value is used otherwise if non zero the background is set using gaussian noise. |
bgMu | Mean of background noise. |
bgSigma | Standard deviation of the background noise. |
dstErrNum | Destination pointer for error number, may be NULL if not required. |
References AlcMalloc(), _WlzValues::core, _WlzDomain::core, _WlzObject::domain, _WlzPlaneDomain::domains, _WlzGreyP::inp, _WlzDomain::p, _WlzPlaneDomain::plane1, _WlzValues::t, _WlzPixelV::type, _WlzObject::type, _WlzCoreDomain::type, _WlzPlaneDomain::type, _WlzCoreValues::type, _WlzGreyV::ubv, _WlzGreyP::v, _WlzPixelV::v, _WlzObject::values, _WlzVoxelValues::values, _WlzValues::vox, WLZ_2D_DOMAINOBJ, WLZ_3D_DOMAINOBJ, WLZ_DBG, WLZ_DBG_LVL_1, WLZ_DBG_LVL_2, WLZ_DBG_LVL_FN, WLZ_EMPTY_OBJ, WLZ_ERR_DOMAIN_NULL, WLZ_ERR_DOMAIN_TYPE, WLZ_ERR_GREY_TYPE, WLZ_ERR_MEM_ALLOC, WLZ_ERR_NONE, WLZ_ERR_OBJECT_NULL, WLZ_GREY_UBYTE, WLZ_PLANEDOMAIN_DOMAIN, WLZ_VOXELVALUETABLE_GREY, WlzCutObjToValBox2D(), WlzGetBackground(), WlzGreySize(), WlzGreyTableIsTiled(), WlzMakeEmpty(), WlzMakeMain(), WlzMakePlaneDomain(), WlzMakeVoxelValueTb(), WlzValueConvertPixel(), WlzValueSetGreyP(), _WlzIBox2::xMax, _WlzIBox3::xMax, _WlzIBox2::xMin, _WlzIBox3::xMin, _WlzIBox2::yMax, _WlzIBox3::yMax, _WlzIBox2::yMin, _WlzIBox3::yMin, _WlzIBox3::zMax, and _WlzIBox3::zMin.
Referenced by WlzCutObjToBox3D().
WlzObject* WlzGreyDitherObj | ( | WlzObject * | o, |
unsigned int | destBits, | ||
WlzErrorNum * | dstErr | ||
) |
Makes a dithered object from the given grey-level Woolz object. The destination bits are determined by the number of shades in the dithered image (usually 1 bit) and the bit planes to use (typically to match the bit-planes of a display mask).
o | Input object. |
destBits | Destination bit planes for dithered values. |
dstErr | Error return. |
References _WlzValues::core, _WlzGreyP::inp, _WlzIntervalWSpace::lftpos, _WlzIntervalWSpace::linpos, _WlzGreyWSpace::pixeltype, _WlzIntervalWSpace::rgtpos, _WlzGreyP::shp, _WlzObject::type, _WlzCoreValues::type, _WlzGreyWSpace::u_grintptr, _WlzGreyP::ubp, _WlzObject::values, WLZ_2D_DOMAINOBJ, WLZ_3D_DOMAINOBJ, WLZ_EMPTY_OBJ, WLZ_ERR_GREY_TYPE, WLZ_ERR_NONE, WLZ_ERR_OBJECT_NULL, WLZ_ERR_OBJECT_TYPE, WLZ_ERR_PARAM_DATA, WLZ_ERR_VALUES_NULL, WLZ_ERR_VALUES_TYPE, WLZ_GREY_INT, WLZ_GREY_RGBA, WLZ_GREY_SHORT, WLZ_GREY_UBYTE, WLZ_TRANS_OBJ, WlzGreyTableIsTiled(), WlzInitGreyScan(), WlzMakeEmpty(), WlzNewGrey(), and WlzNextGreyInterval().
WlzErrorNum WlzGreyInvertMinMax | ( | WlzObject * | obj, |
WlzPixelV | min, | ||
WlzPixelV | max | ||
) |
Invert the Grey values of an object within a given
range. The supplied min and max values define the grey
transformation by:
\[ g' = g_{max} + g_{min} - g \]
which means that g=gmax gives g'=gmin and g=gmin gives
g'=gmax. This is a generalisation of the original invert and allows for the "normal" inversion of 255-g for byte images. The user must ensure the grey-value type of the given object can hold the result e.g. if the result is
negative. Note it is assumed that min and max have
a grey type which can be converted to the grey-type
of the given image.
obj | Input object. |
min | Minimu grey value for the inversion function. |
max | Maximun value for the inversion function. |
References _WlzValues::core, _WlzDomain::core, _WlzObject::domain, _WlzObject::type, _WlzCoreValues::type, _WlzObject::values, WLZ_2D_DOMAINOBJ, WLZ_3D_DOMAINOBJ, WLZ_ERR_DOMAIN_NULL, WLZ_ERR_OBJECT_NULL, WLZ_ERR_VALUES_NULL, WLZ_ERR_VALUES_TYPE, and WlzGreyTableIsTiled().
WlzObject* WlzGreyMask | ( | WlzObject * | obj, |
WlzObject * | mask, | ||
WlzPixelV | maskVal, | ||
WlzErrorNum * | dstErr | ||
) |
Set the value maskVal within the domain given by the
mask object. The mask object can be a 2D, 3D, polygon
or boundary object. A 3D mask with a 2D object is an
error. A 2D mask with a 3D object will be applied to
each plane in turn.
obj | Input object |
mask | Mask object. |
maskVal | mask value. |
dstErr | Error return. |
References _WlzValues::core, _WlzObject::type, _WlzCoreValues::type, _WlzObject::values, WLZ_2D_DOMAINOBJ, WLZ_3D_DOMAINOBJ, WLZ_ERR_NONE, WLZ_ERR_OBJECT_NULL, WLZ_ERR_VALUES_NULL, WLZ_ERR_VALUES_TYPE, and WlzGreyTableIsTiled().
Referenced by WlzIndexObjFromCompound().
WlzObject* WlzGreyModGradient | ( | WlzObject * | obj, |
double | width, | ||
WlzErrorNum * | dstErr | ||
) |
Calculate the modulus of the grey-level gradient at each point. The gradient images are calculated using WlzGauss2() with width parameter set to width
. Will now calculate the modulus for each object of a compound object if appropriate.
obj | Input object. |
width | Width parameter for the gaussian gradient operator. |
dstErr | Error return. |
References _WlzIntervalWSpace::colrmn, _WlzValues::core, _WlzDomain::core, _WlzGreyP::dbp, _WlzObject::domain, _WlzGreyP::flp, _WlzGreyP::inp, _WlzCompoundArray::n, _WlzCompoundArray::o, _WlzCompoundArray::otype, _WlzGreyWSpace::pixeltype, _WlzGreyP::shp, _WlzObject::type, _WlzCompoundArray::type, _WlzCoreDomain::type, _WlzCoreValues::type, _WlzGreyWSpace::u_grintptr, _WlzGreyP::ubp, _WlzObject::values, WLZ_2D_DOMAINOBJ, WLZ_COMPOUND_ARR_1, WLZ_COMPOUND_ARR_2, WLZ_EMPTY_DOMAIN, WLZ_EMPTY_OBJ, WLZ_EMPTY_VALUES, WLZ_ERR_DOMAIN_NULL, WLZ_ERR_EOO, WLZ_ERR_GREY_TYPE, WLZ_ERR_NONE, WLZ_ERR_OBJECT_NULL, WLZ_ERR_OBJECT_TYPE, WLZ_ERR_VALUES_NULL, WLZ_ERR_VALUES_TYPE, WLZ_GREY_DOUBLE, WLZ_GREY_FLOAT, WLZ_GREY_INT, WLZ_GREY_RGBA, WLZ_GREY_SHORT, WLZ_GREY_UBYTE, WlzAssignObject(), WlzConvertPix(), WlzCopyValues(), WlzFreeObj(), WlzGauss2(), WlzGreyTableIsTiled(), WlzGreyTableTypeToGreyType(), WlzInitGreyScan(), WlzMakeCompoundArray(), WlzMakeEmpty(), WlzMakeMain(), WlzNextGreyInterval(), and WlzRGBAModGradient().
Referenced by WlzRGBAModGradient(), and WlzScalarFeatures2D().
WlzErrorNum WlzInitGreyScan | ( | WlzObject * | obj, |
WlzIntervalWSpace * | iwsp, | ||
WlzGreyWSpace * | gwsp | ||
) |
Initialise interval and grey scanning of standard object in standard direction.
obj | Object to be scanned. |
iwsp | Interval scanning workspace. |
gwsp | Grey value table scanning workspace. |
References WLZ_RASTERDIR_ILIC, and WlzInitGreyRasterScan().
Referenced by WlzCMeshCurvToImage(), WlzContourGrdObj2D(), WlzEffWriteObjJpeg(), WlzGaussNoise(), WlzGetProjectionFromObject(), WlzGreyDitherObj(), WlzGreyIncValues2D(), WlzGreyMeanDifference(), WlzGreyModGradient(), WlzGreyRange(), WlzGreyScale(), WlzGreySetRange(), WlzGreySetRangeLut(), WlzGreySetValue(), WlzGreyShift(), WlzIntersectN(), WlzMass(), WlzNewGrey(), WlzPrincipalAngle(), WlzProjectObjToPlane(), WlzRGBAModGradient(), WlzRGBAModulusRange(), WlzSepTrans(), WlzToArray1D(), and WlzUnionN().
WlzErrorNum WlzEndGreyScan | ( | WlzIntervalWSpace * | iwsp, |
WlzGreyWSpace * | gwsp | ||
) |
This must be called when a grey workspace is no longer required as it frees resources of the workspace.
iwsp | Interval scanning workspace. |
gwsp | Grey value table scanning workspace. |
References _WlzValues::core, _WlzIntervalWSpace::gryptr, _WlzGreyWSpace::gtable, _WlzValues::t, _WlzGreyWSpace::tvb, _WlzTiledValues::type, _WlzTiledValueBuffer::valid, WLZ_ERR_NONE, WLZ_ERR_PARAM_NULL, WLZ_ERR_VALUES_NULL, WlzFreeTiledValueBuffer(), WlzGreyTableIsTiled(), and WlzTiledValueBufferFlush().
Referenced by WlzGaussNoise(), WlzGetProjectionFromObject(), WlzGreyIncValues2D(), WlzGreyRange(), WlzGreySetRange(), WlzGreySetRangeLut(), WlzGreySetValue(), WlzIterateWSpFree(), WlzPrincipalAngle(), WlzRGBAModGradient(), and WlzToArray1D().
WlzErrorNum WlzInitGreyRasterScan | ( | WlzObject * | obj, |
WlzIntervalWSpace * | iwsp, | ||
WlzGreyWSpace * | gwsp, | ||
WlzRasterDir | raster, | ||
int | tranpl | ||
) |
As WlzInitGreyScan(), but with choice of raster direction and transplanting,.
obj | Input object to be scanned. |
iwsp | Interval scanning workspace. |
gwsp | Grey value table scanning workspace. |
raster | Direction for the raster scan. |
tranpl | Flag to allow overwriting of grey-values. |
References WLZ_ERR_NONE, WlzInitGreyWSpace(), and WlzInitRasterScan().
Referenced by WlzInitGreyScan(), and WlzSeqPar().
WlzErrorNum WlzInitGreyWSpace | ( | WlzObject * | obj, |
WlzIntervalWSpace * | iwsp, | ||
WlzGreyWSpace * | gwsp, | ||
int | tranpl | ||
) |
Attach grey workspace to interval scanning workspace.
obj | Object to be scanned. |
iwsp | Interval scanning workspace. |
gwsp | Value table scanning workspace. |
tranpl | Flag to enable value transplanting. |
References _WlzValues::core, _WlzDomain::core, _WlzObject::domain, _WlzGreyWSpace::gdomaintype, _WlzGreyWSpace::gline, _WlzIntervalWSpace::gryptr, _WlzGreyWSpace::gtable, _WlzValues::i, _WlzGreyWSpace::intptr, _WlzRagRValues::line1, _WlzIntervalValues::line1, _WlzIntervalWSpace::linpos, _WlzGreyWSpace::pixeltype, _WlzTiledValueBuffer::pl, _WlzValues::t, _WlzGreyWSpace::tranpl, _WlzGreyWSpace::tvb, _WlzRagRValues::type, _WlzValues::v, _WlzObject::values, _WlzIntervalValues::vil, _WlzRagRValues::vtblines, WLZ_ERR_DOMAIN_NULL, WLZ_ERR_NONE, WLZ_ERR_OBJECT_NULL, WLZ_ERR_PARAM_NULL, WLZ_ERR_VALUES_NULL, WLZ_ERR_VALUES_TYPE, WLZ_GREY_TAB_INTL, WLZ_GREY_TAB_RAGR, WLZ_GREY_TAB_RECT, WLZ_GREY_TAB_TILED, WlzGreyTableTypeToGreyType(), WlzGreyTableTypeToTableType(), and WlzMakeTiledValueBuffer().
Referenced by WlzInitGreyRasterScan().
WlzErrorNum WlzNextGreyInterval | ( | WlzIntervalWSpace * | iwsp | ) |
Obtain next interval and its grey table.
Note - cryptic documentation: If tranpl and gvio=0 and scan already started (check line number) then the previous grey interval must be collected, if tranpl and gvio=1 then must output this interval (unless scan finished).
iwsp | Interval scanning workspace - this must be initialised. |
References _WlzIntervalWSpace::gryptr, _WlzGreyWSpace::gvio, _WlzIntervalWSpace::linbot, _WlzIntervalWSpace::lineraster, _WlzIntervalWSpace::linpos, _WlzGreyWSpace::tranpl, WLZ_ERR_NONE, WlzGreyInterval(), and WlzNextInterval().
Referenced by WlzCMeshCurvToImage(), WlzContourGrdObj2D(), WlzEffWriteObjJpeg(), WlzGaussNoise(), WlzGetProjectionFromObject(), WlzGreyDitherObj(), WlzGreyIncValues2D(), WlzGreyMeanDifference(), WlzGreyModGradient(), WlzGreyRange(), WlzGreyScale(), WlzGreySetRange(), WlzGreySetRangeLut(), WlzGreySetValue(), WlzGreyShift(), WlzIntersectN(), WlzMass(), WlzNewGrey(), WlzPrincipalAngle(), WlzProjectObjToPlane(), WlzRGBAModGradient(), WlzRGBAModulusRange(), WlzSepTrans(), WlzSeqPar(), WlzToArray1D(), and WlzUnionN().
WlzErrorNum WlzGreyInterval | ( | WlzIntervalWSpace * | iwsp | ) |
Handle grey table for an interval. This must follow a call to WlzNextInterval().
iwsp | Interval scaning workspace. |
References _WlzIntervalWSpace::colrmn, _WlzGreyP::dbp, _WlzTiledValues::dim, _WlzGreyP::flp, _WlzGreyWSpace::gdomaintype, _WlzGreyWSpace::gline, _WlzIntervalWSpace::gryptr, _WlzGreyWSpace::gtable, _WlzGreyWSpace::gvio, _WlzValues::i, _WlzGreyP::inp, _WlzTiledValueBuffer::kl, _WlzRagRValues::kol1, _WlzRectValues::kol1, _WlzIntervalValues::kol1, _WlzTiledValues::kol1, _WlzIntervalWSpace::lftpos, _WlzRectValues::line1, _WlzTiledValues::line1, _WlzIntervalWSpace::lineraster, _WlzIntervalWSpace::linpos, _WlzTiledValueBuffer::ln, _WlzTiledValueBuffer::lnbuf, _WlzIntervalWSpace::nwlpos, _WlzGreyWSpace::pixeltype, _WlzTiledValueBuffer::pl, _WlzTiledValues::plane1, _WlzIntervalWSpace::plnpos, _WlzValues::r, _WlzGreyP::rgbp, _WlzIntervalWSpace::rgtpos, _WlzGreyP::shp, _WlzValues::t, _WlzGreyWSpace::tranpl, _WlzGreyWSpace::tvb, _WlzGreyWSpace::u_grintptr, _WlzGreyP::ubp, _WlzGreyP::v, _WlzValues::v, _WlzTiledValueBuffer::valid, _WlzValueLine::values, _WlzRectValues::values, _WlzValueLine::vkol1, _WlzValueLine::vlastkl, _WlzValueIntervalLine::vtbint, _WlzRectValues::width, WLZ_CLAMP, WLZ_ERR_GREY_TYPE, WLZ_ERR_INT_DATA, WLZ_ERR_NONE, WLZ_ERR_VALUES_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_TAB_TILED, WLZ_GREY_UBYTE, WlzTiledValueBufferFill(), and WlzTiledValueBufferFlush().
Referenced by WlzNextGreyInterval().
WlzObject* WlzGreyNewHilbertRankValues | ( | WlzObject * | in, |
WlzErrorNum * | dstErr | ||
) |
Creates a new domain object with integer values that increment throughout the object in Hilbert rank order. The input object's domain is used in the output object. Output object values start from 1.
in | Input domain object. |
dstErr | Destination error pointer, may be NULL. |
References _WlzDomain::core, _WlzObject::domain, _WlzObject::type, WLZ_2D_DOMAINOBJ, WLZ_ERR_DOMAIN_NULL, WLZ_ERR_NONE, and WLZ_ERR_OBJECT_NULL.
WlzErrorNum WlzGreySetHilbertRankValues | ( | WlzObject * | obj, |
unsigned int * | rVal | ||
) |
Sets the values of domain object with int values so that they increment throughout the object in Hilbert rank order.
obj | Input domain object. |
rVal | Minimum rank value on input and maximum rank value on output, NULL is equivalent to zero minimum rank value. |
References _WlzValues::core, _WlzDomain::core, _WlzObject::domain, _WlzObject::type, _WlzCoreValues::type, _WlzObject::values, WLZ_2D_DOMAINOBJ, WLZ_ERR_DOMAIN_NULL, WLZ_ERR_NONE, WLZ_ERR_OBJECT_NULL, WLZ_ERR_VALUES_NULL, WLZ_ERR_VALUES_TYPE, and WlzGreyTableIsTiled().
Referenced by WlzMakeTiledValuesObj2D(), and WlzMakeTiledValuesObj3D().
WlzObject* WlzGreyNewIncValues | ( | WlzObject * | in, |
WlzErrorNum * | dstErr | ||
) |
Creates a new domain object with integer values that increment throughout the object in scan order. Object values start from 1.
in | Input domain object. |
dstErr | Destination error pointer, may be NULL. |
References _WlzDomain::core, _WlzObject::domain, _WlzObject::type, WLZ_2D_DOMAINOBJ, WLZ_ERR_DOMAIN_NULL, WLZ_ERR_NONE, and WLZ_ERR_OBJECT_NULL.
WlzErrorNum WlzGreySetIncValues | ( | WlzObject * | obj, |
int * | gVal | ||
) |
Sets the values of a 2 or 3D domain object with int values so that they increment throughout the object in scan order. Object values are set by incrementing the given value in place. The given object must have WLZ_GREY_INT values.
obj | The given object. |
gVal | Pointer to current value, this is incremented in place. If NULL then the values will be incremented from zero. |
References _WlzValues::core, _WlzDomain::core, _WlzObject::domain, _WlzObject::type, _WlzObject::values, WLZ_2D_DOMAINOBJ, WLZ_3D_DOMAINOBJ, WLZ_ERR_DOMAIN_NULL, WLZ_ERR_GREY_TYPE, WLZ_ERR_NONE, WLZ_ERR_OBJECT_NULL, WLZ_ERR_VALUES_NULL, WLZ_GREY_INT, and WlzGreyTypeFromObj().
Referenced by WlzMakeTiledValuesObj2D(), and WlzMakeTiledValuesObj3D().
WlzErrorNum WlzGreySetValue | ( | WlzObject * | obj, |
WlzPixelV | val | ||
) |
Set the grey value of every pixel/voxel to the given value.
obj | Input object. |
val | New grey value. |
References _WlzIntervalWSpace::colrmn, _WlzValues::core, _WlzGreyP::dbp, _WlzGreyV::dbv, _WlzObject::domain, _WlzPlaneDomain::domains, _WlzGreyP::flp, _WlzGreyV::flv, _WlzDomain::i, _WlzGreyP::inp, _WlzGreyV::inv, _WlzPlaneDomain::lastpl, _WlzValues::obj, _WlzDomain::p, _WlzGreyWSpace::pixeltype, _WlzPlaneDomain::plane1, _WlzGreyP::rgbp, _WlzGreyV::rgbv, _WlzGreyP::shp, _WlzGreyV::shv, _WlzObject::type, _WlzPlaneDomain::type, _WlzCoreValues::type, _WlzGreyWSpace::u_grintptr, _WlzGreyP::ubp, _WlzGreyV::ubv, _WlzPixelV::v, _WlzObject::values, _WlzVoxelValues::values, _WlzValues::vox, WLZ_2D_DOMAINOBJ, WLZ_3D_DOMAINOBJ, WLZ_EMPTY_OBJ, WLZ_ERR_DOMAIN_NULL, WLZ_ERR_DOMAIN_TYPE, WLZ_ERR_EOO, WLZ_ERR_GREY_TYPE, WLZ_ERR_NONE, WLZ_ERR_OBJECT_NULL, WLZ_ERR_OBJECT_TYPE, WLZ_ERR_VALUES_NULL, WLZ_ERR_VALUES_TYPE, WLZ_GREY_DOUBLE, WLZ_GREY_FLOAT, WLZ_GREY_INT, WLZ_GREY_RGBA, WLZ_GREY_SHORT, WLZ_GREY_UBYTE, WLZ_PLANEDOMAIN_DOMAIN, WLZ_TRANS_OBJ, WLZ_VOXELVALUETABLE_GREY, WlzAssignObject(), WlzEndGreyScan(), WlzFreeObj(), WlzGreyTableIsTiled(), WlzInitGreyScan(), WlzMakeMain(), WlzNextGreyInterval(), and WlzValueConvertPixel().
Referenced by WlzDistanceTransform(), WlzDomainOccupancy(), WlzGreyTransfer(), and WlzNewObjectValues().
WlzObject* WlzGreyTemplate | ( | WlzObject * | obj, |
WlzObject * | tmpl, | ||
WlzPixelV | tmplVal, | ||
WlzErrorNum * | dstErr | ||
) |
tmpl
but values in the intersection with obj
set to those of the object. Returns NULL on error. obj | Input object to which the template is applied |
tmpl | Template object |
tmplVal | Template value for regions in the template not in the original object |
dstErr | Error return. |
References _WlzValues::core, _WlzObject::type, _WlzCoreValues::type, _WlzObject::values, WLZ_2D_DOMAINOBJ, WLZ_3D_DOMAINOBJ, WLZ_ERR_NONE, WLZ_ERR_OBJECT_NULL, WLZ_ERR_VALUES_NULL, WLZ_ERR_VALUES_TYPE, WLZ_GREY_UBYTE, WlzGetBackground(), WlzGreyTableIsTiled(), and WlzGreyTableTypeToGreyType().
Referenced by WlzOffsetDist().
WlzObject* WlzGreyTransfer | ( | WlzObject * | dObj, |
WlzObject * | sObj, | ||
int | inplace, | ||
WlzErrorNum * | dstErr | ||
) |
Transfers grey values from the source object to the destination object within the intersection of the source and destination. Grey values within the destination object outside of the source object are unchanged. It is an error if either object has a different dimension or grey value type, except for when either is an empty object.
dObj | Destination object which may be empty, but otherwise should be of the same dimension as the source object with valid values.. |
sObj | Source object which if not empty must have both a valid domain and valid values. |
inplace | Overwrite the destination object's values if non zero. |
dstErr | Destination error pointer, may be NULL. |
References _WlzValues::core, _WlzDomain::core, _WlzObject::domain, _WlzObject::plist, _WlzObject::type, _WlzValues::v, _WlzObject::values, _WlzValues::vox, WLZ_2D_DOMAINOBJ, WLZ_3D_DOMAINOBJ, WLZ_ERR_DOMAIN_NULL, WLZ_ERR_NONE, WLZ_ERR_OBJECT_NULL, WLZ_ERR_OBJECT_TYPE, WLZ_ERR_VALUES_NULL, WLZ_GREY_TAB_RAGR, WlzAssignValues(), WlzCopyObject(), WlzGetBackground(), WlzGreySetValue(), WlzGreyTypeFromObj(), WlzGreyValueTableType(), WlzIntersect2(), WlzIsEmpty(), WlzMakeEmpty(), WlzMakeMain(), WlzNewValuesVox(), and WlzNewValueTb().
void WlzGreyValueGetDir | ( | WlzGreyValueWSpace * | gVWSp, |
int | plane, | ||
int | line, | ||
int | kol | ||
) |
Gets a single grey value/pointer for the given point from the 3D values and domain in the work space.
gVWSp | grey-value work space |
plane | plane coordinate |
line | line coordinate |
kol | column coordinate |
References _WlzGreyValueWSpace::domain, _WlzGreyValueWSpace::gTabType, _WlzPlaneDomain::lastpl, _WlzDomain::p, _WlzGreyValueWSpace::plane, _WlzPlaneDomain::plane1, WLZ_GREY_TAB_TILED, and WlzGreyValueGet().
void WlzKrigSetModelFn | ( | WlzKrigModelFn * | fn, |
WlzKrigModelFnType | type, | ||
double | c0, | ||
double | c1, | ||
double | a | ||
) |
Sets a kriging function data stuctures parameters and function pointer. See the kriging model function types and their implementation for the meaning of the parameters.
fn | The kriging function data stucture to be set. |
type | Kriging model function type. |
c0 | Nugget (offset) parameter. |
c1 | Sill (slope) parameter. |
a | Range parameter. |
References _WlzKrigModelFn::a, _WlzKrigModelFn::c0, _WlzKrigModelFn::c1, _WlzKrigModelFn::fn, _WlzKrigModelFn::type, WLZ_KRIG_MODELFN_EXPONENTIAL, WLZ_KRIG_MODELFN_GAUSSIAN, WLZ_KRIG_MODELFN_INVALID, WLZ_KRIG_MODELFN_LINEAR, WLZ_KRIG_MODELFN_NUGGET, WLZ_KRIG_MODELFN_QUADRATIC, WLZ_KRIG_MODELFN_SPHERICAL, WlzKrigModelFnExponential(), WlzKrigModelFnGaussian(), WlzKrigModelFnLinear(), WlzKrigModelFnNugget(), WlzKrigModelFnQuadratic(), and WlzKrigModelFnSpherical().
Referenced by WlzCMeshMeshMeshProduct().
double WlzKrigModelFnLinear | ( | WlzKrigModelFn * | f, |
double | h | ||
) |
A linear kriging variance model.
\[ \left\{ \begin{array}{ll} h < a & \gamma(h) = c_0 + \frac{(c_1 - c_0)}{a} h \\ h \geq a & \gamma(h) = c_1 \end{array} \right. \]
.
f | The kriging function data stucture. |
h | Function input value. |
References _WlzKrigModelFn::a, _WlzKrigModelFn::c0, and _WlzKrigModelFn::c1.
Referenced by WlzKrigSetModelFn().
double WlzKrigModelFnSpherical | ( | WlzKrigModelFn * | f, |
double | h | ||
) |
A spherical kriging variance model.
\[ \left\{ \begin{array}{ll} 0 < h \leq a & \gamma(h) = c_0 + c_1 \frac{1}{2} (\frac{3h}{a} - \frac{h^3}{a^3}) \\ h > a & \gamma(h) = c_0 + c_1 \end{array} \right. \]
.
f | The kriging function data stucture. |
h | Function input value. |
References _WlzKrigModelFn::a, _WlzKrigModelFn::c0, and _WlzKrigModelFn::c1.
Referenced by WlzKrigSetModelFn().
double WlzKrigModelFnExponential | ( | WlzKrigModelFn * | f, |
double | h | ||
) |
An exponential kriging variance model.
\[ \gamma(h) = c_0 + c_1(1 - e^{-\frac{h}{a}}) \]
.
f | The kriging function data stucture. |
h | Function input value. |
References _WlzKrigModelFn::a, _WlzKrigModelFn::c0, and _WlzKrigModelFn::c1.
Referenced by WlzKrigSetModelFn().
double WlzKrigModelFnGaussian | ( | WlzKrigModelFn * | f, |
double | h | ||
) |
A Gaussian kriging variance model.
\[ \gamma(h) = c_0 + c_1(1 - e^{-(\frac{h}{a})^2}) \]
.
f | The kriging function data stucture. |
h | Function input value. |
References _WlzKrigModelFn::a, _WlzKrigModelFn::c0, and _WlzKrigModelFn::c1.
Referenced by WlzKrigSetModelFn().
double WlzKrigModelFnQuadratic | ( | WlzKrigModelFn * | f, |
double | h | ||
) |
A Quadratic kriging variance model.
\[ \gamma(h) = c_0 + c_1 \left( \frac{ (\frac{h}{a})^2} {1 + (\frac{h}{a})^2} \right) \]
.
f | The kriging function data stucture. |
h | Function input value. |
References _WlzKrigModelFn::a, _WlzKrigModelFn::c0, and _WlzKrigModelFn::c1.
Referenced by WlzKrigSetModelFn().
WlzErrorNum WlzKrigOSetModelSV2D | ( | AlgMatrix | modelSV, |
WlzKrigModelFn * | modelFn, | ||
int | n, | ||
WlzDVertex2 * | nbr, | ||
int * | wSp | ||
) |
Computes the ordinary kriging model semi-variogram from the given neighbourhood vertices.
modelSV | Valid \((n + 1)\times(n + 1)\) matrix for the model semi-variogram. This must be a square matrix. |
modelFn | The model value function. |
n | Number of neighbourhood vertices. |
nbr | The neighbourhood vertex positions. |
wSp | Workspace with room for n values (used by AlgMatrixLUDecomp()). |
References ALG_MATRIX_RECT, AlgMatrixLUDecompRaw(), _AlgMatrixRect::array, _AlgMatrix::core, _WlzKrigModelFn::fn, _AlgMatrixCore::nC, _AlgMatrixCore::nR, _AlgMatrix::rect, _AlgMatrixCore::type, WLZ_ERR_NONE, WLZ_ERR_PARAM_DATA, WLZ_ERR_PARAM_NULL, WLZ_ERR_PARAM_TYPE, WLZ_VTX_2_LENGTH, WLZ_VTX_2_SUB, and WlzErrorFromAlg().
Referenced by WlzCMeshMeshMeshProduct().
WlzErrorNum WlzKrigOSetModelSV3D | ( | AlgMatrix | modelSV, |
WlzKrigModelFn * | modelFn, | ||
int | n, | ||
WlzDVertex3 * | nbr, | ||
int * | wSp | ||
) |
Computes the ordinary kriging model semi-variogram from the given neighbourhood vertices.
modelSV | Valid \((n + 1)\times(n + 1)\) matrix for the model semi-variogram. This must be a square matrix. |
modelFn | The model value function. |
n | Number of neighbourhood vertices. |
nbr | The neighbourhood vertex positions. |
wSp | Workspace with room for n values (used by AlgMatrixLUDecomp()). |
References ALG_MATRIX_RECT, AlgMatrixLUDecompRaw(), _AlgMatrixRect::array, _AlgMatrix::core, _WlzKrigModelFn::fn, _AlgMatrixCore::nC, _AlgMatrixCore::nR, _AlgMatrix::rect, _AlgMatrixCore::type, WLZ_ERR_NONE, WLZ_ERR_PARAM_DATA, WLZ_ERR_PARAM_NULL, WLZ_ERR_PARAM_TYPE, WLZ_VTX_3_LENGTH, WLZ_VTX_3_SUB, and WlzErrorFromAlg().
WlzErrorNum WlzKrigOSetPosSV2D | ( | double * | posSV, |
WlzKrigModelFn * | modelFn, | ||
int | n, | ||
WlzDVertex2 * | nbr, | ||
WlzDVertex2 | pos | ||
) |
Computes the ordinary kriging position semi-variogram from the given neighbourhood vertices and the given position vertex.
posSV | Valid \((n + 1)\) column vector for the position semi-variogram. |
modelFn | The model value function. |
n | Number of neighbourhood vertices. |
nbr | The neighbourhood vertex positions. |
pos | The given position. |
References _WlzKrigModelFn::fn, WLZ_ERR_NONE, WLZ_ERR_PARAM_DATA, WLZ_ERR_PARAM_NULL, WLZ_VTX_2_LENGTH, and WLZ_VTX_2_SUB.
Referenced by WlzCMeshMeshMeshProduct().
WlzErrorNum WlzKrigOSetPosSV3D | ( | double * | posSV, |
WlzKrigModelFn * | modelFn, | ||
int | n, | ||
WlzDVertex3 * | nbr, | ||
WlzDVertex3 | pos | ||
) |
Computes the ordinary kriging position semi-variogram from the given neighbourhood vertices and the given position vertex.
posSV | Valid \((n + 1)\) column vector for the position semi-variogram. |
modelFn | The model value function. |
n | Number of neighbourhood vertices. |
nbr | The neighbourhood vertex positions. |
pos | The given position. |
References _WlzKrigModelFn::fn, WLZ_ERR_NONE, WLZ_ERR_PARAM_DATA, WLZ_ERR_PARAM_NULL, WLZ_VTX_3_LENGTH, and WLZ_VTX_3_SUB.
WlzErrorNum WlzKrigOWeightsSolve | ( | AlgMatrix | modelSV, |
double * | posSV, | ||
int * | wSp, | ||
double | eps | ||
) |
Computes the ordinary kriging weights from the model and position semi-variograms.
modelSV | Valid \((n + 1)\times(n + 1)\) matrix containing the model semi-variogram. |
posSV | Valid \((n + 1)\) column vector containing the position semi-variogram and on return containing the weights. |
wSp | Workspace for AlgMatrixLUBackSub() with space for modelSV.core->nR values. |
eps | Epsilon value used to test for position semi-variogram value zero. |
References ALG_MATRIX_RECT, AlgMatrixLUBackSub(), _AlgMatrix::core, _AlgMatrixCore::nR, _AlgMatrixCore::type, WLZ_ERR_NONE, WLZ_ERR_PARAM_DATA, WLZ_ERR_PARAM_NULL, WLZ_ERR_PARAM_TYPE, and WlzErrorFromAlg().
Referenced by WlzCMeshMeshMeshProduct().
WlzErrorNum WlzKrigReallocBuffers2D | ( | WlzDVertex2 ** | dstNbrPosBuf, |
double ** | dstPosSV, | ||
int ** | dstWSp, | ||
AlgMatrix * | dstModelSV, | ||
int * | dstMaxKrigBuf, | ||
int | nNbrC, | ||
int | nNbrL | ||
) |
A convinience function for allocating and reallocating the buffers needed for 2D kriging. All given pointers must be valid and on the first call all pointer values (eg *dstNbrPosBuf) must be NULL.
dstNbrPosBuf | Destination pointer for the neighbourhood position buffer. |
dstPosSV | Destination pointer for the position vector. |
dstWSp | Destination pointer for kriging matrix workspace. |
dstModelSV | Destination pointer for kriging model matrix. |
dstMaxKrigBuf | Destination pointer for the maximum number of neighbours the buffers have been reallocated for. |
nNbrC | Current number of neighbours. |
nNbrL | Last number of neighbours. |
References AlcRealloc(), ALG_MATRIX_RECT, AlgMatrixFree(), AlgMatrixNew(), WLZ_ERR_MEM_ALLOC, and WLZ_ERR_NONE.
Referenced by WlzCMeshMeshMeshProduct().
WlzErrorNum WlzKrigReallocBuffers3D | ( | WlzDVertex3 ** | dstNbrPosBuf, |
double ** | dstPosSV, | ||
int ** | dstWSp, | ||
AlgMatrix * | dstModelSV, | ||
int * | dstMaxKrigBuf, | ||
int | nNbrC, | ||
int | nNbrL | ||
) |
A convinience function for allocating and reallocating the buffers needed for 3D kriging. All given pointers must be valid and on the first call all pointer values (eg *dstNbrPosBuf) must be NULL.
dstNbrPosBuf | Destination pointer for the neighbourhood position buffer. |
dstPosSV | Destination pointer for the position vector. |
dstWSp | Destination pointer for kriging matrix workspace. |
dstModelSV | Destination pointer for kriging model matrix. |
dstMaxKrigBuf | Destination pointer for the maximum number of neighbours the buffers have been reallocated for. |
nNbrC | Current number of neighbours. |
nNbrL | Last number of neighbours. |
References AlcRealloc(), ALG_MATRIX_RECT, AlgMatrixFree(), AlgMatrixNew(), WLZ_ERR_MEM_ALLOC, and WLZ_ERR_NONE.
WlzCompoundArray* WlzRGBAToCompound | ( | WlzObject * | obj, |
WlzRGBAColorSpace | colSpc, | ||
WlzErrorNum * | dstErr | ||
) |
Convert a RGBA image to a compound object. The RGBA channels are at array indices 0,1,2,3 respectively and the sub-object grey types will be WLZ_GREY_UBYTE.
obj | Input domain object with value type WLZ_GREY_RGBA |
colSpc | The colour space. |
dstErr | Destination error ponyer, may be NULL. |
References _WlzValues::core, _WlzDomain::core, _WlzObject::domain, _WlzDomain::p, _WlzObject::type, _WlzPlaneDomain::type, _WlzCoreValues::type, _WlzVoxelValues::type, _WlzObject::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_GREY_RGBA, WLZ_PLANEDOMAIN_DOMAIN, WLZ_VOXELVALUETABLE_GREY, WlzGreyTableIsTiled(), and WlzGreyTypeFromObj().
Referenced by WlzGauss2(), WlzRGBAGreyScale(), WlzRGBAGreyStats(), WlzRGBAImageArithmetic(), WlzRGBAMultiThreshold(), and WlzRGBAScalarBinaryOp().
WlzObject* WlzCompoundToRGBA | ( | WlzCompoundArray * | cmpnd, |
WlzRGBAColorSpace | colSpc, | ||
WlzErrorNum * | dstErr | ||
) |
Creates a WLZ_GREY_RGBA valued object from the given compound array. This is a static function which will always be called with valid parameters so they aren't checked. If all members of the compound array are empty then the returned object will be empty too.
cmpnd | Compound array object. |
colSpc | The colour space. |
dstErr | Destination error pointer may be NULL. |
References _WlzCompoundArray::n, _WlzCompoundArray::o, _WlzObject::type, WLZ_2D_DOMAINOBJ, WLZ_3D_DOMAINOBJ, WLZ_EMPTY_OBJ, WLZ_ERR_NONE, WLZ_ERR_OBJECT_DATA, WLZ_ERR_OBJECT_NULL, WLZ_ERR_OBJECT_TYPE, WLZ_ERR_PARAM_DATA, WLZ_RGBA_SPACE_CMY, WLZ_RGBA_SPACE_HSB, WLZ_RGBA_SPACE_RGB, and WlzMakeEmpty().
Referenced by WlzRGBAGreyScale(), WlzRGBAImageArithmetic(), and WlzRGBAScalarBinaryOp().
WlzObject* WlzRGBAToModulus | ( | WlzObject * | obj, |
WlzErrorNum * | dstErr | ||
) |
Calculate the modulus of the rgb values and return in an image of grey type WLZ_GREY_SHORT.
obj | Input rgba object |
dstErr | error return |
References _WlzValues::core, _WlzDomain::core, _WlzObject::domain, _WlzDomain::p, _WlzObject::type, _WlzPlaneDomain::type, _WlzVoxelValues::type, _WlzObject::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_GREY_RGBA, WLZ_PLANEDOMAIN_DOMAIN, WLZ_VOXELVALUETABLE_GREY, and WlzGreyTypeFromObj().
Referenced by WlzGetPatchTreeToDepth().
WlzObject* WlzIndexToRGBA | ( | WlzObject * | obj, |
unsigned char | colormap[3][256], | ||
WlzErrorNum * | dstErr | ||
) |
Convert a grey-level woolz object to RGBA via a colourmap look-up table. Values are clamped to [0,255] and the LUT is assumed to be unsigned byte 3x256.
obj | Input object to be converted |
colormap | Colourmap array |
dstErr | Error return |
References _WlzValues::core, _WlzDomain::core, _WlzObject::domain, _WlzObject::type, _WlzCoreValues::type, _WlzObject::values, WLZ_2D_DOMAINOBJ, WLZ_3D_DOMAINOBJ, WLZ_ERR_DOMAIN_NULL, WLZ_ERR_NONE, WLZ_ERR_VALUES_NULL, WLZ_GREY_RGBA, WlzGreyTableTypeToGreyType(), and WlzMakeMain().
WlzObject* WlzRGBAModGradient | ( | WlzObject * | obj, |
double | width, | ||
WlzErrorNum * | dstErr | ||
) |
Calculate the modulus of the rgb-level gradient at each point. The gradient images are calculated using WlzGauss2() with width parameter set to width
. Note the modulus returned is the modulus of vector formed by the independent channels, i.e. take the modulus for each channel seperately then the modulus of the resultant vector.
obj | Input rgba woolz object |
width | width of gradient operator |
dstErr | error return |
References _WlzIntervalWSpace::colrmn, _WlzValues::core, _WlzGreyP::dbp, _WlzObject::domain, _WlzGreyP::flp, _WlzGreyP::inp, _WlzCompoundArray::o, _WlzGreyP::shp, _WlzGreyV::shv, _WlzPixelV::type, _WlzObject::type, _WlzCompoundArray::type, _WlzCoreValues::type, _WlzGreyWSpace::u_grintptr, _WlzGreyP::ubp, _WlzPixelV::v, _WlzValues::v, _WlzObject::values, WLZ_2D_DOMAINOBJ, WLZ_COMPOUND_ARR_1, WLZ_ERR_EOO, WLZ_ERR_GREY_TYPE, WLZ_ERR_NONE, WLZ_ERR_OBJECT_DATA, WLZ_ERR_OBJECT_NULL, WLZ_GREY_DOUBLE, WLZ_GREY_FLOAT, WLZ_GREY_INT, WLZ_GREY_RGBA, WLZ_GREY_SHORT, WLZ_GREY_TAB_RAGR, WLZ_GREY_UBYTE, WlzEndGreyScan(), WlzFreeObj(), WlzGauss2(), WlzGreyModGradient(), WlzGreyTableTypeToGreyType(), WlzGreyValueTableType(), WlzInitGreyScan(), WlzMakeMain(), WlzNewValueTb(), and WlzNextGreyInterval().
Referenced by WlzGreyModGradient().
double WlzRGBAPixelValue | ( | WlzPixelV | pixVal, |
WlzRGBAColorChannel | chan, | ||
WlzErrorNum * | dstErr | ||
) |
Calculate the pixel value for a given channel. For grey-pixel types the colour channel values are set equal to the grey value i.e. the pixel is assumed to be (g,g,g). If the grey-channel is requested of a colour pixel the modulus is returned. For colour pixels the error return value is -1, for grey pixels the error return should be tested since all values are valid (except grey-type WlzUByte). Hue and saturation are zero for grey-pixel types.
pixVal | input pixel value structure |
chan | requested pixel channel |
dstErr | error destination |
References _WlzGreyV::dbv, _WlzGreyV::flv, _WlzGreyV::inv, _WlzGreyV::rgbv, _WlzGreyV::shv, _WlzPixelV::type, _WlzGreyV::ubv, _WlzPixelV::v, WLZ_ERR_GREY_DATA, WLZ_ERR_GREY_TYPE, WLZ_ERR_NONE, WLZ_GREY_BIT, WLZ_GREY_DOUBLE, WLZ_GREY_FLOAT, WLZ_GREY_INT, WLZ_GREY_RGBA, WLZ_GREY_SHORT, WLZ_GREY_UBYTE, WLZ_RGBA_BLUE_GET, WLZ_RGBA_CHANNEL_BLUE, WLZ_RGBA_CHANNEL_BRIGHTNESS, WLZ_RGBA_CHANNEL_CYAN, WLZ_RGBA_CHANNEL_GREEN, WLZ_RGBA_CHANNEL_GREY, WLZ_RGBA_CHANNEL_HUE, WLZ_RGBA_CHANNEL_MAGENTA, WLZ_RGBA_CHANNEL_RED, WLZ_RGBA_CHANNEL_SATURATION, WLZ_RGBA_CHANNEL_YELLOW, WLZ_RGBA_GREEN_GET, WLZ_RGBA_MODULUS, WLZ_RGBA_RED_GET, and WlzRGBAConvertRGBToHSV_UBYTENormalised().
Referenced by WlzRGBAEllipsoidThreshold(), and WlzRGBASliceThreshold().
WlzErrorNum WlzRGBAModulusRange | ( | WlzObject * | obj, |
double * | min, | ||
double * | max | ||
) |
Computes the range of values in a RGBA type image. Currently implemented is modulus range. Use WlzGreyRange to get the individual colour ranges.
obj | Given object with RGBA values. |
min | Destination pointer for minimum value. |
max | Destination pointer for maximum value. |
References _WlzObject::assoc, _WlzIntervalWSpace::colrmn, _WlzValues::core, _WlzDomain::core, _WlzObject::domain, _WlzPlaneDomain::domains, _WlzPlaneDomain::lastpl, _WlzValues::obj, _WlzDomain::p, _WlzPlaneDomain::plane1, _WlzObject::plist, _WlzGreyP::rgbp, _WlzObject::type, _WlzPlaneDomain::type, _WlzCoreValues::type, _WlzVoxelValues::type, _WlzGreyWSpace::u_grintptr, _WlzObject::values, _WlzVoxelValues::values, _WlzValues::vox, WLZ_2D_DOMAINOBJ, WLZ_3D_DOMAINOBJ, WLZ_EMPTY_OBJ, WLZ_ERR_DOMAIN_NULL, WLZ_ERR_EOO, WLZ_ERR_NONE, WLZ_ERR_OBJECT_NULL, WLZ_ERR_OBJECT_TYPE, WLZ_ERR_PARAM_NULL, WLZ_ERR_PLANEDOMAIN_TYPE, WLZ_ERR_VALUES_NULL, WLZ_ERR_VALUES_TYPE, WLZ_ERR_VOXELVALUES_TYPE, WLZ_PLANEDOMAIN_DOMAIN, WLZ_RGBA_MODULUS, WLZ_TRANS_OBJ, WLZ_VOXELVALUETABLE_GREY, WlzGreyTableIsTiled(), WlzInitGreyScan(), and WlzNextGreyInterval().
int WlzTiledValuesMode | ( | WlzTiledValues * | tv, |
WlzErrorNum * | dstErr | ||
) |
Determines how the tiled values of a tiles value table may be used. If memory mapping is in use then the mode in which the file (containing the memory mapped values) was opened determines the modes in which the tiled values can be accessed. Inappropriate access (eg attempting to change a grey value in a memory mapped tiled values table that was opened for read only) will generate a memory fault. The returned value is a bit mask in which WLZ_IOFLAGS_READ will be set iff grey values can be read and WLZ_IOFLAGS_WRITE will be set iff the grey values can be written to (ie modified).
tv | The given tiled values. |
dstErr | Destination error pointer, may be NULL. |
References _WlzTiledValues::fd, _WlzTiledValues::tiles, _WlzTiledValues::type, _WlzGreyP::v, WLZ_ERR_FILE_OPEN, WLZ_ERR_NONE, WLZ_ERR_VALUES_NULL, WLZ_ERR_VALUES_TYPE, WLZ_GREY_TAB_TILED, WLZ_IOFLAGS_NONE, WLZ_IOFLAGS_READ, WLZ_IOFLAGS_WRITE, and WlzGreyTableIsTiled().
Referenced by WlzMakeTiledValueBuffer().
void WlzTiledValueBufferFlush | ( | WlzTiledValueBuffer * | tvb, |
WlzTiledValues * | tv | ||
) |
Flushes the values in the tiled values buffer to the tiled values table.
tvb | Given tiled values buffer. |
tv | Given tiled values table. |
References _WlzGreyP::dbp, _WlzGreyP::flp, _WlzTiledValueBuffer::gtype, _WlzTiledValues::indices, _WlzGreyP::inp, _WlzTiledValueBuffer::kl, _WlzTiledValueBuffer::li, _WlzTiledValueBuffer::lnbuf, _WlzTiledValueBuffer::lo, _WlzTiledValueBuffer::mode, _WlzGreyP::rgbp, _WlzGreyP::shp, _WlzTiledValues::tiles, _WlzTiledValues::tileSz, _WlzTiledValues::tileWidth, _WlzGreyP::ubp, _WlzTiledValueBuffer::valid, _WlzTiledValues::vpe, WLZ_GREY_DOUBLE, WLZ_GREY_FLOAT, WLZ_GREY_INT, WLZ_GREY_RGBA, WLZ_GREY_SHORT, WLZ_GREY_UBYTE, and WLZ_IOFLAGS_WRITE.
Referenced by WlzEndGreyScan(), and WlzGreyInterval().
void WlzTiledValueBufferFill | ( | WlzTiledValueBuffer * | tvb, |
WlzTiledValues * | tv | ||
) |
Fills the tiled values buffer using values from the tiled values table.
tvb | Given tiled values buffer. |
tv | Given tiled values table. |
References _WlzTiledValues::bckgrnd, _WlzGreyP::dbp, _WlzGreyV::dbv, _WlzTiledValues::dim, _WlzGreyP::flp, _WlzGreyV::flv, _WlzTiledValueBuffer::gtype, _WlzTiledValues::indices, _WlzGreyP::inp, _WlzGreyV::inv, _WlzTiledValueBuffer::kl, _WlzTiledValueBuffer::li, _WlzTiledValueBuffer::ln, _WlzTiledValueBuffer::lnbuf, _WlzTiledValueBuffer::lo, _WlzTiledValueBuffer::mode, _WlzTiledValues::nIdx, _WlzTiledValueBuffer::pl, _WlzGreyP::rgbp, _WlzGreyV::rgbv, _WlzGreyP::shp, _WlzGreyV::shv, _WlzTiledValues::tiles, _WlzTiledValues::tileSz, _WlzTiledValues::tileWidth, _WlzGreyP::ubp, _WlzGreyV::ubv, _WlzPixelV::v, _WlzTiledValueBuffer::valid, _WlzTiledValues::vpe, WLZ_GREY_DOUBLE, WLZ_GREY_FLOAT, WLZ_GREY_INT, WLZ_GREY_RGBA, WLZ_GREY_SHORT, WLZ_GREY_UBYTE, and WLZ_IOFLAGS_READ.
Referenced by WlzGreyInterval().
void WlzTiledValuesCopyLine | ( | WlzTiledValues * | tv, |
WlzGreyP | gP, | ||
int | pl, | ||
int | ln, | ||
int | kl1, | ||
int | lkl | ||
) |
Copies a single line of grey values to a tiled value table. This is done within the valid tiles which may lie outside of an object's domain, so care should be used when calling this function. All the given coordinate values are with respect to the tiled value table's origin. If the tiled values have a number of values per element greater than one then the given buffer must have too.
tv | Given tiled value table which must be valid. |
gP | Source grey pointer to grey values of the same type as the tiled value table. |
pl | Plane coordinate. |
ln | Line coordinate. |
kl1 | First column coordinate. |
lkl | Last column coordinate. |
References ALG_MAX, ALG_MIN, _WlzTiledValues::dim, _WlzTiledValues::indices, _WlzTiledValues::kol1, _WlzTiledValues::lastkl, _WlzTiledValues::lastln, _WlzTiledValues::lastpl, _WlzTiledValues::line1, _WlzTiledValues::nIdx, _WlzTiledValues::numTiles, _WlzTiledValues::plane1, _WlzTiledValues::tiles, _WlzTiledValues::tileSz, _WlzTiledValues::tileWidth, _WlzTiledValues::type, _WlzTiledValues::vpe, _WlzIVertex3::vtX, _WlzIVertex3::vtY, _WlzIVertex3::vtZ, WLZ_GREY_TABLE_TO_GREY_TYPE, and WlzValueCopyGreyToGrey().
Referenced by WlzFromArray1D().
int WlzTiledValuesValPerElm | ( | WlzTiledValues * | tVal | ) |
Computes the number of values per pixel/voxel for a tiled value table.
The number of values per pixel/voxel which is.\( \prod_i^\textrm{vRank}{\textrm{vDim}[i]} \) (value 1 when vRank = 0). Both WlzTiledValues::vRank and WlzTiledValues::vDim must have been set before calling this function. See also WlzTiledValues::vpe .
tVal | Given tiled value table which must be valid with respect to it's value rank and value dimension. |
References _WlzTiledValues::vDim, and _WlzTiledValues::vRank.
Referenced by WlzMakeTiledValuesObj2D(), and WlzMakeTiledValuesObj3D().
WlzObjectType WlzGreyValueTableType | ( | int | rank, |
WlzGreyTableType | tableType, | ||
WlzGreyType | greyType, | ||
WlzErrorNum * | dstErr | ||
) |
Computes a grey table type from table and grey types. This function is equivalent to the macro WLZ_GREY_TABLE_TYPE but with range checks.
rank | Grey array rank, 0 for a pixel/voxel value table or 1 for value arrays. |
tableType | The basic table type. |
greyType | The grey type. |
dstErr | Destination error pointer, may be NULL. |
References WLZ_ERR_GREY_TYPE, WLZ_ERR_NONE, WLZ_ERR_VALUES_TYPE, WLZ_GREY_BIT, 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_TAB_TILED, WLZ_GREY_TABLE_TYPE, WLZ_GREY_UBYTE, and WLZ_NULL.
Referenced by WlzBSplineToDomain(), WlzCMeshCurvToImage(), WlzCMeshIntersectDom2D5(), WlzDistAllNearest(), WlzDistanceTransform(), WlzDomainFill3D(), WlzDomainOccupancy(), WlzFillBlankPlanes(), WlzFromArray1D(), WlzGetProjectionFromObject(), WlzGreyTransfer(), WlzIndexObjFromCompound(), WlzIntersectN(), WlzLBTMakeNodeIndexObj2D(), WlzLBTMakeNodeIndexObj3D(), WlzLineSkeleton(), WlzLineSkeletonSegment(), WlzLUTTransformObj(), WlzMakeCuboid(), WlzMakeRect(), WlzMakeTiledValuesObj2D(), WlzMakeTiledValuesObj3D(), WlzNewGrey(), WlzNObjGreyStats(), WlzRGBAModGradient(), WlzScalarBinaryOp2(), WlzSetBackGroundNewObj(), WlzTensorGetComponent(), and WlzUnionN().
WlzGreyType WlzGreyTableTypeToGreyType | ( | WlzObjectType | gTabType, |
WlzErrorNum * | dstErr | ||
) |
Computes the type of grey from a grey table type. This function is equivalent to the macro WLZ_GREY_TABLE_TO_GREY_TYPE but with range checks.
gTabType | The basic table type. |
dstErr | Destination error pointer, may be NULL. |
References WLZ_ERR_GREY_TYPE, WLZ_ERR_NONE, WLZ_ERR_VALUES_TYPE, WLZ_GREY_DOUBLE, WLZ_GREY_ERROR, 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_TAB_TILED, WLZ_GREY_TABLE_TO_GREY_TYPE, WLZ_GREY_TABLE_TO_RANK, WLZ_GREY_TABLE_TO_TABLE_TYPE, and WLZ_GREY_UBYTE.
Referenced by WlzFillBlankPlanes(), WlzFreeTiledValues(), WlzGreyCrossing(), WlzGreyModGradient(), WlzGreyRange(), WlzGreyTemplate(), WlzGreyTypeFromObj(), WlzGreyValueMakeWSp(), WlzGreyVariance(), WlzIndexToRGBA(), WlzInitGreyWSpace(), WlzIntersectN(), WlzLaplacian(), WlzMakeIntervalValues(), WlzMakeRectValueTb(), WlzMakeTiledValueBuffer(), WlzMakeTiledValuesTiles(), WlzMakeValueTb(), WlzNewGrey(), WlzNewValueTb(), WlzRGBAModGradient(), WlzSampleObjPoint2D(), WlzScalarBinaryOp2(), WlzSepTrans(), WlzSetBackground(), WlzSobel(), WlzTensorGetComponent(), WlzUnionN(), and WlzWindow().
WlzGreyTableType WlzGreyTableTypeToTableType | ( | WlzObjectType | gTabType, |
WlzErrorNum * | dstErr | ||
) |
Computes the type of table from a grey table type. This function is equivalent to the macro WLZ_GREY_TABLE_TO_TABLE_TYPE but with range checks.
gTabType | The basic table type. |
dstErr | Destination error pointer, may be NULL. |
References WLZ_ERR_GREY_TYPE, WLZ_ERR_NONE, WLZ_ERR_VALUES_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_TAB_TILED, WLZ_GREY_TABLE_TO_GREY_TYPE, WLZ_GREY_TABLE_TO_RANK, WLZ_GREY_TABLE_TO_TABLE_TYPE, and WLZ_GREY_UBYTE.
Referenced by WlzGetBackground(), WlzGreyValueMakeWSp(), WlzInitGreyWSpace(), WlzMakeIntervalValues(), WlzMakeRectValueTb(), WlzMakeValueTb(), WlzNewValueTb(), WlzSetBackground(), WlzShiftValues(), and WlzStringFromObjValuesType().
int WlzGreyTableTypeToRank | ( | WlzObjectType | gTabType, |
WlzErrorNum * | dstErr | ||
) |
Computes the rank from a grey table type. This function is equivalent to the macro WLZ_GREY_TABLE_TO_RANK but with range checks.
gTabType | The basic table type. |
dstErr | Destination error pointer, may be NULL. |
References WLZ_ERR_GREY_TYPE, WLZ_ERR_NONE, WLZ_ERR_VALUES_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_TAB_TILED, WLZ_GREY_TABLE_TO_GREY_TYPE, WLZ_GREY_TABLE_TO_RANK, WLZ_GREY_TABLE_TO_TABLE_TYPE, and WLZ_GREY_UBYTE.
Referenced by WlzMakeTiledValuesTiles().
WlzGreyTableType WlzGreyTableIsTiled | ( | WlzObjectType | gTabType | ) |
Determines whether the grey table type is tiled.
gTabType | The basic table type. |
References WLZ_GREY_TAB_TILED, and WLZ_GREY_TABLE_TO_TABLE_TYPE.
Referenced by WlzCompDispIncGrey(), WlzCompoundArrayToScalar(), WlzConvolveObj(), WlzCopyValues(), WlzCutObjToValBox3D(), WlzDGTensorFeatures(), WlzEndGreyScan(), WlzFilterNObjValues(), WlzFreeObj(), WlzFreeTiledValues(), WlzGaussNoise(), WlzGetBackground(), WlzGetSubSectionFromObject(), WlzGreyDitherObj(), WlzGreyIncValuesInDomain(), WlzGreyInvertMinMax(), WlzGreyMask(), WlzGreyModGradient(), WlzGreyRange(), WlzGreySetHilbertRankValues(), WlzGreySetRange(), WlzGreySetRangeLut(), WlzGreySetValue(), WlzGreyTemplate(), WlzGreyTypeFromObj(), WlzGreyValueMakeWSp(), WlzImageArithmetic(), WlzIntersectN(), WlzIntRescaleObj(), WlzMakeTiledValueBuffer(), WlzNewGrey(), WlzNObjGreyStats(), WlzProjectObjToPlane(), WlzRankFilter(), WlzRGBAModulusRange(), WlzRGBAToCompound(), WlzRGBChanRatio(), WlzRsvFilterObj(), WlzScalarBinaryOp(), WlzSepTrans(), WlzSeqPar(), WlzShadeCorrectBFDF(), WlzShiftValues(), WlzTensorGetComponent(), WlzTensorSetComponent(), WlzTensorSmooth(), WlzTiledValuesMode(), and WlzUnionN().
WlzGreyType WlzGreyTypeFromObj | ( | WlzObject * | obj, |
WlzErrorNum * | dstErr | ||
) |
Gets the grey type of the values in a Woolz object. If the object is not a domain object with values an error is returned. If the object is a 3D domain object with values, all 2D value tables are checked and an error is returned if they don't all have the same grey type.
obj | Given object. |
dstErr | Destination ptr for error code, may be NULL. |
References _WlzValues::core, _WlzDomain::core, _WlzObject::domain, _WlzPlaneDomain::domains, _WlzPlaneDomain::lastpl, _WlzDomain::p, _WlzPlaneDomain::plane1, _WlzObject::type, _WlzCoreDomain::type, _WlzCoreValues::type, _WlzObject::values, _WlzVoxelValues::values, _WlzValues::vox, WLZ_2D_DOMAINOBJ, WLZ_3D_DOMAINOBJ, WLZ_EMPTY_DOMAIN, WLZ_EMPTY_VALUES, WLZ_ERR_DOMAIN_NULL, WLZ_ERR_NONE, WLZ_ERR_OBJECT_NULL, WLZ_ERR_OBJECT_TYPE, WLZ_ERR_VALUES_DATA, WLZ_ERR_VALUES_NULL, WLZ_GREY_ERROR, WlzGreyTableIsTiled(), and WlzGreyTableTypeToGreyType().
Referenced by WlzBuildObj3(), WlzEffWriteObjJpeg(), WlzEffWriteObjTxt(), WlzFilterNObjValues(), WlzGauss2(), WlzGaussFilter(), WlzGetPatchTreeToDepth(), WlzGetProjectionFromObject(), WlzGreySetIncValues(), WlzGreySetRange(), WlzGreyTransfer(), WlzIndexObjToCompound(), WlzLUTTransformObj(), WlzPatchTreeToObject(), WlzRGBAGreyScale(), WlzRGBAImageArithmetic(), WlzRGBAScalarBinaryOp(), WlzRGBAToChannel(), WlzRGBAToCompound(), WlzRGBAToModulus(), WlzSepFilter(), WlzShadeCorrectBFDF(), WlzSplitMontageObj(), and WlzTensorSmooth().
WlzDVertex3 WlzVozelSz | ( | WlzObject * | obj, |
WlzErrorNum * | dstErr | ||
) |
Gets the given 3D domain objects voxel size.
obj | Given 3D domain object. |
dstErr | Destination pointer for error code, may be NULL. |
References _WlzDomain::core, _WlzObject::domain, _WlzDomain::p, _WlzCoreDomain::type, _WlzPlaneDomain::voxel_size, _WlzDVertex3::vtX, _WlzDVertex3::vtY, _WlzDVertex3::vtZ, WLZ_ERR_DOMAIN_NULL, WLZ_ERR_DOMAIN_TYPE, WLZ_ERR_NONE, WLZ_ERR_OBJECT_NULL, and WLZ_PLANEDOMAIN_DOMAIN.
void* WlzIndexedValueGet | ( | WlzIndexedValues * | ixv, |
int | idx | ||
) |
Gets a pointer to the valuetable entry for the given index. If the indexed values are not valid for the given index NULL will be returned. See also WlzIndexedValueExtGet().
ixv | Indexed value table. |
idx | Given index. |
References AlcVectorItemGet(), and _WlzIndexedValues::values.
Referenced by WlzBasisFnSetCMesh2D(), WlzBasisFnSetCMesh3D(), WlzCMeshClosePointDom2D5(), WlzCMeshComputeCurvaturesFromNodNorm(), WlzCMeshComputeNormalsElm(), WlzCMeshComputeNormalsIxv2D5(), WlzCMeshComputeNormalsNod(), WlzCMeshCurvToImage(), WlzCMeshDistance2D(), WlzCMeshDistance3D(), WlzCMeshExtract2D(), WlzCMeshFlatten2D5(), WlzCMeshIndexMaskFromValueRange(), WlzCMeshIntersectDom2D5(), WlzCMeshMeshMeshProduct(), WlzCMeshSetDispFromField(), WlzCMeshTransformGetBBox2D(), WlzCMeshTransformGetBBox3D(), WlzIndexedValueBufWeight(), and WlzIndexedValuesSet().
void* WlzIndexedValueExtGet | ( | WlzIndexedValues * | ixv, |
int | idx | ||
) |
Gets a pointer to the valuetable entry for the given index. The value table is extended as required so that there should always be a valid entry unless memory allocation fails. See also WlzIndexedValueGet().
ixv | Indexed value table. |
idx | Given index. |
References AlcVectorExtendAndGet(), and _WlzIndexedValues::values.
Referenced by WlzBasisFnSetCMesh2D(), WlzBasisFnSetCMesh3D(), WlzCMeshDistance2D(), WlzCMeshDistance3D(), and WlzIndexedValuesSet().
WlzErrorNum WlzIndexedValuesSet | ( | WlzObject * | obj, |
size_t | cnt, | ||
void * | val | ||
) |
Sets all values covered by the domain in the given object to the given value. Ths function calls memcpy() for each indexed value using the given value count and pointer.
obj | Given object which must be a CMesh object with indexed values. |
cnt | Size of the values to be copied. |
val | Basic value set for the indexed values. Type must be the same as the indexed value table value type. |
References AlcVectorItemGet(), _WlzIndexedValues::attach, _WlzDomain::cm2, _WlzDomain::cm2d5, _WlzDomain::cm3, _WlzDomain::core, _WlzObject::domain, _WlzCMeshRes::elm, _WlzCMeshNod2D::idx, _WlzCMeshNod2D5::idx, _WlzCMeshNod3D::idx, _WlzCMeshElm2D::idx, _WlzCMeshElm2D5::idx, _WlzCMeshElm3D::idx, _WlzCMeshP::m2, _WlzCMeshP::m2d5, _WlzCMeshP::m3, _WlzCMeshEntRes::maxEnt, _WlzCMeshRes::nod, _WlzCMesh2D::res, _WlzCMesh2D5::res, _WlzCMesh3D::res, _WlzObject::type, _WlzIndexedValues::type, _WlzCMesh2D::type, _WlzCMesh3D::type, _WlzObject::values, _WlzCMeshEntRes::vec, WLZ_CMESH_2D, WLZ_CMESH_2D5, WLZ_CMESH_3D, WLZ_ERR_DOMAIN_NULL, WLZ_ERR_DOMAIN_TYPE, WLZ_ERR_MEM_ALLOC, WLZ_ERR_NONE, WLZ_ERR_OBJECT_NULL, WLZ_ERR_OBJECT_TYPE, WLZ_ERR_VALUES_NULL, WLZ_ERR_VALUES_TYPE, WLZ_INDEXED_VALUES, WLZ_VALUE_ATTACH_ELM, WLZ_VALUE_ATTACH_NOD, WlzIndexedValueExtGet(), WlzIndexedValueGet(), and _WlzValues::x.
Referenced by WlzCMeshTransformFromObj().
void WlzValueSetInt | ( | int * | vec, |
int | value, | ||
size_t | count | ||
) |
Sets the elements of the given vector to a given value, where the vector type is int.
vec | Vector who's elements are to be set. |
value | Value to use when setting the vector's elements. |
count | Number of vector elements to be set. |
Referenced by WlzSnapFit(), and WlzValueSetGrey().
void WlzValueSetShort | ( | short * | vec, |
short | value, | ||
size_t | count | ||
) |
Sets the elements of the given vector to a given value, where the vector type is short.
vec | Vector who's elements are to be set. |
value | Value to use when setting the vector's elements. |
count | Number of vector elements to be set. |
Referenced by WlzValueSetGrey().
Sets the elements of the given vector to a given value, where the vector type is WlzUByte.
vec | Vector who's elements are to be set. |
value | Value to use when setting the vector's elements. |
count | Number of vector elements to be set. |
Referenced by WlzContourGrdObj2D(), and WlzValueSetGrey().
void WlzValueSetFloat | ( | float * | vec, |
float | value, | ||
size_t | count | ||
) |
Sets the elements of the given vector to a given value, where the vector type is float.
vec | Vector who's elements are to be set. |
value | Value to use when setting the vector's elements. |
count | Number of vector elements to be set. |
Referenced by WlzValueSetGrey().
void WlzValueSetDouble | ( | double * | vec, |
double | value, | ||
size_t | count | ||
) |
Sets the elements of the given vector to a given value, where the vector type is double.
vec | Vector who's elements are to be set. |
value | Value to use when setting the vector's elements. |
count | Number of vector elements to be set. |
Referenced by WlzBSplineFromVertices(), WlzCMeshFMarNodes2D(), WlzCMeshFMarNodes3D(), WlzContourGrdObj2D(), and WlzValueSetGrey().
Sets the elements of the given vector to a given value, where the vector type is rgb-alpha.
vec | Vector who's elements are to be set. |
value | Value to use when setting the vector's elements. |
count | Number of vector elements to be set. |
Referenced by WlzValueSetGrey().
void WlzValueSetDVertex | ( | WlzDVertex2 * | vec, |
WlzDVertex2 | value, | ||
size_t | count | ||
) |
Sets the elements of the given vector to a given value, where the vector type is WlzDVertex2.
vec | Vector who's elements are to be set. |
value | Value to use when setting the vector's elements. |
count | Number of vector elements to be set. |
void WlzValueSetFVertex | ( | WlzFVertex2 * | vec, |
WlzFVertex2 | value, | ||
size_t | count | ||
) |
Sets the elements of the given vector to a given value, where the vector type is WlzFVertex2.
vec | Vector who's elements are to be set. |
value | Value to use when setting the vector's elements. |
count | Number of vector elements to be set. |
void WlzValueSetIVertex | ( | WlzIVertex2 * | vec, |
WlzIVertex2 | value, | ||
size_t | count | ||
) |
Sets the elements of the given vector to a given value, where the vector type is WlzIVertex2.
vec | Vector who's elements are to be set. |
value | Value to use when setting the vector's elements. |
count | Number of vector elements to be set. |
References _WlzIVertex2::vtX, and _WlzIVertex2::vtY.
void WlzValueSetGrey | ( | WlzGreyP | vec, |
size_t | vecOff, | ||
WlzGreyV | value, | ||
WlzGreyType | gType, | ||
size_t | count | ||
) |
Sets the elements of the given vector to a given value, where the vector type is any one of int, short, WlzUByte, float, double.
vec | Vector who's elements are to be set. |
vecOff | Offset from vec. |
value | Value to use when setting the vector's elements. |
gType | Grey type, ie: int, short.... |
count | Number of vector elements to be set. |
References _WlzGreyP::dbp, _WlzGreyV::dbv, _WlzGreyP::flp, _WlzGreyV::flv, _WlzGreyP::inp, _WlzGreyV::inv, _WlzGreyP::rgbp, _WlzGreyV::rgbv, _WlzGreyP::shp, _WlzGreyV::shv, _WlzGreyP::ubp, _WlzGreyV::ubv, WLZ_GREY_DOUBLE, WLZ_GREY_FLOAT, WLZ_GREY_INT, WLZ_GREY_RGBA, WLZ_GREY_SHORT, WLZ_GREY_UBYTE, WlzValueSetDouble(), WlzValueSetFloat(), WlzValueSetInt(), WlzValueSetRGBA(), WlzValueSetShort(), and WlzValueSetUByte().
Referenced by WlzMakeTiledValuesTiles().
WlzGreyP WlzValueSetGreyP | ( | WlzGreyP | base, |
WlzGreyType | gType, | ||
size_t | off | ||
) |
Sets a grey pointer using the given base grey pointer and an offset.
base | Base grey pointer. |
gType | Grey type. |
off | Offset. |
References _WlzGreyP::dbp, _WlzGreyP::flp, _WlzGreyP::inp, _WlzGreyP::rgbp, _WlzGreyP::shp, _WlzGreyP::ubp, WLZ_GREY_DOUBLE, WLZ_GREY_FLOAT, WLZ_GREY_INT, WLZ_GREY_RGBA, WLZ_GREY_SHORT, and WLZ_GREY_UBYTE.
Referenced by WlzCutObjToValBox3D().
void WlzValueClampIntToShort | ( | int * | vec, |
size_t | count | ||
) |
Clamps a vector of int values to the limits of short.
vec | Vector who's elements are to be clamped. |
count | Number of vector elements. |
Referenced by WlzValueConvertPixel().
void WlzValueClampIntToUByte | ( | int * | vec, |
size_t | count | ||
) |
Clamps a vector of int values to the limits of WlzUByte.
vec | Vector who's elements are to be clamped. |
count | Number of vector elements. |
Referenced by WlzValueConvertPixel().
void WlzValueClampShortToUByte | ( | short * | vec, |
size_t | count | ||
) |
Clamps a vector of short values to the limits of WlzUByte.
vec | Vector who's elements are to be clamped. |
count | Number of vector elements. |
Referenced by WlzValueConvertPixel().
void WlzValueClampDoubleToInt | ( | double * | vec, |
size_t | count | ||
) |
Clamps a vector of double values to the limits of int.
vec | Vector who's elements are to be clamped. |
count | Number of vector elements. |
Referenced by WlzValueConvertPixel().
void WlzValueClampDoubleToShort | ( | double * | vec, |
size_t | count | ||
) |
Clamps a vector of double values to the limits of short.
vec | Vector who's elements are to be clamped. |
count | Number of vector elements. |
Referenced by WlzValueConvertPixel().
void WlzValueClampDoubleToUByte | ( | double * | vec, |
size_t | count | ||
) |
Clamps a vector of double values to the limits of WlzUByte.
vec | Vector who's elements are to be clamped. |
count | Number of vector elements. |
Referenced by WlzValueConvertPixel().
void WlzValueClampDoubleToRGBA | ( | double * | vec, |
size_t | count | ||
) |
Clamps a vector of double values to the limits of RGBA.
vec | Vector who's elements are to be clamped. |
count | Number of vector elements. |
void WlzValueClampDoubleToFloat | ( | double * | vec, |
size_t | count | ||
) |
Clamps a vector of double values to the limits of float.
vec | Vector who's elements are to be clamped. |
count | Number of vector elements. |
Referenced by WlzValueConvertPixel().
void WlzValueClampFloatToInt | ( | float * | vec, |
size_t | count | ||
) |
Clamps a vector of float values to the limits of int.
vec | Vector who's elements are to be clamped. |
count | Number of vector elements. |
Referenced by WlzValueConvertPixel().
void WlzValueClampFloatToShort | ( | float * | vec, |
size_t | count | ||
) |
Clamps a vector of float values to the limits of short.
vec | Vector who's elements are to be clamped. |
count | Number of vector elements. |
Referenced by WlzValueConvertPixel().
void WlzValueClampFloatToUByte | ( | float * | vec, |
size_t | count | ||
) |
Clamps a vector of float values to the limits of WlzUByte.
vec | Vector who's elements are to be clamped. |
count | Number of vector elements. |
Referenced by WlzValueConvertPixel().
void WlzValueClampIntIntoShort | ( | short * | dst, |
int * | src, | ||
size_t | count | ||
) |
Clamps a vector of int values into a vector of short values.
dst | Destination vector. |
src | Source vector. |
count | Number of vector elements. |
Referenced by WlzValueClampGreyIntoGrey().
void WlzValueClampIntIntoUByte | ( | WlzUByte * | dst, |
int * | src, | ||
size_t | count | ||
) |
Clamps a vector of nt values into a vector of WlzUByte values.
dst | Destination vector. |
src | Source vector. |
count | Number of vector elements. |
Referenced by WlzValueClampGreyIntoGrey().
void WlzValueClampShortIntoUByte | ( | WlzUByte * | dst, |
short * | src, | ||
size_t | count | ||
) |
Clamps a vector of short values into a vector of WlzUByte values.
dst | Destination vector. |
src | Source vector. |
count | Number of vector elements. |
Referenced by WlzValueClampGreyIntoGrey().
void WlzValueClampFloatIntoInt | ( | int * | dst, |
float * | src, | ||
size_t | count | ||
) |
Clamps a vector of float values into a vector of int values.
dst | Destination vector. |
src | Source vector. |
count | Number of vector elements. |
References WLZ_NINT.
Referenced by WlzValueClampGreyIntoGrey().
void WlzValueClampFloatIntoShort | ( | short * | dst, |
float * | src, | ||
size_t | count | ||
) |
Clamps a vector of float values into a vector of short values.
dst | Destination vector. |
src | Source vector. |
count | Number of vector elements. |
References WLZ_NINT.
Referenced by WlzValueClampGreyIntoGrey().
void WlzValueClampFloatIntoUByte | ( | WlzUByte * | dst, |
float * | src, | ||
size_t | count | ||
) |
Clamps a vector of float values into a vector of WlzUByte values.
dst | Destination vector. |
src | Source vector. |
count | Number of vector elements. |
Referenced by WlzValueClampGreyIntoGrey().
void WlzValueClampDoubleIntoInt | ( | int * | dst, |
double * | src, | ||
size_t | count | ||
) |
Clamps a vector of into double values into a vector of int values.
dst | Destination vector. |
src | Source vector. |
count | Number of vector elements. |
References WLZ_NINT.
Referenced by WlzValueClampGreyIntoGrey().
void WlzValueClampDoubleIntoShort | ( | short * | dst, |
double * | src, | ||
size_t | count | ||
) |
Clamps a vector of double values into a vector of short values.
dst | Destination vector. |
src | Source vector. |
count | Number of vector elements. |
References WLZ_NINT.
Referenced by WlzValueClampGreyIntoGrey().
void WlzValueClampDoubleIntoUByte | ( | WlzUByte * | dst, |
double * | src, | ||
size_t | count | ||
) |
Clamps a vector of double values into a vector of WlzUByte values.
dst | Destination vector. |
src | Source vector. |
count | Number of vector elements. |
Referenced by WlzValueClampGreyIntoGrey().
void WlzValueClampDoubleIntoFloat | ( | float * | dst, |
double * | src, | ||
size_t | count | ||
) |
Clamps a vector of double values into a vector of float values.
dst | Destination vector. |
src | Source vector. |
count | Number of vector elements. |
Referenced by WlzValueClampGreyIntoGrey().
void WlzValueClampIntIntoRGBA | ( | WlzUInt * | dst, |
int * | src, | ||
size_t | count | ||
) |
Clamps a vector of int values into a vector of RGBA values.
dst | Destination vector. |
src | Source vector. |
count | Number of vector elements. |
References WLZ_RGBA_RGBA_SET.
Referenced by WlzValueClampGreyIntoGrey(), and WlzValueCopyIntToRGBA().
void WlzValueClampShortIntoRGBA | ( | WlzUInt * | dst, |
short * | src, | ||
size_t | count | ||
) |
Clamps a vector of short values into a vector of RGBA values.
dst | Destination vector. |
src | Source vector. |
count | Number of vector elements. |
References WLZ_RGBA_RGBA_SET.
Referenced by WlzValueClampGreyIntoGrey(), and WlzValueCopyShortToRGBA().
void WlzValueClampFloatIntoRGBA | ( | WlzUInt * | dst, |
float * | src, | ||
size_t | count | ||
) |
Clamps a vector of float values into a vector of RGBA values.
dst | Destination vector. |
src | Source vector. |
count | Number of vector elements. |
References WLZ_RGBA_RGBA_SET.
Referenced by WlzValueClampGreyIntoGrey(), and WlzValueCopyFloatToRGBA().
void WlzValueClampDoubleIntoRGBA | ( | WlzUInt * | dst, |
double * | src, | ||
size_t | count | ||
) |
Clamps a vector of double values into a vector of RGBA values.
dst | Destination vector. |
src | Source vector. |
count | Number of vector elements. |
References WLZ_RGBA_RGBA_SET.
Referenced by WlzValueClampGreyIntoGrey(), and WlzValueCopyDoubleToRGBA().