// SPDX-FileCopyrightText: 2025 Filip Leonarski, Paul Scherrer Institute // SPDX-License-Identifier: GPL-3.0-only #pragma once #include "../../common/AzimuthalIntegration.h" #include "../../common/AzimuthalIntegrationProfile.h" #include "../image_preprocessing/ImagePreprocessorBuffer.h" class AzIntEngine { protected: const uint16_t azint_bins; const size_t npixel; const AzimuthalIntegration& integration; std::vector azint_sum; std::vector azint_sum2; std::vector azint_count; public: AzIntEngine(const AzimuthalIntegration& integration); virtual ~AzIntEngine() = default; virtual void Run(const ImagePreprocessorBuffer &image, AzimuthalIntegrationProfile &profile) = 0; };