Files
Jungfraujoch/image_analysis/MXAnalyzer.h

33 lines
978 B
C++

// Copyright (2019-2024) Paul Scherrer Institute
#ifndef JUNGFRAUJOCH_MXANALYZER_H
#define JUNGFRAUJOCH_MXANALYZER_H
#include "../common/DiffractionExperiment.h"
#include "IndexerWrapper.h"
#include "StrongPixelSet.h"
class MXAnalyzer {
const DiffractionExperiment &experiment;
std::unique_ptr<IndexerWrapper> indexer;
bool find_spots = false;
std::vector<DiffractionSpot> spots;
constexpr static const float spot_distance_threshold_pxl = 2.0f;
public:
explicit MXAnalyzer(const DiffractionExperiment& experiment);
void ReadFromFPGA(const DeviceOutput* output,
const SpotFindingSettings& settings,
size_t module_number);
void ReadFromCPU(const int16_t *image,
const SpotFindingSettings& settings,
size_t module_number);
void Process(DataMessage &message,
const SpotFindingSettings& settings);
};
#endif //JUNGFRAUJOCH_MXANALYZER_H