Purple fringing tool added. May also be useful for CA desaturation.
This commit is contained in:
@@ -26,7 +26,7 @@ set (BASESOURCEFILES
|
||||
batchqueue.cc lwbutton.cc lwbuttonset.cc
|
||||
batchqueuebuttonset.cc browserfilter.cc exiffiltersettings.cc
|
||||
profilestore.cc partialpastedlg.cc rawprocess.cc preprocess.cc
|
||||
equalizer.cc dirpyrequalizer.cc hsvequalizer.cc
|
||||
equalizer.cc dirpyrequalizer.cc hsvequalizer.cc defringe.cc
|
||||
popupcommon.cc popupbutton.cc popuptogglebutton.cc)
|
||||
|
||||
if (WIN32)
|
||||
|
@@ -72,6 +72,9 @@ void ParamsEdited::set (bool v) {
|
||||
lumaDenoise.edgetolerance = v;
|
||||
colorDenoise.enabled = v;
|
||||
colorDenoise.amount = v;
|
||||
defringe.enabled = v;
|
||||
defringe.radius = v;
|
||||
defringe.threshold = v;
|
||||
impulseDenoise.enabled = v;
|
||||
impulseDenoise.thresh = v;
|
||||
dirpyrDenoise.enabled = v;
|
||||
@@ -210,6 +213,9 @@ void ParamsEdited::initFrom (const std::vector<rtengine::procparams::ProcParams>
|
||||
lumaDenoise.edgetolerance = lumaDenoise.edgetolerance && p.lumaDenoise.edgetolerance == other.lumaDenoise.edgetolerance;
|
||||
colorDenoise.enabled = colorDenoise.enabled && p.colorDenoise.enabled == other.colorDenoise.enabled;
|
||||
colorDenoise.amount = colorDenoise.amount && p.colorDenoise.amount == other.colorDenoise.amount;
|
||||
defringe.enabled = defringe.enabled && p.defringe.enabled == other.defringe.enabled;
|
||||
defringe.radius = defringe.radius && p.defringe.radius == other.defringe.radius;
|
||||
defringe.threshold = defringe.threshold && p.defringe.threshold == other.defringe.threshold;
|
||||
|
||||
impulseDenoise.enabled = impulseDenoise.enabled && p.impulseDenoise.enabled == other.impulseDenoise.enabled;
|
||||
impulseDenoise.thresh = impulseDenoise.thresh && p.impulseDenoise.thresh == other.impulseDenoise.thresh;
|
||||
@@ -350,6 +356,10 @@ void ParamsEdited::combine (rtengine::procparams::ProcParams& toEdit, const rten
|
||||
if (colorDenoise.enabled) toEdit.colorDenoise.enabled = mods.colorDenoise.enabled;
|
||||
if (colorDenoise.amount) toEdit.colorDenoise.amount = mods.colorDenoise.amount;
|
||||
|
||||
if (defringe.enabled) toEdit.defringe.enabled = mods.defringe.enabled;
|
||||
if (defringe.radius) toEdit.defringe.radius = mods.defringe.radius;
|
||||
if (defringe.threshold) toEdit.defringe.threshold = mods.defringe.threshold;
|
||||
|
||||
if (impulseDenoise.enabled) toEdit.impulseDenoise.enabled = mods.impulseDenoise.enabled;
|
||||
if (impulseDenoise.thresh) toEdit.impulseDenoise.thresh = mods.impulseDenoise.thresh;
|
||||
|
||||
|
@@ -109,6 +109,14 @@ class ColorDenoiseParamsEdited {
|
||||
bool amount;
|
||||
};
|
||||
|
||||
class DefringeParamsEdited {
|
||||
|
||||
public:
|
||||
bool enabled;
|
||||
bool radius;
|
||||
bool threshold;
|
||||
};
|
||||
|
||||
class ImpulseDenoiseParamsEdited {
|
||||
|
||||
public:
|
||||
@@ -304,8 +312,9 @@ class ParamsEdited {
|
||||
LumaDenoiseParamsEdited lumaDenoise;
|
||||
ColorDenoiseParamsEdited colorDenoise;
|
||||
|
||||
DefringeParamsEdited defringe;
|
||||
DirPyrDenoiseParamsEdited dirpyrDenoise;
|
||||
ImpulseDenoiseParamsEdited impulseDenoise;
|
||||
ImpulseDenoiseParamsEdited impulseDenoise;
|
||||
|
||||
SHParamsEdited sh;
|
||||
CropParamsEdited crop;
|
||||
|
@@ -37,6 +37,7 @@ ToolPanelCoordinator::ToolPanelCoordinator () : ipc(NULL) {
|
||||
lumadenoise = Gtk::manage (new LumaDenoise ());
|
||||
colordenoise = Gtk::manage (new ColorDenoise ());
|
||||
impulsedenoise = Gtk::manage (new ImpulseDenoise ());
|
||||
defringe = Gtk::manage (new Defringe ());
|
||||
dirpyrdenoise = Gtk::manage (new DirPyrDenoise ());
|
||||
sharpening = Gtk::manage (new Sharpening ());
|
||||
lcurve = Gtk::manage (new LCurve ());
|
||||
@@ -76,6 +77,7 @@ ToolPanelCoordinator::ToolPanelCoordinator () : ipc(NULL) {
|
||||
addPanel (detailsPanel, lumadenoise, M("TP_LUMADENOISE_LABEL")); toolPanels.push_back (lumadenoise);
|
||||
addPanel (detailsPanel, colordenoise, M("TP_COLORDENOISE_LABEL")); toolPanels.push_back (colordenoise);
|
||||
addPanel (detailsPanel, dirpyrdenoise, M("TP_DIRPYRDENOISE_LABEL")); toolPanels.push_back (dirpyrdenoise);
|
||||
addPanel (detailsPanel, defringe, M("TP_DEFRINGE_LABEL")); toolPanels.push_back (defringe);
|
||||
addPanel (detailsPanel, dirpyrequalizer, M("TP_DIRPYREQUALIZER_LABEL")); toolPanels.push_back (dirpyrequalizer);
|
||||
addPanel (detailsPanel, equalizer, M("TP_EQUALIZER_LABEL")); toolPanels.push_back (equalizer);
|
||||
addPanel (transformPanel, crop, M("TP_CROP_LABEL")); toolPanels.push_back (crop);
|
||||
|
@@ -34,6 +34,7 @@
|
||||
#include <lumadenoise.h>
|
||||
#include <colordenoise.h>
|
||||
#include <impulsedenoise.h>
|
||||
#include <defringe.h>
|
||||
#include <dirpyrdenoise.h>
|
||||
#include <sharpening.h>
|
||||
#include <labcurve.h>
|
||||
@@ -90,6 +91,7 @@ class ToolPanelCoordinator : public ToolPanelListener,
|
||||
ShadowsHighlights* shadowshighlights;
|
||||
LumaDenoise* lumadenoise;
|
||||
ColorDenoise* colordenoise;
|
||||
Defringe* defringe;
|
||||
ImpulseDenoise* impulsedenoise;
|
||||
DirPyrDenoise* dirpyrdenoise;
|
||||
Sharpening* sharpening;
|
||||
|
Reference in New Issue
Block a user