Asymmetric 3D Gaussian Filtering in Matlab
2 views (last 30 days)
Show older comments
Hello,
I have a flowfield that has u,v,w velocities. Each of them are 3D arrays - say 480 x 480 x 60. I know that we can do an asymmetric Gaussian filtering in 3D in the following manner:
sigma = [10, 5, 3];
u_filt = imgaussfilt3(u,sigma);
The problem that I am facing is that my grid is non-unform. That is while my dx = dy = 1km, my dz changes as a function of height. How do I modify the imgaussfilt3 such that the sigma_z is a function of z? One way is to call the imgaussfilt 60 times (that is the size of z) but that would be very inefficient. Is there an alternative solution?
Sincerely,
Sai
0 Comments
Answers (1)
Navya Seelam
on 6 Aug 2019
Hi,
The input argument “sigma” to the function “imgaussfilt3” must be a positive number or a 3-element vector of positive numbers. In case if the sigma_z is a function of z, perform the filtering iteratively calling the “imgaussfilt3” 60 times.
See Also
Categories
Find more on Digital Filter Analysis in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!