From VipsWiki
Jump to: navigation, search

---+ GREYCstoration plugin

---++ a VIPS plugin for the GREYCstoration noise removal algorithm

[[1][GREYCstoration]] is a popular noise filter. This plugin is a quick hack of the [[2][GIMP]] [[3][plugin]] to work with VIPS. I took version 0.2 from their SVN repository and made the fewest changes I could.

Here's the source code:

It's not properly autotooled, so to install do:

<verbatim> tar xfz greycstoration-1.0.0.tar.gz cd greycstoration-1.0.0 ./configure make cd src cp .libs/ $VIPSHOME/lib/greyc.plg cp greyc.def $VIPSHOME/share/nip2/start </verbatim>

(see the README), then start nip2, load an image (optionally mark a small region!), and click GREYCstoration.

I tried it on a couple of images and memory use seems to scale about linearly with input image size. Sadly the scale factor is around 20 (ie. it needs 20 times more RAM than the input image size), so a 1GB machine could process about a 3k by 3k RGB image. If you need 16 bits, I expect you will be limited to 2k by 2k.

I think part of the problem is the CImg library: it's designed for concise coding on smallish images and does not seem to scale well to larger images. I suspect a rather major rewrite would be required to fix this (if it is fixable, I've not read the code).

-- Main.JohnCupitt - 08 Mar 2006