IndexAndRefine: Stabilize profile radius and mosaicity, by using moving average

This commit is contained in:
2026-01-20 11:20:35 +01:00
parent 0b9463cb0d
commit 9c5a3f5c12
5 changed files with 73 additions and 13 deletions
+27
View File
@@ -0,0 +1,27 @@
// SPDX-FileCopyrightText: 2025 Filip Leonarski, Paul Scherrer Institute <filip.leonarski@psi.ch>
// SPDX-License-Identifier: GPL-3.0-only
#include "RotationParameters.h"
RotationParameters::RotationParameters()
: profile_radius(100), beam_x(100), beam_y(100), mosaicity(100) {}
float RotationParameters::ProfileRadius(float input) {
profile_radius.Add(input);
return profile_radius.Read().value_or(input);
}
float RotationParameters::Mosaicity(float input) {
mosaicity.Add(input);
return mosaicity.Read().value_or(input);
}
float RotationParameters::BeamX(float input) {
beam_x.Add(input);
return beam_x.Read().value_or(input);
}
float RotationParameters::BeamY(float input) {
beam_y.Add(input);
return beam_y.Read().value_or(input);
}