Pixel Shift: intermediate steps for progress bar
This commit is contained in:
@@ -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;
|
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 histoblue[i];
|
||||||
delete histogreen[i];
|
delete histogreen[i];
|
||||||
}
|
}
|
||||||
|
if(plistener) {
|
||||||
|
plistener->setProgress(0.15);
|
||||||
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
for(int i = 0; i < 4; ++i) {
|
for(int i = 0; i < 4; ++i) {
|
||||||
redBrightness[i] = psRedBrightness[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];
|
blueBrightness[i] = psBlueBrightness[i];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
if(!equalChannel) {
|
||||||
|
for(int i = 0; i < 4; ++i) {
|
||||||
if(!equalChannel) {
|
redBrightness[i] = blueBrightness[i] = greenBrightness[i];
|
||||||
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
|
// now that the temporary planes are filled for easy access we do the motion detection
|
||||||
array2D<float> psMask(winw, winh);
|
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) {
|
if(blurMap) {
|
||||||
#ifdef _OPENMP
|
#ifdef _OPENMP
|
||||||
#pragma omp parallel
|
#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);
|
gaussianBlur(psMask, psMask, winw, winh, sigma);
|
||||||
}
|
}
|
||||||
|
if(plistener) {
|
||||||
|
plistener->setProgress(0.6);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
array2D<uint8_t> mask(winw, winh, ARRAY2D_CLEAR_DATA);
|
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) {
|
if(holeFill) {
|
||||||
array2D<uint8_t> maskInv(winw, winh);
|
array2D<uint8_t> maskInv(winw, winh);
|
||||||
invertMask(winx + border - offsX, winw - (border + offsX), winy + border - offsY, winh - (border + offsY), mask, maskInv);
|
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);
|
xorMasks(winx + border - offsX, winw - (border + offsX), winy + border - offsY, winh - (border + offsY), maskInv, mask);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(plistener) {
|
||||||
|
plistener->setProgress(0.9);
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef _OPENMP
|
#ifdef _OPENMP
|
||||||
#pragma omp parallel for schedule(dynamic,16)
|
#pragma omp parallel for schedule(dynamic,16)
|
||||||
#endif
|
#endif
|
||||||
|
Reference in New Issue
Block a user