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:
@@ -25,6 +25,7 @@
|
||||
#include <sstream>
|
||||
#include <iostream>
|
||||
#include <stdio.h>
|
||||
#include <imagedata.h>
|
||||
|
||||
namespace rtengine{
|
||||
|
||||
@@ -260,20 +261,25 @@ dfInfo *DFManager::addFileInfo(const Glib::ustring &filename )
|
||||
RawImage ri(filename);
|
||||
int res = ri.loadRaw(false); // Read informations about shot
|
||||
if( !res ){
|
||||
RawMetaDataLocation rml;
|
||||
rml.exifBase = ri.get_exifBase();
|
||||
rml.ciffBase = ri.get_ciffBase();
|
||||
rml.ciffLength = ri.get_ciffLen();
|
||||
ImageData idata(filename, &rml);
|
||||
/* Files are added in the map, divided by same maker/model,ISO and shutter*/
|
||||
std::string key( dfInfo::key(ri.get_maker(), ri.get_model(),(int)ri.get_ISOspeed(),ri.get_shutter()) );
|
||||
std::string key( dfInfo::key(idata.getMake(), idata.getModel(),idata.getISOSpeed(),idata.getShutterSpeed()) );
|
||||
dfList_t::iterator iter = dfList.find( key );
|
||||
if( iter == dfList.end() ){
|
||||
dfInfo n(filename, ri.get_maker(), ri.get_model(),(int)ri.get_ISOspeed(),ri.get_shutter(),ri.get_timestamp());
|
||||
dfInfo n(filename, idata.getMake(), idata.getModel(),idata.getISOSpeed(),idata.getShutterSpeed(), idata.getDateTimeAsTS() );
|
||||
iter = dfList.insert(std::pair< std::string,dfInfo>( key,n ) );
|
||||
}else{
|
||||
while( iter != dfList.end() && iter->second.key() == key && ABS(iter->second.timestamp - ri.get_timestamp()) >60*60*6 ) // 6 hour difference
|
||||
while( iter != dfList.end() && iter->second.key() == key && ABS(iter->second.timestamp - idata.getDateTimeAsTS()) >60*60*6 ) // 6 hour difference
|
||||
iter++;
|
||||
|
||||
if( iter != dfList.end() )
|
||||
iter->second.pathNames.push_back( filename );
|
||||
else{
|
||||
dfInfo n(filename, ri.get_maker(), ri.get_model(),(int)ri.get_ISOspeed(),ri.get_shutter(),ri.get_timestamp());
|
||||
dfInfo n(filename, idata.getMake(), idata.getModel(),idata.getISOSpeed(),idata.getShutterSpeed(),idata.getDateTimeAsTS());
|
||||
iter = dfList.insert(std::pair< std::string,dfInfo>( key,n ) );
|
||||
}
|
||||
}
|
||||
@@ -331,7 +337,7 @@ dfInfo* DFManager::find( const std::string &mak, const std::string &mod, int iso
|
||||
bestMatch = iter;
|
||||
}
|
||||
}
|
||||
return &(bestMatch->second);
|
||||
return bestD != INFINITY ? &(bestMatch->second) : 0 ;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -399,6 +405,7 @@ int DFManager::scanBadPixelsFile( Glib::ustring filename )
|
||||
int numPixels = bp.size();
|
||||
if( numPixels >0 )
|
||||
bpList[ makmodel ] = bp;
|
||||
fclose(file);
|
||||
return numPixels;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user