fht2d

[ XITE Reference Manual | XITE home ]

Name

fht2d - 2 dimensional fast Hartley transform

Syntax

 #include <xite/fht.h>

 BiffStatus fht2d( IR_BAND inband,
    IR_BAND outband, int forward );

Description

fht2d performs 2 dimensional fast Hartley transform, forward transform if forward is true, inverse transform otherwise.

The forward and inverse discrete Hartley transforms are given respectively as:


           M   N
 H(u,v) = Sum Sum f(x,y) [cas(2*Pi(u*x/M + v*y/N))]
          x=0 y=0

           M   N
 f(x,y) = Sum Sum H(u,v) [cas(2*Pi(u*x/M + v*y/N))]
          x=0 y=0

where
 cas(x) = cos(x) + sin(x)

The relationships between the Fourier and Hartley transforms are described in the documentation of ht2ft(3) and ft2ht(3).

For a description of how to use Hartley transforms to accomplish convolution, refer to fht2d(1).

Restrictions

Only real pixels are accepted as input and output. Input and output bands should be of equal size and be some power of two.

References

[1] Mark A. ONeill
"Faster than Fast Fourier", BYTE, pp 293-300, April 1988

[2] R. N. Bracewell
"The Hartley Transform", Oxford Univ. Press 1986, ISBN 0-19-503969-6

See also

fht2d(1), fft2d(3), haar2d(3), fht1d(3), fhtInitTables(3), fhtPower(3), fhtPhase(3), ht2ft(3), ft2ht(3)

Return value

 0 => ok
 1 => bad input pixel type
 2 => bad output pixel type
 3 => band size is not power of two
 4 => bands are not of equal size
 5 => error in copyBand()

Author

Tor Lønnestad, BLAB, Ifi, UiO

Revised

Svein Bøe, BLAB, Ifi, UiO

Id

$Id: fht2d.c,v 1.31 1997/05/27 14:48:35 svein Exp $