Merged retinex-yoni1 into master
This commit is contained in:
@@ -650,6 +650,7 @@ HISTORY_MSG_417;Retinex - Transmission median
|
||||
HISTORY_MSG_418;Retinex - Threshold
|
||||
HISTORY_MSG_419;Retinex - Color space
|
||||
HISTORY_MSG_420;Retinex - Histogram - HSL
|
||||
HISTORY_MSG_421;Retinex - Gamma
|
||||
HISTORY_NEWSNAPSHOT;Add
|
||||
HISTORY_NEWSNAPSHOT_TOOLTIP;Shortcut: <b>Alt-s</b>
|
||||
HISTORY_SNAPSHOTS;Snapshots
|
||||
|
||||
@@ -22,6 +22,10 @@
|
||||
namespace rtengine
|
||||
{
|
||||
|
||||
|
||||
|
||||
|
||||
// Aligned so the first entry starts on line 30
|
||||
enum ProcEvent {
|
||||
EvPhotoLoaded = 0,
|
||||
EvProfileLoaded = 1,
|
||||
@@ -226,7 +230,6 @@ enum ProcEvent {
|
||||
EvDPDNredchro = 200,
|
||||
EvDPDNbluechro = 201,
|
||||
EvDPDNmet = 202,
|
||||
// EvDPDNperform=201,
|
||||
EvDemosaicLMMSEIter = 203,
|
||||
EvCATbadpix = 204,
|
||||
EvCATAutoAdap = 205,
|
||||
@@ -278,15 +281,13 @@ enum ProcEvent {
|
||||
EvDirPyrEqualizerSkin = 251,
|
||||
EvDirPyrEqlgamutlab = 252,
|
||||
EvDirPyrEqualizerHueskin = 253,
|
||||
// EvDirPyrEqualizeralg=254,
|
||||
EvDPDNmedian = 254,
|
||||
EvDPDNmedian = 254, // EvDirPyrEqualizeralg=254,
|
||||
EvDPDNmedmet = 255,
|
||||
EvColorToningEnabled = 256,
|
||||
EvColorToningColor = 257,
|
||||
EvColorToningOpacity = 258,
|
||||
EvColorToningCLCurve = 259,
|
||||
EvColorToningCLCurve = 259, // EvColorToningTwocolor=259,
|
||||
EvColorToningMethod = 260,
|
||||
// EvColorToningTwocolor=259,
|
||||
EvColorToningLLCurve = 261,
|
||||
EvColorToningredlow = 262,
|
||||
EvColorToninggreenlow = 263,
|
||||
@@ -444,7 +445,7 @@ enum ProcEvent {
|
||||
EvRetinexEnabled = 415,
|
||||
EvRetinexmedianmap = 416,
|
||||
EvLlimd = 417,
|
||||
EvretinexColorSpace = 418, //change to 418 if we want a separate history entry "Retinex - Color space"
|
||||
EvretinexColorSpace = 418, // 418 if we want a separate history entry "Retinex - Color space", 406 if we don't
|
||||
EvLCDHCurve = 419,
|
||||
Evretinexgamma = 420,
|
||||
NUMOFEVENTS
|
||||
@@ -452,4 +453,3 @@ enum ProcEvent {
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
@@ -123,10 +123,6 @@ RetinexParams::RetinexParams ()
|
||||
|
||||
void RetinexParams::getDefaulttransmissionCurve(std::vector<double> &curve)
|
||||
{
|
||||
/* double v[8] = { 0.0, 0.50, 0.35, 0.35,
|
||||
1.0, 0.50, 0.35, 0.35,
|
||||
};
|
||||
*/
|
||||
double v[12] = { 0.00, 0.25, 0.35, 0.35,
|
||||
0.60, 0.90, 0.35, 0.35,
|
||||
1.00, 0.50, 0.35, 0.35,
|
||||
@@ -141,40 +137,6 @@ void RetinexParams::getDefaulttransmissionCurve(std::vector<double> &curve)
|
||||
}
|
||||
}
|
||||
|
||||
void RetinexParams::getDefaultCDCurve(std::vector<double> &curve)
|
||||
{
|
||||
double v[4] = { 0., 0.,
|
||||
// 0.25, 0.25,
|
||||
// 0.5, 0.5,
|
||||
// 0.75, 0.75,
|
||||
1., 1.,
|
||||
};
|
||||
|
||||
curve.resize(5);
|
||||
curve.at(0) = double(DCT_NURBS);
|
||||
|
||||
for (size_t i = 1; i < curve.size(); ++i) {
|
||||
curve.at(i) = v[i - 1];
|
||||
}
|
||||
}
|
||||
|
||||
void RetinexParams::getDefaultCDHCurve(std::vector<double> &curve)
|
||||
{
|
||||
double v[4] = { 0.00, 0.00,
|
||||
// 0.5, 0.5,
|
||||
1.0, 1.0,
|
||||
};
|
||||
|
||||
curve.resize(5);
|
||||
curve.at(0) = double(DCT_NURBS);
|
||||
|
||||
for (size_t i = 1; i < curve.size(); ++i) {
|
||||
curve.at(i) = v[i - 1];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
void RetinexParams::setDefaults()
|
||||
{
|
||||
enabled = false;
|
||||
@@ -185,14 +147,15 @@ void RetinexParams::setDefaults()
|
||||
offs = 0;
|
||||
vart = 125;
|
||||
limd = 8;
|
||||
getDefaulttransmissionCurve(transmissionCurve);
|
||||
getDefaultCDCurve(cdcurve);
|
||||
getDefaultCDHCurve(cdHcurve);
|
||||
retinexMethod = "high";
|
||||
retinexcolorspace = "Lab";
|
||||
gammaretinex = "none";
|
||||
medianmap = true;
|
||||
|
||||
cdcurve.clear();
|
||||
cdcurve.push_back(DCT_Linear);
|
||||
cdHcurve.clear();
|
||||
cdHcurve.push_back(DCT_Linear);
|
||||
getDefaulttransmissionCurve(transmissionCurve);
|
||||
}
|
||||
|
||||
void RetinexParams::getCurves(RetinextransmissionCurve &transmissionCurveLUT) const
|
||||
|
||||
@@ -288,9 +288,6 @@ public:
|
||||
void getCurves(RetinextransmissionCurve &transmissionCurveLUT) const;
|
||||
|
||||
static void getDefaulttransmissionCurve(std::vector<double> &curve);
|
||||
static void getDefaultCDCurve(std::vector<double> &curve);
|
||||
static void getDefaultCDHCurve(std::vector<double> &curve);
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -19,6 +19,13 @@
|
||||
#include "refreshmap.h"
|
||||
#include "procevents.h"
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// Aligned so the first entry starts on line 30
|
||||
int refreshmap[rtengine::NUMOFEVENTS] = {
|
||||
ALL, // EvPhotoLoaded,
|
||||
ALL, // EvProfileLoaded,
|
||||
@@ -102,7 +109,7 @@ int refreshmap[rtengine::NUMOFEVENTS] = {
|
||||
RESIZE, // EvResizeHeight
|
||||
RESIZE, // EvResizeEnabled
|
||||
ALL, // EvProfileChangeNotification
|
||||
// RETINEX, // EvShrHighQuality
|
||||
RETINEX, // EvShrHighQuality
|
||||
TRANSFORM, // EvPerspCorr
|
||||
DARKFRAME, // EvLCPFile
|
||||
RGBCURVE, // EvRGBrCurveLumamode
|
||||
@@ -169,7 +176,7 @@ int refreshmap[rtengine::NUMOFEVENTS] = {
|
||||
SHARPENING, // EvSharpenEdgeThreechannels
|
||||
SHARPENING, // EvSharpenMicroEnabled
|
||||
SHARPENING, // EvSharpenMicroMatrix
|
||||
DEMOSAIC, // EvDemosaicALLEnhanced // Disabled but not removed for now, may be reintroduced some day
|
||||
DEMOSAIC, // EvDemosaicALLEnhanced Disabled but not removed for now, may be reintroduced some day
|
||||
RGBCURVE, // EvVibranceEnabled
|
||||
RGBCURVE, // EvVibrancePastels
|
||||
RGBCURVE, // EvVibranceSaturated
|
||||
@@ -255,7 +262,7 @@ int refreshmap[rtengine::NUMOFEVENTS] = {
|
||||
RGBCURVE, // EvBWAfterCurve
|
||||
RGBCURVE, // EvBWAfterCurveMode
|
||||
RGBCURVE, // EvAutoch
|
||||
NONE, // --unused--
|
||||
0, // --unused--
|
||||
RGBCURVE, // EvNeutralBW
|
||||
TRANSFORM, // EvGradientFeather
|
||||
TRANSFORM, // EvGradientStrength
|
||||
@@ -275,14 +282,12 @@ int refreshmap[rtengine::NUMOFEVENTS] = {
|
||||
DIRPYREQUALIZER, // EvDirPyrEqlgamutlab
|
||||
DIRPYREQUALIZER, // EvDirPyrEqualizerHueskin
|
||||
ALLNORAW, // EvDPDNmedian
|
||||
ALLNORAW, //EvDPDNmedmet
|
||||
//DIRPYREQUALIZER // EvDirPyrEqualizeralg
|
||||
ALLNORAW, // EvDPDNmedmet
|
||||
RGBCURVE, // EvColorToningEnabled
|
||||
RGBCURVE, // EvColorToningColor
|
||||
RGBCURVE, // EvColorToningOpacity
|
||||
RGBCURVE, // EvColorToningCLCurve
|
||||
RGBCURVE, // EvColorToningMethod
|
||||
//RGBCURVE, // EvColorToningTwocolor
|
||||
RGBCURVE, // EvColorToningLLCurve
|
||||
RGBCURVE, // EvColorToningredlow
|
||||
RGBCURVE, // EvColorToninggreenlow
|
||||
@@ -304,27 +309,27 @@ int refreshmap[rtengine::NUMOFEVENTS] = {
|
||||
RGBCURVE, // EvColorToningHighights
|
||||
RGBCURVE, // EvColorToningSatProtection
|
||||
RGBCURVE, // EvColorToningSatThreshold
|
||||
RGBCURVE, //EvColorToningStrength
|
||||
RGBCURVE, //EvColorToningautosat
|
||||
ALLNORAW, //EvDPDNmetmed
|
||||
ALLNORAW, //EvDPDNrgbmet
|
||||
ALLNORAW, //EvDPDNpasses
|
||||
RGBCURVE, // EvColorToningStrength
|
||||
RGBCURVE, // EvColorToningautosat
|
||||
ALLNORAW, // EvDPDNmetmed
|
||||
ALLNORAW, // EvDPDNrgbmet
|
||||
ALLNORAW, // EvDPDNpasses
|
||||
FLATFIELD, // EvFlatFieldClipControl
|
||||
FLATFIELD, // EvFlatFieldAutoClipControl
|
||||
DARKFRAME, // EvPreProcessExpBlackRed
|
||||
DARKFRAME, // EvPreProcessExpBlackGreen
|
||||
DARKFRAME, // EvPreProcessExpBlackBlue
|
||||
RGBCURVE, //EvFilmSimulationEnabled
|
||||
RGBCURVE, //EvFilmSimulationStrength
|
||||
RGBCURVE, //EvFilmSimulationFilename
|
||||
ALLNORAW, // EvDPDNLCurve
|
||||
ALLNORAW, // EvDPDNsmet
|
||||
RGBCURVE, // EvFilmSimulationEnabled
|
||||
RGBCURVE, // EvFilmSimulationStrength
|
||||
RGBCURVE, // EvFilmSimulationFilename
|
||||
ALLNORAW, // EvDPDNLCurve
|
||||
ALLNORAW, // EvDPDNsmet
|
||||
DARKFRAME, // EvPreProcessDeadPixel
|
||||
ALLNORAW, //EvDPDNCCCurve
|
||||
ALLNORAW, //EvDPDNautochroma
|
||||
ALLNORAW, // EvDPDNLmet
|
||||
ALLNORAW, // EvDPDNCmet
|
||||
ALLNORAW, // EvDPDNC2met
|
||||
ALLNORAW, // EvDPDNCCCurve
|
||||
ALLNORAW, // EvDPDNautochroma
|
||||
ALLNORAW, // EvDPDNLmet
|
||||
ALLNORAW, // EvDPDNCmet
|
||||
ALLNORAW, // EvDPDNC2met
|
||||
DIRPYREQUALIZER, // EvWavelet
|
||||
DIRPYREQUALIZER, // EvEnabled
|
||||
DIRPYREQUALIZER, // EvWavLmethod
|
||||
@@ -365,86 +370,83 @@ int refreshmap[rtengine::NUMOFEVENTS] = {
|
||||
DIRPYREQUALIZER, // EvWavdaubcoeffmet
|
||||
DIRPYREQUALIZER, // EvWavedgreinf
|
||||
DIRPYREQUALIZER, // EvWaveletch
|
||||
DIRPYREQUALIZER, //EvWavCHSLmet
|
||||
DIRPYREQUALIZER, //EvWavedgcont
|
||||
DIRPYREQUALIZER, //EvWavEDmet
|
||||
DIRPYREQUALIZER, //EvWavlev0nois
|
||||
DIRPYREQUALIZER, //EvWavlev1nois
|
||||
DIRPYREQUALIZER, //EvWavlev2nois
|
||||
DIRPYREQUALIZER, //EvWavmedianlev
|
||||
DIRPYREQUALIZER, //EvWavHHCurve
|
||||
DIRPYREQUALIZER, //EvWavBackmet
|
||||
DIRPYREQUALIZER, //EvWavedgedetect
|
||||
DIRPYREQUALIZER, //EvWavlipst
|
||||
DIRPYREQUALIZER, //EvWavedgedetectthr
|
||||
DIRPYREQUALIZER, //EvWavedgedetectthr2
|
||||
DIRPYREQUALIZER, //EvWavlinkedg
|
||||
DIRPYREQUALIZER, //EvWavCHCurve
|
||||
DARKFRAME, //EvPreProcessHotDeadThresh
|
||||
SHARPENING, //EvEPDgamma
|
||||
DIRPYREQUALIZER, //EvWavtmr
|
||||
DIRPYREQUALIZER, //EvWavTMmet
|
||||
DIRPYREQUALIZER, //EvWavtmrs
|
||||
DIRPYREQUALIZER, //EvWavbalance
|
||||
DIRPYREQUALIZER, //EvWaviter
|
||||
DIRPYREQUALIZER, //EvWavgamma
|
||||
DIRPYREQUALIZER, //EvWavCLCurve
|
||||
DIRPYREQUALIZER, //EvWavopacity
|
||||
DIRPYREQUALIZER, //EvWavBAmet
|
||||
DIRPYREQUALIZER, //EvWavopacityWL
|
||||
RESIZE, // EvPrShrEnabled
|
||||
RESIZE, // EvPrShrRadius
|
||||
RESIZE, // EvPrShrAmount
|
||||
RESIZE, // EvPrShrThresh
|
||||
RESIZE, // EvPrShrEdgeOnly
|
||||
RESIZE, // EvPrShrEdgeRadius=375,
|
||||
RESIZE, // EvPrShrEdgeTolerance=376,
|
||||
RESIZE, // EvPrShrHaloControl=377,
|
||||
RESIZE, // EvPrShrHaloAmount=378,
|
||||
RESIZE, // EvPrShrMethod=379,
|
||||
RESIZE, // EvPrShrDRadius=380,
|
||||
RESIZE, // EvPrShrDAmount=381,
|
||||
RESIZE, // EvPrShrDDamping=382,
|
||||
RESIZE, // EvPrShrDIterations=383,
|
||||
DIRPYREQUALIZER, // EvWavcbenab
|
||||
DIRPYREQUALIZER, // EvWavgreenhigh
|
||||
DIRPYREQUALIZER, // EvWavbluehigh
|
||||
DIRPYREQUALIZER, // EvWavgreenmed
|
||||
DIRPYREQUALIZER, // EvWavbluemed
|
||||
DIRPYREQUALIZER, // EvWavgreenlow
|
||||
DIRPYREQUALIZER, // EvWavbluelow
|
||||
DIRPYREQUALIZER, // EvWavNeutral
|
||||
RGBCURVE, // EvDCPApplyLookTable,
|
||||
RGBCURVE, // EvDCPApplyBaselineExposureOffset,
|
||||
INPUTPROFILE, // EvDCPApplyHueSatMap
|
||||
DIRPYREQUALIZER, // EvWavenacont
|
||||
DIRPYREQUALIZER, // EvWavenachrom
|
||||
DIRPYREQUALIZER, // EvWavenaedge
|
||||
DIRPYREQUALIZER, // EvWavenares
|
||||
DIRPYREQUALIZER, // EvWavenafin
|
||||
DIRPYREQUALIZER, // EvWavenatoning
|
||||
DIRPYREQUALIZER, // EvWavenanoise
|
||||
DIRPYREQUALIZER, // EvWavedgesensi
|
||||
DIRPYREQUALIZER, // EvWavedgeampli
|
||||
DIRPYREQUALIZER, //EvWavlev3nois
|
||||
DIRPYREQUALIZER, //EvWavNPmet
|
||||
DEMOSAIC, // Unused?
|
||||
ALLNORAW, // EvretinexMethod
|
||||
ALLNORAW, // EvLneigh
|
||||
ALLNORAW, // EvLgain
|
||||
ALLNORAW, // EvLoffs was EvLstr
|
||||
ALLNORAW, // EvLstr was EvLscal
|
||||
ALLNORAW, // EvLscal was EvLvart
|
||||
ALLNORAW, // EvLvart was EvLCDCurve
|
||||
ALLNORAW, // EvRetinexOpacity // not used
|
||||
ALLNORAW, // EvRetinextransmission
|
||||
DEMOSAIC, // EvRetinexEnabled was EvRetinexretinex <-- TODO we can probably delete this
|
||||
ALLNORAW, // EvRetinexmedianmap
|
||||
ALLNORAW, // EvLlimd
|
||||
DEMOSAIC, // Evretinexcolorspace
|
||||
DEMOSAIC, // EvRetinexgamma
|
||||
ALLNORAW // EvLCDHCurve
|
||||
|
||||
|
||||
DIRPYREQUALIZER, // EvWavCHSLmet
|
||||
DIRPYREQUALIZER, // EvWavedgcont
|
||||
DIRPYREQUALIZER, // EvWavEDmet
|
||||
DIRPYREQUALIZER, // EvWavlev0nois
|
||||
DIRPYREQUALIZER, // EvWavlev1nois
|
||||
DIRPYREQUALIZER, // EvWavlev2nois
|
||||
DIRPYREQUALIZER, // EvWavmedianlev
|
||||
DIRPYREQUALIZER, // EvWavHHCurve
|
||||
DIRPYREQUALIZER, // EvWavBackmet
|
||||
DIRPYREQUALIZER, // EvWavedgedetect
|
||||
DIRPYREQUALIZER, // EvWavlipst
|
||||
DIRPYREQUALIZER, // EvWavedgedetectthr
|
||||
DIRPYREQUALIZER, // EvWavedgedetectthr2
|
||||
DIRPYREQUALIZER, // EvWavlinkedg
|
||||
DIRPYREQUALIZER, // EvWavCHCurve
|
||||
DARKFRAME, // EvPreProcessHotDeadThresh
|
||||
SHARPENING, // EvEPDgamma
|
||||
DIRPYREQUALIZER, // EvWavtmr
|
||||
DIRPYREQUALIZER, // EvWavTMmet
|
||||
DIRPYREQUALIZER, // EvWavtmrs
|
||||
DIRPYREQUALIZER, // EvWavbalance
|
||||
DIRPYREQUALIZER, // EvWaviter
|
||||
DIRPYREQUALIZER, // EvWavgamma
|
||||
DIRPYREQUALIZER, // EvWavCLCurve
|
||||
DIRPYREQUALIZER, // EvWavopacity
|
||||
DIRPYREQUALIZER, // EvWavBAmet
|
||||
DIRPYREQUALIZER, // EvWavopacityWL
|
||||
RESIZE, // EvPrShrEnabled
|
||||
RESIZE, // EvPrShrRadius
|
||||
RESIZE, // EvPrShrAmount
|
||||
RESIZE, // EvPrShrThresh
|
||||
RESIZE, // EvPrShrEdgeOnly
|
||||
RESIZE, // EvPrShrEdgeRadius=375,
|
||||
RESIZE, // EvPrShrEdgeTolerance=376,
|
||||
RESIZE, // EvPrShrHaloControl=377,
|
||||
RESIZE, // EvPrShrHaloAmount=378,
|
||||
RESIZE, // EvPrShrMethod=379,
|
||||
RESIZE, // EvPrShrDRadius=380,
|
||||
RESIZE, // EvPrShrDAmount=381,
|
||||
RESIZE, // EvPrShrDDamping=382,
|
||||
RESIZE, // EvPrShrDIterations=383,
|
||||
DIRPYREQUALIZER, // EvWavcbenab
|
||||
DIRPYREQUALIZER, // EvWavgreenhigh
|
||||
DIRPYREQUALIZER, // EvWavbluehigh
|
||||
DIRPYREQUALIZER, // EvWavgreenmed
|
||||
DIRPYREQUALIZER, // EvWavbluemed
|
||||
DIRPYREQUALIZER, // EvWavgreenlow
|
||||
DIRPYREQUALIZER, // EvWavbluelow
|
||||
DIRPYREQUALIZER, // EvWavNeutral
|
||||
RGBCURVE, // EvDCPApplyLookTable,
|
||||
RGBCURVE, // EvDCPApplyBaselineExposureOffset,
|
||||
INPUTPROFILE, // EvDCPApplyHueSatMap
|
||||
DIRPYREQUALIZER, // EvWavenacont
|
||||
DIRPYREQUALIZER, // EvWavenachrom
|
||||
DIRPYREQUALIZER, // EvWavenaedge
|
||||
DIRPYREQUALIZER, // EvWavenares
|
||||
DIRPYREQUALIZER, // EvWavenafin
|
||||
DIRPYREQUALIZER, // EvWavenatoning
|
||||
DIRPYREQUALIZER, // EvWavenanoise
|
||||
DIRPYREQUALIZER, // EvWavedgesensi
|
||||
DIRPYREQUALIZER, // EvWavedgeampli
|
||||
DIRPYREQUALIZER, // EvWavlev3nois
|
||||
DIRPYREQUALIZER, // EvWavNPmet
|
||||
ALLNORAW, // EvretinexMethod
|
||||
ALLNORAW, // EvLneigh
|
||||
ALLNORAW, // EvLgain
|
||||
ALLNORAW, // EvLoffs
|
||||
ALLNORAW, // EvLstr
|
||||
ALLNORAW, // EvLscal
|
||||
ALLNORAW, // EvLvart
|
||||
ALLNORAW, // EvLCDCurve
|
||||
ALLNORAW, // EvRetinextransmission
|
||||
DEMOSAIC, // EvRetinexEnabled
|
||||
ALLNORAW, // EvRetinexmedianmap
|
||||
ALLNORAW, // EvLlimd
|
||||
DEMOSAIC, // Evretinexcolorspace
|
||||
ALLNORAW, // EvLCDHCurve
|
||||
DEMOSAIC // Evretinexgamma
|
||||
};
|
||||
|
||||
|
||||
@@ -68,7 +68,6 @@
|
||||
#define INPUTPROFILE WHITEBALANCE
|
||||
#define GAMMA (M_COLOR|M_LUMINANCE)
|
||||
#define MINUPDATE M_MINUPDATE
|
||||
#define NONE 0
|
||||
#define ALLNORAW (M_INIT|M_LINDENOISE|M_TRANSFORM|M_BLURMAP|M_AUTOEXP|M_RGBCURVE|M_LUMACURVE|M_LUMINANCE|M_COLOR)
|
||||
|
||||
extern int refreshmap[];
|
||||
|
||||
@@ -47,17 +47,15 @@ Retinex::Retinex () : FoldableToolPanel(this, "retinex", M("TP_RETINEX_LABEL"),
|
||||
retinexcolorspace->set_active(0);
|
||||
retinexColorSpaceConn = retinexcolorspace->signal_changed().connect ( sigc::mem_fun(*this, &Retinex::retinexColorSpaceChanged) );
|
||||
|
||||
|
||||
dhbox->pack_start(*retinexMethod);
|
||||
dhbox->pack_start(*retinexcolorspace);
|
||||
retinexVBox->pack_start(*dhbox);
|
||||
std::vector<double> defaultCurve;
|
||||
|
||||
|
||||
// Histogram equalizer Lab curve
|
||||
curveEditorGD = new CurveEditorGroup (options.lastRetinexDir, M("TP_RETINEX_CONTEDIT_LAB"));
|
||||
curveEditorGD->setCurveListener (this);
|
||||
rtengine::RetinexParams::getDefaultCDCurve(defaultCurve);
|
||||
cdshape = static_cast<DiagonalCurveEditor*>(curveEditorGD->addCurve(CT_Diagonal, M("TP_RETINEX_CURVEEDITOR_CD")));
|
||||
cdshape->setResetCurve(DiagonalCurveType(defaultCurve.at(0)), defaultCurve);
|
||||
cdshape->setTooltip(M("TP_RETINEX_CURVEEDITOR_CD_TOOLTIP"));
|
||||
std::vector<GradientMilestone> milestones22;
|
||||
|
||||
@@ -68,11 +66,11 @@ Retinex::Retinex () : FoldableToolPanel(this, "retinex", M("TP_RETINEX_LABEL"),
|
||||
|
||||
curveEditorGD->curveListComplete();
|
||||
|
||||
|
||||
// Histogram equalizer HSL curve
|
||||
curveEditorGDH = new CurveEditorGroup (options.lastRetinexDir, M("TP_RETINEX_CONTEDIT_HSL"));
|
||||
curveEditorGDH->setCurveListener (this);
|
||||
rtengine::RetinexParams::getDefaultCDHCurve(defaultCurve);
|
||||
cdshapeH = static_cast<DiagonalCurveEditor*>(curveEditorGDH->addCurve(CT_Diagonal, M("TP_RETINEX_CURVEEDITOR_CD")));
|
||||
cdshapeH->setResetCurve(DiagonalCurveType(defaultCurve.at(0)), defaultCurve);
|
||||
cdshapeH->setTooltip(M("TP_RETINEX_CURVEEDITOR_CD_TOOLTIP"));
|
||||
std::vector<GradientMilestone> milestones22H;
|
||||
|
||||
@@ -84,9 +82,11 @@ Retinex::Retinex () : FoldableToolPanel(this, "retinex", M("TP_RETINEX_LABEL"),
|
||||
curveEditorGDH->curveListComplete();
|
||||
|
||||
|
||||
// Transmission map curve
|
||||
transmissionCurveEditorG = new CurveEditorGroup (options.lastRetinexDir, M("TP_RETINEX_TRANSMISSION"));
|
||||
transmissionCurveEditorG->setCurveListener (this);
|
||||
|
||||
std::vector<double> defaultCurve;
|
||||
rtengine::RetinexParams::getDefaulttransmissionCurve(defaultCurve);
|
||||
transmissionShape = static_cast<FlatCurveEditor*>(transmissionCurveEditorG->addCurve(CT_Flat, "", NULL, false));
|
||||
transmissionShape->setIdentityValue(0.);
|
||||
@@ -257,8 +257,8 @@ void Retinex::writeOptions(std::vector<int> &tpOpen)
|
||||
|
||||
void Retinex::updateToolState(std::vector<int> &tpOpen)
|
||||
{
|
||||
if(tpOpen.size() == 9) {
|
||||
expsettings->set_expanded(tpOpen.at(0));
|
||||
if(tpOpen.size() == 10) {
|
||||
expsettings->set_expanded(tpOpen.at(9));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -559,6 +559,7 @@ void ToolPanelCoordinator::writeOptions ()
|
||||
}
|
||||
|
||||
wavelet->writeOptions(options.tpOpen);
|
||||
retinex->writeOptions(options.tpOpen);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user