Added Graduated Filter luminance common mask
This commit is contained in:
parent
ebb8b16583
commit
344864a8ec
@ -1187,6 +1187,8 @@ HISTORY_MSG_946;Local - Mask Common shadows
|
||||
HISTORY_MSG_947;Local - Mask Common Contrast curve
|
||||
HISTORY_MSG_948;Local - Mask Common Wavelet curve
|
||||
HISTORY_MSG_949;Local - Mask Common Threshold levels
|
||||
HISTORY_MSG_950;Local - Mask Common GF strength
|
||||
HISTORY_MSG_951;Local - Mask Common GF angle
|
||||
HISTORY_MSG_CAT02PRESET;Cat02 automatic preset
|
||||
HISTORY_MSG_CLAMPOOG;Clip out-of-gamut colors
|
||||
HISTORY_MSG_COLORTONING_LABGRID_VALUE;CT - Color correction
|
||||
|
@ -243,7 +243,7 @@ public:
|
||||
const LUTf& lmasklocalcurve, bool localmaskutili,
|
||||
const LocwavCurve & loclmasCurvecolwav, bool lmasutilicolwav, int level_bl, int level_hl, int level_br, int level_hr,
|
||||
int shortcu, bool delt, const float hueref, const float chromaref, const float lumaref,
|
||||
float maxdE, float mindE, float maxdElim, float mindElim, float iterat, float limscope, int scope, bool fftt, float blu_ma, float cont_ma);
|
||||
float maxdE, float mindE, float maxdElim, float mindElim, float iterat, float limscope, int scope, bool fftt, float blu_ma, float cont_ma, int indic);
|
||||
|
||||
void deltaEforMask(float **rdE, int bfw, int bfh, LabImage* bufcolorig, const float hueref, const float chromaref, const float lumaref,
|
||||
float maxdE, float mindE, float maxdElim, float mindElim, float iterat, float limscope, int scope, float balance, float balanceh);
|
||||
|
@ -406,6 +406,8 @@ struct local_params {
|
||||
float slomaexp;
|
||||
float strmaexp;
|
||||
float angmaexp;
|
||||
float str_mas;
|
||||
float ang_mas;
|
||||
float strexp;
|
||||
float angexp;
|
||||
float strSH;
|
||||
@ -1009,6 +1011,8 @@ static void calcLocalParams(int sp, int oW, int oH, const LocallabParams& locall
|
||||
float slomaskexpo = ((float) locallab.spots.at(sp).slomaskexp);
|
||||
float strmaskexpo = ((float) locallab.spots.at(sp).strmaskexp);
|
||||
float angmaskexpo = ((float) locallab.spots.at(sp).angmaskexp);
|
||||
float strmask = ((float) locallab.spots.at(sp).str_mask);
|
||||
float angmask = ((float) locallab.spots.at(sp).ang_mask);
|
||||
float strexpo = ((float) locallab.spots.at(sp).strexp);
|
||||
float angexpo = ((float) locallab.spots.at(sp).angexp);
|
||||
float strSH = ((float) locallab.spots.at(sp).strSH);
|
||||
@ -1147,6 +1151,9 @@ static void calcLocalParams(int sp, int oW, int oH, const LocallabParams& locall
|
||||
lp.slomaexp = slomaskexpo;
|
||||
lp.strmaexp = strmaskexpo;
|
||||
lp.angmaexp = angmaskexpo;
|
||||
lp.str_mas = strmask;
|
||||
lp.ang_mas = angmask;
|
||||
|
||||
lp.strexp = strexpo;
|
||||
lp.angexp = angexpo;
|
||||
lp.strSH = strSH;
|
||||
@ -3068,6 +3075,9 @@ void calclocalGradientParams(const struct local_params& lp, struct grad_params&
|
||||
} else if (indic == 11) {
|
||||
stops = lp.strlog;
|
||||
angs = lp.anglog;
|
||||
} else if (indic == 12) {
|
||||
stops = -lp.str_mas;
|
||||
angs = lp.ang_mas;
|
||||
}
|
||||
|
||||
|
||||
@ -3726,7 +3736,7 @@ void ImProcFunctions::maskcalccol(bool invmask, bool pde, int bfw, int bfh, int
|
||||
const LocwavCurve & loclmasCurvecolwav, bool lmasutilicolwav, int level_bl, int level_hl, int level_br, int level_hr,
|
||||
int shortcu, bool delt, const float hueref, const float chromaref, const float lumaref,
|
||||
float maxdE, float mindE, float maxdElim, float mindElim, float iterat, float limscope, int scope,
|
||||
bool fftt, float blu_ma, float cont_ma
|
||||
bool fftt, float blu_ma, float cont_ma, int indic
|
||||
)
|
||||
|
||||
|
||||
@ -4244,8 +4254,8 @@ void ImProcFunctions::maskcalccol(bool invmask, bool pde, int bfw, int bfh, int
|
||||
|
||||
struct grad_params gp;
|
||||
|
||||
if (lp.strmaexp != 0.f) {
|
||||
calclocalGradientParams(lp, gp, ystart, xstart, bfw, bfh, 0);
|
||||
if ((indic == 0 && lp.strmaexp != 0.f) || (indic ==12 && lp.str_mas != 0.f)) {
|
||||
calclocalGradientParams(lp, gp, ystart, xstart, bfw, bfh, indic);
|
||||
#ifdef _OPENMP
|
||||
#pragma omp parallel for schedule(dynamic,16) if (multiThread)
|
||||
#endif
|
||||
@ -10799,7 +10809,7 @@ void ImProcFunctions::Lab_Local(
|
||||
locccmascbCurve, lcmascbutili, locllmascbCurve, llmascbutili, lochhmascbCurve, lhmascbutili, lochhhmasCurve, lhhmasutili, multiThread,
|
||||
enaMask, showmaske, deltaE, modmask, zero, modif, chrom, rad, lap, gamma, slope, blendm, shado, amountcd, anchorcd, lmaskcblocalcurve, localmaskcbutili, dummy, lmasutilicolwav, 1, 1, 5, 5,
|
||||
shortcu, delt, hueref, chromaref, lumaref,
|
||||
maxdE, mindE, maxdElim, mindElim, lp.iterat, limscope, sco, false, 0.0f, 0.f
|
||||
maxdE, mindE, maxdElim, mindElim, lp.iterat, limscope, sco, false, 0.0f, 0.f, -1
|
||||
);
|
||||
|
||||
if (lp.showmaskcbmet == 3) {
|
||||
@ -11015,7 +11025,7 @@ void ImProcFunctions::Lab_Local(
|
||||
locccmasvibCurve, lcmasvibutili, locllmasvibCurve, llmasvibutili, lochhmasvibCurve, lhmasvibutili, lochhhmasCurve, lhhmasutili, multiThread,
|
||||
enaMask, showmaske, deltaE, modmask, zero, modif, chrom, rad, lap, gamma, slope, blendm, shado, amountcd, anchorcd, lmaskviblocalcurve, localmaskvibutili, dummy, lmasutilicolwav, 1, 1, 5, 5,
|
||||
shortcu, delt, hueref, chromaref, lumaref,
|
||||
maxdE, mindE, maxdElim, mindElim, lp.iterat, limscope, sco, false, 0.f, 0.f
|
||||
maxdE, mindE, maxdElim, mindElim, lp.iterat, limscope, sco, false, 0.f, 0.f, -1
|
||||
);
|
||||
|
||||
if (lp.showmaskvibmet == 3) {
|
||||
@ -11246,7 +11256,7 @@ void ImProcFunctions::Lab_Local(
|
||||
locccmastmCurve, lcmastmutili, locllmastmCurve, llmastmutili, lochhmastmCurve, lhmastmutili, lochhhmasCurve, lhhmasutili, multiThread,
|
||||
enaMask, showmaske, deltaE, modmask, zero, modif, chrom, rad, lap, gamma, slope, blendm, shado, amountcd, anchorcd, lmasktmlocalcurve, localmasktmutili, dummy, lmasutilicolwav, 1, 1, 5, 5,
|
||||
shortcu, delt, hueref, chromaref, lumaref,
|
||||
maxdE, mindE, maxdElim, mindElim, lp.iterat, limscope, sco, false, 0.f, 0.f
|
||||
maxdE, mindE, maxdElim, mindElim, lp.iterat, limscope, sco, false, 0.f, 0.f, -1
|
||||
);
|
||||
|
||||
if (lp.showmasktmmet == 3) {
|
||||
@ -11287,7 +11297,7 @@ void ImProcFunctions::Lab_Local(
|
||||
locccmastmCurve, lcmastmutili, locllmastmCurve, llmastmutili, lochhmastmCurve, lhmastmutili, lochhhmasCurve, lhhmasutili, multiThread,
|
||||
enaMask, showmaske, deltaE, modmask, zero, modif, chrom, rad, lap, gamma, slope, blendm, shado, amountcd, anchorcd, lmasktmlocalcurve, localmasktmutili, dummy, lmasutilicolwav, 1, 1, 5, 5,
|
||||
shortcu, delt, hueref, chromaref, lumaref,
|
||||
maxdE, mindE, maxdElim, mindElim, lp.iterat, limscope, sco, false, 0.f, 0.f
|
||||
maxdE, mindE, maxdElim, mindElim, lp.iterat, limscope, sco, false, 0.f, 0.f, -1
|
||||
);
|
||||
|
||||
if (lp.showmasktmmet == 3) {//display mask
|
||||
@ -11470,7 +11480,7 @@ void ImProcFunctions::Lab_Local(
|
||||
locccmasSHCurve, lcmasSHutili, locllmasSHCurve, llmasSHutili, lochhmasSHCurve, lhmasSHutili, lochhhmasCurve, lhhmasutili, multiThread,
|
||||
enaMask, showmaske, deltaE, modmask, zero, modif, chrom, rad, lap, gamma, slope, blendm, shado, amountcd, anchorcd, lmaskSHlocalcurve, localmaskSHutili, dummy, lmasutilicolwav, 1, 1, 5, 5,
|
||||
shortcu, delt, hueref, chromaref, lumaref,
|
||||
maxdE, mindE, maxdElim, mindElim, lp.iterat, limscope, sco, false, 0.f, 0.f
|
||||
maxdE, mindE, maxdElim, mindElim, lp.iterat, limscope, sco, false, 0.f, 0.f, -1
|
||||
);
|
||||
|
||||
if (lp.showmaskSHmet == 3) {
|
||||
@ -11621,7 +11631,7 @@ void ImProcFunctions::Lab_Local(
|
||||
locccmasSHCurve, lcmasSHutili, locllmasSHCurve, llmasSHutili, lochhmasSHCurve, lhmasSHutili, lochhhmasCurve, lhhmasutili, multiThread,
|
||||
enaMask, showmaske, deltaE, modmask, zero, modif, chrom, rad, lap, gamma, slope, blendm, shado, amountcd, anchorcd, lmaskSHlocalcurve, localmaskSHutili, dummy, lmasutilicolwav, 1, 1, 5, 5,
|
||||
shortcu, delt, hueref, chromaref, lumaref,
|
||||
maxdE, mindE, maxdElim, mindElim, lp.iterat, limscope, sco, false, 0.f, 0.f
|
||||
maxdE, mindE, maxdElim, mindElim, lp.iterat, limscope, sco, false, 0.f, 0.f, -1
|
||||
);
|
||||
|
||||
|
||||
@ -11892,7 +11902,7 @@ void ImProcFunctions::Lab_Local(
|
||||
locccmaslcCurve, lcmaslcutili, locllmaslcCurve, llmaslcutili, lochhmaslcCurve, lhmaslcutili, lochhhmasCurve, lhhmasutili, multiThread,
|
||||
enaMask, showmaske, deltaE, modmask, zero, modif, chrom, rad, lap, gamma, slope, blendm, shado, amountcd, anchorcd, lmasklclocalcurve, localmasklcutili, dummy, lmasutilicolwav, 1, 1, 5, 5,
|
||||
shortcu, delt, hueref, chromaref, lumaref,
|
||||
maxdE, mindE, maxdElim, mindElim, lp.iterat, limscope, sco, false, 0.f, 0.f
|
||||
maxdE, mindE, maxdElim, mindElim, lp.iterat, limscope, sco, false, 0.f, 0.f, -1
|
||||
);
|
||||
|
||||
if (lp.showmasklcmet == 3) {
|
||||
@ -13056,7 +13066,7 @@ void ImProcFunctions::Lab_Local(
|
||||
locccmasexpCurve, lcmasexputili, locllmasexpCurve, llmasexputili, lochhmasexpCurve, lhmasexputili, lochhhmasCurve, lhhmasutili, multiThread,
|
||||
enaMask, showmaske, deltaE, modmask, zero, modif, chrom, rad, lap, gamma, slope, blendm, shado, amountcd, anchorcd, lmaskexplocalcurve, localmaskexputili, dummy, lmasutilicolwav, 1, 1, 5, 5,
|
||||
shortcu, delt, hueref, chromaref, lumaref,
|
||||
maxdE, mindE, maxdElim, mindElim, lp.iterat, limscope, sco, false, 0.f, 0.f
|
||||
maxdE, mindE, maxdElim, mindElim, lp.iterat, limscope, sco, false, 0.f, 0.f, 0
|
||||
);
|
||||
|
||||
if (lp.showmaskexpmet == 3) {
|
||||
@ -13320,7 +13330,7 @@ void ImProcFunctions::Lab_Local(
|
||||
locccmasexpCurve, lcmasexputili, locllmasexpCurve, llmasexputili, lochhmasexpCurve, lhmasexputili, lochhhmasCurve, lhhmasutili, multiThread,
|
||||
enaMask, showmaske, deltaE, modmask, zero, modif, chrom, rad, lap, gamma, slope, blendm, shado, amountcd, anchorcd, lmaskexplocalcurve, localmaskexputili, dummy, lmasutilicolwav, 1, 1, 5, 5,
|
||||
shortcu, delt, hueref, chromaref, lumaref,
|
||||
maxdE, mindE, maxdElim, mindElim, lp.iterat, limscope, sco, false, 0.f, 0.f
|
||||
maxdE, mindE, maxdElim, mindElim, lp.iterat, limscope, sco, false, 0.f, 0.f, 0
|
||||
);
|
||||
|
||||
if (lp.showmaskexpmetinv == 1) {
|
||||
@ -13508,7 +13518,7 @@ void ImProcFunctions::Lab_Local(
|
||||
enaMask, showmaske, deltaE, modmask, zero, modif, chrom, rad, lap, gamma, slope, blendm, shado, amountcd, anchorcd, lmasklocalcurve, localmaskutili, loclmasCurvecolwav, lmasutilicolwav,
|
||||
level_bl, level_hl, level_br, level_hr,
|
||||
shortcu, delt, hueref, chromaref, lumaref,
|
||||
maxdE, mindE, maxdElim, mindElim, lp.iterat, limscope, sco, lp.fftColorMask, lp.blurcolmask, lp.contcolmask
|
||||
maxdE, mindE, maxdElim, mindElim, lp.iterat, limscope, sco, lp.fftColorMask, lp.blurcolmask, lp.contcolmask, -1
|
||||
);
|
||||
|
||||
if (lp.showmaskcolmet == 3) {
|
||||
@ -14462,7 +14472,7 @@ void ImProcFunctions::Lab_Local(
|
||||
enaMask, showmaske, deltaE, modmask, zero, modif, chrom, rad, lap, gamma, slope, blendm, shado, amountcd, anchorcd, lmasklocalcurve, localmaskutili, loclmasCurvecolwav, lmasutilicolwav,
|
||||
level_bl, level_hl, level_br, level_hr,
|
||||
shortcu, false, hueref, chromaref, lumaref,
|
||||
maxdE, mindE, maxdElim, mindElim, lp.iterat, limscope, sco, lp.fftColorMask, lp.blurcolmask, lp.contcolmask
|
||||
maxdE, mindE, maxdElim, mindElim, lp.iterat, limscope, sco, lp.fftColorMask, lp.blurcolmask, lp.contcolmask, -1
|
||||
);
|
||||
|
||||
if (lp.showmaskcolmetinv == 1) {
|
||||
@ -14577,7 +14587,7 @@ void ImProcFunctions::Lab_Local(
|
||||
enaMask, showmaske, deltaE, modmask, zero, modif, chrom, rad, lap, gamma, slope, blendm, shado, amountcd, anchorcd, lmasklocal_curve, localmask_utili, loclmasCurve_wav, lmasutili_wav,
|
||||
level_bl, level_hl, level_br, level_hr,
|
||||
shortcu, delt, hueref, chromaref, lumaref,
|
||||
maxdE, mindE, maxdElim, mindElim, lp.iterat, limscope, sco, lp.fftma, lp.blurma, lp.contma
|
||||
maxdE, mindE, maxdElim, mindElim, lp.iterat, limscope, sco, lp.fftma, lp.blurma, lp.contma, 12
|
||||
);
|
||||
|
||||
|
||||
|
@ -972,6 +972,8 @@ enum ProcEventCode {
|
||||
EvlocallabLmask_shape = 946,
|
||||
EvlocallabLLmask_shapewav = 947,
|
||||
EvlocallabcsThresholdmask = 948,
|
||||
Evlocallabstr_mask = 949,
|
||||
Evlocallabang_mask = 950,
|
||||
|
||||
NUMOFEVENTS
|
||||
};
|
||||
|
@ -3796,6 +3796,8 @@ LocallabParams::LocallabSpot::LocallabSpot() :
|
||||
gammask(1.0),
|
||||
slopmask(0.0),
|
||||
shadmask(0.0),
|
||||
str_mask(0),
|
||||
ang_mask(0),
|
||||
HHhmask_curve{
|
||||
static_cast<double>(FCT_MinMaxCPoints),
|
||||
0.0,
|
||||
@ -4322,6 +4324,8 @@ bool LocallabParams::LocallabSpot::operator ==(const LocallabSpot& other) const
|
||||
&& gammask == other.gammask
|
||||
&& slopmask == other.slopmask
|
||||
&& shadmask == other.shadmask
|
||||
&& str_mask == other.str_mask
|
||||
&& ang_mask == other.ang_mask
|
||||
&& HHhmask_curve == other.HHhmask_curve
|
||||
&& Lmask_curve == other.Lmask_curve
|
||||
&& LLmask_curvewav == other.LLmask_curvewav
|
||||
@ -5841,6 +5845,8 @@ int ProcParams::save(const Glib::ustring& fname, const Glib::ustring& fname2, bo
|
||||
saveToKeyfile(!pedited || spot_edited->gammask, "Locallab", "Gammask_" + index_str, spot.gammask, keyFile);
|
||||
saveToKeyfile(!pedited || spot_edited->slopmask, "Locallab", "Slopmask_" + index_str, spot.slopmask, keyFile);
|
||||
saveToKeyfile(!pedited || spot_edited->shadmask, "Locallab", "Shadmask_" + index_str, spot.shadmask, keyFile);
|
||||
saveToKeyfile(!pedited || spot_edited->str_mask, "Locallab", "Str_mask_" + index_str, spot.str_mask, keyFile);
|
||||
saveToKeyfile(!pedited || spot_edited->ang_mask, "Locallab", "Ang_mask_" + index_str, spot.ang_mask, keyFile);
|
||||
saveToKeyfile(!pedited || spot_edited->HHhmask_curve, "Locallab", "HHhmask_Curve_" + index_str, spot.HHhmask_curve, keyFile);
|
||||
saveToKeyfile(!pedited || spot_edited->Lmask_curve, "Locallab", "Lmask_Curve_" + index_str, spot.Lmask_curve, keyFile);
|
||||
saveToKeyfile(!pedited || spot_edited->LLmask_curvewav, "Locallab", "LLmask_Curvewav_" + index_str, spot.LLmask_curvewav, keyFile);
|
||||
@ -7579,6 +7585,8 @@ int ProcParams::load(const Glib::ustring& fname, ParamsEdited* pedited)
|
||||
assignFromKeyfile(keyFile, "Locallab", "Gammask_" + index_str, pedited, spot.gammask, spotEdited.gammask);
|
||||
assignFromKeyfile(keyFile, "Locallab", "Slopmask_" + index_str, pedited, spot.slopmask, spotEdited.slopmask);
|
||||
assignFromKeyfile(keyFile, "Locallab", "Shadmask_" + index_str, pedited, spot.shadmask, spotEdited.shadmask);
|
||||
assignFromKeyfile(keyFile, "Locallab", "Str_mask_" + index_str, pedited, spot.str_mask, spotEdited.str_mask);
|
||||
assignFromKeyfile(keyFile, "Locallab", "Ang_mask_" + index_str, pedited, spot.ang_mask, spotEdited.ang_mask);
|
||||
assignFromKeyfile(keyFile, "Locallab", "HHhmask_Curve_" + index_str, pedited, spot.HHhmask_curve, spotEdited.HHhmask_curve);
|
||||
assignFromKeyfile(keyFile, "Locallab", "Lmask_Curve_" + index_str, pedited, spot.Lmask_curve, spotEdited.Lmask_curve);
|
||||
assignFromKeyfile(keyFile, "Locallab", "LLmask_Curvewav_" + index_str, pedited, spot.LLmask_curvewav, spotEdited.LLmask_curvewav);
|
||||
|
@ -1442,6 +1442,8 @@ struct LocallabParams {
|
||||
double gammask;
|
||||
double slopmask;
|
||||
double shadmask;
|
||||
int str_mask;
|
||||
int ang_mask;
|
||||
std::vector<double> HHhmask_curve;
|
||||
std::vector<double> Lmask_curve;
|
||||
std::vector<double> LLmask_curvewav;
|
||||
|
@ -975,7 +975,9 @@ int refreshmap[rtengine::NUMOFEVENTS] = {
|
||||
LUMINANCECURVE, // Evlocallabshadmask
|
||||
LUMINANCECURVE, // EvlocallabLmask_shape
|
||||
LUMINANCECURVE, // EvlocallabLLmask_shapewav
|
||||
LUMINANCECURVE // EvlocallabcsThresholdmask
|
||||
LUMINANCECURVE, // EvlocallabcsThresholdmask
|
||||
LUMINANCECURVE, // Evlocallabstr_mask
|
||||
LUMINANCECURVE // Evlocallabang_mask
|
||||
|
||||
};
|
||||
|
||||
|
@ -1233,6 +1233,9 @@ private:
|
||||
CurveEditorGroup* const mask2CurveEditorGwav;
|
||||
FlatCurveEditor* const LLmask_shapewav;
|
||||
ThresholdAdjuster* const csThresholdmask;
|
||||
Gtk::Frame* const gradFramemask;
|
||||
Adjuster* const str_mask;
|
||||
Adjuster* const ang_mask;
|
||||
|
||||
sigc::connection showmask_MethodConn, enamaskConn, toolmaskConn, fftmaskConn;
|
||||
|
||||
|
@ -4760,7 +4760,10 @@ LocallabMask::LocallabMask():
|
||||
Lmask_shape(static_cast<DiagonalCurveEditor*>(mask2CurveEditorG->addCurve(CT_Diagonal, "L(L)"))),
|
||||
mask2CurveEditorGwav(new CurveEditorGroup(options.lastlocalCurvesDir, M("TP_LOCALLAB_WAVMASK"))),
|
||||
LLmask_shapewav(static_cast<FlatCurveEditor*>(mask2CurveEditorGwav->addCurve(CT_Flat, "L(L)", nullptr, false, false))),
|
||||
csThresholdmask(Gtk::manage(new ThresholdAdjuster(M("TP_LOCALLAB_CSTHRESHOLDBLUR"), 0, 9, 0, 0, 6, 5, 0, false)))
|
||||
csThresholdmask(Gtk::manage(new ThresholdAdjuster(M("TP_LOCALLAB_CSTHRESHOLDBLUR"), 0, 9, 0, 0, 6, 5, 0, false))),
|
||||
gradFramemask(Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_GRADFRA")))),
|
||||
str_mask(Gtk::manage(new Adjuster(M("TP_LOCALLAB_GRADSTR"), -2., 2., 0.05, 0.))),
|
||||
ang_mask(Gtk::manage(new Adjuster(M("TP_LOCALLAB_GRADANG"), -180., 180., 0.1, 0.)))
|
||||
|
||||
{
|
||||
// Parameter Mask common specific widgets
|
||||
@ -4861,6 +4864,18 @@ LocallabMask::LocallabMask():
|
||||
blurFrame->add(*blurmBox);
|
||||
maskmaskBox->pack_start(*blurFrame, Gtk::PACK_SHRINK, 0);
|
||||
|
||||
|
||||
gradFramemask->set_label_align(0.025, 0.5);
|
||||
|
||||
str_mask->setAdjusterListener(this);
|
||||
|
||||
ang_mask->setAdjusterListener(this);
|
||||
ang_mask->set_tooltip_text(M("TP_LOCALLAB_GRADANG_TOOLTIP"));
|
||||
ToolParamBlock* const gradmaskBox = Gtk::manage(new ToolParamBlock());
|
||||
gradmaskBox->pack_start(*str_mask);
|
||||
gradmaskBox->pack_start(*ang_mask);
|
||||
gradFramemask->add(*gradmaskBox);
|
||||
|
||||
Gtk::Frame* const toolmaskFrame = Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_TOOLMASK")));
|
||||
toolmaskFrame->set_label_align(0.025, 0.5);
|
||||
ToolParamBlock* const toolmaskBox = Gtk::manage(new ToolParamBlock());
|
||||
@ -4875,6 +4890,7 @@ LocallabMask::LocallabMask():
|
||||
toolmaskBox->pack_start(*mask2CurveEditorG, Gtk::PACK_SHRINK, 4); // Padding is mandatory to correct behavior of curve editor
|
||||
toolmaskBox->pack_start(*mask2CurveEditorGwav, Gtk::PACK_SHRINK, 4); // Padding is mandatory to correct behavior of curve editor
|
||||
toolmaskBox->pack_start(*csThresholdmask, Gtk::PACK_SHRINK, 0);
|
||||
toolmaskBox->pack_start(*gradFramemask, Gtk::PACK_SHRINK, 0);
|
||||
toolmaskFrame->add(*toolmaskBox);
|
||||
maskmaskBox->pack_start(*toolmaskFrame);
|
||||
pack_start(*maskmaskBox);
|
||||
@ -5014,6 +5030,8 @@ void LocallabMask::read(const rtengine::procparams::ProcParams* pp, const Params
|
||||
gammask->setValue(spot.gammask);
|
||||
slopmask->setValue(spot.slopmask);
|
||||
shadmask->setValue(spot.shadmask);
|
||||
str_mask->setValue(spot.str_mask);
|
||||
ang_mask->setValue(spot.ang_mask);
|
||||
HHhmask_shape->setCurve(spot.HHhmask_curve);
|
||||
fftmask->set_active(spot.fftmask);
|
||||
Lmask_shape->setCurve(spot.Lmask_curve);
|
||||
@ -5057,6 +5075,8 @@ void LocallabMask::write(rtengine::procparams::ProcParams* pp, ParamsEdited* ped
|
||||
spot.gammask = gammask->getValue();
|
||||
spot.slopmask = slopmask->getValue();
|
||||
spot.shadmask = shadmask->getValue();
|
||||
spot.str_mask = str_mask->getIntValue();
|
||||
spot.ang_mask = ang_mask->getIntValue();
|
||||
spot.HHhmask_curve = HHhmask_shape->getCurve();
|
||||
spot.fftmask = fftmask->get_active();
|
||||
spot.contmask = contmask->getValue();
|
||||
@ -5105,6 +5125,8 @@ void LocallabMask::setDefaults(const rtengine::procparams::ProcParams* defParams
|
||||
lapmask->setDefault(defSpot.lapmask);
|
||||
slopmask->setDefault(defSpot.slopmask);
|
||||
shadmask->setDefault(defSpot.shadmask);
|
||||
str_mask->setDefault(defSpot.str_mask);
|
||||
ang_mask->setDefault(defSpot.ang_mask);
|
||||
HHhmask_shape->setCurve(defSpot.HHhmask_curve);
|
||||
contmask->setDefault(defSpot.contmask);
|
||||
blurmask->setDefault(defSpot.blurmask);
|
||||
@ -5123,8 +5145,11 @@ void LocallabMask::updateGUIToMode(const modeType new_type)
|
||||
gammask->hide();
|
||||
slopmask->hide();
|
||||
shadmask->hide();
|
||||
str_mask->hide();
|
||||
ang_mask->hide();
|
||||
struFrame->hide();
|
||||
blurFrame->hide();
|
||||
gradFramemask->hide();
|
||||
mask_HCurveEditorG->hide();
|
||||
// mask2CurveEditorG->hide();
|
||||
mask2CurveEditorGwav->hide();
|
||||
@ -5136,8 +5161,11 @@ void LocallabMask::updateGUIToMode(const modeType new_type)
|
||||
gammask->show();
|
||||
slopmask->show();
|
||||
shadmask->show();
|
||||
str_mask->show();
|
||||
ang_mask->show();
|
||||
struFrame->show();
|
||||
blurFrame->show();
|
||||
gradFramemask->show();
|
||||
mask_HCurveEditorG->show();
|
||||
// mask2CurveEditorG->show();
|
||||
mask2CurveEditorGwav->show();
|
||||
@ -5158,6 +5186,8 @@ void LocallabMask::convertParamToNormal()
|
||||
gammask->setValue(defSpot.gammask);
|
||||
slopmask->setValue(defSpot.slopmask);
|
||||
shadmask->setValue(defSpot.shadmask);
|
||||
str_mask->setValue(defSpot.str_mask);
|
||||
ang_mask->setValue(defSpot.ang_mask);
|
||||
strumaskmask->setValue(defSpot.strumaskmask);
|
||||
toolmask->set_active(defSpot.toolmask);
|
||||
fftmask->set_active(defSpot.fftmask);
|
||||
@ -5358,6 +5388,20 @@ void LocallabMask::adjusterChanged(Adjuster* a, double newval)
|
||||
}
|
||||
}
|
||||
|
||||
if (a == str_mask) {
|
||||
if (listener) {
|
||||
listener->panelChanged(Evlocallabstr_mask,
|
||||
str_mask->getTextValue() + " (" + escapeHtmlChars(spotName) + ")");
|
||||
}
|
||||
}
|
||||
|
||||
if (a == ang_mask) {
|
||||
if (listener) {
|
||||
listener->panelChanged(Evlocallabang_mask,
|
||||
ang_mask->getTextValue() + " (" + escapeHtmlChars(spotName) + ")");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1498,6 +1498,8 @@ void ParamsEdited::initFrom(const std::vector<rtengine::procparams::ProcParams>&
|
||||
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;
|
||||
locallab.spots.at(j).shadmask = locallab.spots.at(j).shadmask && pSpot.shadmask == otherSpot.shadmask;
|
||||
locallab.spots.at(j).str_mask = locallab.spots.at(j).str_mask && pSpot.str_mask == otherSpot.str_mask;
|
||||
locallab.spots.at(j).ang_mask = locallab.spots.at(j).ang_mask && pSpot.ang_mask == otherSpot.ang_mask;
|
||||
locallab.spots.at(j).HHhmask_curve = locallab.spots.at(j).HHhmask_curve && pSpot.HHhmask_curve == otherSpot.HHhmask_curve;
|
||||
locallab.spots.at(j).Lmask_curve = locallab.spots.at(j).Lmask_curve && pSpot.Lmask_curve == otherSpot.Lmask_curve;
|
||||
locallab.spots.at(j).LLmask_curvewav = locallab.spots.at(j).LLmask_curvewav && pSpot.LLmask_curvewav == otherSpot.LLmask_curvewav;
|
||||
@ -4888,6 +4890,14 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng
|
||||
toEdit.locallab.spots.at(i).shadmask = mods.locallab.spots.at(i).shadmask;
|
||||
}
|
||||
|
||||
if (locallab.spots.at(i).str_mask) {
|
||||
toEdit.locallab.spots.at(i).str_mask = mods.locallab.spots.at(i).str_mask;
|
||||
}
|
||||
|
||||
if (locallab.spots.at(i).ang_mask) {
|
||||
toEdit.locallab.spots.at(i).ang_mask = mods.locallab.spots.at(i).ang_mask;
|
||||
}
|
||||
|
||||
if (locallab.spots.at(i).HHhmask_curve) {
|
||||
toEdit.locallab.spots.at(i).HHhmask_curve = mods.locallab.spots.at(i).HHhmask_curve;
|
||||
}
|
||||
@ -6494,6 +6504,8 @@ LocallabParamsEdited::LocallabSpotEdited::LocallabSpotEdited(bool v) :
|
||||
gammask(v),
|
||||
slopmask(v),
|
||||
shadmask(v),
|
||||
str_mask(v),
|
||||
ang_mask(v),
|
||||
HHhmask_curve(v),
|
||||
Lmask_curve(v),
|
||||
LLmask_curvewav(v),
|
||||
@ -6980,6 +6992,8 @@ void LocallabParamsEdited::LocallabSpotEdited::set(bool v)
|
||||
gammask = v;
|
||||
slopmask = v;
|
||||
shadmask = v;
|
||||
str_mask = v;
|
||||
ang_mask = v;
|
||||
HHhmask_curve =(v);
|
||||
Lmask_curve =(v);
|
||||
LLmask_curvewav =(v);
|
||||
|
@ -856,6 +856,8 @@ public:
|
||||
bool gammask;
|
||||
bool slopmask;
|
||||
bool shadmask;
|
||||
bool str_mask;
|
||||
bool ang_mask;
|
||||
bool HHhmask_curve;
|
||||
bool Lmask_curve;
|
||||
bool LLmask_curvewav;
|
||||
|
Loading…
x
Reference in New Issue
Block a user