IndexAndRefine: Dedicated function to add image to rotation indexer
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 9m17s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 11m50s
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 11m54s
Build Packages / build:rpm (rocky8) (push) Successful in 12m5s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 12m17s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 12m29s
Build Packages / build:rpm (rocky9_sls9) (push) Successful in 13m18s
Build Packages / XDS test (JFJoch plugin) (push) Successful in 8m20s
Build Packages / XDS test (neggia plugin) (push) Successful in 7m29s
Build Packages / XDS test (durin plugin) (push) Successful in 8m35s
Build Packages / Create release (push) Skipped
Build Packages / Generate python client (push) Successful in 14s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 9m15s
Build Packages / build:rpm (rocky9) (push) Successful in 12m9s
Build Packages / Build documentation (push) Successful in 38s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 10m10s
Build Packages / DIALS test (push) Successful in 11m36s
Build Packages / Unit tests (push) Failing after 1h8m51s

This commit is contained in:
2026-05-29 16:56:18 +02:00
parent caa38a9732
commit 40ae325995
4 changed files with 16 additions and 6 deletions
+11 -3
View File
@@ -26,11 +26,19 @@ IndexAndRefine::IndexAndRefine(const DiffractionExperiment &x, IndexerThreadPool
unit_cells.resize(x.GetImageNum());
}
IndexAndRefine::IndexingOutcome IndexAndRefine::DetermineLatticeAndSymmetryRotation(DataMessage &msg) {
auto result = rotation_indexer->GetLattice();
void IndexAndRefine::AddImageToRotationIndexer(DataMessage &msg) {
if (rotation_indexer)
rotation_indexer->ProcessImage(msg.number, msg.spots);
}
IndexAndRefine::IndexingOutcome IndexAndRefine::DetermineLatticeAndSymmetryRotation(DataMessage &msg) {
IndexingOutcome outcome(experiment);
if (!rotation_indexer)
return outcome;
auto result = rotation_indexer->GetLattice();
if (!result.has_value()) {
auto rot_cnt = rotation_indexer_counter.Process(msg.number);
if (rot_cnt.first)
@@ -301,7 +309,7 @@ void IndexAndRefine::ProcessImage(DataMessage &msg,
QuickPredictAndIntegrate(msg, spot_finding_settings, image, prediction, outcome);
}
std::optional<RotationIndexerResult> IndexAndRefine::Finalize() {
std::optional<RotationIndexerResult> IndexAndRefine::FinalizeRotationIndexing() {
if (rotation_indexer) {
if (const auto latt = rotation_indexer->GetLattice())
return latt;
+3 -1
View File
@@ -66,12 +66,14 @@ class IndexAndRefine {
void ScaleImage(DataMessage &msg, IntegrationOutcome& outcome);
public:
IndexAndRefine(const DiffractionExperiment &x, IndexerThreadPool *indexer);
void AddImageToRotationIndexer(DataMessage &msg);
void ProcessImage(DataMessage &msg, const SpotFindingSettings &settings, const CompressedImage &image, BraggPrediction &prediction);
IndexAndRefine& ReferenceIntensities(std::vector<MergedReflection> &reference);
ScalingResult ScaleAllImages(const std::vector<MergedReflection> &reference, size_t nthreads = 0);
std::optional<RotationIndexerResult> Finalize();
std::optional<RotationIndexerResult> FinalizeRotationIndexing();
std::optional<UnitCell> GetConsensusUnitCell() const;
+1 -1
View File
@@ -161,7 +161,7 @@ void JFJochReceiver::SendEndMessage() {
message.az_int_result["dataset"] = plots.GetAzIntProfile();
const auto rotation_indexer_ret = indexer.Finalize();
const auto rotation_indexer_ret = indexer.FinalizeRotationIndexing();
if (rotation_indexer_ret.has_value()) {
message.rotation_lattice = rotation_indexer_ret->lattice;
message.rotation_lattice_type = LatticeMessage{
+1 -1
View File
@@ -683,7 +683,7 @@ int main(int argc, char **argv) {
// Finalize Indexing (Global) to get rotation lattice
// We create a temporary IndexAndRefine to call Finalize() which aggregates pool results
const auto rotation_indexer_ret = indexer.Finalize();
const auto rotation_indexer_ret = indexer.FinalizeRotationIndexing();
if (rotation_indexer_ret.has_value()) {
end_msg.rotation_lattice = rotation_indexer_ret->lattice;