From: ericj@hwcae.Honeywell.COM (Eric Jacobsen)
Newsgroups: sci.image.processing
Subject: Re: 2d dft phase info
Date: 8 Sep 92 19:58:06 GMT
	<1992Sep7.110102.25536@bnr.co.uk> <TMB.92Sep7153447@arolla.idiap.ch>
Organization: Honeywell, Air Transport Division; Phoenix, AZ

In article <TMB.92Sep7153447@arolla.idiap.ch> tmb@arolla.idiap.ch (Thomas M. Breuel) writes:

      Serious question: so why not use the Hartley transform which does not
      introduce these redundancies in the first place?

   I have tried both. It's relatively easy not to generate the half of
   the Fourier transform that you don't need, and the result is the
   familar and easy to use complex representation. It's messy and error
   prone trying to rewrite the simple formulas (e.g., for filtering) in
   the Fourier domain for the Hartley transform, and, as far as I can
   tell, the result isn't any faster (if anything, it's likely to be
   slower because you need more array indexing).

If done right you can get speedups with fhts, but they are not dramatic.
If there are symmetries in the inputs (not likely with most images), you
can get even more benefit with the fht.

      >Doing instead AxB image -> -(A/2+1)xB phase and (A/2+1)xB modulus
      >will give you a nicely viewable (and displayable) Fourier transform.

      ... or use your favourite Fourier package and display the Hartley transform?

   If you look at the Hartley transform of an image, you are looking at
   both phase and magnitude information, interwoven in some visually
   complicated way. The nice thing about the Fourier transform is the
   separation into phase and magnitude.

Ick. If you look at the raw output of an fht it is indeed gross. The
even and odd components of the output are interwoven and I've never
seen anybody do anything practical with it in this form. It is easy,
though to extract just the magnitude or just the phase from this
"Hartley vector", with no more computation than that required from
an fft output.

   If you are going to compute the FHT and then reconstitute Fourier
   coefficients (or phase/magnitude information) from the result, you are
   probably better off using the Fourier transform in the first place.

It may depend on what you're doing or your specfic implementation, but
I've had a lot of good experiences with the fht. Generally there is
a noticeable reduction in computational requirements with the fht.

BTW, I don't want to start any "transform wars", but the fft is
definitely not as universal a tool as it used to be.
--
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
* Eric Jacobsen        Honeywell Inc.                           *
|     1-602-436-3941   Commercial Flight Systems, Air Transport |
* HVN       436-3941   US Mail: P.O. Box 21111, MS 2Q34C1       *
| FAX 1-602-436-1310   Phoenix AZ 85036-1111                    |
* INet: ericj@hwcae.honeywell.com                               *
| UUCP: uunet!hwcae.honeywell.com!ericj@uunet.uu.net            |
* The opinions expressed are my own and therefore better        *
| thought out than my employer's.                               |
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
Newsgroups: sci.image.processing