From 3a5f10708ff67235a4259ad19cf1af830e8913f7 Mon Sep 17 00:00:00 2001 From: Filip Leonarski Date: Tue, 20 Jan 2026 08:58:54 +0100 Subject: [PATCH] RotationIndexer: Refine detector angles --- image_analysis/IndexAndRefine.cpp | 7 +++++-- image_analysis/RotationIndexer.cpp | 1 + 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/image_analysis/IndexAndRefine.cpp b/image_analysis/IndexAndRefine.cpp index 781b42a8..71afcc99 100644 --- a/image_analysis/IndexAndRefine.cpp +++ b/image_analysis/IndexAndRefine.cpp @@ -20,6 +20,8 @@ IndexAndRefine::IndexAndRefine(const DiffractionExperiment &x, IndexerThreadPool rotation_indexer = std::make_unique(x, *indexer); } +#include + IndexAndRefine::IndexingOutcome IndexAndRefine::DetermineLatticeAndSymmetry(DataMessage &msg) { IndexingOutcome outcome(experiment); @@ -30,8 +32,9 @@ IndexAndRefine::IndexingOutcome IndexAndRefine::DetermineLatticeAndSymmetry(Data outcome.experiment.BeamX_pxl(result->geom.GetBeamX_pxl()) .BeamY_pxl(result->geom.GetBeamY_pxl()) - .DetectorDistance_mm(result->geom.GetDetectorDistance_mm()); - + .DetectorDistance_mm(result->geom.GetDetectorDistance_mm()) + .PoniRot1_rad(result->geom.GetPoniRot1_rad()) + .PoniRot2_rad(result->geom.GetPoniRot2_rad()); outcome.symmetry.centering = result->search_result.centering; outcome.symmetry.niggli_class = result->search_result.niggli_class; outcome.symmetry.crystal_system = result->search_result.system; diff --git a/image_analysis/RotationIndexer.cpp b/image_analysis/RotationIndexer.cpp index 564e5584..90177995 100644 --- a/image_analysis/RotationIndexer.cpp +++ b/image_analysis/RotationIndexer.cpp @@ -85,6 +85,7 @@ void RotationIndexer::TryIndex() { .min_spots = experiment.GetIndexingSettings().GetViableCellMinSpots(), .refine_beam_center = true, .refine_distance_mm = false, + .refine_detector_angles = true, .index_ice_rings = experiment.GetIndexingSettings().GetIndexIceRings(), .axis = axis_ };