@sguyader This patch may fix your issue (can’t test without examples)
diff --git a/src/ImageStack.cpp b/src/ImageStack.cpp
index 83d22e7..53ecb09 100644
--- a/src/ImageStack.cpp
+++ b/src/ImageStack.cpp
@@ -62,7 +62,7 @@ void ImageStack::calculateSaturationLevel(const RawParameters & params, bool use
}
satThreshold = params.max == 0 ? maxPerColor[0] : params.max;
for (int c = 0; c < 4; ++c) {
- if (maxPerColor[c] < satThreshold) {
+ if (maxPerColor[c] > 0 && maxPerColor[c] < satThreshold) {
satThreshold = maxPerColor[c];
}
}
diff --git a/src/RawParameters.cpp b/src/RawParameters.cpp
index a8b9b88..b9d8c6c 100644
--- a/src/RawParameters.cpp
+++ b/src/RawParameters.cpp
@@ -196,6 +196,11 @@ void RawParameters::fromLibRaw(LibRaw & rawData) {
max = r.color.maximum;
black = r.color.black;
copy_n(r.color.cblack, 4, cblack);
+ if(r.idata.filters == 9) { //xtrans
+ for (int c = 0; c < 4; c++) {
+ cblack[c] = r.color.cblack[6];
+ }
+ }
adjustBlack();
copy_n(r.color.pre_mul, 4, preMul);
copy_n(r.color.cam_mul, 4, camMul);
https://github.com/jcelaya/hdrmerge/issues/112#issuecomment-373065034