Pixel Shift: intermediate steps for progress bar
This commit is contained in:
parent
480d13196e
commit
ae67344f16
@ -369,12 +369,6 @@ void RawImageSource::pixelshift(int winx, int winy, int winw, int winh, const RA
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if(bayerParams.pixelShiftMotionCorrectionMethod != RAWParams::BayerSensor::Off) {
|
||||
if(bayerParams.pixelShiftLmmse) {
|
||||
lmmse_interpolate_omp(winw, winh, rawData, red, green, blue, bayerParams.lmmse_iterations);
|
||||
} else {
|
||||
amaze_demosaic_RT(winx, winy, winw, winh, rawData, red, green, blue);
|
||||
}
|
||||
}
|
||||
|
||||
const bool adaptive = bayerParams.pixelShiftAutomatic;
|
||||
@ -647,6 +641,10 @@ void RawImageSource::pixelshift(int winx, int winy, int winw, int winh, const RA
|
||||
delete histoblue[i];
|
||||
delete histogreen[i];
|
||||
}
|
||||
if(plistener) {
|
||||
plistener->setProgress(0.15);
|
||||
}
|
||||
|
||||
} else {
|
||||
for(int i = 0; i < 4; ++i) {
|
||||
redBrightness[i] = psRedBrightness[i];
|
||||
@ -654,11 +652,10 @@ void RawImageSource::pixelshift(int winx, int winy, int winw, int winh, const RA
|
||||
blueBrightness[i] = psBlueBrightness[i];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(!equalChannel) {
|
||||
for(int i = 0; i < 4; ++i) {
|
||||
redBrightness[i] = blueBrightness[i] = greenBrightness[i];
|
||||
if(!equalChannel) {
|
||||
for(int i = 0; i < 4; ++i) {
|
||||
redBrightness[i] = blueBrightness[i] = greenBrightness[i];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -699,6 +696,10 @@ void RawImageSource::pixelshift(int winx, int winy, int winw, int winh, const RA
|
||||
}
|
||||
}
|
||||
|
||||
if(plistener) {
|
||||
plistener->setProgress(0.3);
|
||||
}
|
||||
|
||||
// now that the temporary planes are filled for easy access we do the motion detection
|
||||
array2D<float> psMask(winw, winh);
|
||||
|
||||
@ -776,6 +777,10 @@ void RawImageSource::pixelshift(int winx, int winy, int winw, int winh, const RA
|
||||
}
|
||||
}
|
||||
|
||||
if(plistener) {
|
||||
plistener->setProgress(0.45);
|
||||
}
|
||||
|
||||
if(blurMap) {
|
||||
#ifdef _OPENMP
|
||||
#pragma omp parallel
|
||||
@ -783,6 +788,10 @@ void RawImageSource::pixelshift(int winx, int winy, int winw, int winh, const RA
|
||||
{
|
||||
gaussianBlur(psMask, psMask, winw, winh, sigma);
|
||||
}
|
||||
if(plistener) {
|
||||
plistener->setProgress(0.6);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
array2D<uint8_t> mask(winw, winh, ARRAY2D_CLEAR_DATA);
|
||||
@ -816,6 +825,10 @@ void RawImageSource::pixelshift(int winx, int winy, int winw, int winh, const RA
|
||||
}
|
||||
}
|
||||
|
||||
if(plistener) {
|
||||
plistener->setProgress(0.75);
|
||||
}
|
||||
|
||||
if(holeFill) {
|
||||
array2D<uint8_t> maskInv(winw, winh);
|
||||
invertMask(winx + border - offsX, winw - (border + offsX), winy + border - offsY, winh - (border + offsY), mask, maskInv);
|
||||
@ -823,6 +836,10 @@ void RawImageSource::pixelshift(int winx, int winy, int winw, int winh, const RA
|
||||
xorMasks(winx + border - offsX, winw - (border + offsX), winy + border - offsY, winh - (border + offsY), maskInv, mask);
|
||||
}
|
||||
|
||||
if(plistener) {
|
||||
plistener->setProgress(0.9);
|
||||
}
|
||||
|
||||
#ifdef _OPENMP
|
||||
#pragma omp parallel for schedule(dynamic,16)
|
||||
#endif
|
||||
|
Loading…
x
Reference in New Issue
Block a user