Minor updates. Adjusted sensitivity of detail slider.
This commit is contained in:
@@ -138,7 +138,7 @@ namespace rtengine {
|
||||
|
||||
const float gain = pow (2.0, dnparams.expcomp);
|
||||
|
||||
float noisevar_Ldetail = SQR((100-dnparams.Ldetail) * TS * 100.0f);
|
||||
float noisevar_Ldetail = SQR((SQR(100-dnparams.Ldetail) + 50*(100-dnparams.Ldetail)) * TS * 0.5f);
|
||||
|
||||
|
||||
array2D<float> tilemask_in(TS,TS);
|
||||
@@ -215,7 +215,7 @@ namespace rtengine {
|
||||
//pixel weight
|
||||
array2D<float> totwt(width,height,ARRAY2D_CLEAR_DATA);//weight for combining DCT blocks
|
||||
|
||||
//fill tile from image
|
||||
//fill tile from image; convert RGB to "luma/chroma"
|
||||
for (int i=tiletop, i1=0; i<tilebottom; i++, i1++)
|
||||
for (int j=tileleft, j1=0; j<tileright; j++, j1++) {
|
||||
|
||||
@@ -277,8 +277,8 @@ namespace rtengine {
|
||||
|
||||
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
// now do detail recovery using block DCT to detect patterns
|
||||
// missed by wavelet denoise
|
||||
// now do detail recovery using block DCT to detect
|
||||
// patterns missed by wavelet denoise
|
||||
// blocks are not the same thing as tiles!
|
||||
|
||||
|
||||
@@ -389,10 +389,12 @@ namespace rtengine {
|
||||
fftwf_destroy_plan( plan_forward_blox );
|
||||
//#pragma omp single nowait
|
||||
fftwf_destroy_plan( plan_backward_blox );
|
||||
|
||||
|
||||
fftwf_free ( Lblox);
|
||||
fftwf_free ( fLblox);
|
||||
|
||||
fftwf_cleanup();
|
||||
|
||||
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
for (int i=0; i<height; i++) {
|
||||
@@ -426,7 +428,7 @@ namespace rtengine {
|
||||
if (tileright<imwidth) Hmask[width-1-i] = mask;
|
||||
}
|
||||
|
||||
|
||||
//convert back to RGB and write to destination array
|
||||
for (int i=tiletop, i1=0; i<tilebottom; i++, i1++) {
|
||||
float X,Y,Z;
|
||||
for (int j=tileleft, j1=0; j<tileright; j++, j1++) {
|
||||
|
@@ -99,7 +99,7 @@ public:
|
||||
// use as empty declaration, resize before use!
|
||||
// very useful as a member object
|
||||
array2D() :
|
||||
x(0), y(0), owner(0), ptr(NULL), data(NULL), lock(0) {
|
||||
x(0), y(0), owner(0), ptr(NULL), data(NULL), lock(0), flags(0) {
|
||||
//printf("got empty array2D init\n");
|
||||
}
|
||||
|
||||
|
@@ -932,9 +932,9 @@ int RawImageSource::load (Glib::ustring fname, bool batch) {
|
||||
rml.ciffLength = ri->get_ciffLen();
|
||||
idata = new ImageData (fname, &rml);
|
||||
|
||||
green(W,H);// = allocArray<float>(W,H);
|
||||
red(W,H);// = allocArray<float>(W,H);
|
||||
blue(W,H);// = allocArray<float>(W,H);
|
||||
green(W,H);
|
||||
red(W,H);
|
||||
blue(W,H);
|
||||
//hpmap = allocArray<char>(W, H);
|
||||
|
||||
if (plistener) {
|
||||
|
Reference in New Issue
Block a user