ImagePreprocessor: Separate azint from preprocessing (later put azint on GPU!)

This commit is contained in:
2026-04-22 13:27:00 +02:00
parent d0446b453b
commit 9338a876fd
12 changed files with 59 additions and 45 deletions
@@ -23,27 +23,16 @@ class ImagePreprocessor {
protected:
const size_t npixels;
const DiffractionExperiment &experiment;
const AzimuthalIntegration &integration;
std::vector<float> azint_sum;
std::vector<float> azint_sum2;
std::vector<uint32_t> azint_count;
std::vector<int32_t> &processed_image;
std::vector<bool> mask_1bit;
uint16_t azint_bins;
const int64_t saturation_limit;
template <class T> ImageStatistics Analyze(const uint8_t *input, T err_value, T sat_value);
public:
ImagePreprocessor(const DiffractionExperiment &experiment,
const AzimuthalIntegration &integration,
const PixelMask &mask,
std::vector<int32_t> &processed_image);
ImageStatistics Analyze(const uint8_t *decompressed_image, CompressedImageMode image_mode);
void Update(AzimuthalIntegrationProfile &profile) const;
void AzimIntegration(const AzimuthalIntegration &integration, AzimuthalIntegrationProfile &profile);
};