2nd levels and resid dynamic range compression contrast wavelet
This commit is contained in:
parent
1981b17245
commit
81e08265ec
@ -1102,7 +1102,7 @@ HISTORY_MSG_862;Local - Contrast Sigma luminance
|
|||||||
HISTORY_MSG_863;Local - Contrast Merge Original
|
HISTORY_MSG_863;Local - Contrast Merge Original
|
||||||
HISTORY_MSG_864;Local - Contrast Detail
|
HISTORY_MSG_864;Local - Contrast Detail
|
||||||
HISTORY_MSG_865;Local - Contrast Anchor
|
HISTORY_MSG_865;Local - Contrast Anchor
|
||||||
HISTORY_MSG_866;Local - Contrast Curve compression
|
HISTORY_MSG_867;Local - Contrast Amount residual
|
||||||
HISTORY_MSG_CLAMPOOG;Clip out-of-gamut colors
|
HISTORY_MSG_CLAMPOOG;Clip out-of-gamut colors
|
||||||
HISTORY_MSG_COLORTONING_LABGRID_VALUE;CT - Color correction
|
HISTORY_MSG_COLORTONING_LABGRID_VALUE;CT - Color correction
|
||||||
HISTORY_MSG_COLORTONING_LABREGION_AB;CT - Color correction
|
HISTORY_MSG_COLORTONING_LABREGION_AB;CT - Color correction
|
||||||
@ -2196,7 +2196,7 @@ TP_LOCALLAB_BLUR;Gaussian Blur - Noise - Grain
|
|||||||
TP_LOCALLAB_BLURCBDL;Blur levels 0-1-2-3-4
|
TP_LOCALLAB_BLURCBDL;Blur levels 0-1-2-3-4
|
||||||
TP_LOCALLAB_BLURCOL;Radius Mask Blur
|
TP_LOCALLAB_BLURCOL;Radius Mask Blur
|
||||||
TP_LOCALLAB_BLURDE;Blur Shape detection
|
TP_LOCALLAB_BLURDE;Blur Shape detection
|
||||||
TP_LOCALLAB_BLURLC;Luminance only
|
TP_LOCALLAB_BLURLC;Luminance Residual Image Only
|
||||||
TP_LOCALLAB_BLURLEVELFRA;Blur Levels
|
TP_LOCALLAB_BLURLEVELFRA;Blur Levels
|
||||||
TP_LOCALLAB_BLURRESIDFRA;Blur Residual
|
TP_LOCALLAB_BLURRESIDFRA;Blur Residual
|
||||||
TP_LOCALLAB_BUTTON_ADD;Add
|
TP_LOCALLAB_BUTTON_ADD;Add
|
||||||
@ -2296,6 +2296,7 @@ TP_LOCALLAB_FATDETAIL;Detail
|
|||||||
TP_LOCALLAB_FATFRA;Dynamic Range Compression
|
TP_LOCALLAB_FATFRA;Dynamic Range Compression
|
||||||
TP_LOCALLAB_FATFRAME_TOOLTIP;PDE Fattal - use Fattal Tone mapping algorithm.\nAnchor allows selection according to the images over or under exposed.\nUseful to increase Luminance for a Second spot near the current and using mask
|
TP_LOCALLAB_FATFRAME_TOOLTIP;PDE Fattal - use Fattal Tone mapping algorithm.\nAnchor allows selection according to the images over or under exposed.\nUseful to increase Luminance for a Second spot near the current and using mask
|
||||||
TP_LOCALLAB_FATLEVEL;Detail levels
|
TP_LOCALLAB_FATLEVEL;Detail levels
|
||||||
|
TP_LOCALLAB_FATRES;Amount Residual Image
|
||||||
TP_LOCALLAB_FATSHFRA;Dynamic Range Compression Mask
|
TP_LOCALLAB_FATSHFRA;Dynamic Range Compression Mask
|
||||||
TP_LOCALLAB_FEATH_TOOLTIP;Gradient width in percent of the Spot diagonal\n..
|
TP_LOCALLAB_FEATH_TOOLTIP;Gradient width in percent of the Spot diagonal\n..
|
||||||
TP_LOCALLAB_FEATVALUE;Feather gradient
|
TP_LOCALLAB_FEATVALUE;Feather gradient
|
||||||
@ -2455,7 +2456,7 @@ TP_LOCALLAB_REFLABEL;Ref. (0..1) Chroma=%1 Luma=%2 Hue=%3
|
|||||||
TP_LOCALLAB_REN_DIALOG_LAB;Enter the new Control Spot name
|
TP_LOCALLAB_REN_DIALOG_LAB;Enter the new Control Spot name
|
||||||
TP_LOCALLAB_REN_DIALOG_NAME;Renaming Control Spot
|
TP_LOCALLAB_REN_DIALOG_NAME;Renaming Control Spot
|
||||||
TP_LOCALLAB_RESID;Residual Image
|
TP_LOCALLAB_RESID;Residual Image
|
||||||
TP_LOCALLAB_RESIDBLUR;Blur
|
TP_LOCALLAB_RESIDBLUR;Blur Residual Image
|
||||||
TP_LOCALLAB_RESIDCHRO;Residual image Chroma
|
TP_LOCALLAB_RESIDCHRO;Residual image Chroma
|
||||||
TP_LOCALLAB_RESIDCONT;Residual image Contrast
|
TP_LOCALLAB_RESIDCONT;Residual image Contrast
|
||||||
TP_LOCALLAB_RETI;Dehaze - Retinex Strong local contrast
|
TP_LOCALLAB_RETI;Dehaze - Retinex Strong local contrast
|
||||||
|
@ -314,7 +314,7 @@ public:
|
|||||||
static void strcurv_data(std::string retistr, int *s_datc, int &siz);
|
static void strcurv_data(std::string retistr, int *s_datc, int &siz);
|
||||||
void blendstruc(int bfw, int bfh, LabImage* bufcolorig, float radius, float stru, array2D<float> & blend2, int sk, bool multiThread);
|
void blendstruc(int bfw, int bfh, LabImage* bufcolorig, float radius, float stru, array2D<float> & blend2, int sk, bool multiThread);
|
||||||
|
|
||||||
void wavcontrast4(float ** tmp, float contrast, float radblur, float radlevblur, int bfw, int bfh, int level_bl, int level_hl, int level_br, int level_hr, int sk, bool numThreads, const LocwavCurve & locwavCurve, bool & locwavutili,
|
void wavcontrast4(float ** tmp, float contrast, float fatres, float radblur, float radlevblur, int bfw, int bfh, int level_bl, int level_hl, int level_br, int level_hr, int sk, bool numThreads, const LocwavCurve & locwavCurve, bool & locwavutili,
|
||||||
const LocwavCurve & loclevwavCurve, bool & loclevwavutili, bool wavcurvelev,
|
const LocwavCurve & loclevwavCurve, bool & loclevwavutili, bool wavcurvelev,
|
||||||
const LocwavCurve & locconwavCurve, bool & locconwavutili, bool wavcurvecon,
|
const LocwavCurve & locconwavCurve, bool & locconwavutili, bool wavcurvecon,
|
||||||
const LocwavCurve & loccompwavCurve, bool & loccompwavutili, bool wavcurvecomp,
|
const LocwavCurve & loccompwavCurve, bool & loccompwavutili, bool wavcurvecomp,
|
||||||
|
@ -3999,7 +3999,7 @@ void ImProcFunctions::maskcalccol(int call, bool invmask, bool pde, int bfw, int
|
|||||||
bool wavcurvecon = false;
|
bool wavcurvecon = false;
|
||||||
bool loccompwavutili = false;
|
bool loccompwavutili = false;
|
||||||
bool wavcurvecomp = false;
|
bool wavcurvecomp = false;
|
||||||
wavcontrast4(bufmaskblurcol->L, contrast, 0.f, 0.f, bfw, bfh, level_bl, level_hl, level_br, level_hr, sk, numThreads, loclmasCurvecolwav, lmasutilicolwav, dummy, loclevwavutili, wavcurvelev, dummy, locconwavutili, wavcurvecon, dummy, loccompwavutili, wavcurvecomp, 1.f, maxlvl, 0.f, 0.f);
|
wavcontrast4(bufmaskblurcol->L, contrast, 0.f, 0.f, 0.f, bfw, bfh, level_bl, level_hl, level_br, level_hr, sk, numThreads, loclmasCurvecolwav, lmasutilicolwav, dummy, loclevwavutili, wavcurvelev, dummy, locconwavutili, wavcurvecon, dummy, loccompwavutili, wavcurvecomp, 1.f, maxlvl, 0.f, 0.f);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -6736,7 +6736,7 @@ void ImProcFunctions::fftw_tile_blur(int GW, int GH, int tilssize, int max_numbl
|
|||||||
fftwf_destroy_plan(plan_backward_blox[1]);
|
fftwf_destroy_plan(plan_backward_blox[1]);
|
||||||
fftwf_cleanup();
|
fftwf_cleanup();
|
||||||
}
|
}
|
||||||
void ImProcFunctions::wavcontrast4(float ** tmp, float contrast, float radblur, float radlevblur, int bfw, int bfh, int level_bl, int level_hl, int level_br, int level_hr, int sk, bool numThreads,
|
void ImProcFunctions::wavcontrast4(float ** tmp, float contrast, float fatres, float radblur, float radlevblur, int bfw, int bfh, int level_bl, int level_hl, int level_br, int level_hr, int sk, bool numThreads,
|
||||||
const LocwavCurve & locwavCurve, bool & locwavutili, const LocwavCurve & loclevwavCurve, bool & loclevwavutili, bool wavcurvelev,
|
const LocwavCurve & locwavCurve, bool & locwavutili, const LocwavCurve & loclevwavCurve, bool & loclevwavutili, bool wavcurvelev,
|
||||||
const LocwavCurve & locconwavCurve, bool & locconwavutili, bool wavcurvecon,
|
const LocwavCurve & locconwavCurve, bool & locconwavutili, bool wavcurvecon,
|
||||||
const LocwavCurve & loccompwavCurve, bool & loccompwavutili, bool wavcurvecomp,
|
const LocwavCurve & loccompwavCurve, bool & loccompwavutili, bool wavcurvecomp,
|
||||||
@ -6753,6 +6753,39 @@ void ImProcFunctions::wavcontrast4(float ** tmp, float contrast, float radblur,
|
|||||||
int H_L = wdspot->level_H(0);
|
int H_L = wdspot->level_H(0);
|
||||||
float *wav_L0 = wdspot->coeff0;
|
float *wav_L0 = wdspot->coeff0;
|
||||||
|
|
||||||
|
FattalToneMappingParams fatParams;
|
||||||
|
fatParams.threshold = fatdet;
|
||||||
|
fatParams.anchor = fatanch;
|
||||||
|
|
||||||
|
if (fatres > 0.f) {
|
||||||
|
fatParams.enabled = true;
|
||||||
|
fatParams.amount = fatres;
|
||||||
|
array2D<float> bufl(W_L, H_L);
|
||||||
|
#ifdef _OPENMP
|
||||||
|
#pragma omp parallel for schedule(dynamic,16)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
for (int y = 0; y < H_L; y++) {
|
||||||
|
for (int x = 0; x < W_L; x++) {
|
||||||
|
bufl[y][x] = wav_L0[y * W_L + x];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ToneMapFattal02(nullptr, fatParams, 3, true, bufl, W_L, H_L);
|
||||||
|
|
||||||
|
#ifdef _OPENMP
|
||||||
|
#pragma omp parallel for schedule(dynamic,16)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
for (int y = 0; y < H_L; y++) {
|
||||||
|
for (int x = 0; x < W_L; x++) {
|
||||||
|
wav_L0[y * W_L + x] = bufl[y][x];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if (radblur > 0.f) {
|
if (radblur > 0.f) {
|
||||||
array2D<float> bufl(W_L, H_L);
|
array2D<float> bufl(W_L, H_L);
|
||||||
#ifdef _OPENMP
|
#ifdef _OPENMP
|
||||||
@ -6933,11 +6966,7 @@ void ImProcFunctions::wavcontrast4(float ** tmp, float contrast, float radblur,
|
|||||||
float ****templevel = nullptr;
|
float ****templevel = nullptr;
|
||||||
|
|
||||||
if (wavcurvelev || wavcurvecomp) {
|
if (wavcurvelev || wavcurvecomp) {
|
||||||
FattalToneMappingParams fatParams;
|
|
||||||
fatParams.enabled = wavcurvecomp;
|
fatParams.enabled = wavcurvecomp;
|
||||||
fatParams.threshold = fatdet;
|
|
||||||
fatParams.amount = 50;
|
|
||||||
fatParams.anchor = fatanch;
|
|
||||||
|
|
||||||
templevel = new float***[dir];
|
templevel = new float***[dir];
|
||||||
|
|
||||||
@ -6972,6 +7001,7 @@ void ImProcFunctions::wavcontrast4(float ** tmp, float contrast, float radblur,
|
|||||||
|
|
||||||
//Compress dynamic range
|
//Compress dynamic range
|
||||||
if (wavcurvecomp) {
|
if (wavcurvecomp) {
|
||||||
|
printf("Dynamic Range levels\n");
|
||||||
for (int dir = 1; dir < 4; dir++) {
|
for (int dir = 1; dir < 4; dir++) {
|
||||||
for (int level = level_bl; level < maxlvl; ++level) {
|
for (int level = level_bl; level < maxlvl; ++level) {
|
||||||
int W_L = wdspot->level_W(level);
|
int W_L = wdspot->level_W(level);
|
||||||
@ -6992,7 +7022,9 @@ void ImProcFunctions::wavcontrast4(float ** tmp, float contrast, float radblur,
|
|||||||
|
|
||||||
|
|
||||||
//blur level and dir
|
//blur level and dir
|
||||||
if (wavcurvelev) {
|
if (wavcurvelev && radlevblur > 0.f) {
|
||||||
|
printf("Blur levels\n");
|
||||||
|
|
||||||
for (int dir = 1; dir < 4; dir++) {
|
for (int dir = 1; dir < 4; dir++) {
|
||||||
for (int level = level_bl; level < maxlvl; ++level) {
|
for (int level = level_bl; level < maxlvl; ++level) {
|
||||||
int W_L = wdspot->level_W(level);
|
int W_L = wdspot->level_W(level);
|
||||||
@ -9121,7 +9153,7 @@ void ImProcFunctions::Lab_Local(int call, int sp, float** shbuffer, LabImage * o
|
|||||||
bool wavcurvecon = false;
|
bool wavcurvecon = false;
|
||||||
bool loccompwavutili = false;
|
bool loccompwavutili = false;
|
||||||
bool wavcurvecomp = false;
|
bool wavcurvecomp = false;
|
||||||
wavcontrast4(bufmaskblurbl->L, contrast, 0.f, 0.f, GW, GH, level_bl, level_hl, level_br, level_hr, sk, numThreads, loclmasCurveblwav, lmasutiliblwav, dummy, loclevwavutili, wavcurvelev, dummy, locconwavutili, wavcurvecon, dummy, loccompwavutili, wavcurvecomp, 1.f, maxlvl, 0.f, 0.f);
|
wavcontrast4(bufmaskblurbl->L, contrast, 0.f, 0.f, 0.f, GW, GH, level_bl, level_hl, level_br, level_hr, sk, numThreads, loclmasCurveblwav, lmasutiliblwav, dummy, loclevwavutili, wavcurvelev, dummy, locconwavutili, wavcurvecon, dummy, loccompwavutili, wavcurvecomp, 1.f, maxlvl, 0.f, 0.f);
|
||||||
}
|
}
|
||||||
|
|
||||||
int shado = params->locallab.spots.at(sp).shadmaskbl;
|
int shado = params->locallab.spots.at(sp).shadmaskbl;
|
||||||
@ -10954,8 +10986,9 @@ void ImProcFunctions::Lab_Local(int call, int sp, float** shbuffer, LabImage * o
|
|||||||
const float sigma = params->locallab.spots.at(sp).sigma;
|
const float sigma = params->locallab.spots.at(sp).sigma;
|
||||||
const float fatdet = params->locallab.spots.at(sp).fatdet;
|
const float fatdet = params->locallab.spots.at(sp).fatdet;
|
||||||
const float fatanch = params->locallab.spots.at(sp).fatanch;
|
const float fatanch = params->locallab.spots.at(sp).fatanch;
|
||||||
|
const float fatres = params->locallab.spots.at(sp).fatres;
|
||||||
|
|
||||||
wavcontrast4(tmp1->L, contrast, radblur, radlevblur, tmp1->W, tmp1->H, level_bl, level_hl, level_br, level_hr, sk, numThreads, locwavCurve, locwavutili, loclevwavCurve, loclevwavutili, wavcurvelev, locconwavCurve, locconwavutili, wavcurvecon, loccompwavCurve, loccompwavutili, wavcurvecomp, sigma, maxlvl, fatdet, fatanch);
|
wavcontrast4(tmp1->L, contrast, fatres, radblur, radlevblur, tmp1->W, tmp1->H, level_bl, level_hl, level_br, level_hr, sk, numThreads, locwavCurve, locwavutili, loclevwavCurve, loclevwavutili, wavcurvelev, locconwavCurve, locconwavutili, wavcurvecon, loccompwavCurve, loccompwavutili, wavcurvecomp, sigma, maxlvl, fatdet, fatanch);
|
||||||
|
|
||||||
const float satur = params->locallab.spots.at(sp).residchro;
|
const float satur = params->locallab.spots.at(sp).residchro;
|
||||||
|
|
||||||
|
@ -892,6 +892,7 @@ enum ProcEventCode {
|
|||||||
Evlocallabfatdet = 863,
|
Evlocallabfatdet = 863,
|
||||||
Evlocallabfatanch = 864,
|
Evlocallabfatanch = 864,
|
||||||
EvlocallabwavCurvecomp = 865,
|
EvlocallabwavCurvecomp = 865,
|
||||||
|
Evlocallabfatres = 866,
|
||||||
NUMOFEVENTS
|
NUMOFEVENTS
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -2728,6 +2728,7 @@ LocallabParams::LocallabSpot::LocallabSpot() :
|
|||||||
sigma(1.0),
|
sigma(1.0),
|
||||||
fatdet(40.0),
|
fatdet(40.0),
|
||||||
fatanch(50.0),
|
fatanch(50.0),
|
||||||
|
fatres(0.0),
|
||||||
clarilres(0.0),
|
clarilres(0.0),
|
||||||
claricres(0.0),
|
claricres(0.0),
|
||||||
clarisoft(1.0),
|
clarisoft(1.0),
|
||||||
@ -3121,6 +3122,7 @@ bool LocallabParams::LocallabSpot::operator ==(const LocallabSpot& other) const
|
|||||||
&& sigma == other.sigma
|
&& sigma == other.sigma
|
||||||
&& fatdet == other.fatdet
|
&& fatdet == other.fatdet
|
||||||
&& fatanch == other.fatanch
|
&& fatanch == other.fatanch
|
||||||
|
&& fatres == other.fatres
|
||||||
&& clarilres == other.clarilres
|
&& clarilres == other.clarilres
|
||||||
&& claricres == other.claricres
|
&& claricres == other.claricres
|
||||||
&& clarisoft == other.clarisoft
|
&& clarisoft == other.clarisoft
|
||||||
@ -4494,6 +4496,7 @@ int ProcParams::save(const Glib::ustring& fname, const Glib::ustring& fname2, bo
|
|||||||
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).sigma, "Locallab", "Sigma_" + std::to_string(i), spot.sigma, keyFile);
|
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).sigma, "Locallab", "Sigma_" + std::to_string(i), spot.sigma, keyFile);
|
||||||
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).fatdet, "Locallab", "Fatdet_" + std::to_string(i), spot.fatdet, keyFile);
|
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).fatdet, "Locallab", "Fatdet_" + std::to_string(i), spot.fatdet, keyFile);
|
||||||
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).fatanch, "Locallab", "Fatanch_" + std::to_string(i), spot.fatanch, keyFile);
|
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).fatanch, "Locallab", "Fatanch_" + std::to_string(i), spot.fatanch, keyFile);
|
||||||
|
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).fatres, "Locallab", "Fatres_" + std::to_string(i), spot.fatres, keyFile);
|
||||||
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).clarilres, "Locallab", "ClariLres_" + std::to_string(i), spot.clarilres, keyFile);
|
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).clarilres, "Locallab", "ClariLres_" + std::to_string(i), spot.clarilres, keyFile);
|
||||||
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).claricres, "Locallab", "ClariCres_" + std::to_string(i), spot.claricres, keyFile);
|
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).claricres, "Locallab", "ClariCres_" + std::to_string(i), spot.claricres, keyFile);
|
||||||
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).clarisoft, "Locallab", "Clarisoft_" + std::to_string(i), spot.clarisoft, keyFile);
|
saveToKeyfile(!pedited || pedited->locallab.spots.at(i).clarisoft, "Locallab", "Clarisoft_" + std::to_string(i), spot.clarisoft, keyFile);
|
||||||
@ -6016,6 +6019,7 @@ int ProcParams::load(const Glib::ustring& fname, ParamsEdited* pedited)
|
|||||||
assignFromKeyfile(keyFile, "Locallab", "Sigma_" + std::to_string(i), pedited, spot.sigma, spotEdited.sigma);
|
assignFromKeyfile(keyFile, "Locallab", "Sigma_" + std::to_string(i), pedited, spot.sigma, spotEdited.sigma);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "Fatdet_" + std::to_string(i), pedited, spot.fatdet, spotEdited.fatdet);
|
assignFromKeyfile(keyFile, "Locallab", "Fatdet_" + std::to_string(i), pedited, spot.fatdet, spotEdited.fatdet);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "Fatanch_" + std::to_string(i), pedited, spot.fatanch, spotEdited.fatanch);
|
assignFromKeyfile(keyFile, "Locallab", "Fatanch_" + std::to_string(i), pedited, spot.fatanch, spotEdited.fatanch);
|
||||||
|
assignFromKeyfile(keyFile, "Locallab", "Fatres_" + std::to_string(i), pedited, spot.fatres, spotEdited.fatres);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "ClariLres_" + std::to_string(i), pedited, spot.clarilres, spotEdited.clarilres);
|
assignFromKeyfile(keyFile, "Locallab", "ClariLres_" + std::to_string(i), pedited, spot.clarilres, spotEdited.clarilres);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "ClariCres_" + std::to_string(i), pedited, spot.claricres, spotEdited.claricres);
|
assignFromKeyfile(keyFile, "Locallab", "ClariCres_" + std::to_string(i), pedited, spot.claricres, spotEdited.claricres);
|
||||||
assignFromKeyfile(keyFile, "Locallab", "Clarisoft_" + std::to_string(i), pedited, spot.clarisoft, spotEdited.clarisoft);
|
assignFromKeyfile(keyFile, "Locallab", "Clarisoft_" + std::to_string(i), pedited, spot.clarisoft, spotEdited.clarisoft);
|
||||||
|
@ -1271,6 +1271,7 @@ struct LocallabParams {
|
|||||||
double sigma;
|
double sigma;
|
||||||
double fatdet;
|
double fatdet;
|
||||||
double fatanch;
|
double fatanch;
|
||||||
|
double fatres;
|
||||||
double clarilres;
|
double clarilres;
|
||||||
double claricres;
|
double claricres;
|
||||||
double clarisoft;
|
double clarisoft;
|
||||||
|
@ -895,7 +895,8 @@ int refreshmap[rtengine::NUMOFEVENTS] = {
|
|||||||
LUMINANCECURVE, // Evlocallaboriglc
|
LUMINANCECURVE, // Evlocallaboriglc
|
||||||
LUMINANCECURVE, // Evlocallabfatdet
|
LUMINANCECURVE, // Evlocallabfatdet
|
||||||
LUMINANCECURVE, // Evlocallabfatanch
|
LUMINANCECURVE, // Evlocallabfatanch
|
||||||
LUMINANCECURVE //EvlocallabwavCurvecomp
|
LUMINANCECURVE, //EvlocallabwavCurvecomp
|
||||||
|
LUMINANCECURVE //Evlocallabfatres
|
||||||
};
|
};
|
||||||
|
|
||||||
namespace rtengine
|
namespace rtengine
|
||||||
|
@ -1098,7 +1098,6 @@ void ImProcFunctions::ToneMapFattal02(Imagefloat *rgb, const FattalToneMappingPa
|
|||||||
constexpr float min_luminance = 1.f;
|
constexpr float min_luminance = 1.f;
|
||||||
|
|
||||||
TMatrix ws = ICCStore::getInstance()->workingSpaceMatrix(params->icm.workingProfile);
|
TMatrix ws = ICCStore::getInstance()->workingSpaceMatrix(params->icm.workingProfile);
|
||||||
printf("OK 1\n");
|
|
||||||
#ifdef _OPENMP
|
#ifdef _OPENMP
|
||||||
#pragma omp parallel for if(multiThread)
|
#pragma omp parallel for if(multiThread)
|
||||||
#endif
|
#endif
|
||||||
@ -1112,7 +1111,6 @@ printf("OK 1\n");
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
printf("OK 2\n");
|
|
||||||
|
|
||||||
float oldMedian;
|
float oldMedian;
|
||||||
const float percentile = float(LIM(fatParams.anchor, 1, 100)) / 100.f;
|
const float percentile = float(LIM(fatParams.anchor, 1, 100)) / 100.f;
|
||||||
@ -1152,10 +1150,8 @@ printf("OK 2\n");
|
|||||||
}
|
}
|
||||||
|
|
||||||
rescale_nearest(Yr, L, multiThread);
|
rescale_nearest(Yr, L, multiThread);
|
||||||
printf("OK 3\n");
|
|
||||||
|
|
||||||
tmo_fattal02(w2, h2, L, L, alpha, beta, noise, detail_level, multiThread);
|
tmo_fattal02(w2, h2, L, L, alpha, beta, noise, detail_level, multiThread);
|
||||||
printf("OK 4\n");
|
|
||||||
|
|
||||||
const float hr = float(h2) / float(h);
|
const float hr = float(h2) / float(h);
|
||||||
const float wr = float(w2) / float(w);
|
const float wr = float(w2) / float(w);
|
||||||
@ -1189,7 +1185,6 @@ printf("OK 4\n");
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
printf("OK 5\n");
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -563,6 +563,7 @@ residchro(Gtk::manage(new Adjuster(M("TP_LOCALLAB_RESIDCHRO"), -100, 100, 1, 0))
|
|||||||
sigma(Gtk::manage(new Adjuster(M("TP_LOCALLAB_SIGMAWAV"), 0.2, 2.5, 0.01, 1.))),
|
sigma(Gtk::manage(new Adjuster(M("TP_LOCALLAB_SIGMAWAV"), 0.2, 2.5, 0.01, 1.))),
|
||||||
fatdet(Gtk::manage(new Adjuster(M("TP_LOCALLAB_FATDETAIL"), -100., 300., 1., 0.))),
|
fatdet(Gtk::manage(new Adjuster(M("TP_LOCALLAB_FATDETAIL"), -100., 300., 1., 0.))),
|
||||||
fatanch(Gtk::manage(new Adjuster(M("TP_LOCALLAB_FATANCHOR"), 1., 100., 1., 50., Gtk::manage(new RTImage("circle-black-small.png")), Gtk::manage(new RTImage("circle-white-small.png"))))),
|
fatanch(Gtk::manage(new Adjuster(M("TP_LOCALLAB_FATANCHOR"), 1., 100., 1., 50., Gtk::manage(new RTImage("circle-black-small.png")), Gtk::manage(new RTImage("circle-white-small.png"))))),
|
||||||
|
fatres(Gtk::manage(new Adjuster(M("TP_LOCALLAB_FATRES"), 0., 100., 1., 0.))),
|
||||||
|
|
||||||
multiplier(
|
multiplier(
|
||||||
[this]() -> std::array<Adjuster*, 6> {
|
[this]() -> std::array<Adjuster*, 6> {
|
||||||
@ -742,7 +743,6 @@ retitoolFrame(Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_RETITOOLFRA")))),
|
|||||||
residFrame(Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_RESID")))),
|
residFrame(Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_RESID")))),
|
||||||
clariFrame(Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_CLARIFRA")))),
|
clariFrame(Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_CLARIFRA")))),
|
||||||
blurlevelFrame(Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_BLURLEVELFRA")))),
|
blurlevelFrame(Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_BLURLEVELFRA")))),
|
||||||
blurresidFrame(Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_BLURRESIDFRA")))),
|
|
||||||
contFrame(Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_CONTFRA")))),
|
contFrame(Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_CONTFRA")))),
|
||||||
compFrame(Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_COMPFRA")))),
|
compFrame(Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_COMPFRA")))),
|
||||||
grainFrame(Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_GRAINFRA")))),
|
grainFrame(Gtk::manage(new Gtk::Frame(M("TP_LOCALLAB_GRAINFRA")))),
|
||||||
@ -2871,6 +2871,7 @@ pe(nullptr)
|
|||||||
sigma->setAdjusterListener(this);
|
sigma->setAdjusterListener(this);
|
||||||
fatdet->setAdjusterListener(this);
|
fatdet->setAdjusterListener(this);
|
||||||
fatanch->setAdjusterListener(this);
|
fatanch->setAdjusterListener(this);
|
||||||
|
fatres->setAdjusterListener(this);
|
||||||
clarilres->setAdjusterListener(this);
|
clarilres->setAdjusterListener(this);
|
||||||
clarisoft->setLogScale(10, -10);
|
clarisoft->setLogScale(10, -10);
|
||||||
clarisoft->setAdjusterListener(this);
|
clarisoft->setAdjusterListener(this);
|
||||||
@ -2883,24 +2884,23 @@ pe(nullptr)
|
|||||||
clariFrame->set_label_align(0.025, 0.5);
|
clariFrame->set_label_align(0.025, 0.5);
|
||||||
ToolParamBlock* const clariBox = Gtk::manage(new ToolParamBlock());
|
ToolParamBlock* const clariBox = Gtk::manage(new ToolParamBlock());
|
||||||
clariBox->pack_start(*clarilres);
|
clariBox->pack_start(*clarilres);
|
||||||
|
clariBox->pack_start(*claricres);
|
||||||
clariBox->pack_start(*claricres);
|
clariBox->pack_start(*clarisoft);
|
||||||
|
|
||||||
clariBox->pack_start(*clarisoft);
|
|
||||||
clariBox->pack_start(*origlc);
|
clariBox->pack_start(*origlc);
|
||||||
|
|
||||||
clariFrame->add(*clariBox);
|
clariFrame->add(*clariBox);
|
||||||
|
|
||||||
blurresidFrame->set_label_align(0.025, 0.5);
|
|
||||||
ToolParamBlock* const blurcontraBox = Gtk::manage(new ToolParamBlock());
|
Gtk::HSeparator* const separatorblu = Gtk::manage(new Gtk::HSeparator());
|
||||||
blurcontraBox->pack_start(*residblur);
|
|
||||||
blurcontraBox->pack_start(*blurlc);
|
|
||||||
blurresidFrame->add(*blurcontraBox);
|
|
||||||
|
|
||||||
blurlevelFrame->set_label_align(0.025, 0.5);
|
blurlevelFrame->set_label_align(0.025, 0.5);
|
||||||
ToolParamBlock* const blurlevcontBox = Gtk::manage(new ToolParamBlock());
|
ToolParamBlock* const blurlevcontBox = Gtk::manage(new ToolParamBlock());
|
||||||
blurlevcontBox->pack_start(*levelblur);
|
blurlevcontBox->pack_start(*levelblur);
|
||||||
blurlevcontBox->pack_start(*LocalcurveEditorwavlev, Gtk::PACK_SHRINK, 4);
|
blurlevcontBox->pack_start(*LocalcurveEditorwavlev, Gtk::PACK_SHRINK, 4);
|
||||||
|
blurlevcontBox->pack_start(*separatorblu);
|
||||||
|
blurlevcontBox->pack_start(*residblur);
|
||||||
|
blurlevcontBox->pack_start(*blurlc);
|
||||||
|
|
||||||
blurlevelFrame->add(*blurlevcontBox);
|
blurlevelFrame->add(*blurlevcontBox);
|
||||||
|
|
||||||
contFrame->set_label_align(0.025, 0.5);
|
contFrame->set_label_align(0.025, 0.5);
|
||||||
@ -2909,11 +2909,15 @@ pe(nullptr)
|
|||||||
contlevBox->pack_start(*LocalcurveEditorwavcon, Gtk::PACK_SHRINK, 4);
|
contlevBox->pack_start(*LocalcurveEditorwavcon, Gtk::PACK_SHRINK, 4);
|
||||||
contFrame->add(*contlevBox);
|
contFrame->add(*contlevBox);
|
||||||
|
|
||||||
|
Gtk::HSeparator* const separatorcomp = Gtk::manage(new Gtk::HSeparator());
|
||||||
|
|
||||||
compFrame->set_label_align(0.025, 0.5);
|
compFrame->set_label_align(0.025, 0.5);
|
||||||
ToolParamBlock* const compBox = Gtk::manage(new ToolParamBlock());
|
ToolParamBlock* const compBox = Gtk::manage(new ToolParamBlock());
|
||||||
compBox->pack_start(*fatdet);
|
compBox->pack_start(*fatdet);
|
||||||
compBox->pack_start(*fatanch);
|
compBox->pack_start(*fatanch);
|
||||||
compBox->pack_start(*LocalcurveEditorwavcomp, Gtk::PACK_SHRINK, 4);
|
compBox->pack_start(*LocalcurveEditorwavcomp, Gtk::PACK_SHRINK, 4);
|
||||||
|
compBox->pack_start(*separatorcomp);
|
||||||
|
compBox->pack_start(*fatres);
|
||||||
compFrame->add(*compBox);
|
compFrame->add(*compBox);
|
||||||
|
|
||||||
setExpandAlignProperties(expcontrastpyr, true, false, Gtk::ALIGN_FILL, Gtk::ALIGN_START);
|
setExpandAlignProperties(expcontrastpyr, true, false, Gtk::ALIGN_FILL, Gtk::ALIGN_START);
|
||||||
@ -2923,7 +2927,6 @@ pe(nullptr)
|
|||||||
blurcontBox->pack_start(*clariFrame);
|
blurcontBox->pack_start(*clariFrame);
|
||||||
blurcontBox->pack_start(*contFrame);
|
blurcontBox->pack_start(*contFrame);
|
||||||
blurcontBox->pack_start(*compFrame);
|
blurcontBox->pack_start(*compFrame);
|
||||||
blurcontBox->pack_start(*blurresidFrame);
|
|
||||||
blurcontBox->pack_start(*blurlevelFrame);
|
blurcontBox->pack_start(*blurlevelFrame);
|
||||||
|
|
||||||
expcontrastpyr->add(*blurcontBox, false);
|
expcontrastpyr->add(*blurcontBox, false);
|
||||||
@ -5092,6 +5095,7 @@ void Locallab::write(rtengine::procparams::ProcParams* pp, ParamsEdited* pedited
|
|||||||
pp->locallab.spots.at(pp->locallab.selspot).sigma = sigma->getValue();
|
pp->locallab.spots.at(pp->locallab.selspot).sigma = sigma->getValue();
|
||||||
pp->locallab.spots.at(pp->locallab.selspot).fatdet = fatdet->getValue();
|
pp->locallab.spots.at(pp->locallab.selspot).fatdet = fatdet->getValue();
|
||||||
pp->locallab.spots.at(pp->locallab.selspot).fatanch = fatanch->getValue();
|
pp->locallab.spots.at(pp->locallab.selspot).fatanch = fatanch->getValue();
|
||||||
|
pp->locallab.spots.at(pp->locallab.selspot).fatres = fatres->getValue();
|
||||||
pp->locallab.spots.at(pp->locallab.selspot).clarilres = clarilres->getValue();
|
pp->locallab.spots.at(pp->locallab.selspot).clarilres = clarilres->getValue();
|
||||||
pp->locallab.spots.at(pp->locallab.selspot).claricres = claricres->getValue();
|
pp->locallab.spots.at(pp->locallab.selspot).claricres = claricres->getValue();
|
||||||
pp->locallab.spots.at(pp->locallab.selspot).clarisoft = clarisoft->getValue();
|
pp->locallab.spots.at(pp->locallab.selspot).clarisoft = clarisoft->getValue();
|
||||||
@ -5488,6 +5492,7 @@ void Locallab::write(rtengine::procparams::ProcParams* pp, ParamsEdited* pedited
|
|||||||
pe->locallab.spots.at(pp->locallab.selspot).sigma = pe->locallab.spots.at(pp->locallab.selspot).sigma || sigma->getEditedState();
|
pe->locallab.spots.at(pp->locallab.selspot).sigma = pe->locallab.spots.at(pp->locallab.selspot).sigma || sigma->getEditedState();
|
||||||
pe->locallab.spots.at(pp->locallab.selspot).fatdet = pe->locallab.spots.at(pp->locallab.selspot).fatdet || fatdet->getEditedState();
|
pe->locallab.spots.at(pp->locallab.selspot).fatdet = pe->locallab.spots.at(pp->locallab.selspot).fatdet || fatdet->getEditedState();
|
||||||
pe->locallab.spots.at(pp->locallab.selspot).fatanch = pe->locallab.spots.at(pp->locallab.selspot).fatanch || fatanch->getEditedState();
|
pe->locallab.spots.at(pp->locallab.selspot).fatanch = pe->locallab.spots.at(pp->locallab.selspot).fatanch || fatanch->getEditedState();
|
||||||
|
pe->locallab.spots.at(pp->locallab.selspot).fatres = pe->locallab.spots.at(pp->locallab.selspot).fatres || fatres->getEditedState();
|
||||||
pe->locallab.spots.at(pp->locallab.selspot).clarilres = pe->locallab.spots.at(pp->locallab.selspot).clarilres || clarilres->getEditedState();
|
pe->locallab.spots.at(pp->locallab.selspot).clarilres = pe->locallab.spots.at(pp->locallab.selspot).clarilres || clarilres->getEditedState();
|
||||||
pe->locallab.spots.at(pp->locallab.selspot).claricres = pe->locallab.spots.at(pp->locallab.selspot).claricres || claricres->getEditedState();
|
pe->locallab.spots.at(pp->locallab.selspot).claricres = pe->locallab.spots.at(pp->locallab.selspot).claricres || claricres->getEditedState();
|
||||||
pe->locallab.spots.at(pp->locallab.selspot).clarisoft = pe->locallab.spots.at(pp->locallab.selspot).clarisoft || clarisoft->getEditedState();
|
pe->locallab.spots.at(pp->locallab.selspot).clarisoft = pe->locallab.spots.at(pp->locallab.selspot).clarisoft || clarisoft->getEditedState();
|
||||||
@ -5881,6 +5886,7 @@ void Locallab::write(rtengine::procparams::ProcParams* pp, ParamsEdited* pedited
|
|||||||
pedited->locallab.spots.at(pp->locallab.selspot).sigma = pedited->locallab.spots.at(pp->locallab.selspot).sigma || sigma->getEditedState();
|
pedited->locallab.spots.at(pp->locallab.selspot).sigma = pedited->locallab.spots.at(pp->locallab.selspot).sigma || sigma->getEditedState();
|
||||||
pedited->locallab.spots.at(pp->locallab.selspot).fatdet = pedited->locallab.spots.at(pp->locallab.selspot).fatdet || fatdet->getEditedState();
|
pedited->locallab.spots.at(pp->locallab.selspot).fatdet = pedited->locallab.spots.at(pp->locallab.selspot).fatdet || fatdet->getEditedState();
|
||||||
pedited->locallab.spots.at(pp->locallab.selspot).fatanch = pedited->locallab.spots.at(pp->locallab.selspot).fatanch || fatanch->getEditedState();
|
pedited->locallab.spots.at(pp->locallab.selspot).fatanch = pedited->locallab.spots.at(pp->locallab.selspot).fatanch || fatanch->getEditedState();
|
||||||
|
pedited->locallab.spots.at(pp->locallab.selspot).fatres = pedited->locallab.spots.at(pp->locallab.selspot).fatres || fatres->getEditedState();
|
||||||
pedited->locallab.spots.at(pp->locallab.selspot).clarilres = pedited->locallab.spots.at(pp->locallab.selspot).clarilres || clarilres->getEditedState();
|
pedited->locallab.spots.at(pp->locallab.selspot).clarilres = pedited->locallab.spots.at(pp->locallab.selspot).clarilres || clarilres->getEditedState();
|
||||||
pedited->locallab.spots.at(pp->locallab.selspot).claricres = pedited->locallab.spots.at(pp->locallab.selspot).claricres || claricres->getEditedState();
|
pedited->locallab.spots.at(pp->locallab.selspot).claricres = pedited->locallab.spots.at(pp->locallab.selspot).claricres || claricres->getEditedState();
|
||||||
pedited->locallab.spots.at(pp->locallab.selspot).clarisoft = pedited->locallab.spots.at(pp->locallab.selspot).clarisoft || clarisoft->getEditedState();
|
pedited->locallab.spots.at(pp->locallab.selspot).clarisoft = pedited->locallab.spots.at(pp->locallab.selspot).clarisoft || clarisoft->getEditedState();
|
||||||
@ -6405,6 +6411,7 @@ void Locallab::localcontMethodChanged()
|
|||||||
sigma->hide();
|
sigma->hide();
|
||||||
fatdet->hide();
|
fatdet->hide();
|
||||||
fatanch->hide();
|
fatanch->hide();
|
||||||
|
fatres->hide();
|
||||||
clarilres->hide();
|
clarilres->hide();
|
||||||
claricres->hide();
|
claricres->hide();
|
||||||
clarisoft->hide();
|
clarisoft->hide();
|
||||||
@ -6430,6 +6437,7 @@ void Locallab::localcontMethodChanged()
|
|||||||
sigma->show();
|
sigma->show();
|
||||||
fatdet->show();
|
fatdet->show();
|
||||||
fatanch->show();
|
fatanch->show();
|
||||||
|
fatres->show();
|
||||||
clarilres->show();
|
clarilres->show();
|
||||||
claricres->show();
|
claricres->show();
|
||||||
clarisoft->show();
|
clarisoft->show();
|
||||||
@ -8438,6 +8446,7 @@ void Locallab::setDefaults(const rtengine::procparams::ProcParams * defParams, c
|
|||||||
sigma->setDefault(defSpot->sigma);
|
sigma->setDefault(defSpot->sigma);
|
||||||
fatdet->setDefault(defSpot->fatdet);
|
fatdet->setDefault(defSpot->fatdet);
|
||||||
fatanch->setDefault(defSpot->fatanch);
|
fatanch->setDefault(defSpot->fatanch);
|
||||||
|
fatres->setDefault(defSpot->fatres);
|
||||||
clarilres->setDefault(defSpot->clarilres);
|
clarilres->setDefault(defSpot->clarilres);
|
||||||
claricres->setDefault(defSpot->claricres);
|
claricres->setDefault(defSpot->claricres);
|
||||||
clarisoft->setDefault(defSpot->clarisoft);
|
clarisoft->setDefault(defSpot->clarisoft);
|
||||||
@ -8673,6 +8682,7 @@ void Locallab::setDefaults(const rtengine::procparams::ProcParams * defParams, c
|
|||||||
sigma->setDefaultEditedState(Irrelevant);
|
sigma->setDefaultEditedState(Irrelevant);
|
||||||
fatdet->setDefaultEditedState(Irrelevant);
|
fatdet->setDefaultEditedState(Irrelevant);
|
||||||
fatanch->setDefaultEditedState(Irrelevant);
|
fatanch->setDefaultEditedState(Irrelevant);
|
||||||
|
fatres->setDefaultEditedState(Irrelevant);
|
||||||
clarilres->setDefaultEditedState(Irrelevant);
|
clarilres->setDefaultEditedState(Irrelevant);
|
||||||
claricres->setDefaultEditedState(Irrelevant);
|
claricres->setDefaultEditedState(Irrelevant);
|
||||||
clarisoft->setDefaultEditedState(Irrelevant);
|
clarisoft->setDefaultEditedState(Irrelevant);
|
||||||
@ -8913,6 +8923,7 @@ void Locallab::setDefaults(const rtengine::procparams::ProcParams * defParams, c
|
|||||||
sigma->setDefaultEditedState(defSpotState->sigma ? Edited : UnEdited);
|
sigma->setDefaultEditedState(defSpotState->sigma ? Edited : UnEdited);
|
||||||
fatdet->setDefaultEditedState(defSpotState->fatdet ? Edited : UnEdited);
|
fatdet->setDefaultEditedState(defSpotState->fatdet ? Edited : UnEdited);
|
||||||
fatanch->setDefaultEditedState(defSpotState->fatanch ? Edited : UnEdited);
|
fatanch->setDefaultEditedState(defSpotState->fatanch ? Edited : UnEdited);
|
||||||
|
fatres->setDefaultEditedState(defSpotState->fatres ? Edited : UnEdited);
|
||||||
clarilres->setDefaultEditedState(defSpotState->clarilres ? Edited : UnEdited);
|
clarilres->setDefaultEditedState(defSpotState->clarilres ? Edited : UnEdited);
|
||||||
claricres->setDefaultEditedState(defSpotState->claricres ? Edited : UnEdited);
|
claricres->setDefaultEditedState(defSpotState->claricres ? Edited : UnEdited);
|
||||||
clarisoft->setDefaultEditedState(defSpotState->clarisoft ? Edited : UnEdited);
|
clarisoft->setDefaultEditedState(defSpotState->clarisoft ? Edited : UnEdited);
|
||||||
@ -10096,6 +10107,12 @@ void Locallab::adjusterChanged(Adjuster * a, double newval)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (a == fatres) {
|
||||||
|
if (listener) {
|
||||||
|
listener->panelChanged(Evlocallabfatres, fatres->getTextValue());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (a == clarilres) {
|
if (a == clarilres) {
|
||||||
if (listener) {
|
if (listener) {
|
||||||
listener->panelChanged(Evlocallabclarilres, clarilres->getTextValue());
|
listener->panelChanged(Evlocallabclarilres, clarilres->getTextValue());
|
||||||
@ -10570,6 +10587,7 @@ void Locallab::setBatchMode(bool batchMode)
|
|||||||
sigma->showEditedCB();
|
sigma->showEditedCB();
|
||||||
fatdet->showEditedCB();
|
fatdet->showEditedCB();
|
||||||
fatanch->showEditedCB();
|
fatanch->showEditedCB();
|
||||||
|
fatres->showEditedCB();
|
||||||
clarilres->showEditedCB();
|
clarilres->showEditedCB();
|
||||||
claricres->showEditedCB();
|
claricres->showEditedCB();
|
||||||
clarisoft->showEditedCB();
|
clarisoft->showEditedCB();
|
||||||
@ -11623,6 +11641,7 @@ void Locallab::updateLocallabGUI(const rtengine::procparams::ProcParams* pp, con
|
|||||||
sigma->setValue(pp->locallab.spots.at(index).sigma);
|
sigma->setValue(pp->locallab.spots.at(index).sigma);
|
||||||
fatdet->setValue(pp->locallab.spots.at(index).fatdet);
|
fatdet->setValue(pp->locallab.spots.at(index).fatdet);
|
||||||
fatanch->setValue(pp->locallab.spots.at(index).fatanch);
|
fatanch->setValue(pp->locallab.spots.at(index).fatanch);
|
||||||
|
fatres->setValue(pp->locallab.spots.at(index).fatres);
|
||||||
clarilres->setValue(pp->locallab.spots.at(index).clarilres);
|
clarilres->setValue(pp->locallab.spots.at(index).clarilres);
|
||||||
claricres->setValue(pp->locallab.spots.at(index).claricres);
|
claricres->setValue(pp->locallab.spots.at(index).claricres);
|
||||||
clarisoft->setValue(pp->locallab.spots.at(index).clarisoft);
|
clarisoft->setValue(pp->locallab.spots.at(index).clarisoft);
|
||||||
@ -12123,6 +12142,7 @@ void Locallab::updateLocallabGUI(const rtengine::procparams::ProcParams* pp, con
|
|||||||
sigma->setEditedState(spotState->sigma ? Edited : UnEdited);
|
sigma->setEditedState(spotState->sigma ? Edited : UnEdited);
|
||||||
fatdet->setEditedState(spotState->fatdet ? Edited : UnEdited);
|
fatdet->setEditedState(spotState->fatdet ? Edited : UnEdited);
|
||||||
fatanch->setEditedState(spotState->fatanch ? Edited : UnEdited);
|
fatanch->setEditedState(spotState->fatanch ? Edited : UnEdited);
|
||||||
|
fatres->setEditedState(spotState->fatres ? Edited : UnEdited);
|
||||||
clarilres->setEditedState(spotState->clarilres ? Edited : UnEdited);
|
clarilres->setEditedState(spotState->clarilres ? Edited : UnEdited);
|
||||||
claricres->setEditedState(spotState->claricres ? Edited : UnEdited);
|
claricres->setEditedState(spotState->claricres ? Edited : UnEdited);
|
||||||
clarisoft->setEditedState(spotState->clarisoft ? Edited : UnEdited);
|
clarisoft->setEditedState(spotState->clarisoft ? Edited : UnEdited);
|
||||||
@ -12635,6 +12655,7 @@ void Locallab::updateSpecificGUIState()
|
|||||||
sigma->hide();
|
sigma->hide();
|
||||||
fatdet->hide();
|
fatdet->hide();
|
||||||
fatanch->hide();
|
fatanch->hide();
|
||||||
|
fatres->hide();
|
||||||
clarilres->hide();
|
clarilres->hide();
|
||||||
claricres->hide();
|
claricres->hide();
|
||||||
clarisoft->hide();
|
clarisoft->hide();
|
||||||
@ -12659,6 +12680,7 @@ void Locallab::updateSpecificGUIState()
|
|||||||
sigma->show();
|
sigma->show();
|
||||||
fatdet->show();
|
fatdet->show();
|
||||||
fatanch->show();
|
fatanch->show();
|
||||||
|
fatres->show();
|
||||||
residchro->show();
|
residchro->show();
|
||||||
clarilres->show();
|
clarilres->show();
|
||||||
claricres->show();
|
claricres->show();
|
||||||
|
@ -362,6 +362,7 @@ private:
|
|||||||
Adjuster* const sigma;
|
Adjuster* const sigma;
|
||||||
Adjuster* const fatdet;
|
Adjuster* const fatdet;
|
||||||
Adjuster* const fatanch;
|
Adjuster* const fatanch;
|
||||||
|
Adjuster* const fatres;
|
||||||
// Contrast by detail levels
|
// Contrast by detail levels
|
||||||
const std::array<Adjuster*, 6> multiplier;
|
const std::array<Adjuster*, 6> multiplier;
|
||||||
Adjuster* const chromacbdl;
|
Adjuster* const chromacbdl;
|
||||||
@ -581,7 +582,6 @@ private:
|
|||||||
Gtk::Frame* const residFrame;
|
Gtk::Frame* const residFrame;
|
||||||
Gtk::Frame* const clariFrame;
|
Gtk::Frame* const clariFrame;
|
||||||
Gtk::Frame* const blurlevelFrame;
|
Gtk::Frame* const blurlevelFrame;
|
||||||
Gtk::Frame* const blurresidFrame;
|
|
||||||
Gtk::Frame* const contFrame;
|
Gtk::Frame* const contFrame;
|
||||||
Gtk::Frame* const compFrame;
|
Gtk::Frame* const compFrame;
|
||||||
Gtk::Frame* const grainFrame;
|
Gtk::Frame* const grainFrame;
|
||||||
|
@ -1264,6 +1264,7 @@ void ParamsEdited::initFrom(const std::vector<rtengine::procparams::ProcParams>&
|
|||||||
locallab.spots.at(j).sigma = locallab.spots.at(j).sigma && pSpot.sigma == otherSpot.sigma;
|
locallab.spots.at(j).sigma = locallab.spots.at(j).sigma && pSpot.sigma == otherSpot.sigma;
|
||||||
locallab.spots.at(j).fatdet = locallab.spots.at(j).fatdet && pSpot.fatdet == otherSpot.fatdet;
|
locallab.spots.at(j).fatdet = locallab.spots.at(j).fatdet && pSpot.fatdet == otherSpot.fatdet;
|
||||||
locallab.spots.at(j).fatanch = locallab.spots.at(j).fatanch && pSpot.fatanch == otherSpot.fatanch;
|
locallab.spots.at(j).fatanch = locallab.spots.at(j).fatanch && pSpot.fatanch == otherSpot.fatanch;
|
||||||
|
locallab.spots.at(j).fatres = locallab.spots.at(j).fatres && pSpot.fatres == otherSpot.fatres;
|
||||||
locallab.spots.at(j).clarilres = locallab.spots.at(j).clarilres && pSpot.clarilres == otherSpot.clarilres;
|
locallab.spots.at(j).clarilres = locallab.spots.at(j).clarilres && pSpot.clarilres == otherSpot.clarilres;
|
||||||
locallab.spots.at(j).claricres = locallab.spots.at(j).claricres && pSpot.claricres == otherSpot.claricres;
|
locallab.spots.at(j).claricres = locallab.spots.at(j).claricres && pSpot.claricres == otherSpot.claricres;
|
||||||
locallab.spots.at(j).clarisoft = locallab.spots.at(j).clarisoft && pSpot.clarisoft == otherSpot.clarisoft;
|
locallab.spots.at(j).clarisoft = locallab.spots.at(j).clarisoft && pSpot.clarisoft == otherSpot.clarisoft;
|
||||||
@ -4017,6 +4018,10 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng
|
|||||||
toEdit.locallab.spots.at(i).fatanch = mods.locallab.spots.at(i).fatanch;
|
toEdit.locallab.spots.at(i).fatanch = mods.locallab.spots.at(i).fatanch;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (locallab.spots.at(i).fatres) {
|
||||||
|
toEdit.locallab.spots.at(i).fatres = mods.locallab.spots.at(i).fatres;
|
||||||
|
}
|
||||||
|
|
||||||
if (locallab.spots.at(i).clarilres) {
|
if (locallab.spots.at(i).clarilres) {
|
||||||
toEdit.locallab.spots.at(i).clarilres = mods.locallab.spots.at(i).clarilres;
|
toEdit.locallab.spots.at(i).clarilres = mods.locallab.spots.at(i).clarilres;
|
||||||
}
|
}
|
||||||
@ -5540,6 +5545,7 @@ LocallabParamsEdited::LocallabSpotEdited::LocallabSpotEdited(bool v) :
|
|||||||
sigma(v),
|
sigma(v),
|
||||||
fatdet(v),
|
fatdet(v),
|
||||||
fatanch(v),
|
fatanch(v),
|
||||||
|
fatres(v),
|
||||||
clarilres(v),
|
clarilres(v),
|
||||||
claricres(v),
|
claricres(v),
|
||||||
clarisoft(v),
|
clarisoft(v),
|
||||||
@ -5923,6 +5929,7 @@ void LocallabParamsEdited::LocallabSpotEdited::set(bool v)
|
|||||||
sigma = v;
|
sigma = v;
|
||||||
fatdet = v;
|
fatdet = v;
|
||||||
fatanch = v;
|
fatanch = v;
|
||||||
|
fatres = v;
|
||||||
clarilres = v;
|
clarilres = v;
|
||||||
claricres = v;
|
claricres = v;
|
||||||
clarisoft = v;
|
clarisoft = v;
|
||||||
|
@ -697,6 +697,7 @@ public:
|
|||||||
bool sigma;
|
bool sigma;
|
||||||
bool fatdet;
|
bool fatdet;
|
||||||
bool fatanch;
|
bool fatanch;
|
||||||
|
bool fatres;
|
||||||
bool clarilres;
|
bool clarilres;
|
||||||
bool claricres;
|
bool claricres;
|
||||||
bool clarisoft;
|
bool clarisoft;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user