3D filtering.

Started by August 1, 2005
Hi,

I am dealing with 3d data. I am supposed to do a 3d fft followed
with a 3d butterworth filter. can somebody tell me how to do it ? (
specificaly multidimensional filtering ? )

-Ankur

El 01/08/2005, a las 18:01, acetone4u2001 escribi:

> I am dealing with 3d data. I am supposed to do a 3d fft followed
> with a 3d butterworth filter. can somebody tell me how to do it ? (
> specificaly multidimensional filtering ? )

For 1D data, you just do a 1D FTT. Easy ;-)

For 1D filtering, you're convolving a signal with filter
coefficients; but on the Fourier domain, that's multiplying frequency
responses; so, basically, you take the FFT of the signal and of the
filter, multiply, and take de IFFT.

For 2D, if A is a 2D matrix, fft2(A) = fft(fft(A,[],1),[],2) fft
(fft(A,[],2),[],1)

For 3D, then, fft3(A) = fft(fft(fft(A,[],1),[],2),[],3);

Remember that, to build A in 3D you need cat; for instance:

A = cat(3,cat(3,rand(8,8),rand(8,8)),rand(8,8));

or

A(:,:,1) = rand(8,8);
A(:,:,2) = rand(8,8);
A(:,:,3) = rand(8,8);

Both give the same result;

For the 3D filtering, you'll have to 3d-fft your 3d data, multiply it
by the 3D fourier transform of your 3D filter, and ifft in 3D.

--
Juan de Dios Santander Vela
Diplomado en CC. Fsicas, Ingeniero en Electrnica
Doctorando en Tecnologas Multimedia
Becario Predoctoral del Instituto de Astrofsica de Andaluca

Ed Cunningham: Amigos son esos extraos seres que nos preguntan cmo
estamos y se esperan a or la contestacin.

On 8/2/05, Juan de Dios Santander Vela <juandesant@juan...> wrote:
> El 01/08/2005, a las 18:01, acetone4u2001 escribi:
> Both give the same result;
>
> For the 3D filtering, you'll have to 3d-fft your 3d data, multiply it
> by the 3D fourier transform of your 3D filter, and ifft in 3D.

Thanks,
I got my 3D data imported into a 3d matrix, took the 3d fft. What
i am stuck at is filtering,

I understand that in frequency domain, its multiplication, and in
spatial domain its convolution.

Something Like Butterworth filter are frequency based filters, and
i am not able to construct
them in 3d dimensions.

1D is trivial, but cannot proceed further. -Ankur.

El 02/08/2005, a las 18:39, Ankit Khare escribi

> Something Like Butterworth filter are frequency based filters, and
> i am not able to construct
> them in 3d dimensions.
>
> 1D is trivial, but cannot proceed further.

Remember that the fft can is 2*pi periodic, and is symmetric around
0, and anti-symmetric around pi... For 2D, a low-pass filter
remembers a round or square hat (square if filter is made of
separable 1d filters)... In 3D, a low-pass filter remembers a ball,
or a cube (if it's a separable filter), in the 3d frequency domain...

--
Juan de Dios Santander Vela
Diplomado en CC. Ficas, Ingeniero en Electrica
Doctorando en Tecnologs Multimedia
Becario Predoctoral del Instituto de Astrofica de Andaluc

Hellen Keller: Cuando una puerta a la felicidad se cierra, otra se
abre; pero a veces nos quedamos tanto tiempo frente a la puerta
cerrada que no vemos la que se nos ha abierto.

Ankit-

> Something Like Butterworth filter are frequency based filters, and
> i am not able to construct
> them in 3d dimensions.

Think about filter coefficients that change slowly over time. Then you would have a
frequency response on 3 axes: freq, magnitude, time.

-Jeff

Also note that you need to apply the filter on each
axes.
For example it is a 2D image
First perform the filtering to the rows = result1.
Perform column filtering to the column elements of
result1 = final result.
You can continue with other dimensions

This is a general rule in Multi D filtering.

venky
--- Jeff Brower <jbrower@jbro...> wrote:

> Ankit-
>
> > Something Like Butterworth filter are frequency
> based filters, and
> > i am not able to construct
> > them in 3d dimensions.
>
> Think about filter coefficients that change slowly
> over time. Then you would have a
> frequency response on 3 axes: freq, magnitude,
> time.
>
> -Jeff
>

____________________________________________________