Sign in

username:

password:



Not a member?

Search matlab



Search tips

Subscribe to matlab



matlab by Keywords

Atanh | Autocorrelation | Bandpass Filter | C++ | Conv | Database | Deconv | Excel | FFT | Filter | Filtering | FIR | Fourier Transfrom | FSK | Gaussian Noise | Haykin | IFFT | Image | Java | LFSR | LMS | LPC | MEX | OFDM | QPSK | Radix | Random | Sampling | Segmentation | Simulink | Visual Basic | Waveform | Wavelet

Ads

Discussion Groups

Discussion Groups | Matlab DSP | 3D filtering.

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 )