If you'd like to upload plug-ins, please create an account below. Otherwise (e.g. for download or commenting) you do not need one! Enjoy :-)
The wavelet denoise plugin is a tool to reduce noise in each channel of an image separately. The default colour space to do denoising is YCbCr which has the advantage that chroma noise can be reduced without affecting image details. Denoising in CIELAB (L*a*b*) or RGB is available as an option. The user interface allows colour mode and preview channel selection. The denoising threshold can be set for each colour channel independently.
The wavelet denoise plugin for The GIMP reduces noise in an image using the algorithm copied and altered from the UFRaw program [Udi Fuchs] (which inherited the algorithm from dcraw [Dave Coffin]). Instead of denoising all RGB channels at once, the plugin implementation allows to denoise the RGB channels in dividually and - even more useful - to denoise the YCbCr or CIELAB channels individually. The colour model conversions are nearly lossless as the internal calculations are done in floating point numbers and rounding errors are avoided. Because the algorithm implements a wavelet filtering it runs quite fast.
This is part of a picture taken with the Nikon D80 DSLR camera at ISO 1600 in RAW format. The face is lit by two candles and a colour temperature setting of 2500 K was used. The file was opened with the UFRaw plugin.

The goal is not to reduce all noise. The unpleasant part is the chroma noise which appears only when shooting the camera in RAW mode at a high ISO speed. As you can see the colour (chroma) noise is almost completely gone in the second picture and the luminance noise is slightly reduced. If you look closely at the face you will notice that the image details have not been altered much, the sharpness is almost the same.
Note that this is just the result of a uniform application of the filter on the unprocessed image. Masking the filter effect with a selection is possible which could improve the result even more.
The most significant changes are the introduction of noise profiling and internationalization.
There are several changes that have been made to improve the plugin.
Apart from that minor other changes have been made.
| Attachment | Size |
|---|---|
| wavelet-denoise-0.2-win.zip | 134.91 KB |
| wavelet-denoise-0.3.1.tar.gz | 26.65 KB |
Comments
What to download?
Hi, do I download both versions or just the last one?
download gimp plugin
I don't know if anyone ever answered this or not.
The .zip file is defiantly for the windoz version of gimp.
I'm pretty sure the .tar.gz file is most likely for the linux version of gimp.
Really Great
Tried the plugin just now. The output is excellent!. Thank you
Wavelet denoise on Macports?
Is it possible to download Wavelet denoise via macports, so I can get automaticly updates when you are improving your plugin?
Wavelet denoise 0.3.1 release
Hi everyone
Edit:
Version 0.3.1 released. Changes
- Added Estonian and Polish translations
Version 0.3 released. Canges since beta2:
- Dialog window now in landscape aspect.
- Russian translation added.
- Menu entry now translated.
- make uninstall stuff now available.
Additional changes since 0.2.1:
- Noise profiling introduces.
- Replacement of 'Detail' for 'Softness' slider.
- CIELAB colour space added.
- Enhanced reading-writing speed.
- New build system (make && make install)
- Translateable
- Italian and German translations.
Have fun!
marcor
Noise pattern
It's possible to extract a noise pattern from images?
i mean, i want noise instead of images
Noise pattern from image
The simplest is to copy the image to a new layer, de-noise that layer and then set the layer mode to difference.
This way only the noise remains.
Flatten the image and auto equalize.
Enjoy
Wavelet Denoise for Mac Leopard
Hi,
i would like to use the plugin. but trying to install causes this errors:
make -C po
msgfmt -c -v -o de.mo de.po
36 übersetzte Meldungen.
msgfmt -c -v -o ru.mo ru.po
36 übersetzte Meldungen.
msgfmt -c -v -o it.mo it.po
36 übersetzte Meldungen.
msgfmt -c -v -o et.mo et.po
36 übersetzte Meldungen.
msgfmt -c -v -o pl.mo pl.po
36 übersetzte Meldungen.
make -C src
make[1]: gimptool-2.0: Command not found
cc -O3 -Wall -c -o plugin.o plugin.c
In file included from plugin.c:16:
plugin.h:21:26: error: libgimp/gimp.h: No such file or directory
plugin.h:22:28: error: libgimp/gimpui.h: No such file or directory
plugin.h:23:21: error: libintl.h: No such file or directory
In file included from plugin.c:16:
plugin.h:46: warning: type defaults to ‘int’ in declaration of ‘gchar’
plugin.h:46: error: syntax error before ‘*’ toke
......
plugin.c:40: error: syntax error before ‘{’ token
make[1]: *** [plugin.o] Error 1
make: *** [src] Error 2
i think the problem is, there ist no gimptool-2.0 on my mac. therefore i can´t compile the plugin. has anyone a solution? i don´t know how to install this plugin on my mac.
Sorry
I try to install on Ubuntu 8.10 x64, and I get this:
utente@utente-desktop:~/Scrivania/wavelet-denoise-0.3.1$ make
make -C po
make[1]: Entering directory `/home/utente/Scrivania/wavelet-denoise-0.3.1/po'
msgfmt -c -v -o de.mo de.po
36 messaggi tradotti.
msgfmt -c -v -o ru.mo ru.po
36 messaggi tradotti.
msgfmt -c -v -o it.mo it.po
36 messaggi tradotti.
msgfmt -c -v -o et.mo et.po
36 messaggi tradotti.
msgfmt -c -v -o pl.mo pl.po
36 messaggi tradotti.
make[1]: Leaving directory `/home/utente/Scrivania/wavelet-denoise-0.3.1/po'
make -C src
make[1]: gimptool-2.0: Command not found
make[1]: Entering directory `/home/utente/Scrivania/wavelet-denoise-0.3.1/src'
cc -O3 -Wall -c -o plugin.o plugin.c
In file included from plugin.c:16:
plugin.h:21:26: error: libgimp/gimp.h: Nessun file o directory
plugin.h:22:28: error: libgimp/gimpui.h: Nessun file o directory
In file included from plugin.c:16:
plugin.h:46: warning: type defaults to ‘int’ in declaration of ‘gchar’
plugin.h:46: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token
plugin.h:51: error: expected ‘)’ before ‘*’ token
plugin.h:52: error: expected ‘)’ before ‘*’ token
plugin.h:53: error: expected ‘)’ before ‘*’ token
plugin.h:54: error: expected ‘)’ before ‘*’ token
plugin.h:55: error: expected ‘)’ before ‘*’ token
plugin.h:56: error: expected ‘)’ before ‘*’ token
plugin.h:57: error: expected ‘)’ before ‘*’ token
plugin.h:58: error: expected ‘)’ before ‘*’ token
plugin.h:59: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘user_interface’
plugin.h:60: error: expected ‘)’ before ‘*’ token
plugin.h:61: error: expected ‘)’ before ‘*’ token
plugin.h:62: error: expected ‘)’ before ‘*’ token
plugin.h:73: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘PLUG_IN_INFO’
plugin.h:81: error: expected specifier-qualifier-list before ‘guint’
plugin.h:98: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘channels’
plugin.h:100: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
plugin.c:18: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘PLUG_IN_INFO’
plugin.c:25: warning: excess elements in struct initializer
plugin.c:25: warning: (near initialization for ‘settings’)
plugin.c:26: warning: excess elements in struct initializer
plugin.c:26: warning: (near initialization for ‘settings’)
plugin.c:27: warning: excess elements in struct initializer
plugin.c:27: warning: (near initialization for ‘settings’)
plugin.c:28: error: ‘TRUE’ undeclared here (not in a function)
plugin.c:28: warning: excess elements in struct initializer
plugin.c:28: warning: (near initialization for ‘settings’)
plugin.c:29: error: extra brace group at end of initializer
plugin.c:29: error: (near initialization for ‘settings’)
plugin.c:29: warning: excess elements in struct initializer
plugin.c:29: warning: (near initialization for ‘settings’)
plugin.c:30: warning: excess elements in struct initializer
plugin.c:30: warning: (near initialization for ‘settings’)
plugin.c:31: warning: excess elements in struct initializer
plugin.c:31: warning: (near initialization for ‘settings’)
plugin.c:39: warning: return type defaults to ‘int’
plugin.c: In function ‘MAIN’:
plugin.c:40: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token
plugin.c:69: warning: type defaults to ‘int’ in declaration of ‘gchar’
plugin.c:69: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token
plugin.c:139: error: expected ‘{’ at end of input
make[1]: *** [plugin.o] Error 1
make[1]: Leaving directory `/home/utente/Scrivania/wavelet-denoise-0.3.1/src'
make: *** [src] Error 2
An help?
Thank you!
Thank you!
Fixed!!! with:
sudo apt-get install libgimp2.0-devThis plug-in is licensed
This plug-in is licensed under GPLv2 and does not have the "or any later version" clause. This causes problems once GIMP switches to GPLv3+ and LGPLv3+.
The same applies to the code that has been taken from UFRaw. The UFRaw author has already been made aware of this problem, you should update the copied code as soon as the license there is changed, too.
Perfect to reduce high ASA CCD Noise
This is really great. I tried many combinations of other filters but the effect of this filter is really professional. Smooth control over RGB threshold makes it great. Thanks mate for your nice job, this is really valuable plug-in for every one.
Really Amazing - Version 0.3 for windows?
This is just amazing. Version 0.2 works great, but I'd love to see a windows 0.3 build available made. I'd be happy to test on my machine (Win XP) and provide feedback
Let me know!
The GIMP community really appreciates your amazing work.
Matt
Wavelet denoise 0.3 beta released!
Hello everybody
I just released the 0.3-beta version of the wavelet denoise plugin. There are significant changes and it works better than ever. I'm not sure how the changes affect building on windows and that's why there is only the beta available now.
Tell me what you think about it!
If you speak another language than English and want the plugin translated, please do so and send me the .po file! I will include it! German is already available.
I hope that the
I hope that the modifications will be sufficiently user-friendly and helpful . . .
Not working in 2.4.2
I can't seem to install this in 2.4.2. Your plugin is amazing enough that I'm willing to change versions if it will work, but if there's something else that I (or you) can do fix it, it would be greatly appreciated!!! Thank you!
EDIT-
Oh, and by the way, I use Windows...I don't know what version other than that it's not Vista
Re: Not working in 2.4.2
Thanks for the compliments!
See the comments further down. They may help you.
Wavelet denoise update
Hello GIMP users!
I have added another wavelet plugin, a sharpening filter, and changed the entry in the registry from wavelet denoise to wavelet box. The denoise filter is only slightly changed (threshold now in range 0-10).
Enjoy!
Edit: I reconsidered and decided to make the two plugins available separately. That way maintaining will be simpler and the user gets only what he wants. The denoise filter v0.2.1 is the same as the one previously contained in the box.
Use in script-fu
Marcor, thanks for this great plug-in!
I was wondering if you could do something to make it usable in gimp scripts: it would just require to add a way of passing parameters in non-interactive mode. At the moment, if I understood well, you can just call the plugin "(plug-in-wavelet-denoise run-mode image drawable)", but you cannot provide any parameter such as the amount of denoise to run on each channel.
Thanks again!
wavelet-denoise: Use in script-fu
I'll see what I can do...
Edit:
I added that in wavelet-sharpen as the user interface is quite simple there. In wavelet-denoise there are so many options, depending on the number of channels in the image (r,g,b,alpha -> 1-4) that i don't know how to add this in a consistent way. If you have any suggestions then please feel free to tell them to me. However, try to run the plugin with different settings first and see how complicated it is: grayscale, rgb, grayscale + alpha, rga + alpha. Anyway, you need to *see* what happens with the images, how do you want to know the thresholds in advance? How do you want to run the plugin in a script?
I will start by explaining
I will start by explaining you why I would like to have a script-fu interface available. I have a (bash) script that does automatic postprocessing of raw files. It converts the images by using ufraw-batch, send them to the GIMP, and apply some further processing before saving them to jpg. I studied the script to obtain good results in standard situations. About noise reduction: the script applies it in ufraw with values depending on the ISO of the images. Of course, in some cases, I modify images by hand... But this is another story:-)
Another use I foresee for a script-fu interface is the following: imagine you have a batch of images, all shot in the same conditions. The noise reduction to apply will most probably be the same for all the batch. Thus, you can tune it on some sample images, and apply the same values to all of them by means of a script-fu.
Last but not least, all the other noise reduction plug-ins that I have seen so far have a script-fu interface:-)
About how to implement it: one way that may be convenient is the following:
(YCbCr/RGB, Y/R_amount, Y/R_detail, Cb/G_amount, Cb/G_detail, Cr/B_amount, Cr/B_detail)
Where YCbCr/RGB is a flag that is used to select the color model. All the others are the values applied to the different channels. The values for the alpha channel can be optionally added at the end of the list.
Thanks again for looking at it and for the very nice plugin (I also tested the sharpen plugin and I find it wonderful!!)!
Regards,
Alberto
Batch mode
I second the request for some kind of scriptable interface for this plugin. That would be very useful for doing batch processing of lots of images. Another suggestion for handling lots of options is to simply use a configuration file.
Wavelet denoise error under GIMP 2.4.0 WinXP fixed with 2.4.6
BryanSmith, I had the same error message with GIMP 2.4.0 under WinXP, but when I upgraded to GIMP 2.4.6 the error message went away. (I also found that UFRaw failed with 2.4.6, but that's another problem for another thread!)
Plug in caues error in Gimp
I am running windows XP home.
A search on Google suggested the problem may be due to multiple copies of libgtk-win32-2.0-0.dll. A search found copies of libgtk-win32-2.0-0.dll in the following directories: C:\Program Files\Common Files\GTK\2.0\bin (2.10.6.0) and, C:\Program Files\GIMP-2.0\bin (2.10.14.0).
I sent the entire C:\Program Files\GIMP-2.0 directory to the recycle bin and restarted windows. However I still get the error.
Wavelet denoise 0.2: Windows binary released
Thanks to JamesH a binary for Windows is now available. Please comment if you are experiencing problems with it.
Incomplete install instructions
Please add in the install instructions information on how to install "gimptool" because many users probably try to use synaptic, but they will notfind gimptool there. --- One needs to install libgimp2.0-dev (plus several dozens more libraries via dependencies).
EDIT: Installation worked flawless; and I am impressed with the tool. Thanks for providing it!
Re: Incomplete install instructions
Thank you for pointing this out. I was not aware that there are distributions where gimptool-2.0 did not come with the GIMP package.
Using google I found that there is a package "gimp-plugin-registry" for Debian and one for Ubuntu with the same name, that includes my plugin (however, I believe it's still the beta version).
To get gimptool-2.0 going to compile it yourself, please refer to the GIMP manuals.
Wavelet denoise v0.2 released!
Finally the new version of wavelet denoise has been released!
There is one or two important difference between the final release and the beta version: the plugin now operates on linear image data (as opposed to gamma corrected data) and the processing speed has been increased.
Here's the complete list of changes from version 0.1.1:
Enjoy!
Wavelet denoise v0.2 released!
I can test on xp the binary provided by jamesH , i suppose are still for the beta version and not updated to this release..
Correct?
i'm happy to help with some testing in windows if needed
and i may check also "if the license, install, readme files are included in the archive." and if not fix that details in a new package
I'm not good in building in windows but once the bigger part of the job is done and the binary is ready...
...well ,
...then add a folder with "the license, how install, read me files" and even a link to the source code and zip all for me is not a problem
, i will happy to do at soon i get a reply
sharpening vs noise reduction
Hi,
Could you please tell me what is the preferred combination and why?
(1) sharpen + denoise
(2) denoise + sharpen
Thanks
I had build the windows
I had build the windows binary
and mail to marco on Aug 1 2008
wawelet denoise
Thank JamesH to find the time to build
Marcor you may post a link to download
(even by PM if should be added yet license and source code link )
PS
i just finish testing the previous win version seems working fine but i must find more meaningful sample, i do not trace much "noisy photos" adapt for a test have you some for a confront?
Wavelet denoise: 0.2-beta released
The beta version of the plugin wavelet denoise 0.2 has been released. There are many changes - suggestions are welcome.
Changes:
Any chance of adding this to ufraw?
I think it would be a great addition.
Any chance of adding this to ufraw?
You surely know that there is denoising in UFRaw. That's where I took the algorithm for this denoising plugin from. In UFRaw the denoising is done on linear data before bayer interpolation and therefore colour model conversions cannot be made. It could be done after the interpolation though.
However, I share the belief that software is not perfect when there is nothing left to add but when there is nothing left to leave away. I talked to the author of UFRaw and I think he will not change it. (I did not request it, you know.) Note that there is no 100% magnification of the preview image available in UFRaw at the moment and that would be necessary for decent denoising.
What's wrong with using a plugin for the job? Let's not make UFRaw complicated!
Re: Any chance of adding this to ufraw?
Hi,
I would love to use the plugin, but I'm a windows person. Any tips for using cygwin to compile it?
In linear space it might be possible to do color model conversions that would be appropriate for denoising. What about converting to XYZ? I see a simple matrix in Dcraw for doing that. In fact I think this is the best place to do the denoising.
Jon
Install error's
Hi all:
I want to write my case:
For installation in Ubuntu-8.04-AMD64, libgimp2.0-dev 2.4.5-1 installed, I wrote
gimptool-2.0 --install-admin wavelet-denoise.c.Notice that the file's name is wavelet-denoise.c not wavelet_denoise.c
wawelet denoise : Any hope for windows binary ?
Any hope for windows binary ?
will be needed to port it in windows or is just to compile?
("just" is a euphemism... is far to be simple for me, but will be hopeless if some of dependency have not a equivalent in win).
windows binary
wavelet-denoise.zip
Re: wavelet denoise windows binary
Thank you, JamesH, for providing this! I could not test it however as I have no Windows system with GIMP available. I will add it to the file list when somebody has checked it and if the license, install, readme files are included in the archive.
There will soon be another release with new features and I hope you will repeat this trick.
Re:Wavelet denoise windows binary and 0.2-beta released
You are welcome
and here is new one
wavelet-denoise-0.2-beta.zip
My English is not good, so sorry for my short sentence
Re: wavelet denoise : Any hope for windows binary ?
I'm sorry but I don't know how to do it and I work on Linux exclusively. Maybe somebody else could provide a solution...
Wavelet denoise 0.3.1 Windows binary
I have just built a windows binary without console window for the latest version. I'll send it as an attachment in a new post.
wavelet denoise
i downloaded it and decompressed it to my desktop. you have to install gimptool from synaptic. then you should be able to install it using gimptool. im new at this too, but i got it working. try this gimptool-2.0 --install wavelet-denoise.c. sorry i misread the post[this is for linux) as soon as i install it in windows ill get back to you.
uh..installing in windows
uh..installing in windows should be simple as a double click to unzip, and then move the extracted file in 1 of the gimp plugin folder (better in the less visible that usually is in
for xp
C:\ Documents and Settings\YOUR NAME HERE\.gimp\plugin
for Vista
C:\Users\YOUR NAME HERE\.gimp\plugin