22 lines
702 B
C++
22 lines
702 B
C++
// SPDX-FileCopyrightText: 2025 Filip Leonarski, Paul Scherrer Institute <filip.leonarski@psi.ch>
|
|
// SPDX-License-Identifier: GPL-3.0-only
|
|
|
|
#pragma once
|
|
|
|
#include "../../common/AzimuthalIntegration.h"
|
|
#include "../../common/AzimuthalIntegrationProfile.h"
|
|
|
|
class AzIntEngine {
|
|
protected:
|
|
const uint16_t azint_bins;
|
|
const size_t npixel;
|
|
const AzimuthalIntegration& integration;
|
|
std::vector<float> azint_sum;
|
|
std::vector<float> azint_sum2;
|
|
std::vector<uint32_t> azint_count;
|
|
public:
|
|
AzIntEngine(const AzimuthalIntegration& integration);
|
|
virtual ~AzIntEngine() = default;
|
|
virtual void Run(const std::vector<int32_t> &image, AzimuthalIntegrationProfile &profile) = 0;
|
|
};
|