Merge with c3a84087d8675dbd37e95cc6177b04b359bf4e73

This commit is contained in:
michael
2012-09-03 21:41:33 -04:00
56 changed files with 3775 additions and 278 deletions

View File

@@ -107,6 +107,12 @@ IImage16* processImage (ProcessingJob* pjob, int& errorCode, ProgressListener* p
imgsrc->getImage (currWB, tr, baseImg, pp, params.hlrecovery, params.icm, params.raw);
if (pl) pl->setProgress (0.45);
// perform luma/chroma denoise
LabImage* labView = new LabImage (fw,fh);
if (params.dirpyrDenoise.enabled) {
ipf.RGB_denoise(baseImg, baseImg, params.dirpyrDenoise, params.defringe);
}
imgsrc->convertColorSpace(baseImg, params.icm, params.raw);
// perform first analysis
LUTu hist16 (65536);
@@ -146,7 +152,7 @@ IImage16* processImage (ProcessingJob* pjob, int& errorCode, ProgressListener* p
}
// at this stage, we can flush the raw data to free up quite an important amount of memory
// commented out because it make the application crash when batch processing...
// commented out because it makes the application crash when batch processing...
// TODO: find a better place to flush rawData and rawRGB
//imgsrc->flushRawData();
//imgsrc->flushRGB();
@@ -172,8 +178,6 @@ IImage16* processImage (ProcessingJob* pjob, int& errorCode, ProgressListener* p
CurveFactory::RGBCurve (params.rgbCurves.gcurve, gCurve, 1);
CurveFactory::RGBCurve (params.rgbCurves.bcurve, bCurve, 1);
LabImage* labView = new LabImage (fw,fh);
ipf.rgbProc (baseImg, labView, curve1, curve2, curve, shmap, params.toneCurve.saturation, rCurve, gCurve, bCurve, nonStandardCurve, expcomp, hlcompr, hlcomprthresh);
// Freeing baseImg because not used anymore
@@ -187,6 +191,9 @@ IImage16* processImage (ProcessingJob* pjob, int& errorCode, ProgressListener* p
if (pl)
pl->setProgress (0.5);
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
// start tile processing...???
// luminance histogram update
hist16.clear();
@@ -212,7 +219,6 @@ IImage16* processImage (ProcessingJob* pjob, int& errorCode, ProgressListener* p
ipf.impulsedenoise (labView);
ipf.defringe (labView);
ipf.dirpyrdenoise (labView);
if (params.sharpenEdge.enabled) {
ipf.MLsharpen(labView);
}
@@ -234,6 +240,9 @@ IImage16* processImage (ProcessingJob* pjob, int& errorCode, ProgressListener* p
// directional pyramid equalizer
ipf.dirpyrequalizer (labView);//TODO: this is the luminance tonecurve, not the RGB one
// end tile processing...???
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
if (pl) pl->setProgress (0.60);