// SPDX-FileCopyrightText: 2025 Filip Leonarski, Paul Scherrer Institute // SPDX-License-Identifier: GPL-3.0-only #pragma once #include #include #include "../common/DiffractionExperiment.h" class RotationIndexerCounter { mutable std::mutex m; int64_t image_stride = 0; int64_t image_to_try_indexing = INT64_MAX; int64_t indexing_range_multiplier = 1; size_t accumulated_images = 0; constexpr static int64_t min_images_for_indexing = 10; public: RotationIndexerCounter(const DiffractionExperiment &experiment); std::pair Process(int64_t image); // Should you add image to a pile? Should you try indexing? };