Improve handling/calculating merge mask
This commit is contained in:
@@ -16,19 +16,24 @@
|
||||
// Need to use consistent lattice to calc resolution (which would also allow to calculate completeness)
|
||||
// But this is not possible for current still workflow (while fine for rotation workflow)
|
||||
|
||||
void CalcMergeMask(const DiffractionExperiment &x,
|
||||
size_t CalcMergeMask(const DiffractionExperiment &x,
|
||||
const std::vector<float> &scale_cc,
|
||||
std::vector<uint8_t> &result_mask) {
|
||||
|
||||
if (scale_cc.size() != result_mask.size())
|
||||
throw JFJochException(JFJochExceptionCategory::InputParameterInvalid, "Scale CC size mismatch");
|
||||
|
||||
size_t n_rejected = 0;
|
||||
auto min_cc = x.GetScalingSettings().GetMinCCForImage();
|
||||
if (min_cc <= 0.0)
|
||||
return;
|
||||
|
||||
for (int i = 0; i < result_mask.size(); ++i)
|
||||
result_mask[i] = result_mask[i] && (scale_cc[i] < min_cc);
|
||||
if (min_cc > 0.0) {
|
||||
for (int i = 0; i < result_mask.size(); ++i) {
|
||||
if (result_mask[i] && (scale_cc[i] < min_cc)) {
|
||||
result_mask[i] = 0;
|
||||
++n_rejected;
|
||||
}
|
||||
}
|
||||
}
|
||||
return n_rejected;
|
||||
}
|
||||
|
||||
std::vector<MergedReflection> MergeAll(const DiffractionExperiment &x,
|
||||
|
||||
Reference in New Issue
Block a user