Wavelet levels: denoise and guided filter with hue curve and local contrast (#5894)
* First wavelet denoise * Gui for wavel denoise * First version local contrast and denoise * Second version local contrast and denoise * second version GUI equalizer * enable equalizer local contrast denoise 1234 * change local contrast curve defaut * disable local contrast when curve 1 * denmethod in advanced - standard * Simulate slider denoise with curve * Some various chnages * Chnage reference local contrast * GUI part reference local contrast * Enable reference noise mix denoise for local contrast denoise * Improvment to reference local contrast denoise * Display comment in console * Best format string in console * Change agressive denoise limit to 50 - added tooltip * Added method quality denoise - change madL in ftblockdn * Change equalizer 1234 settings - added high level local contrast * added high levels local contrast curve * Fixed sigma local contrast * clean format code * Some improvments * normalize level slider high level threshold * change ordonate curve high level contrast * Fixed bad level for curve high levels - simplify GUI standard * several changes - guidefilter final - new double slider threshold * save provisory work * save GUI work GF threshold * save provisory work * Fixed some bad behavior GUI * save GUI Hue GF * Curve Hue for GF * OMP for hue GF * addes noisevarhue and fixed some bug * save GUI equalizer hue * enable equalizer hue * Fixed bad behavior GUI in advanced mode * change some default values * Others change default values * Change in progressivity slider threshold local contrast * simplifie algorithm and GUI * Added tooltip and chnage some labels * Change labels and tooltip wavelet denoise * added level 5 denoise * Change typo in label guided theshold * Various changes labels tooltip * Change minimum wavelet level * Added level 5 to denoise * Change slider sigm for a double slider sigm03 sigm45 * small delay for double slider sigm * Fixed wrong values sigm * Hide level56 in standard complexity * Improve in standard complexity * Various improvment levels 14 * interaction 56 14 - advanced complexity
This commit is contained in:
@@ -14,7 +14,7 @@
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with RawTherapee. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
* 2014 Jacques Desmis <jdesmis@gmail.com>
|
||||
* 2014 2020 Jacques Desmis <jdesmis@gmail.com>
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
@@ -102,6 +102,23 @@ private:
|
||||
rtengine::ProcEvent EvWavprotab;
|
||||
rtengine::ProcEvent EvWavlevelshc;
|
||||
rtengine::ProcEvent EvWavcomplexmet;
|
||||
rtengine::ProcEvent EvWavsigm;
|
||||
rtengine::ProcEvent EvWavdenoise;
|
||||
rtengine::ProcEvent EvWavdenmethod;
|
||||
rtengine::ProcEvent EvWavmixmethod;
|
||||
rtengine::ProcEvent EvWavquamethod;
|
||||
rtengine::ProcEvent EvWavlevden;
|
||||
rtengine::ProcEvent EvWavdenoiseh;
|
||||
rtengine::ProcEvent EvWavstrend;
|
||||
rtengine::ProcEvent EvWavdetend;
|
||||
rtengine::ProcEvent EvWavlevdenois;
|
||||
rtengine::ProcEvent EvWavslimethod;
|
||||
rtengine::ProcEvent EvWavthrend;
|
||||
rtengine::ProcEvent EvWavguid;
|
||||
rtengine::ProcEvent EvWavhue;
|
||||
rtengine::ProcEvent EvWavthrden;
|
||||
rtengine::ProcEvent EvWavlevelsigm;
|
||||
rtengine::ProcEvent EvWavlimden;
|
||||
|
||||
LabGrid *labgrid;
|
||||
|
||||
@@ -122,6 +139,10 @@ private:
|
||||
void MedgreinfChanged();
|
||||
void TMmethodChanged();
|
||||
void complexmethodChanged();
|
||||
void denmethodChanged();
|
||||
void mixmethodChanged();
|
||||
void quamethodChanged();
|
||||
void slimethodChanged();
|
||||
void TilesmethodChanged();
|
||||
void avoidToggled();
|
||||
void showmaskToggled ();
|
||||
@@ -183,6 +204,14 @@ private:
|
||||
FlatCurveEditor* opacityShapeRG;
|
||||
CurveEditorGroup* const opacityCurveEditorG;
|
||||
FlatCurveEditor* opacityShapeBY;
|
||||
CurveEditorGroup* const CurveEditorwavnoise;
|
||||
FlatCurveEditor* wavdenoise;
|
||||
CurveEditorGroup* const CurveEditorwavnoiseh;
|
||||
FlatCurveEditor* wavdenoiseh;
|
||||
CurveEditorGroup* const CurveEditorwavguid;
|
||||
FlatCurveEditor* wavguidf;
|
||||
CurveEditorGroup* const CurveEditorwavhue;
|
||||
FlatCurveEditor* wavhue;
|
||||
CurveEditorGroup* const opacityCurveEditorW;
|
||||
CurveEditorGroup* const opacityCurveEditorWL;
|
||||
FlatCurveEditor* opacityShape;
|
||||
@@ -261,7 +290,13 @@ private:
|
||||
ThresholdAdjuster* const level1noise;
|
||||
ThresholdAdjuster* const level2noise;
|
||||
ThresholdAdjuster* const level3noise;
|
||||
ThresholdAdjuster* const leveldenoise;
|
||||
ThresholdAdjuster* const levelsigm;
|
||||
|
||||
Adjuster* const sigm;
|
||||
Adjuster* const levden;
|
||||
Adjuster* const thrden;
|
||||
Adjuster* const limden;
|
||||
Adjuster* const threshold;
|
||||
Adjuster* const threshold2;
|
||||
Adjuster* const edgedetect;
|
||||
@@ -277,6 +312,9 @@ private:
|
||||
Adjuster* const mergeC;
|
||||
Adjuster* const softrad;
|
||||
Adjuster* const softradend;
|
||||
Adjuster* const strend;
|
||||
Adjuster* const detend;
|
||||
Adjuster* const thrend;
|
||||
Adjuster* const chrwav;
|
||||
|
||||
MyComboBoxText* const Lmethod;
|
||||
@@ -311,6 +349,14 @@ private:
|
||||
sigc::connection MedgreinfConn;
|
||||
MyComboBoxText* const ushamethod;
|
||||
sigc::connection ushamethodconn;
|
||||
MyComboBoxText* const denmethod;
|
||||
sigc::connection denmethodconn;
|
||||
MyComboBoxText* const mixmethod;
|
||||
sigc::connection mixmethodconn;
|
||||
MyComboBoxText* const quamethod;
|
||||
sigc::connection quamethodconn;
|
||||
MyComboBoxText* const slimethod;
|
||||
sigc::connection slimethodconn;
|
||||
|
||||
Gtk::Frame* const chanMixerHLFrame;
|
||||
Gtk::Frame* const chanMixerMidFrame;
|
||||
@@ -323,6 +369,7 @@ private:
|
||||
Gtk::Frame* const fincFrame;
|
||||
Gtk::Frame* const dirFrame;
|
||||
Gtk::Frame* const tonFrame;
|
||||
Gtk::Frame* const guidFrame;
|
||||
|
||||
Gtk::Label* const wavLabels;
|
||||
Gtk::Label* const labmC;
|
||||
@@ -343,6 +390,10 @@ private:
|
||||
Gtk::HBox* const neutrHBox;
|
||||
Gtk::HBox* const usharpHBox;
|
||||
Gtk::HBox* const ctboxch;
|
||||
Gtk::HBox* const quaHBox;
|
||||
Gtk::HBox* const sliHBox;
|
||||
Gtk::HBox* const denHBox;
|
||||
Gtk::HBox* const mixHBox;
|
||||
Gtk::VBox* const ctboxBA;// = Gtk::manage(new Gtk::VBox());
|
||||
|
||||
sigc::connection enableChromaConn, enableContrastConn, enableEdgeConn, enabletmConn, enableFinalConn, enableclariConn;
|
||||
|
Reference in New Issue
Block a user