2404 indexing enable

This commit is contained in:
2024-04-11 09:25:48 +02:00
parent f2be4c677d
commit 82a2d9a7bf
13 changed files with 73 additions and 14 deletions

View File

@@ -39,7 +39,8 @@ void MXAnalyzer::ReadFromCPU(const int16_t *image, const SpotFindingSettings &se
ReadFromFPGA(&output, settings, module_number);
}
bool MXAnalyzer::Process(DataMessage &message) {
bool MXAnalyzer::Process(DataMessage &message,
const SpotFindingSettings& settings) {
message.indexing_result = 0;
if (!find_spots)
return false;
@@ -52,7 +53,7 @@ bool MXAnalyzer::Process(DataMessage &message) {
for (const auto &spot: spots_out)
message.spots.push_back(spot);
if (do_indexing) {
if (do_indexing && settings.indexing) {
std::vector<Coord> recip;
for (const auto &i: spots_out)
recip.push_back(i.ReciprocalCoord(experiment));

View File

@@ -17,13 +17,15 @@ public:
explicit MXAnalyzer(const DiffractionExperiment& experiment);
void ReadFromFPGA(const DeviceOutput* output,
const SpotFindingSettings& settings,
size_t module_number);
const SpotFindingSettings& settings,
size_t module_number);
void ReadFromCPU(const int16_t *image,
const SpotFindingSettings& settings,
size_t module_number);
bool Process(DataMessage &message);
bool Process(DataMessage &message,
const SpotFindingSettings& settings);
};

View File

@@ -7,6 +7,7 @@
struct SpotFindingSettings {
bool enable = true;
bool indexing = true;
float signal_to_noise_threshold = 3; // STRONG_PIXEL in XDS
int64_t photon_count_threshold = 10; // Threshold in photon counts
int64_t min_pix_per_spot = 2; // Minimum pixels per spot