Files
Jungfraujoch/image_analysis/MXImageAnalyzer.h
2025-03-24 12:16:33 +01:00

34 lines
1.1 KiB
C++

// SPDX-FileCopyrightText: 2025 Filip Leonarski, Paul Scherrer Institute <filip.leonarski@psi.ch>
// SPDX-License-Identifier: GPL-3.0-only
#ifndef JFJOCH_MXIMAGEANALYZER_H
#define JFJOCH_MXIMAGEANALYZER_H
#include "../common/DiffractionExperiment.h"
#include "../common/AzimuthalIntegration.h"
#include "ImageSpotFinder.h"
#include "IndexerWrapper.h"
class MXImageAnalyzer {
const AzimuthalIntegration& integration;
const DiffractionGeometry& geom;
ImageSpotFinder spotFinder;
std::unique_ptr<IndexerWrapper> indexer;
template <class T>
void ProcessInternal(DataMessage &message, const T* data, const SpotFindingSettings& settings);
public:
MXImageAnalyzer(const AzimuthalIntegration& integration,
const DiffractionGeometry& geom,
const std::optional<UnitCell> &uc,
size_t width, size_t height);
void Process(DataMessage &message, const int16_t* data, const SpotFindingSettings& settings);
void Process(DataMessage &message, const int32_t* data, const SpotFindingSettings& settings);
};
#endif //JFJOCH_MXIMAGEANALYZER_H