Woolz Image Processing  Version 1.7.0
WlzFourier

Files

file  WlzFourier.c
 Functions for computing Fourier transforms and their inverse.
 

Functions

WlzObjectWlzFourierTransformObj (WlzObject *iObj, int fwd, WlzErrorNum *dstErr)
 Computes either the forward or inverse Fourier transform of a domain object with real (ie not complex) values. When computing a transform the object will be padded to an integer power of two size. The object's values can have any single valued type (and therefore RGBA is not acceptable). For forward transforms the objects frequently have their grey values modified so that the mean value is zero; this is not done in this function. The transformed data are scaled, see AlgFour1D(), AlgFourReal1D(), AlgFour2D() AlgFourReal2D(), AlgFour3D() and AlgFourReal3D(). More...
 

Detailed Description

Function Documentation

WlzObject* WlzFourierTransformObj ( WlzObject iObj,
int  fwd,
WlzErrorNum dstErr 
)

Computes either the forward or inverse Fourier transform of a domain object with real (ie not complex) values. When computing a transform the object will be padded to an integer power of two size. The object's values can have any single valued type (and therefore RGBA is not acceptable). For forward transforms the objects frequently have their grey values modified so that the mean value is zero; this is not done in this function. The transformed data are scaled, see AlgFour1D(), AlgFourReal1D(), AlgFour2D() AlgFourReal2D(), AlgFour3D() and AlgFourReal3D().

Returns
New Woolz domain object or NULL on error.
Parameters
iObjInput Woolz object.
fwdNon-zero if the transform is a forward transform, zero if it is to be an inverse transform.
dstErrDestination error pointer, may be NULL.

References Alc2Free(), Alc3Free(), ALG_ERR_NONE, AlgBitNextPowerOfTwo(), AlgFour2D(), AlgFour3D(), AlgFourInv2D(), AlgFourInv3D(), AlgFourReal2D(), AlgFourReal3D(), AlgFourRealInv2D(), AlgFourRealInv3D(), _WlzValues::core, _WlzDomain::core, _WlzObject::domain, _WlzCompoundArray::n, _WlzCompoundArray::o, _WlzObject::type, _WlzObject::values, _WlzIVertex2::vtX, _WlzIVertex3::vtX, _WlzIVertex2::vtY, _WlzIVertex3::vtY, _WlzIVertex3::vtZ, WLZ_2D_DOMAINOBJ, WLZ_3D_DOMAINOBJ, WLZ_COMPOUND_ARR_1, WLZ_COMPOUND_ARR_2, WLZ_ERR_DOMAIN_DATA, WLZ_ERR_DOMAIN_NULL, WLZ_ERR_NONE, WLZ_ERR_OBJECT_NULL, WLZ_ERR_OBJECT_TYPE, WLZ_ERR_VALUES_NULL, WLZ_GREY_DOUBLE, WLZ_VTX_2_ZERO, WLZ_VTX_3_ZERO, WlzBoundingBox2I(), WlzBoundingBox3I(), WlzErrorFromAlg(), WlzFreeObj(), WlzFromArray2D(), WlzFromArray3D(), WlzMakeCompoundArray(), WlzToArray2D(), WlzToArray3D(), _WlzIBox2::xMax, _WlzIBox3::xMax, _WlzIBox2::xMin, _WlzIBox3::xMin, _WlzIBox2::yMax, _WlzIBox3::yMax, _WlzIBox2::yMin, _WlzIBox3::yMin, _WlzIBox3::zMax, and _WlzIBox3::zMin.