Added chrom gamma slope mask common

This commit is contained in:
Desmis 2020-06-22 08:44:15 +02:00
parent 7684d228b2
commit 750c1a62f1
9 changed files with 95 additions and 5 deletions

View File

@ -1171,6 +1171,9 @@ HISTORY_MSG_930;Local - Mask Common blend
HISTORY_MSG_932;Local - Mask Common enable
HISTORY_MSG_933;Local - Mask Common radius soft
HISTORY_MSG_934;Local - Mask Common laplacian
HISTORY_MSG_935;Local - Mask Common chroma
HISTORY_MSG_936;Local - Mask Common gamma
HISTORY_MSG_937;Local - Mask Common slope
HISTORY_MSG_CAT02PRESET;Cat02 automatic preset
HISTORY_MSG_CLAMPOOG;Clip out-of-gamut colors
HISTORY_MSG_COLORTONING_LABGRID_VALUE;CT - Color correction

View File

@ -957,6 +957,9 @@ enum ProcEventCode {
EvLocallabEnaMask = 931,
Evlocallabradmask = 932,
Evlocallablapmask = 933,
Evlocallabchromask = 934,
Evlocallabgammask = 935,
Evlocallabslopmask = 936,
NUMOFEVENTS
};

View File

@ -3740,7 +3740,10 @@ LocallabParams::LocallabSpot::LocallabSpot() :
blendmask(0),
enamask(false),
radmask(0.0),
lapmask(0.0)
lapmask(0.0),
chromask(0.0),
gammask(1.0),
slopmask(0.0)
{
}
@ -4219,7 +4222,10 @@ bool LocallabParams::LocallabSpot::operator ==(const LocallabSpot& other) const
&& blendmask == other.blendmask
&& enamask == other.enamask
&& radmask == other.radmask
&& lapmask == other.lapmask;
&& lapmask == other.lapmask
&& chromask == other.chromask
&& gammask == other.gammask
&& slopmask == other.slopmask;
}
@ -5722,6 +5728,9 @@ int ProcParams::save(const Glib::ustring& fname, const Glib::ustring& fname2, bo
saveToKeyfile(!pedited || spot_edited->enamask, "Locallab", "Enamask_" + index_str, spot.enamask, keyFile);
saveToKeyfile(!pedited || spot_edited->radmask, "Locallab", "Radmask_" + index_str, spot.radmask, keyFile);
saveToKeyfile(!pedited || spot_edited->lapmask, "Locallab", "Lapmask_" + index_str, spot.lapmask, keyFile);
saveToKeyfile(!pedited || spot_edited->chromask, "Locallab", "Chromask_" + index_str, spot.chromask, keyFile);
saveToKeyfile(!pedited || spot_edited->gammask, "Locallab", "Gammask_" + index_str, spot.gammask, keyFile);
saveToKeyfile(!pedited || spot_edited->slopmask, "Locallab", "Slopmask_" + index_str, spot.slopmask, keyFile);
}
}
}
@ -7443,6 +7452,9 @@ int ProcParams::load(const Glib::ustring& fname, ParamsEdited* pedited)
assignFromKeyfile(keyFile, "Locallab", "Enamask_" + index_str, pedited, spot.enamask, spotEdited.enamask);
assignFromKeyfile(keyFile, "Locallab", "Radmask_" + index_str, pedited, spot.radmask, spotEdited.radmask);
assignFromKeyfile(keyFile, "Locallab", "Lapmask_" + index_str, pedited, spot.lapmask, spotEdited.lapmask);
assignFromKeyfile(keyFile, "Locallab", "Chromask_" + index_str, pedited, spot.chromask, spotEdited.chromask);
assignFromKeyfile(keyFile, "Locallab", "Gammask_" + index_str, pedited, spot.gammask, spotEdited.gammask);
assignFromKeyfile(keyFile, "Locallab", "Slopmask_" + index_str, pedited, spot.slopmask, spotEdited.slopmask);
if (spot.visimask) {
spotEdited.visimask = true;

View File

@ -1429,6 +1429,9 @@ struct LocallabParams {
bool enamask;
double radmask;
double lapmask;
double chromask;
double gammask;
double slopmask;
LocallabSpot();

View File

@ -960,7 +960,10 @@ int refreshmap[rtengine::NUMOFEVENTS] = {
LUMINANCECURVE, // EvlocallabshowmaskmaskMethod
LUMINANCECURVE, // EvLocallabEnaMask
LUMINANCECURVE, // Evlocallabradmask
LUMINANCECURVE // Evlocallablapmask
LUMINANCECURVE, // Evlocallablapmask
LUMINANCECURVE, // Evlocallabchromask
LUMINANCECURVE, // Evlocallabgammask
LUMINANCECURVE // Evlocallabslopmask
};

View File

@ -1209,6 +1209,9 @@ private:
Gtk::CheckButton* const enamask;
Adjuster* const radmask;
Adjuster* const lapmask;
Adjuster* const chromask;
Adjuster* const gammask;
Adjuster* const slopmask;
sigc::connection showmaskMethodConn, enamaskConn;

View File

@ -4733,7 +4733,10 @@ LocallabMask::LocallabMask():
showmaskMethod(Gtk::manage(new MyComboBoxText())),
enamask(Gtk::manage(new Gtk::CheckButton(M("TP_LOCALLAB_ENABLE_MASK")))),
radmask(Gtk::manage(new Adjuster(M("TP_LOCALLAB_RADMASKCOL"), -10.0, 1000.0, 0.1, 0.))),
lapmask(Gtk::manage(new Adjuster(M("TP_LOCALLAB_LAPMASKCOL"), 0.0, 100.0, 0.1, 0.)))
lapmask(Gtk::manage(new Adjuster(M("TP_LOCALLAB_LAPMASKCOL"), 0.0, 100.0, 0.1, 0.))),
chromask(Gtk::manage(new Adjuster(M("TP_LOCALLAB_CHROMASKCOL"), -100.0, 100.0, 0.1, 0.))),
gammask(Gtk::manage(new Adjuster(M("TP_LOCALLAB_GAMMASKCOL"), 0.25, 4.0, 0.01, 1.))),
slopmask(Gtk::manage(new Adjuster(M("TP_LOCALLAB_SLOMASKCOL"), 0.0, 15.0, 0.1, 0.)))
{
// Parameter Mask common specific widgets
@ -4749,6 +4752,9 @@ LocallabMask::LocallabMask():
enamaskConn = enamask->signal_toggled().connect(sigc::mem_fun(*this, &LocallabMask::enamaskChanged));
radmask->setAdjusterListener(this);
lapmask->setAdjusterListener(this);
chromask->setAdjusterListener(this);
gammask->setAdjusterListener(this);
slopmask->setAdjusterListener(this);
pack_start(*sensimask, Gtk::PACK_SHRINK, 0);
pack_start(*blendmask, Gtk::PACK_SHRINK, 0);
@ -4756,6 +4762,9 @@ LocallabMask::LocallabMask():
pack_start(*enamask, Gtk::PACK_SHRINK, 0);
pack_start(*radmask, Gtk::PACK_SHRINK, 0);
pack_start(*lapmask, Gtk::PACK_SHRINK, 0);
pack_start(*chromask, Gtk::PACK_SHRINK, 0);
pack_start(*gammask, Gtk::PACK_SHRINK, 0);
pack_start(*slopmask, Gtk::PACK_SHRINK, 0);
}
@ -4845,6 +4854,9 @@ void LocallabMask::read(const rtengine::procparams::ProcParams* pp, const Params
enamask->set_active(spot.enamask);
radmask->setValue(spot.radmask);
lapmask->setValue(spot.lapmask);
chromask->setValue(spot.chromask);
gammask->setValue(spot.gammask);
slopmask->setValue(spot.slopmask);
}
@ -4872,6 +4884,9 @@ void LocallabMask::write(rtengine::procparams::ProcParams* pp, ParamsEdited* ped
spot.enamask = enamask->get_active();
spot.radmask = radmask->getValue();
spot.lapmask = lapmask->getValue();
spot.chromask = chromask->getValue();
spot.gammask = gammask->getValue();
spot.slopmask = slopmask->getValue();
}
@ -4907,6 +4922,9 @@ void LocallabMask::setDefaults(const rtengine::procparams::ProcParams* defParams
blendmask->setDefault((double)defSpot.blendmask);
radmask->setDefault(defSpot.radmask);
lapmask->setDefault(defSpot.lapmask);
chromask->setDefault(defSpot.chromask);
lapmask->setDefault(defSpot.lapmask);
slopmask->setDefault(defSpot.slopmask);
}
@ -4946,6 +4964,27 @@ void LocallabMask::adjusterChanged(Adjuster* a, double newval)
}
}
if (a == chromask) {
if (listener) {
listener->panelChanged(Evlocallabchromask,
chromask->getTextValue() + " (" + escapeHtmlChars(spotName) + ")");
}
}
if (a == gammask) {
if (listener) {
listener->panelChanged(Evlocallabgammask,
gammask->getTextValue() + " (" + escapeHtmlChars(spotName) + ")");
}
}
if (a == slopmask) {
if (listener) {
listener->panelChanged(Evlocallabslopmask,
slopmask->getTextValue() + " (" + escapeHtmlChars(spotName) + ")");
}
}
}
}

View File

@ -1485,6 +1485,9 @@ void ParamsEdited::initFrom(const std::vector<rtengine::procparams::ProcParams>&
locallab.spots.at(j).enamask = locallab.spots.at(j).enamask && pSpot.enamask == otherSpot.enamask;
locallab.spots.at(j).radmask = locallab.spots.at(j).radmask && pSpot.radmask == otherSpot.radmask;
locallab.spots.at(j).lapmask = locallab.spots.at(j).lapmask && pSpot.lapmask == otherSpot.lapmask;
locallab.spots.at(j).chromask = locallab.spots.at(j).chromask && pSpot.chromask == otherSpot.chromask;
locallab.spots.at(j).gammask = locallab.spots.at(j).gammask && pSpot.gammask == otherSpot.gammask;
locallab.spots.at(j).slopmask = locallab.spots.at(j).slopmask && pSpot.slopmask == otherSpot.slopmask;
}
}
@ -4819,6 +4822,18 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng
toEdit.locallab.spots.at(i).lapmask = mods.locallab.spots.at(i).lapmask;
}
if (locallab.spots.at(i).chromask) {
toEdit.locallab.spots.at(i).chromask = mods.locallab.spots.at(i).chromask;
}
if (locallab.spots.at(i).gammask) {
toEdit.locallab.spots.at(i).gammask = mods.locallab.spots.at(i).gammask;
}
if (locallab.spots.at(i).slopmask) {
toEdit.locallab.spots.at(i).slopmask = mods.locallab.spots.at(i).slopmask;
}
}
if (pcvignette.enabled) {
@ -6395,7 +6410,10 @@ LocallabParamsEdited::LocallabSpotEdited::LocallabSpotEdited(bool v) :
blendmask(v),
enamask(v),
radmask(v),
lapmask(v)
lapmask(v),
chromask(v),
gammask(v),
slopmask(v)
{
}
@ -6865,6 +6883,9 @@ void LocallabParamsEdited::LocallabSpotEdited::set(bool v)
enamask = v;
radmask = v;
lapmask = v;
chromask = v;
gammask = v;
slopmask = v;
}
bool CaptureSharpeningParamsEdited::isUnchanged() const

View File

@ -843,6 +843,9 @@ public:
bool enamask;
bool radmask;
bool lapmask;
bool chromask;
bool gammask;
bool slopmask;
LocallabSpotEdited(bool v);