Technical discussion about Matlab and issues related to Digital Signal Processing.
Post a new Thread
3D filtering. - acetone4u2001 - Aug 1 18:01:00 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

(You need to be a member of matlab -- send a blank email to matlab-subscribe@yahoogroups.com )
Re: 3D filtering. - Juan de Dios Santander Vela - Aug 2 17:43:00 2005
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. F’sicas, Ingeniero en Electr—nica
Doctorando en Tecnolog’as Multimedia
Becario Predoctoral del Instituto de Astrof’sica de Andaluc’a
Ed Cunningham: Amigos son esos extra–os seres que nos preguntan c—mo
estamos y se esperan a o’r la contestaci—n.

(You need to be a member of matlab -- send a blank email to matlab-subscribe@yahoogroups.com )
Re: 3D filtering. - Ankit Khare - Aug 2 18:39:00 2005
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.

(You need to be a member of matlab -- send a blank email to matlab-subscribe@yahoogroups.com )
Re: 3D filtering. - Juan de Dios Santander Vela - Aug 2 18:53:00 2005
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. Físicas, Ingeniero en Electrónica
Doctorando en Tecnologías Multimedia
Becario Predoctoral del Instituto de Astrofísica de Andalucía
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.

(You need to be a member of matlab -- send a blank email to matlab-subscribe@yahoogroups.com )
Re: 3D filtering. - Jeff Brower - Aug 3 11:37:00 2005
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

(You need to be a member of matlab -- send a blank email to matlab-subscribe@yahoogroups.com )
Re: 3D filtering. - venkatesh viswanathan - Aug 3 12:18:00 2005
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
____________________________________________________
Start your day with Yahoo! - make it your home page
http://www.yahoo.com/r/hs

(You need to be a member of matlab -- send a blank email to matlab-subscribe@yahoogroups.com )