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
-
iObj | Input Woolz object. |
fwd | Non-zero if the transform is a forward transform, zero if it is to be an inverse transform. |
dstErr | Destination 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.