www.GetXFactor.com

Leading Technology, Science,
Agriculture News and information


Part of the Identityscape.com network...

getxfactor.com jmoodmusic.com smartbusinesschoices.com mintdepot.com lowfaresalways.com evangelicalview.com shoppingpodder.com soproudlywehail.com webnews.ws currenthumor.com

 

 

fast gaussian filter
Goto page 1, 2  Next
   Science and Technology news... Forum Index -> Image Processing Forum  
View previous topic :: View next topic  
Author Message
finecur
Guest






PostPosted: Fri Oct 10, 2008 4:33 pm    Post subject: fast gaussian filter Reply with quote

Do you know any fast implementation of Gaussian smoothing? I mean
beyond making it seperatable...

I found a recursive implementation from the paper "Recursive
implementation of the Gaussian filter", If I use integer but not float
point, however, the result is not accurate.

Any other method? Photoshop>s Gaussian blur is very fast, I am
wondering how they did it.
Back to top
finecur
Guest






PostPosted: Fri Oct 10, 2008 5:44 pm    Post subject: Re: fast gaussian filter Reply with quote

On Oct 10, 10:03 am, Paul Russell <pruss...@sonic.net> wrote:
[quote]finecur wrote:
Do you know any fast implementation of Gaussian smoothing? I mean
beyond making it seperatable...

I found a recursive implementation from the paper "Recursive
implementation of the Gaussian filter", If I use integer but not float
point, however, the result is not accurate.

Any other method? Photoshop>s Gaussian blur is very fast, I am
wondering how they did it.

You need to exploit integer (fixed point) SIMD.

Paul
[/quote]
SIMD is not available for the platform I am working on.
Back to top
Paul Russell
Guest






PostPosted: Fri Oct 10, 2008 10:03 pm    Post subject: Re: fast gaussian filter Reply with quote

finecur wrote:
[quote]Do you know any fast implementation of Gaussian smoothing? I mean
beyond making it seperatable...

I found a recursive implementation from the paper "Recursive
implementation of the Gaussian filter", If I use integer but not float
point, however, the result is not accurate.

Any other method? Photoshop>s Gaussian blur is very fast, I am
wondering how they did it.
[/quote]
You need to exploit integer (fixed point) SIMD.

Paul
Back to top
4N
Guest






PostPosted: Sat Oct 11, 2008 1:37 pm    Post subject: Re: fast gaussian filter Reply with quote

you can try a separable implementation that works for moderately large
radiuses
Back to top
aruzinsky
Guest






PostPosted: Sun Oct 12, 2008 3:29 pm    Post subject: Re: fast gaussian filter Reply with quote

On Oct 10, 11:44 am, finecur <fine...@yahoo.com> wrote:
[quote]On Oct 10, 10:03 am, Paul Russell <pruss...@sonic.net> wrote:

finecur wrote:
Do you know any fast implementation of Gaussian smoothing? I mean
beyond making it seperatable...

I found a recursive implementation from the paper "Recursive
implementation of the Gaussian filter", If I use integer but not float
point, however, the result is not accurate.

Any other method? Photoshop>s Gaussian blur is very fast, I am
wondering how they did it.

You need to exploit integer (fixed point) SIMD.

Paul

SIMD is not available for the platform I am working on.
[/quote]
How do you know Photoshop doesn>t use SIMD?
Back to top
toby
Guest






PostPosted: Sun Oct 12, 2008 6:46 pm    Post subject: Re: fast gaussian filter Reply with quote

On Oct 10, 12:33 pm, finecur <fine...@yahoo.com> wrote:
[quote]Do you know any fast implementation of Gaussian smoothing? I mean
beyond making it seperatable...

I found a recursive implementation from the paper "Recursive
implementation of the Gaussian filter", If I use integer but not float
point, however, the result is not accurate.

Any other method? Photoshop>s Gaussian blur is very fast, I am
wondering how they did it.
[/quote]
Judging from this, http://www.stereopsis.com/kpt/kptblur.html
KPT blurs were even more efficient than Photoshop>s.
Back to top
4N
Guest






PostPosted: Sun Oct 12, 2008 10:59 pm    Post subject: Re: fast gaussian filter Reply with quote

"aruzinsky" <aruzinsky@general-cathexis.com> ha scritto nel messaggio
news:bd16d583-f324-42c4-9a7c-46e14ef018de@v15g2000hsa.googlegroups.com...
On Oct 10, 11:44 am, finecur <fine...@yahoo.com> wrote:

[quote]How do you know Photoshop doesn>t use SIMD?
[/quote]
maybe with "SIMD is not available for the platform I am working on" he means
he uses an old PC not supporting SIMD instructions, therefore they can>t be
used by Photoshop.
Back to top
bugbear
Guest






PostPosted: Mon Oct 13, 2008 3:03 pm    Post subject: Re: fast gaussian filter Reply with quote

toby wrote:
[quote]On Oct 10, 12:33 pm, finecur <fine...@yahoo.com> wrote:
Do you know any fast implementation of Gaussian smoothing? I mean
beyond making it seperatable...

I found a recursive implementation from the paper "Recursive
implementation of the Gaussian filter", If I use integer but not float
point, however, the result is not accurate.

Any other method? Photoshop>s Gaussian blur is very fast, I am
wondering how they did it.

Judging from this, http://www.stereopsis.com/kpt/kptblur.html
KPT blurs were even more efficient than Photoshop>s.
[/quote]
quote:
[quote]This filter applies at exactly the same speed regardless of the blur radius. That means that a 1-pixel blur or a 500-pixel blur will apply at exactly the same speed. Using this when you really want to blur a lot pays off.
[/quote]
Sounds like IIR to me.

There>s an implementation in Gimp, which being open source
provides source code too.

BugBear
Back to top
aruzinsky
Guest






PostPosted: Mon Oct 13, 2008 3:55 pm    Post subject: Re: fast gaussian filter Reply with quote

On Oct 10, 10:33 am, finecur <fine...@yahoo.com> wrote:
[quote]Do you know any fast implementation of Gaussian smoothing? I mean
beyond making it seperatable...

I found a recursive implementation from the paper "Recursive
implementation of the Gaussian filter", If I use integer but not float
point, however, the result is not accurate.

Any other method? Photoshop>s Gaussian blur is very fast, I am
wondering how they did it.
[/quote]
How fast is Photoshop>s Gaussian with a Std.Dev. (which I assume is
radius) of 100?

Using a separable kernel with a support of 6 Std.Dev. and X87 floating
point, I get 8.7 seconds/megapixel on my computer. That seems
adequate for most intents and purposes. I
Back to top
aruzinsky
Guest






PostPosted: Mon Oct 13, 2008 5:19 pm    Post subject: Re: fast gaussian filter Reply with quote

On Oct 13, 10:29 am, bugbear <bugbear@trim_papermule.co.uk_trim>
wrote:
[quote]aruzinsky wrote:
On Oct 10, 10:33 am, finecur <fine...@yahoo.com> wrote:
Do you know any fast implementation of Gaussian smoothing? I mean
beyond making it seperatable...

I found a recursive implementation from the paper "Recursive
implementation of the Gaussian filter", If I use integer but not float
point, however, the result is not accurate.

Any other method? Photoshop>s Gaussian blur is very fast, I am
wondering how they did it.

How fast is Photoshop>s Gaussian with a Std.Dev. (which I assume is
radius) of 100?

Using a separable kernel with a support of 6 Std.Dev. and X87 floating
point, I get 8.7 seconds/megapixel on my computer.  That seems
adequate for most intents and purposes.  I

On gimp I just applied a 100 pixel gaussian to an RGB image
of 3264x2448 pixels on a fujitsu-seimens laptop.

It took 10.38 seconds.

I>ve appended /proc/cpuinfo to the post, but the highlights are:
Intel(R) Celeron(R) M processor         1500MHz

    BugBear- Hide quoted text -

- Show quoted text -
[/quote]
I didn>t say "100 pixel." The size of my kernel was 601 pixels.

Here is the impulse response

http://www.general-cathexis.com/images/Gaussian.png

normalized to [0, 255]. The result was 32 bit floating point before
converting to 8 bit/channel PNG.

My computer is Athlon 64, 1.81 GHz.
Back to top
bugbear
Guest






PostPosted: Mon Oct 13, 2008 9:29 pm    Post subject: Re: fast gaussian filter Reply with quote

aruzinsky wrote:
[quote]On Oct 10, 10:33 am, finecur <fine...@yahoo.com> wrote:
Do you know any fast implementation of Gaussian smoothing? I mean
beyond making it seperatable...

I found a recursive implementation from the paper "Recursive
implementation of the Gaussian filter", If I use integer but not float
point, however, the result is not accurate.

Any other method? Photoshop>s Gaussian blur is very fast, I am
wondering how they did it.

How fast is Photoshop>s Gaussian with a Std.Dev. (which I assume is
radius) of 100?

Using a separable kernel with a support of 6 Std.Dev. and X87 floating
point, I get 8.7 seconds/megapixel on my computer. That seems
adequate for most intents and purposes. I
[/quote]
On gimp I just applied a 100 pixel gaussian to an RGB image
of 3264x2448 pixels on a fujitsu-seimens laptop.

It took 10.38 seconds.

I>ve appended /proc/cpuinfo to the post, but the highlights are:
Intel(R) Celeron(R) M processor 1500MHz

BugBear
Back to top
bugbear
Guest






PostPosted: Mon Oct 13, 2008 9:59 pm    Post subject: Re: fast gaussian filter Reply with quote

bugbear wrote:
[quote]I>ve appended /proc/cpuinfo to the post, but the highlights are:
Intel(R) Celeron(R) M processor 1500MHz
[/quote]
No I hadn>t!

BugBear

cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 9
model name : Intel(R) Celeron(R) M processor 1500MHz
stepping : 5
cpu MHz : 1499.846
cache size : 512 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 2
wp : yes
flags : fpu vme de pse tsc msr mce cx8 mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 tm pbe up bts
bogomips : 3001.17
clflush size : 64
power management:
Back to top
Pierre Joye
Guest






PostPosted: Tue Oct 14, 2008 7:42 am    Post subject: Re: fast gaussian filter Reply with quote

On Oct 13, 12:03 pm, bugbear <bugbear@trim_papermule.co.uk_trim>
wrote:
[quote]toby wrote:
On Oct 10, 12:33 pm, finecur <fine...@yahoo.com> wrote:
Do you know any fast implementation of Gaussian smoothing? I mean
beyond making it seperatable...

I found a recursive implementation from the paper "Recursive
implementation of the Gaussian filter", If I use integer but not float
point, however, the result is not accurate.

Any other method? Photoshop>s Gaussian blur is very fast, I am
wondering how they did it.

Judging from this,http://www.stereopsis.com/kpt/kptblur.html
KPT blurs were even more efficient than Photoshop>s.

quote:
 >>This filter applies at exactly the same speed regardless of the blur radius. That means that a 1-pixel blur or a 500-pixel blur will apply at exactly the same speed. Using this when you really want to blur a lot pays off.

Sounds like IIR to me.

There>s an implementation in Gimp, which being open source
provides source code too.
[/quote]
Mario Klingenmann implemented some fast blurs function for his flash
projects. The code has been ported to c/c++ (see AGG for example):

http://incubator.quasimondo.com/processing/superfast_blur.php
http://incubator.quasimondo.com/processing/fast_blur_deluxe.php

Not sure if it is exactly what you are looking for, but it may help
already.

Cheers,
--
Pierre

http://blog.thepimp.net | http://www.libgd.org
Back to top
bugbear
Guest






PostPosted: Tue Oct 14, 2008 1:47 pm    Post subject: Re: fast gaussian filter Reply with quote

aruzinsky wrote:
[quote]On Oct 13, 10:29 am, bugbear <bugbear@trim_papermule.co.uk_trim
wrote:
aruzinsky wrote:
On Oct 10, 10:33 am, finecur <fine...@yahoo.com> wrote:
Do you know any fast implementation of Gaussian smoothing? I mean
beyond making it seperatable...
I found a recursive implementation from the paper "Recursive
implementation of the Gaussian filter", If I use integer but not float
point, however, the result is not accurate.
Any other method? Photoshop>s Gaussian blur is very fast, I am
wondering how they did it.
How fast is Photoshop>s Gaussian with a Std.Dev. (which I assume is
radius) of 100?
Using a separable kernel with a support of 6 Std.Dev. and X87 floating
point, I get 8.7 seconds/megapixel on my computer. That seems
adequate for most intents and purposes. I
On gimp I just applied a 100 pixel gaussian to an RGB image
of 3264x2448 pixels on a fujitsu-seimens laptop.

It took 10.38 seconds.

I>ve appended /proc/cpuinfo to the post, but the highlights are:
Intel(R) Celeron(R) M processor 1500MHz

BugBear- Hide quoted text -

- Show quoted text -

I didn>t say "100 pixel." The size of my kernel was 601 pixels.
[/quote]
You said:
"How fast is Photoshop>s Gaussian with a Std.Dev. (which I assume is
radius) of 100?"

So I did radius 100 in Gimp (for comparison with the request
you made of Photoshop)

BugBear
Back to top
aruzinsky
Guest






PostPosted: Tue Oct 14, 2008 5:45 pm    Post subject: Re: fast gaussian filter Reply with quote

On Oct 14, 2:47 am, bugbear <bugbear@trim_papermule.co.uk_trim> wrote:
[quote]aruzinsky wrote:
On Oct 13, 10:29 am, bugbear <bugbear@trim_papermule.co.uk_trim
wrote:
aruzinsky wrote:
On Oct 10, 10:33 am, finecur <fine...@yahoo.com> wrote:
Do you know any fast implementation of Gaussian smoothing? I mean
beyond making it seperatable...
I found a recursive implementation from the paper "Recursive
implementation of the Gaussian filter", If I use integer but not float
point, however, the result is not accurate.
Any other method? Photoshop>s Gaussian blur is very fast, I am
wondering how they did it.
How fast is Photoshop>s Gaussian with a Std.Dev. (which I assume is
radius) of 100?
Using a separable kernel with a support of 6 Std.Dev. and X87 floating
point, I get 8.7 seconds/megapixel on my computer.  That seems
adequate for most intents and purposes.  I
On gimp I just applied a 100 pixel gaussian to an RGB image
of 3264x2448 pixels on a fujitsu-seimens laptop.

It took 10.38 seconds.

I>ve appended /proc/cpuinfo to the post, but the highlights are:
Intel(R) Celeron(R) M processor         1500MHz

    BugBear- Hide quoted text -

- Show quoted text -

I didn>t say "100 pixel."  The size of my kernel was 601 pixels.

You said:
"How fast is Photoshop>s Gaussian with a Std.Dev. (which I assume is
radius) of 100?"

So I did radius 100 in Gimp (for comparison with the request
you made of Photoshop)

    BugBear- Hide quoted text -

- Show quoted text -
[/quote]
Sorry. You should compare impulse responses to see whether there is a
difference, otherwise we may be comparing apples and oranges.
Back to top
Display posts from previous:   
   Science and Technology news... Forum Index -> Image Processing Forum Goto page 1, 2  Next  
Page 1 of 2
All times are GMT

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum