Issue 2143: restored initialGain to use as-shot-wb as reference

This commit is contained in:
torger
2013-12-19 21:00:13 +01:00
parent cc3bbe4e78
commit 6de659b2f0
2 changed files with 3 additions and 1 deletions

View File

@@ -234,7 +234,7 @@ void RawImageSource::getImage (ColorTemp ctemp, int tran, Imagefloat* image, Pre
defGain=0.0;// = log(initialGain) / log(2.0); defGain=0.0;// = log(initialGain) / log(2.0);
//printf(" Initial gain=%f defgain=%f min=%f\n",initialGain,defGain,min); //printf(" Initial gain=%f defgain=%f min=%f\n",initialGain,defGain,min);
//printf(" rm=%f gm=%f bm=%f\n",rm,gm,bm); //printf(" rm=%f gm=%f bm=%f\n",rm,gm,bm);
min/=initialGain; min/=refInitialGain;
//min=(float)1.0/min; //min=(float)1.0/min;
//else { //else {
//defGain = 0.0; //defGain = 0.0;
@@ -882,6 +882,7 @@ int RawImageSource::load (Glib::ustring fname, bool batch) {
double camwb_red = ri->get_pre_mul(0) / pre_mul[0]; double camwb_red = ri->get_pre_mul(0) / pre_mul[0];
double camwb_green = ri->get_pre_mul(1) / pre_mul[1]; double camwb_green = ri->get_pre_mul(1) / pre_mul[1];
double camwb_blue = ri->get_pre_mul(2) / pre_mul[2]; double camwb_blue = ri->get_pre_mul(2) / pre_mul[2];
refInitialGain = 1.0 / min(pre_mul[0], pre_mul[1], pre_mul[2]);
double cam_r = imatrices.rgb_cam[0][0]*camwb_red + imatrices.rgb_cam[0][1]*camwb_green + imatrices.rgb_cam[0][2]*camwb_blue; double cam_r = imatrices.rgb_cam[0][0]*camwb_red + imatrices.rgb_cam[0][1]*camwb_green + imatrices.rgb_cam[0][2]*camwb_blue;
double cam_g = imatrices.rgb_cam[1][0]*camwb_red + imatrices.rgb_cam[1][1]*camwb_green + imatrices.rgb_cam[1][2]*camwb_blue; double cam_g = imatrices.rgb_cam[1][0]*camwb_red + imatrices.rgb_cam[1][1]*camwb_green + imatrices.rgb_cam[1][2]*camwb_blue;
double cam_b = imatrices.rgb_cam[2][0]*camwb_red + imatrices.rgb_cam[2][1]*camwb_green + imatrices.rgb_cam[2][2]*camwb_blue; double cam_b = imatrices.rgb_cam[2][0]*camwb_red + imatrices.rgb_cam[2][1]*camwb_green + imatrices.rgb_cam[2][2]*camwb_blue;

View File

@@ -95,6 +95,7 @@ class RawImageSource : public ImageSource {
int max_3[3]; int max_3[3];
float chmax[4],hlmax[4]; float chmax[4],hlmax[4];
double initialGain; // initial gain calculated after scale_colors double initialGain; // initial gain calculated after scale_colors
double refInitialGain;
double defGain; double defGain;
bool full; bool full;
cmsHPROFILE camProfile; cmsHPROFILE camProfile;