Added a threshold slider to the impulse NR tool. Large values can cause cratering, but otherwise this should be a good precursor to pyramid denoising.

This commit is contained in:
Emil Martinec
2010-09-14 00:08:23 -05:00
parent da0faec489
commit 1820978df4
15 changed files with 169 additions and 41 deletions

View File

@@ -96,6 +96,10 @@ void ProcParams::setDefaults () {
colorDenoise.edgetolerance = 2000;
impulseDenoise.enabled = false;
<<<<<<< local
impulseDenoise.thresh = 50;
=======
>>>>>>> other
dirpyrDenoise.enabled = false;
dirpyrDenoise.luma = 10;
@@ -245,7 +249,12 @@ int ProcParams::save (Glib::ustring fname) const {
// save impulseDenoise
keyFile.set_boolean ("Impulse Denoising", "Enabled", impulseDenoise.enabled);
<<<<<<< local
keyFile.set_integer ("Impulse Denoising", "Threshold", impulseDenoise.thresh);
=======
>>>>>>> other
// save dirpyrDenoise
keyFile.set_boolean ("Directional Pyramid Denoising", "Enabled", dirpyrDenoise.enabled);
keyFile.set_integer ("Directional Pyramid Denoising", "Luma", dirpyrDenoise.luma);
@@ -461,6 +470,10 @@ if (keyFile.has_group ("Color Shift")) {
// load impulseDenoise
if (keyFile.has_group ("Impulse Denoising")) {
if (keyFile.has_key ("Impulse Denoising", "Enabled")) impulseDenoise.enabled = keyFile.get_boolean ("Impulse Denoising", "Enabled");
<<<<<<< local
if (keyFile.has_key ("Impulse Denoising", "Threshold")) impulseDenoise.thresh = keyFile.get_integer ("Impulse Denoising", "Threshold");
=======
>>>>>>> other
}
// load dirpyrDenoise
@@ -675,6 +688,10 @@ bool ProcParams::operator== (const ProcParams& other) {
&& colorShift.a == other.colorShift.a
&& colorShift.b == other.colorShift.b
&& impulseDenoise.enabled == other.impulseDenoise.enabled
<<<<<<< local
&& impulseDenoise.thresh == other.impulseDenoise.thresh
=======
>>>>>>> other
&& dirpyrDenoise.enabled == other.dirpyrDenoise.enabled
&& dirpyrDenoise.luma == other.dirpyrDenoise.luma
&& dirpyrDenoise.chroma == other.dirpyrDenoise.chroma