Bragg integration: option to use azimuthal integration profile

This commit is contained in:
2026-06-10 14:41:36 +02:00
parent e051eed033
commit e4230bc14e
15 changed files with 218 additions and 115 deletions
+7 -4
View File
@@ -25,10 +25,12 @@ double stddev(const std::vector<float> &v) {
}
MXAnalysisAfterFPGA::MXAnalysisAfterFPGA(const DiffractionExperiment &in_experiment, IndexAndRefine &indexer)
MXAnalysisAfterFPGA::MXAnalysisAfterFPGA(const DiffractionExperiment &in_experiment, IndexAndRefine &indexer,
AzimuthalIntegrationMapping &mapping)
: experiment(in_experiment),
indexer(indexer),
prediction(CreateBraggPrediction(experiment.IsRotationIndexing())) {
prediction(CreateBraggPrediction(experiment.IsRotationIndexing())),
mapping(mapping) {
if (experiment.IsSpotFindingEnabled())
find_spots = true;
}
@@ -103,7 +105,8 @@ void MXAnalysisAfterFPGA::ReadFromCPU(DeviceOutput *output, const SpotFindingSet
}
}
void MXAnalysisAfterFPGA::Process(DataMessage &message, const SpotFindingSettings& spot_finding_settings) {
void MXAnalysisAfterFPGA::Process(DataMessage &message, const SpotFindingSettings &spot_finding_settings,
const AzimuthalIntegrationProfile &profile) {
if (find_spots && (state == State::Enabled)) {
const auto t0 = std::chrono::steady_clock::now();
SpotAnalyze(experiment, spot_finding_settings, spots, message);
@@ -111,7 +114,7 @@ void MXAnalysisAfterFPGA::Process(DataMessage &message, const SpotFindingSetting
spot_finding_time_total += (t1 - t0);
if (spot_finding_settings.indexing)
indexer.ProcessImage(message, spot_finding_settings, message.image, *prediction);
indexer.ProcessImage(message, spot_finding_settings, message.image, *prediction, mapping, profile);
}
if (spot_finding_timing_active) {