Files
Jungfraujoch/image_analysis/AzimuthalIntegrationMapping.h
2024-11-22 21:25:20 +01:00

25 lines
874 B
C++

// SPDX-FileCopyrightText: 2024 Filip Leonarski, Paul Scherrer Institute <filip.leonarski@psi.ch>
// SPDX-License-Identifier: GPL-3.0-only
#ifndef JUNGFRAUJOCH_AZIMUTHALINTEGRATIONMAPPING_H
#define JUNGFRAUJOCH_AZIMUTHALINTEGRATIONMAPPING_H
#include <optional>
#include "../common/DiffractionExperiment.h"
class AzimuthalIntegrationMapping {
const double low_q, high_q, q_spacing;
std::vector<float> bin_to_q;
std::vector<uint16_t> pixel_to_bin_raw;
uint16_t max_bin_number;
public:
AzimuthalIntegrationMapping(const DiffractionExperiment& experiment);
[[nodiscard]] uint16_t GetBinNumber() const;
[[nodiscard]] const std::vector<uint16_t>& GetPixelToBinMappingRaw() const;
[[nodiscard]] const std::vector<float> &GetBinToQ() const;
[[nodiscard]] double QToBin(double q) const;
};
#endif //JUNGFRAUJOCH_AZIMUTHALINTEGRATIONMAPPING_H