RotationIndexer: Remove logic controlling image accumulation

This commit is contained in:
2026-05-29 16:27:22 +02:00
parent e3924a08dd
commit 7b20eedcbd
4 changed files with 34 additions and 189 deletions
+8 -3
View File
@@ -26,10 +26,10 @@ IndexAndRefine::IndexAndRefine(const DiffractionExperiment &x, IndexerThreadPool
}
IndexAndRefine::IndexingOutcome IndexAndRefine::DetermineLatticeAndSymmetryRotation(DataMessage &msg) {
const auto result = rotation_indexer->GetLattice();
IndexingOutcome outcome(experiment);
rotation_indexer->ProcessImage(msg.number, msg.spots);
auto result = rotation_indexer->GetLattice();
if (result) {
// For rotation indexing, indexing rate is calculated only for frames, where "global" rotation indexing solution was found
msg.indexing_result = false;
@@ -292,8 +292,13 @@ void IndexAndRefine::ProcessImage(DataMessage &msg,
}
std::optional<RotationIndexerResult> IndexAndRefine::Finalize() {
if (rotation_indexer)
if (rotation_indexer) {
if (const auto latt = rotation_indexer->GetLattice())
return latt;
rotation_indexer->RunIndexing();
return rotation_indexer->GetLattice();
}
return {};
}