BraggIntegrate2D: Take const vector of predictions and return new vector

This commit is contained in:
2025-12-18 11:23:02 +01:00
parent 229ab63e17
commit bdfde99074
3 changed files with 28 additions and 36 deletions
+3 -14
View File
@@ -146,21 +146,10 @@ void IndexAndRefine::QuickPredictAndIntegrate(DataMessage &msg,
.centering = outcome.symmetry.centering
};
prediction.Calc(experiment, *outcome.lattice_candidate, settings_prediction);
auto nrefl = prediction.Calc(experiment, *outcome.lattice_candidate, settings_prediction);
auto refl_ret = BraggIntegrate2D(outcome.experiment, image, prediction.GetReflections(), nrefl, msg.number);
auto refl = prediction.GetReflections();
BraggIntegrate2D(outcome.experiment, image, refl, msg.number);
std::vector<Reflection> refl_ret;
refl_ret.reserve(refl.size());
for (const auto& r : refl) {
if (r.observed)
refl_ret.push_back(r);
}
constexpr size_t kMaxReflections = 20000;
constexpr size_t kMaxReflections = 10000;
if (refl_ret.size() > kMaxReflections) {
// Keep only smallest d (highest resolution)
std::nth_element(refl_ret.begin(),