Comments on: Separable convolution: Part 2 https://blogs.mathworks.com/steve/2006/11/28/separable-convolution-part-2/?s_tid=feedtopost Retired from MathWorks in 2024 after 30 years of service. Can now be found at MATLAB Central, https://hornjourney.com, and https://matrixvalues.com. MathWorks career included image processing, toolbox development, MATLAB development and design, development team management, MATLAB design standards, Steve on Image Processing blog (https://blogs.mathworks.com/steve). Co-author of Digital Image Processing Using MATLAB (https://www.imageprocessingplace.com/DIPUM-3E/dipum3e_main_page.htm). French horn enthusiast, member of Concord Orchestra and Melrose Symphony, member of the board of Cormont Music and the Kendall Betts Horn Camp. Tue, 22 Oct 2019 20:35:53 +0000 hourly 1 https://wordpress.org/?v=6.2.2 By: Steve https://blogs.mathworks.com/steve/2006/11/28/separable-convolution-part-2/#comment-24137 Tue, 26 Apr 2011 13:16:33 +0000 https://blogs.mathworks.com/steve/?p=98#comment-24137 Fraternite—You can form a multidimensional filter kernel directly from your formula and use it to filter a three-dimensional array. However, you’ll be limited by your available memory for how many frames you’ll be able to load into a single multidimensional array.

]]>
By: Fraternite https://blogs.mathworks.com/steve/2006/11/28/separable-convolution-part-2/#comment-24034 Fri, 18 Mar 2011 15:13:33 +0000 https://blogs.mathworks.com/steve/?p=98#comment-24034 Sorry, let me talk about it now. I want to use imfilter to convolve the video using a spatial temporal gaussian kernel. In image processing, it is called scale-space theory. Assign sigma and tau certain values it can detect objects in different scales. The spatial temporal gaussian kernel is something like this, 1 / sqrt((2pi)^3 * sigma^4 * tau^2) * exp(-(x^2+y^2)/(2 * sigma^2)-t^2/(2*tau^2)).

Thanks a lot!

]]>
By: Steve https://blogs.mathworks.com/steve/2006/11/28/separable-convolution-part-2/#comment-24029 Thu, 17 Mar 2011 17:20:36 +0000 https://blogs.mathworks.com/steve/?p=98#comment-24029 Fraternite—Yes, imfilter can handle inputs of any dimension. Asking “how to decide what is the kernel” is kind of like asking “what book should I read?” I can’t give a meaningful answer without knowing what you are trying to accomplish by filtering.

]]>
By: Fraternite https://blogs.mathworks.com/steve/2006/11/28/separable-convolution-part-2/#comment-24020 Wed, 16 Mar 2011 06:21:30 +0000 https://blogs.mathworks.com/steve/?p=98#comment-24020 Thanks a lot! There is more thing I want to know about, is it true that N-D convolution can be easily done using imfilter? Then how to decide what is the kernel? 3D gaussian kernel must be a lot different from that mentioned above.

]]>
By: Steve https://blogs.mathworks.com/steve/2006/11/28/separable-convolution-part-2/#comment-23963 Thu, 17 Feb 2011 12:46:04 +0000 https://blogs.mathworks.com/steve/?p=98#comment-23963 Fraternite—You asked me what separable filtering means in multiple dimensions, and I gave a brief response. As to whether you “have to” do it, I have no idea. You haven’t given us any information about what you need to accomplish by filtering.

]]>
By: Fraternite https://blogs.mathworks.com/steve/2006/11/28/separable-convolution-part-2/#comment-23959 Thu, 17 Feb 2011 00:44:58 +0000 https://blogs.mathworks.com/steve/?p=98#comment-23959 Along each dimension?Does it means that when I am processing a video, I will have to use 3 separable one-dimensional filters and convolve the video along x,y,t with these filters one by one? However, I am quite confused about how to convolve the video. The question is that how to convolve a one-dimensional filter with an video along time dimension?

Thanks a lot!

]]>
By: Steve https://blogs.mathworks.com/steve/2006/11/28/separable-convolution-part-2/#comment-23948 Mon, 14 Feb 2011 13:18:58 +0000 https://blogs.mathworks.com/steve/?p=98#comment-23948 Fraternite—Separable convolution is filtering with a one-dimensional filter along each dimension, and this idea extends to any number of dimensions. What more would you like to know about it?

]]>
By: Fraternite https://blogs.mathworks.com/steve/2006/11/28/separable-convolution-part-2/#comment-23914 Sun, 13 Feb 2011 04:01:55 +0000 https://blogs.mathworks.com/steve/?p=98#comment-23914 Can you tell me more about the separable convolution and how to us it when dealing with spatial temporal Gaussian kernel along all three dimensions x,y,t?

Thanks a lot!

]]>
By: Steve https://blogs.mathworks.com/steve/2006/11/28/separable-convolution-part-2/#comment-23504 Fri, 17 Sep 2010 12:37:53 +0000 https://blogs.mathworks.com/steve/?p=98#comment-23504 Jack—Yes, using singular value decomposition (SVD). I believe there is code on the MATLAB Central File Exchange that does this.

]]>
By: Jack https://blogs.mathworks.com/steve/2006/11/28/separable-convolution-part-2/#comment-23500 Fri, 17 Sep 2010 07:01:36 +0000 https://blogs.mathworks.com/steve/?p=98#comment-23500 Hey Steve,

I was wondering is there any algorithm you know of forming a general filter from the sum of separable filters?

For example if a filter PSF has rank 2 could you form this from two separable filters?

Thanks,

Jack

]]>