IndexingSettings: Figure out max extra lattices in StartMessage + make it changeable

This commit is contained in:
2026-06-07 13:43:47 +02:00
parent 83377ef3d8
commit 2bffb38c82
3 changed files with 12 additions and 1 deletions
+1
View File
@@ -667,6 +667,7 @@ void DiffractionExperiment::FillMessage(StartMessage &message) const {
message.pixel_signed = IsPixelSigned();
message.sample_name = GetSampleName();
message.max_spot_count = GetMaxSpotCount();
message.max_extra_lattices = indexing.GetMaxExtraLattices();
message.pixel_mask_enabled = IsApplyPixelMask();
message.detector_description = GetDetectorDescription();
message.space_group_number = GetSpaceGroupNumber();
+8 -1
View File
@@ -215,5 +215,12 @@ IndexingSettings &IndexingSettings::BlockingBehavior(bool input) {
}
int64_t IndexingSettings::GetMaxExtraLattices() const {
return 3;
return max_extra_lattices;
}
IndexingSettings &IndexingSettings::MaxExtraLattices(int64_t input) {
check_min("Max extra lattices", input, 0);
check_max("Max extra lattices", input, 10);
max_extra_lattices = input;
return *this;
}
+3
View File
@@ -23,6 +23,8 @@ class IndexingSettings {
int64_t indexing_threads = 4;
int64_t viable_cell_min_spots = 9;
int64_t max_extra_lattices = 2;
bool blocking_behavior = true;
bool index_ice_rings = false;
@@ -51,6 +53,7 @@ public:
IndexingSettings& RotationIndexingMinAngularRange_deg(float input);
IndexingSettings& RotationIndexingAngularStride_deg(float input);
IndexingSettings& BlockingBehavior(bool input);
IndexingSettings& MaxExtraLattices(int64_t input);
[[nodiscard]] int64_t GetViableCellMinSpots() const;
[[nodiscard]] IndexingAlgorithmEnum GetAlgorithm() const;