Improved GUI for FlatField and DarkFrame autoselection

Added serial number in .badpixels file
Added Pentax CameraInfo decoding (contains serial number)
This commit is contained in:
ffsup2
2011-01-30 23:51:55 +01:00
parent 40b2699ccd
commit 860e8037f0
14 changed files with 116 additions and 36 deletions

View File

@@ -671,7 +671,7 @@ void EditorPanel::info_toggled () {
// + Glib::ustring::compose ("%1: %2", M("QINFO_LENS"), Glib::ustring(idata->getLens()));
infoString = Glib::ustring::compose (
"%1 + %2\n<span size=\"small\">f/</span><span size=\"large\">%3</span> <span size=\"large\">%4</span><span size=\"small\">s</span> <span size=\"small\">%5</span><span size=\"large\">%6</span> <span size=\"large\">%7</span><span size=\"small\">mm</span>\n<span size=\"small\">%8</span>",
Glib::ustring(idata->getModel()),
Glib::ustring(idata->getMake()+" "+idata->getModel()),
Glib::ustring(idata->getLens()),
Glib::ustring(idata->apertureToString(idata->getFNumber())),
Glib::ustring(idata->shutterToString(idata->getShutterSpeed())),

View File

@@ -36,7 +36,7 @@ PreProcess::PreProcess ()
hbdf->pack_start(*darkFrameFile);
hbdf->pack_start(*btnReset, Gtk::PACK_SHRINK, 4);
dfAuto = Gtk::manage(new Gtk::CheckButton((M("TP_PREPROCESS_DFAUTOSELECT"))));
dfInfo = Gtk::manage(new Gtk::Label("."));
dfInfo = Gtk::manage(new Gtk::Label(""));
dfInfo->set_alignment(0,0); //left align
hbff = Gtk::manage(new Gtk::HBox());
@@ -48,7 +48,7 @@ PreProcess::PreProcess ()
hbff->pack_start(*flatFieldFile);
hbff->pack_start(*flatFieldFileReset, Gtk::PACK_SHRINK, 4);
flatFieldAutoSelect = Gtk::manage(new Gtk::CheckButton((M("TP_PREPROCESS_FLATFIELDAUTOSELECT"))));
ffInfo = Gtk::manage(new Gtk::Label("."));
ffInfo = Gtk::manage(new Gtk::Label(""));
ffInfo->set_alignment(0,0); //left align
flatFieldBlurRadius = Gtk::manage(new Adjuster (M("PREFERENCES_FLATFIELDBLURRADIUS"),0,200,2,32));
flatFieldBlurRadius->setAdjusterListener (this);
@@ -176,25 +176,29 @@ void PreProcess::read(const rtengine::procparams::ProcParams* pp, const ParamsEd
lastHot = pp->raw.hotdeadpix_filt;
lastDFauto = pp->raw.df_autoselect;
if( pp->raw.df_autoselect && dfp){
if( pp->raw.df_autoselect && dfp && !batchMode){
// retrieve the auto-selected df filename
rtengine::RawImage *img = dfp->getDF();
if( img ){
std::ostringstream s;
s << Glib::path_get_basename(img->get_filename()) << ":" <<img->get_ISOspeed() << "ISO " << img->get_shutter() << "s";
dfInfo->set_text( s.str() );
}else{
dfInfo->set_text(Glib::ustring(M("TP_PREPROCESS_NO_FOUND")));
}
}
else dfInfo->set_text("");
lastFFAutoSelect = pp->raw.ff_AutoSelect;
if( pp->raw.ff_AutoSelect && ffp){
if( pp->raw.ff_AutoSelect && ffp && !batchMode){
// retrieve the auto-selected ff filename
rtengine::RawImage *img = ffp->getFF();
if( img ){
std::ostringstream s;
s << Glib::path_get_basename(img->get_filename()) << ":" <<img->get_ISOspeed() << "ISO " << img->get_shutter() << "s";
s << Glib::path_get_basename(img->get_filename()) << ":" <<img->get_ISOspeed() << "ISO f/" << img->get_aperture();
ffInfo->set_text( s.str() );
}else{
ffInfo->set_text(Glib::ustring(M("TP_PREPROCESS_NO_FOUND")));
}
}
else ffInfo->set_text("");
@@ -366,14 +370,16 @@ void PreProcess::dfAutoChanged()
lastDFauto = dfAuto->get_active ();
}
if(dfAuto->get_active() && dfp){
if(dfAuto->get_active() && dfp && !batchMode){
// retrieve the auto-selected df filename
rtengine::RawImage *img = dfp->getDF();
if( img ){
std::ostringstream s;
s << Glib::path_get_basename(img->get_filename()) << ":" <<img->get_ISOspeed() << "ISO " << img->get_shutter() << "s";
dfInfo->set_text( s.str() );
}
}else{
dfInfo->set_text(Glib::ustring(M("TP_PREPROCESS_NO_FOUND")));
}
}
else{dfInfo->set_text("");}
@@ -472,13 +478,15 @@ void PreProcess::flatFieldAutoSelectChanged()
}
hbff->set_sensitive( !flatFieldAutoSelect->get_active() );
if( flatFieldAutoSelect->get_active() && ffp){
if( flatFieldAutoSelect->get_active() && ffp && !batchMode){
// retrieve the auto-selected ff filename
rtengine::RawImage *img = ffp->getFF();
if( img ){
std::ostringstream s;
s << Glib::path_get_basename(img->get_filename()) << ":" <<img->get_ISOspeed() << "ISO " << img->get_shutter() << "s";
ffInfo->set_text( s.str() );
}else{
ffInfo->set_text(Glib::ustring(M("TP_PREPROCESS_NO_FOUND")));
}
}
else{ffInfo->set_text("");}

View File

@@ -408,8 +408,7 @@ rtengine::RawImage* ToolPanelCoordinator::getDF()
double shutter = imd->getShutterSpeed();
std::string maker( imd->getMake() );
std::string model( imd->getModel() );
tm t =imd->getDateTime();
time_t timestamp = mktime(&t);
time_t timestamp = imd->getDateTimeAsTS();
return rtengine::dfm.searchDarkFrame( maker,model,iso,shutter, timestamp);
}
@@ -427,8 +426,7 @@ rtengine::RawImage* ToolPanelCoordinator::getFF()
double aperture = imd->getFNumber();
std::string maker( imd->getMake() );
std::string model( imd->getModel() );
tm t =imd->getDateTime();
time_t timestamp = mktime(&t);
time_t timestamp = imd->getDateTimeAsTS();
return rtengine::ffm.searchFlatField( maker,model,iso,shutter,aperture,timestamp);
}