Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw

comment on

( [id://3333]=superdoc: print w/replies, xml ) Need Help??
Hi Enigmae,

Take a look at Bill Pratt's book on image processing ISBN 0 471 01888-0 on page 232. It describes Two dimensional unitary transforms. (Such as the Fourier transform.) In particular on page 233 he describes the fact that such transforms are separable by dimension (equations 10.1-5 and 10.1-6). This process says take the one dimensional transform along columns and leave the data in place. Then run over the rows with one dimensional transforms. You should be able to extend this into further dimensions in order. You are left with the N-dimensional transform in place. So handling N-dimensions as single dimension arrays is not so punishing as you have to work that way anyway.

Here's another ref - Digital Image Processing by Gonzalez and Wintz -ISBN 0-201-02597-3 page 50 where they describe the separability of using one dimensional FT's as applied to each dimension in succesion.

So you may have to the reinvent part of the wheel, but it is a reasonable extension from the Math::FFT module that exists.

It sounds like a great module to put back into CPAN when you have it nailed.

Its interesting that MATLAB has a foundation in Perl. It installs Perl in order to run.

Best of Luck,


In reply to Re: Fast Fourier Transform in Multiple Dimensions by diskcrash
in thread Fast Fourier Transform in Multiple Dimensions by enigmae

Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":

  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or How to display code and escape characters are good places to start.
Log In?

What's my password?
Create A New User
Domain Nodelet?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others contemplating the Monastery: (5)
As of 2024-06-18 08:54 GMT
Find Nodes?
    Voting Booth?

    No recent polls found

    erzuuli‥ 🛈The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.