Just a comment, I implemented recently a much faster version of the bilateral-filter. Though I think there is still some polishing to do, it is basically working in the CPU and the GPU. On Sat, Apr 6, 2013 at 4:39 PM, Øyvind Kolås <pippin@xxxxxxxx> wrote: > Thank you for poking around looking for more things to bring over to GEGL. I > do not know much about the GIMP plug-in, but can tell you some other bits of > information that could be relevant ;) > > The core part of "selective gaussian blur" is what is normally called > "bilateral filtering" in academic image processing circles. GEGL already has > a (rather slow) bilateral filter implemented contained in > operations/common/bilateral-filter.c > > The specifics of the behavior of GIMPs selective-gaussian blur is something > I'd consider a historic artifact - that we might not want to preserve in > future versions. > > (As to the lines you've pointed out, looking at them in isolation.. this > seems to be code that deals with correctly handling alpha; GEGL does this > normally by processing buffers with premultiplied alpha, this seems to be > manual hacks that scales the contribution of pixels to the sum by the > alpha.. and since legacy GIMP is 8bpc, >>= 8, is the same as /256 and 256 > is 1.0, which normalizes the effect of multiplying by the alpha values > between 0 and 255.) > > /Ø > > > On Sat, Apr 6, 2013 at 12:14 PM, Karthikeyan S <karthikdevel@xxxxxxxxx> > wrote: >> >> Hi all, >> I am trying to port the selective gaussian blur filter to gegl. I do not >> understand the following lines in the original gimp code and what purpose >> they serve. >> >> --- >> >> Line 668 >> if (has_alpha) >> d *= src_b[nb - b]; // ? >> --- >> >> Line 676 >> if (has_alpha) >> { >> rowsum >>= 8; // why? >> rowfact >>= 8; >> } >> >> --- >> >> Also, as of now, my implementation correctly maintains edges in checker >> board images while blurring other areas. I am trying to debug another issue >> wherein I see that the noise pixels (in complete dark background in the >> checkerboard image) seem to get smeared out to neighbourhood areas and we >> get large patches of white arround the blurred pixel (This does not happen >> in gimp implementation). I am trying to see if the above lines have some >> clue to that. >> >> Thanks, >> Karthik >> >> _______________________________________________ >> gimp-developer-list mailing list >> gimp-developer-list@xxxxxxxxx >> https://mail.gnome.org/mailman/listinfo/gimp-developer-list >> > > > > -- > «The future is already here. It's just not very evenly distributed» > -- William Gibson > http://pippin.gimp.org/ http://ffii.org/ > > _______________________________________________ > gimp-developer-list mailing list > gimp-developer-list@xxxxxxxxx > https://mail.gnome.org/mailman/listinfo/gimp-developer-list > _______________________________________________ gimp-developer-list mailing list gimp-developer-list@xxxxxxxxx https://mail.gnome.org/mailman/listinfo/gimp-developer-list