** Next:** Basics of two-dimensional Fourier
** Up:** Waves and Fourier sums
** Previous:** Shifted spectrum

The program `fth()` is set up so that the vectors transformed
can be either rows or columns of a two-dimensional array.
In any computer language there is a way to extract
a vector (column or row) from a matrix.
In some languages the vector can be processed directly without extraction.
To see how this works in **Fortran**,
recall a matrix allocated as
`(n1,n2)`
can be subscripted as a matrix
`(i1,i2)`
or as a long vector
`(i1 + n1*(i2-1),1)`,
and `call sub(x(i1,i2))` passes the subroutine
a pointer to the `(i1,i2)` element.
To transform an entire axis, the subroutines
`ft1axis()` and
`ft2axis()` are given.
For a two-dimensional FT,
we simply call both
`ft1axis()` and
`ft2axis()` in either order. # 1D Fourier transform on a 2D data set along the 1-axis
#
subroutine ft1axis( adj, sign1, n1,n2, cx)
integer i2, adj, n1,n2
complex cx(n1,n2)
real sign1
do i2= 1, n2
call fth( adj, sign1, 1,n1, cx(1,i2))
return; end

# 1D Fourier transform on a 2D data set along the 2-axis
#
subroutine ft2axis( adj, sign2, n1,n2, cx)
integer i1, adj, n1,n2
complex cx(n1,n2)
real sign2
do i1= 1, n1
call fth( adj, sign2, n1,n2, cx(i1,1))
return; end

** Next:** Basics of two-dimensional Fourier
** Up:** Waves and Fourier sums
** Previous:** Shifted spectrum
Stanford Exploration Project

12/26/2000