diff --git a/rtdata/languages/Catala b/rtdata/languages/Catala
index cbfeb5e18..069e9b99f 100644
--- a/rtdata/languages/Catala
+++ b/rtdata/languages/Catala
@@ -526,7 +526,6 @@ PARTIALPASTE_LENSPROFILE;Perfil de correcció de l'objectiu
PARTIALPASTE_METAICMGROUP;Ajustos Metadades/gestió de color
PARTIALPASTE_PERSPECTIVE;Perspectiva
PARTIALPASTE_PREPROCESS_GREENEQUIL;Equilibri verd
-PARTIALPASTE_PREPROCESS_HOTDEADPIXFILT;Aplica filtre píxels cremats/morts
PARTIALPASTE_PREPROCESS_LINEDENOISE;Filtre línia de soroll
PARTIALPASTE_RAWCACORR_AUTO;Auto-correcció AC
PARTIALPASTE_RAWCACORR_CABLUE;AC blau
@@ -904,7 +903,6 @@ TP_PERSPECTIVE_HORIZONTAL;Horitzontal
TP_PERSPECTIVE_LABEL;Perspectiva
TP_PERSPECTIVE_VERTICAL;Vertical
TP_PREPROCESS_GREENEQUIL;Equilibri verd
-TP_PREPROCESS_HOTDEADPIXFILT;Aplica filtre píxels cremats/morts
TP_PREPROCESS_LABEL;Preprocessant
TP_PREPROCESS_LINEDENOISE;Filtre línia dessoroll
TP_PREPROCESS_NO_FOUND;No trobat
diff --git a/rtdata/languages/Deutsch b/rtdata/languages/Deutsch
index 0a3df7d5c..c45d34bf0 100644
--- a/rtdata/languages/Deutsch
+++ b/rtdata/languages/Deutsch
@@ -1190,7 +1190,6 @@ TP_PERSPECTIVE_LABEL;Perspektive
TP_PERSPECTIVE_VERTICAL;Vertikal
TP_PREPROCESS_DEADPIXFILT;Dead-Pixel-Filter
TP_PREPROCESS_GREENEQUIL;Grün-Ausgleich
-TP_PREPROCESS_HOTDEADPIXTHRESH;Hot/Dead-Pixel-Erkennung\nSchwellenwert
TP_PREPROCESS_HOTPIXFILT;Hot-Pixel-Filter
TP_PREPROCESS_LABEL;Vorverarbeitung
TP_PREPROCESS_LINEDENOISE;Zeilenrauschfilter
diff --git a/rtdata/languages/Espanol b/rtdata/languages/Espanol
index 3ebdfef29..415324a3f 100644
--- a/rtdata/languages/Espanol
+++ b/rtdata/languages/Espanol
@@ -759,7 +759,6 @@ PARTIALPASTE_PCVIGNETTE;Filtro quitar viñeteado
PARTIALPASTE_PERSPECTIVE;Perspectiva
PARTIALPASTE_PREPROCESS_DEADPIXFILT;Aplicar filtro Pixel Muerto
PARTIALPASTE_PREPROCESS_GREENEQUIL;Equilibrio del verde
-PARTIALPASTE_PREPROCESS_HOTDEADPIXFILT;Filtrar píxel caliente/muerto
PARTIALPASTE_PREPROCESS_HOTPIXFILT;Aplicar filtro Pixel Caliente
PARTIALPASTE_PREPROCESS_LINEDENOISE;Filtro de ruido de línea
PARTIALPASTE_RAWCACORR_AUTO;Auto corrección de Aberración Cromática
@@ -881,7 +880,6 @@ PREFERENCES_HISTOGRAMPOSITIONLEFT;Histograma en panel izquierdo
PREFERENCES_HISTOGRAMWORKING;Usar perfil de trabajo para el histograma principal y el navegador
PREFERENCES_HISTOGRAM_TOOLTIP;Si está activado, el perfil de trabajo se utiliza para renderizar el histograma principal y el panel navegador, de lo contrario se utiliza el perfil de Gamma Corregida de salida.
PREFERENCES_HLTHRESHOLD;Umbral de luces altas cortadas
-PREFERENCES_HOTDEADPIXFILT;Aplicar filtro de píxel dañado
PREFERENCES_ICCDIR;Carpeta con perfiles de color ICC
PREFERENCES_IMPROCPARAMS;Parámetros de procesamiento de imágenes predeterminados
PREFERENCES_INTENT_ABSOLUTE;Colorimétrico absoluto
@@ -1531,8 +1529,6 @@ TP_PREPROCESS_FLATFIELDBLURRADIUS;Radio de difuminado de campo plano
TP_PREPROCESS_FLATFIELDBLURTYPE;Tipo de difuminado de campo plano
TP_PREPROCESS_FLATFIELDFILE;Archivo de campo plano
TP_PREPROCESS_GREENEQUIL;Equilibrado de verdes
-TP_PREPROCESS_HOTDEADPIXFILT;Aplicar filtro de píxel dañado
-TP_PREPROCESS_HOTDEADPIXFILT_TOOLTIP;Intenta eliminar píxeles calientes o muertos
TP_PREPROCESS_HOTPIXFILT;Filtro Pixel Caliente
TP_PREPROCESS_HOTPIXFILT_TOOLTIP;Trata de eliminar los píxeles calientes.
TP_PREPROCESS_LABEL;Preprocesado
diff --git a/rtdata/languages/Italiano b/rtdata/languages/Italiano
index c885e40aa..19d00174e 100644
--- a/rtdata/languages/Italiano
+++ b/rtdata/languages/Italiano
@@ -641,7 +641,6 @@ PARTIALPASTE_METAICMGROUP;Impostazioni di metadati e Gestione Colore
PARTIALPASTE_PCVIGNETTE;Filtro Vignettatura
PARTIALPASTE_PERSPECTIVE;Prospettiva
PARTIALPASTE_PREPROCESS_GREENEQUIL;Bilanciamento del verde
-PARTIALPASTE_PREPROCESS_HOTDEADPIXFILT;Filtro dei pixel surriscaldati/guasti
PARTIALPASTE_PREPROCESS_LINEDENOISE;Filtro per rumore a bande
PARTIALPASTE_RAWCACORR_AUTO;Autocorrezione AC
PARTIALPASTE_RAWCACORR_CABLUE;Correzione AC blu
@@ -1240,8 +1239,6 @@ TP_PERSPECTIVE_VERTICAL;Verticale
TP_PFCURVE_CURVEEDITOR_CH;Tonalità
TP_PFCURVE_CURVEEDITOR_CH_TOOLTIP;Controlla la forza di defringe dal colore.\nPiù alto = di più,\nPiù basso = di meno.
TP_PREPROCESS_GREENEQUIL;Bilanciamento del verde
-TP_PREPROCESS_HOTDEADPIXFILT;Filtro pixel surriscaldati/guasti
-TP_PREPROCESS_HOTDEADPIXFILT_TOOLTIP;Prova ad eliminare i pixel surriscaldati e guasti.
TP_PREPROCESS_LABEL;Pre-elaborazione
TP_PREPROCESS_LINEDENOISE;Filtro per rumore a bande
TP_PREPROCESS_NO_FOUND;Nessuno presente
diff --git a/rtdata/languages/Magyar b/rtdata/languages/Magyar
index f7bc94b4a..1f9954376 100644
--- a/rtdata/languages/Magyar
+++ b/rtdata/languages/Magyar
@@ -509,7 +509,6 @@ PARTIALPASTE_LUMACURVE;Luminancia görbe
PARTIALPASTE_METAICMGROUP;Metaadat/Színprofil beállítások
PARTIALPASTE_PERSPECTIVE;Perspektíva
PARTIALPASTE_PREPROCESS_GREENEQUIL;Zöldegyensúly
-PARTIALPASTE_PREPROCESS_HOTDEADPIXFILT;Hot/dead pixel szűrő alkalmazása
PARTIALPASTE_PREPROCESS_LINEDENOISE;Soronkénti zajszűrés
PARTIALPASTE_RAWCACORR_AUTO;CA autokorrekció
PARTIALPASTE_RAWCACORR_CABLUE;CA kék
@@ -875,8 +874,6 @@ TP_PERSPECTIVE_HORIZONTAL;Vízszintes
TP_PERSPECTIVE_LABEL;Perspektíva
TP_PERSPECTIVE_VERTICAL;Függőleges
TP_PREPROCESS_GREENEQUIL;Zöldegyensúly
-TP_PREPROCESS_HOTDEADPIXFILT;Hot/dead pixel szűrő alkalmazása
-TP_PREPROCESS_HOTDEADPIXTHRESH;Hot/dead pixel érzékelés küszöbe
TP_PREPROCESS_LABEL;Előfeldolgozás
TP_PREPROCESS_LINEDENOISE;Sorzaj-szűrő
TP_PREPROCESS_NO_FOUND;Nincs elérhető
diff --git a/rtdata/languages/Russian b/rtdata/languages/Russian
index ce34c868d..0f0ebc37c 100644
--- a/rtdata/languages/Russian
+++ b/rtdata/languages/Russian
@@ -644,7 +644,6 @@ PARTIALPASTE_METAICMGROUP;Настройка метаданных/парамет
PARTIALPASTE_PCVIGNETTE;Фильтр виньетирования
PARTIALPASTE_PERSPECTIVE;Перспектива
PARTIALPASTE_PREPROCESS_GREENEQUIL;Выравнивание зелёного канала
-PARTIALPASTE_PREPROCESS_HOTDEADPIXFILT;Применить фильтр горячих/битых пикселей
PARTIALPASTE_PREPROCESS_LINEDENOISE;Фильтр полосообразного шума
PARTIALPASTE_RAWCACORR_AUTO;Автоматическая коррекция ХА
PARTIALPASTE_RAWCACORR_CABLUE;Синие ХА
@@ -1191,8 +1190,6 @@ TP_PERSPECTIVE_VERTICAL;Вертикальная
TP_PFCURVE_CURVEEDITOR_CH;Цвет
TP_PFCURVE_CURVEEDITOR_CH_TOOLTIP;Контроль силы подавления в зависимости от цвета.\nВыше - сильней, ниже - слабей.
TP_PREPROCESS_GREENEQUIL;Выравнивание зелёного
-TP_PREPROCESS_HOTDEADPIXFILT;Фильтровать битые пиксели
-TP_PREPROCESS_HOTDEADPIXFILT_TOOLTIP;Попытка подавить засвеченные/битые пиксели
TP_PREPROCESS_LABEL;Предобработка
TP_PREPROCESS_LINEDENOISE;Фильтр линейного шума
TP_PREPROCESS_NO_FOUND;Ничего не найдено
diff --git a/rtdata/languages/Serbian (Cyrilic Characters) b/rtdata/languages/Serbian (Cyrilic Characters)
index 6a53cef7a..b0425c833 100644
--- a/rtdata/languages/Serbian (Cyrilic Characters)
+++ b/rtdata/languages/Serbian (Cyrilic Characters)
@@ -457,7 +457,6 @@ PARTIALPASTE_LUMACURVE;Крива луминасе
PARTIALPASTE_METAICMGROUP;Метаподаци/ИЦМ подешавања
PARTIALPASTE_PERSPECTIVE;Перспектива
PARTIALPASTE_PREPROCESS_GREENEQUIL;Уједначавање зелене
-PARTIALPASTE_PREPROCESS_HOTDEADPIXFILT;Филтер врелих/мртвих пиксела
PARTIALPASTE_PREPROCESS_LINEDENOISE;Линијски филтер шума
PARTIALPASTE_RAWCACORR_AUTO;Ауто хроматске аберације
PARTIALPASTE_RAWCACORR_CABLUE;Плава хроминанса
@@ -799,7 +798,6 @@ TP_PERSPECTIVE_HORIZONTAL;Хоризонтална
TP_PERSPECTIVE_LABEL;Перспектива
TP_PERSPECTIVE_VERTICAL;Вертикална
TP_PREPROCESS_GREENEQUIL;Калибрација зелене боје
-TP_PREPROCESS_HOTDEADPIXFILT;Избаци прегореле и мртве пикселе
TP_PREPROCESS_LABEL;Предобрада
TP_PREPROCESS_LINEDENOISE;Линијски филтер шума
TP_PREPROCESS_NO_FOUND;Није пронађено
diff --git a/rtdata/languages/Serbian (Latin Characters) b/rtdata/languages/Serbian (Latin Characters)
index 607044376..8272bb0ec 100644
--- a/rtdata/languages/Serbian (Latin Characters)
+++ b/rtdata/languages/Serbian (Latin Characters)
@@ -457,7 +457,6 @@ PARTIALPASTE_LUMACURVE;Kriva luminase
PARTIALPASTE_METAICMGROUP;Metapodaci/ICM podešavanja
PARTIALPASTE_PERSPECTIVE;Perspektiva
PARTIALPASTE_PREPROCESS_GREENEQUIL;Ujednačavanje zelene
-PARTIALPASTE_PREPROCESS_HOTDEADPIXFILT;Filter vrelih/mrtvih piksela
PARTIALPASTE_PREPROCESS_LINEDENOISE;Linijski filter šuma
PARTIALPASTE_RAWCACORR_AUTO;Auto hromatske aberacije
PARTIALPASTE_RAWCACORR_CABLUE;Plava hrominansa
@@ -799,7 +798,6 @@ TP_PERSPECTIVE_HORIZONTAL;Horizontalna
TP_PERSPECTIVE_LABEL;Perspektiva
TP_PERSPECTIVE_VERTICAL;Vertikalna
TP_PREPROCESS_GREENEQUIL;Kalibracija zelene boje
-TP_PREPROCESS_HOTDEADPIXFILT;Izbaci pregorele i mrtve piksele
TP_PREPROCESS_LABEL;Predobrada
TP_PREPROCESS_LINEDENOISE;Linijski filter šuma
TP_PREPROCESS_NO_FOUND;Nije pronađeno
diff --git a/rtdata/languages/Slovak b/rtdata/languages/Slovak
index 12b6177f7..ee43b37f4 100644
--- a/rtdata/languages/Slovak
+++ b/rtdata/languages/Slovak
@@ -550,7 +550,6 @@ TP_PERSPECTIVE_HORIZONTAL;Horizontálne
TP_PERSPECTIVE_LABEL;Perspektíva
TP_PERSPECTIVE_VERTICAL;Vertikálne
TP_PREPROCESS_GREENEQUIL;Vyvažovanie zelenej
-TP_PREPROCESS_HOTDEADPIXFILT;Použiť filter na horúce/mŕtve pixely
TP_PREPROCESS_LINEDENOISE;Filter šumu vedenia
TP_RAWCACORR_AUTO;Použiť automatickú úpravu CA
TP_RAW_DCBENHANCE;Použiť vylepšovací krok DCB
diff --git a/rtdata/languages/Swedish b/rtdata/languages/Swedish
index a75d69db8..d3c4ff48e 100644
--- a/rtdata/languages/Swedish
+++ b/rtdata/languages/Swedish
@@ -634,7 +634,6 @@ PARTIALPASTE_METAICMGROUP;Metadata/ICM inställningar
PARTIALPASTE_PCVIGNETTE;Vinjetteringsfilter
PARTIALPASTE_PERSPECTIVE;Perspektiv
PARTIALPASTE_PREPROCESS_GREENEQUIL;Grönbalansering
-PARTIALPASTE_PREPROCESS_HOTDEADPIXFILT;Tillämpa het- och dödpixelfilter
PARTIALPASTE_PREPROCESS_LINEDENOISE;Linjärt brusfilter
PARTIALPASTE_RAWCACORR_AUTO;Reducera kromatiska abberationer automatiskt
PARTIALPASTE_RAWCACORR_CABLUE;Blå
@@ -1226,8 +1225,6 @@ TP_PERSPECTIVE_VERTICAL;Vertikal
TP_PFCURVE_CURVEEDITOR_CH;Nyans
TP_PFCURVE_CURVEEDITOR_CH_TOOLTIP;Kontrollerar överstrålning efter färg. Högre = mer, lägre = mindre.
TP_PREPROCESS_GREENEQUIL;Grönbalansering
-TP_PREPROCESS_HOTDEADPIXFILT;Filtrera heta- och döda pixlar
-TP_PREPROCESS_HOTDEADPIXFILT_TOOLTIP;Försöker att ta bort heta och döda pixlar i bilden
TP_PREPROCESS_LABEL;Förbehandling
TP_PREPROCESS_LINEDENOISE;Linjärt brusfilter
TP_PREPROCESS_NO_FOUND;Inga hittade
diff --git a/rtdata/languages/default b/rtdata/languages/default
index 5bdfeb34c..c45a3cac3 100644
--- a/rtdata/languages/default
+++ b/rtdata/languages/default
@@ -577,6 +577,7 @@ HISTORY_MSG_355;Wavelet edgedetect thresholdLow
HISTORY_MSG_356;Wavelet edgedetect thresholdHi
HISTORY_MSG_357;Wavelet Denoise link
HISTORY_MSG_358;Wavelet Contrast Hue curve
+HISTORY_MSG_359;Hot/Dead - Threshold
HISTORY_NEWSNAPSHOT;Add
HISTORY_NEWSNAPSHOT_TOOLTIP;Shortcut: Alt-s
HISTORY_SNAPSHOTS;Snapshots
@@ -1526,6 +1527,8 @@ TP_RAW_DMETHOD_PROGRESSBAR;%1 demosaicing...
TP_RAW_DMETHOD_PROGRESSBAR_REFINE;Demosaicing refinement...
TP_RAW_DMETHOD_TOOLTIP;Note: IGV and LMMSE are dedicated to high ISO images to aid in noise reduction without leading to maze patterns, posterization or a washed-out look.
TP_RAW_FALSECOLOR;False color suppression steps
+TP_RAW_HD;Threshold
+TP_RAW_HD_TOOLTIP;Lower values make hot/dead pixel detection more aggressive, but false positives may lead to artifacts. If you notice any artifacts appearing when enabling the Hot/Dead Pixel Filters, gradually increase the threshold value until they disappear.
TP_RAW_LABEL;Demosaicing
TP_RAW_LMMSEITERATIONS;LMMSE enhancement steps
TP_RAW_LMMSE_TOOLTIP;Adds gamma (step 1), median (steps 2-4) and refinement (steps 5-6) to reduce artifacts and improve the signal-to-noise ratio.
diff --git a/rtdata/profiles/Default ISO High.pp3 b/rtdata/profiles/Default ISO High.pp3
index c755a1b66..691141e2c 100644
--- a/rtdata/profiles/Default ISO High.pp3
+++ b/rtdata/profiles/Default ISO High.pp3
@@ -136,7 +136,7 @@ FlatFieldAutoSelect=false
CA=true
HotPixelFilter=true
DeadPixelFilter=false
-HotDeadPixelThresh=40
+HotDeadPixelThresh=100
[RAW Bayer]
Method=lmmse
diff --git a/rtdata/profiles/Default ISO Medium.pp3 b/rtdata/profiles/Default ISO Medium.pp3
index 356c7f5a8..889911a85 100644
--- a/rtdata/profiles/Default ISO Medium.pp3
+++ b/rtdata/profiles/Default ISO Medium.pp3
@@ -136,7 +136,7 @@ FlatFieldAutoSelect=false
CA=true
HotPixelFilter=true
DeadPixelFilter=false
-HotDeadPixelThresh=40
+HotDeadPixelThresh=100
[RAW Bayer]
Method=amaze
diff --git a/rtdata/profiles/Default.pp3 b/rtdata/profiles/Default.pp3
index 464fb7831..c4ea48b60 100644
--- a/rtdata/profiles/Default.pp3
+++ b/rtdata/profiles/Default.pp3
@@ -124,7 +124,7 @@ FlatFieldAutoSelect=false
CA=true
HotPixelFilter=true
DeadPixelFilter=false
-HotDeadPixelThresh=40
+HotDeadPixelThresh=100
[RAW Bayer]
Method=amaze
diff --git a/rtdata/profiles/Pop/Pop 1.pp3 b/rtdata/profiles/Pop/Pop 1.pp3
index 93e167d0c..61685727e 100644
--- a/rtdata/profiles/Pop/Pop 1.pp3
+++ b/rtdata/profiles/Pop/Pop 1.pp3
@@ -128,4 +128,4 @@ Enabled=false
CA=true
HotPixelFilter=true
DeadPixelFilter=false
-HotDeadPixelThresh=40
+HotDeadPixelThresh=100
diff --git a/rtdata/profiles/Pop/Pop 2 L.pp3 b/rtdata/profiles/Pop/Pop 2 L.pp3
index 947f9aa3c..13fe80293 100644
--- a/rtdata/profiles/Pop/Pop 2 L.pp3
+++ b/rtdata/profiles/Pop/Pop 2 L.pp3
@@ -128,4 +128,4 @@ Enabled=false
CA=true
HotPixelFilter=true
DeadPixelFilter=false
-HotDeadPixelThresh=40
+HotDeadPixelThresh=100
diff --git a/rtdata/profiles/Pop/Pop 3 Skin.pp3 b/rtdata/profiles/Pop/Pop 3 Skin.pp3
index 096a16ae0..90ce7e346 100644
--- a/rtdata/profiles/Pop/Pop 3 Skin.pp3
+++ b/rtdata/profiles/Pop/Pop 3 Skin.pp3
@@ -128,4 +128,4 @@ Enabled=false
CA=true
HotPixelFilter=true
DeadPixelFilter=false
-HotDeadPixelThresh=40
+HotDeadPixelThresh=100
diff --git a/rtdata/profiles/Pop/Pop 4 BW.pp3 b/rtdata/profiles/Pop/Pop 4 BW.pp3
index 5aba25062..4277869a4 100644
--- a/rtdata/profiles/Pop/Pop 4 BW.pp3
+++ b/rtdata/profiles/Pop/Pop 4 BW.pp3
@@ -150,4 +150,4 @@ Enabled=false
CA=true
HotPixelFilter=true
DeadPixelFilter=false
-HotDeadPixelThresh=40
+HotDeadPixelThresh=100
diff --git a/rtengine/procevents.h b/rtengine/procevents.h
index 5edf271ec..9ca678e94 100644
--- a/rtengine/procevents.h
+++ b/rtengine/procevents.h
@@ -383,7 +383,7 @@ enum ProcEvent {
EvWavedgedetectthr2=355,
EvWavlinkedg=356,
EvWavCHCurve=357,
-
+ EvPreProcessHotDeadThresh=358,
NUMOFEVENTS
};
}
diff --git a/rtengine/procparams.cc b/rtengine/procparams.cc
index ae866c02e..20d283b6c 100644
--- a/rtengine/procparams.cc
+++ b/rtengine/procparams.cc
@@ -654,7 +654,7 @@ void RAWParams::setDefaults() {
ca_autocorrect = false;
hotPixelFilter = false;
deadPixelFilter = false;
- hotdeadpix_thresh = 40;
+ hotdeadpix_thresh = 100;
}
void ColorManagementParams::setDefaults() {
diff --git a/rtengine/refreshmap.cc b/rtengine/refreshmap.cc
index 8d2870d3a..f5da261b4 100644
--- a/rtengine/refreshmap.cc
+++ b/rtengine/refreshmap.cc
@@ -379,7 +379,7 @@ DIRPYREQUALIZER, //EvWavlipst
DIRPYREQUALIZER, //EvWavedgedetectthr
DIRPYREQUALIZER, //EvWavedgedetectthr2
DIRPYREQUALIZER, //EvWavlinkedg
-DIRPYREQUALIZER //EvWavCHCurve
-
+DIRPYREQUALIZER, //EvWavCHCurve
+DARKFRAME //EvPreProcessHotDeadThresh
};
diff --git a/rtgui/bayerpreprocess.cc b/rtgui/bayerpreprocess.cc
index fc767880d..f157bf8ac 100644
--- a/rtgui/bayerpreprocess.cc
+++ b/rtgui/bayerpreprocess.cc
@@ -24,7 +24,7 @@
using namespace rtengine;
using namespace rtengine::procparams;
-BayerPreProcess::BayerPreProcess () : FoldableToolPanel(this, "bayerprocess", M("TP_RAW_LABEL"), true)
+BayerPreProcess::BayerPreProcess () : FoldableToolPanel(this, "bayerpreprocess", M("TP_PREPROCESS_LABEL"), true)
{
lineDenoise = Gtk::manage(new Adjuster (M("TP_PREPROCESS_LINEDENOISE"),0,1000,1,0));
lineDenoise->setAdjusterListener (this);
diff --git a/rtgui/bayerprocess.cc b/rtgui/bayerprocess.cc
index ec2d40c24..9a8b49329 100644
--- a/rtgui/bayerprocess.cc
+++ b/rtgui/bayerprocess.cc
@@ -22,7 +22,7 @@
using namespace rtengine;
using namespace rtengine::procparams;
-BayerProcess::BayerProcess () : FoldableToolPanel(this, "bayerpreprocess", M("TP_PREPROCESS_LABEL"), true)
+BayerProcess::BayerProcess () : FoldableToolPanel(this, "bayerprocess", M("TP_RAW_LABEL"), true)
{
Gtk::HBox* hb1 = Gtk::manage (new Gtk::HBox ());
hb1->pack_start (*Gtk::manage (new Gtk::Label ( M("TP_RAW_DMETHOD") +": ")),Gtk::PACK_SHRINK, 4);
diff --git a/rtgui/partialpastedlg.cc b/rtgui/partialpastedlg.cc
index 2d593f64a..a41265bff 100644
--- a/rtgui/partialpastedlg.cc
+++ b/rtgui/partialpastedlg.cc
@@ -706,10 +706,10 @@ void PartialPasteDlg::applyPaste (rtengine::procparams::ProcParams* dstPP, Param
if (!raw_ca_autocorrect->get_active ()) filterPE.raw.caCorrection = falsePE.raw.caCorrection;
if (!raw_cared->get_active ()) filterPE.raw.caRed = falsePE.raw.caRed;
if (!raw_cablue->get_active ()) filterPE.raw.caBlue = falsePE.raw.caBlue;
- if (!raw_hotpix_filt->get_active ()) { filterPE.raw.hotPixelFilter = falsePE.raw.hotPixelFilter;
- filterPE.raw.hotDeadPixelThresh = falsePE.raw.hotDeadPixelThresh; }
- if (!raw_deadpix_filt->get_active ()) { filterPE.raw.deadPixelFilter = falsePE.raw.deadPixelFilter;
- filterPE.raw.hotDeadPixelThresh = falsePE.raw.hotDeadPixelThresh; }
+ if (!raw_hotpix_filt->get_active ()) { filterPE.raw.hotPixelFilter = falsePE.raw.hotPixelFilter; }
+ if (!raw_deadpix_filt->get_active ()) { filterPE.raw.deadPixelFilter = falsePE.raw.deadPixelFilter; }
+ if (!raw_deadpix_filt->get_active () && !raw_hotpix_filt->get_active ())
+ filterPE.raw.hotDeadPixelThresh = falsePE.raw.hotDeadPixelThresh;
if (!df_file->get_active ()) filterPE.raw.darkFrame = falsePE.raw.darkFrame;
if (!df_AutoSelect->get_active ()) filterPE.raw.dfAuto = falsePE.raw.dfAuto;
if (!ff_file->get_active ()) filterPE.raw.ff_file = falsePE.raw.ff_file;
diff --git a/rtgui/preprocess.cc b/rtgui/preprocess.cc
index bc9a18b4b..187946740 100644
--- a/rtgui/preprocess.cc
+++ b/rtgui/preprocess.cc
@@ -38,6 +38,13 @@ PreProcess::PreProcess () : FoldableToolPanel(this, "preprocess", M("TP_PREPROCE
hotdeadPixel->pack_start( *hotPixel, Gtk::PACK_SHRINK);
hotdeadPixel->pack_start( *deadPixel, Gtk::PACK_SHRINK, 0);
pack_start(*hotdeadPixel, Gtk::PACK_SHRINK, 0);
+ hdThreshold = Gtk::manage (new Adjuster (M("TP_RAW_HD"),20,200,2,100));
+ hdThreshold->set_tooltip_markup (M("TP_RAW_HD_TOOLTIP"));
+ hdThreshold->setAdjusterListener (this);
+ if (hdThreshold->delay < 1000) hdThreshold->delay = 1000;
+ hdThreshold->show();
+ pack_start( *hdThreshold, Gtk::PACK_SHRINK, 4);
+
// hotdeadPixel->show();
hpixelconn = hotPixel->signal_toggled().connect ( sigc::mem_fun(*this, &PreProcess::hotPixelChanged), true);
dpixelconn = deadPixel->signal_toggled().connect ( sigc::mem_fun(*this, &PreProcess::deadPixelChanged), true);
@@ -57,7 +64,7 @@ void PreProcess::read(const rtengine::procparams::ProcParams* pp, const ParamsEd
lastDead = pp->raw.deadPixelFilter;
hotPixel->set_active (pp->raw.hotPixelFilter);
deadPixel->set_active (pp->raw.deadPixelFilter);
-
+ hdThreshold->setValue (pp->raw.hotdeadpix_thresh);
hpixelconn.block (false);
dpixelconn.block (false);
enableListener ();
@@ -67,13 +74,22 @@ void PreProcess::write( rtengine::procparams::ProcParams* pp, ParamsEdited* pedi
{
pp->raw.hotPixelFilter = hotPixel->get_active();
pp->raw.deadPixelFilter = deadPixel->get_active();
-
+ pp->raw.hotdeadpix_thresh = hdThreshold->getIntValue();
if (pedited) {
+ pedited->raw.hotDeadPixelThresh = hdThreshold->getEditedState ();
pedited->raw.hotPixelFilter = !hotPixel->get_inconsistent();
pedited->raw.deadPixelFilter = !deadPixel->get_inconsistent();
}
}
+void PreProcess::adjusterChanged (Adjuster* a, double newval)
+{
+ if (listener) {
+ if (a == hdThreshold)
+ listener->panelChanged (EvPreProcessHotDeadThresh, a->getTextValue() );
+ }
+}
+
void PreProcess::hotPixelChanged ()
{
if (batchMode) {
diff --git a/rtgui/preprocess.h b/rtgui/preprocess.h
index 215f4becb..10d942c44 100644
--- a/rtgui/preprocess.h
+++ b/rtgui/preprocess.h
@@ -22,17 +22,19 @@
#include
//#include "adjuster.h"
#include "toolpanel.h"
+#include "adjuster.h"
+#include "guiutils.h"
#include "../rtengine/rawimage.h"
-class PreProcess : public ToolParamBlock, /*public AdjusterListener,*/ public FoldableToolPanel {
+class PreProcess : public ToolParamBlock, public AdjusterListener, public FoldableToolPanel {
protected:
- Gtk::CheckButton* hotPixel;
+ Gtk::CheckButton* hotPixel;
Gtk::CheckButton* deadPixel;
bool lastHot,lastDead;
- sigc::connection hpixelconn;
+ sigc::connection hpixelconn;
sigc::connection dpixelconn;
-
+ Adjuster* hdThreshold;
public:
PreProcess ();
@@ -42,8 +44,10 @@ class PreProcess : public ToolParamBlock, /*public AdjusterListener,*/ public Fo
//void setBatchMode (bool batchMode);
//void setDefaults (const rtengine::procparams::ProcParams* defParams, const ParamsEdited* pedited=NULL);
- void hotPixelChanged();
+ void hotPixelChanged();
void deadPixelChanged();
+ void adjusterChanged (Adjuster* a, double newval);
+
//void adjusterChanged (Adjuster* a, double newval);
//void setAdjusterBehavior (bool linedenoiseadd, bool greenequiladd);