IndexingSettings: Add rotation indexer specific settings
This commit is contained in:
@@ -166,6 +166,37 @@ IndexingSettings & IndexingSettings::IndexIceRings(bool input) {
|
||||
return *this;
|
||||
}
|
||||
|
||||
IndexingSettings & IndexingSettings::RotationIndexing(bool input) {
|
||||
enable_rotation_indexing = input;
|
||||
return*this;
|
||||
}
|
||||
|
||||
IndexingSettings & IndexingSettings::RotationIndexingMinAngularRange_deg(float input) {
|
||||
check_finite("Rotation indexing minimum angular range (deg.)", input);
|
||||
check_min("Rotation indexing minimum angular range (deg.)", input, 1.0);
|
||||
rotation_indexing_min_angular_range_deg = input;
|
||||
return *this;
|
||||
}
|
||||
|
||||
IndexingSettings & IndexingSettings::RotationIndexingAngularStride_deg(float input) {
|
||||
check_finite("Rotation indexing angular stride (deg.)", input);
|
||||
check_min("Rotation indexing angular stride (deg.)", input, 0.0);
|
||||
rotation_indexing_angular_stride_deg = input;
|
||||
return *this;
|
||||
}
|
||||
|
||||
bool IndexingSettings::GetRotationIndexing() const {
|
||||
return enable_rotation_indexing;
|
||||
}
|
||||
|
||||
float IndexingSettings::GetRotationIndexingMinAngularRange_deg() const {
|
||||
return rotation_indexing_min_angular_range_deg;
|
||||
}
|
||||
|
||||
float IndexingSettings::GetRotationIndexingAngularStride_deg() const {
|
||||
return rotation_indexing_angular_stride_deg;
|
||||
}
|
||||
|
||||
bool IndexingSettings::GetIndexIceRings() const {
|
||||
return index_ice_rings;
|
||||
}
|
||||
|
||||
@@ -24,6 +24,11 @@ class IndexingSettings {
|
||||
int64_t viable_cell_min_spots = 9;
|
||||
|
||||
bool index_ice_rings = false;
|
||||
|
||||
bool enable_rotation_indexing = false;
|
||||
float rotation_indexing_min_angular_range_deg = 20.0;
|
||||
float rotation_indexing_angular_stride_deg = 0.5;
|
||||
|
||||
GeomRefinementAlgorithmEnum refinement = GeomRefinementAlgorithmEnum::BeamCenter;
|
||||
public:
|
||||
IndexingSettings();
|
||||
@@ -41,6 +46,9 @@ public:
|
||||
IndexingSettings& UnitCellDistTolerance(float input);
|
||||
IndexingSettings& GeomRefinementAlgorithm(GeomRefinementAlgorithmEnum input);
|
||||
IndexingSettings& IndexIceRings(bool input);
|
||||
IndexingSettings& RotationIndexing(bool input);
|
||||
IndexingSettings& RotationIndexingMinAngularRange_deg(float input);
|
||||
IndexingSettings& RotationIndexingAngularStride_deg(float input);
|
||||
|
||||
[[nodiscard]] int64_t GetViableCellMinSpots() const;
|
||||
[[nodiscard]] IndexingAlgorithmEnum GetAlgorithm() const;
|
||||
@@ -55,6 +63,9 @@ public:
|
||||
[[nodiscard]] int64_t GetIndexingThreads() const;
|
||||
[[nodiscard]] float GetUnitCellDistTolerance() const;
|
||||
[[nodiscard]] bool GetIndexIceRings() const;
|
||||
[[nodiscard]] bool GetRotationIndexing() const;
|
||||
[[nodiscard]] float GetRotationIndexingMinAngularRange_deg() const;
|
||||
[[nodiscard]] float GetRotationIndexingAngularStride_deg() const;
|
||||
};
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user