Recursive Gaussian filter SDK example Issue running with large images

Hi –

This is my first time posting to a forum, so I apologize if I’m accidentally breaking any unspoken (or spoken) internet rules.

For a research project, I would like to use the “recursive Gaussian filter” code included as part of the CUDA SDK examples. Unfortunately, while it works on the sample lena.ppm image, I’ve found that it doesn’t work on larger images. For example, I’ve posted an image from a computer vision dataset:

http://www.stanford.edu/~justso1/img1.ppm

When I put it into the filter, the far right side appears incorrectly – there are bars of color.

If it matters, my graphics card is an NVidia Quadro FX 770M.

Can anyone confirm whether they have a similar problem? Any ideas what might be wrong?

Thanks –

  • js

I suspect this is because the code (stupidly) doesn’t handle images that aren’t a multiple of the thread block width. I’ll take a look at the code next week and post a fixed version.

Here’s the fixed code.
recursiveGaussian.zip (9.27 KB)

Thanks!

Hi, simon

is that easy to extend 3D Gaussian Filtering? How?

Thank you.

First blur each 2D-slice, then blur along the third dimension. The only thing you’ll need is another transpose-kernel.

Hello,

I dont know whether Simon still follows this topic. I am having trouble only large images with multiple of block sizes are working. When I try giving images which are not multiples, i get a floating point core dump run time error. I saw the zip file posted, I would like to know whether it was updated in the current SDK. Could you please tell me the changes you made to the code to make it working for all image sizes. Which part was modified.