Woolz Image Processing
Version 1.7.5
|
Performs sequential or local transformation of an object. Jim Piper derived the original seqpar.c from Fortran code by Marshall Presser. More...
Functions | |
WlzObject * | WlzSeqPar (WlzObject *srcObj, int newObjFlag, int sequentialFlag, WlzRasterDir rasterDir, int bdrSz, int bkgVal, void *transformData, int(*transformFn)(WlzSeqParWSpace *, void *), WlzErrorNum *dstErr) |
WlzSeqPar performs a sequential or parallel local transform. A distance transform is an example of a sequential transform and a laplacian is an example of a parallel transform. Only WLZ_2D_DOMAINOBJ objects with values may be passed to WlzSeqPar(). More... | |
Performs sequential or local transformation of an object. Jim Piper derived the original seqpar.c from Fortran code by Marshall Presser.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
WlzObject* WlzSeqPar | ( | WlzObject * | srcObj, |
int | newObjFlag, | ||
int | sequentialFlag, | ||
WlzRasterDir | rasterDir, | ||
int | bdrSz, | ||
int | bkgVal, | ||
void * | transformData, | ||
int(*)(WlzSeqParWSpace *, void *) | transformFn, | ||
WlzErrorNum * | dstErr | ||
) |
WlzSeqPar performs a sequential or parallel local transform. A distance transform is an example of a sequential transform and a laplacian is an example of a parallel transform. Only WLZ_2D_DOMAINOBJ objects with values may be passed to WlzSeqPar().
srcObj | The given WLZ_2D_DOMAINOBJ object. |
newObjFlag | If zero then the given object is overwritten otherwise a new object is created. |
sequentialFlag | If non zero the transform is seqential and transformed values are used in calculating the neighbouring values. If zero the transform always works on the original grey values. |
rasterDir | Direction of raster scan. |
bdrSz | Local transform kernel half-size, must be in range 0 - 7. The usual 8 immediate neighbors correspond to bdrSz == 1. |
bkgVal | Background grey value. |
transformData | Data supplied to the transform function. |
transformFn | Supplied transform function. |
dstErr | Destination error pointer, may be NULL. |
References _WlzSeqParWSpace::adrptr, AlcCalloc(), AlcFree(), _WlzSeqParWSpace::brdrsz, _WlzValues::core, _WlzDomain::core, _WlzObject::domain, _WlzGreyWSpace::gvio, _WlzDomain::i, _WlzGreyP::inp, _WlzSeqParWSpace::kdelta, _WlzIntervalDomain::kol1, _WlzIntervalDomain::lastkl, _WlzIntervalDomain::lastln, _WlzSeqParWSpace::ldelta, _WlzIntervalWSpace::lftpos, _WlzIntervalDomain::line1, _WlzIntervalWSpace::linpos, _WlzIntervalWSpace::nwlpos, _WlzIntervalWSpace::rgtpos, _WlzObject::type, _WlzCoreValues::type, _WlzGreyWSpace::u_grintptr, _WlzObject::values, WLZ_2D_DOMAINOBJ, WLZ_DBG, WLZ_DBG_LVL_1, WLZ_DBG_LVL_3, WLZ_DBG_LVL_FN, WLZ_ERR_DOMAIN_DATA, WLZ_ERR_DOMAIN_NULL, WLZ_ERR_EOO, WLZ_ERR_NONE, WLZ_ERR_OBJECT_NULL, WLZ_ERR_OBJECT_TYPE, WLZ_ERR_VALUES_NULL, WLZ_ERR_VALUES_TYPE, WLZ_RASTERDIR_DLDC, WLZ_RASTERDIR_DLIC, WLZ_RASTERDIR_ILDC, WLZ_RASTERDIR_ILIC, WlzGreyInterval(), WlzGreyTableIsTiled(), WlzInitGreyRasterScan(), WlzNewGrey(), WlzNextGreyInterval(), WlzNextInterval(), and WlzValueSetInt().
Referenced by WlzConvolveObj(), WlzGreyCrossing(), and WlzGreyVariance().