jfjoch_process: Select output format for scaling results
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 9m39s
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 9m59s
Build Packages / build:rpm (rocky8) (push) Successful in 9m33s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 9m40s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 21m10s
Build Packages / build:rpm (rocky9_sls9) (push) Successful in 19m40s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 24m5s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 10m3s
Build Packages / Generate python client (push) Successful in 17s
Build Packages / XDS test (durin plugin) (push) Successful in 9m7s
Build Packages / Build documentation (push) Successful in 40s
Build Packages / Create release (push) Skipped
Build Packages / XDS test (JFJoch plugin) (push) Successful in 8m51s
Build Packages / XDS test (neggia plugin) (push) Successful in 7m5s
Build Packages / DIALS test (push) Successful in 12m8s
Build Packages / Unit tests (push) Failing after 54m30s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 1h27m25s
Build Packages / build:rpm (rocky9) (push) Successful in 1h20m14s

This commit is contained in:
2026-05-20 10:33:21 +02:00
parent e59f11cb44
commit 805dc7d164
2 changed files with 37 additions and 11 deletions
+18 -2
View File
@@ -68,6 +68,7 @@ void print_usage() {
std::cout << " --min-partiality <num> Minimum partiality to accept reflection (default: 0.02)" << std::endl;
std::cout << " --min-image-cc <num> Per-image CC limit in percent (default: no limit)" << std::endl;
std::cout << " --scaling-iterations <num> Number of scaling iterations with no reference data (default: 3)" << std::endl;
std::cout << " --scaling-output <txt> Output format for scaling results mtz|cif|txt (default: mtz)" << std::endl;
std::cout << " -z, --reference-mtz <file> Reference MTZ file" << std::endl;
}
@@ -80,7 +81,8 @@ enum {
OPT_MIN_PARTIALITY,
OPT_MIN_IMAGE_CC,
OPT_SCALING_ITERATIONS,
OPT_SCALING_HIGH_RESOLUTION
OPT_SCALING_HIGH_RESOLUTION,
OPT_SCALING_OUTPUT
};
static option long_options[] = {
@@ -110,7 +112,7 @@ static option long_options[] = {
{"min-image-cc", required_argument, nullptr, OPT_MIN_IMAGE_CC},
{"scaling-iterations", required_argument, nullptr, OPT_SCALING_ITERATIONS},
{"scaling-high-resolution", required_argument, nullptr, OPT_SCALING_HIGH_RESOLUTION},
{"scaling-output", required_argument, nullptr, OPT_SCALING_OUTPUT},
{nullptr, 0, nullptr, 0}
};
@@ -215,6 +217,7 @@ int main(int argc, char **argv) {
IndexingAlgorithmEnum indexing_algorithm = IndexingAlgorithmEnum::Auto;
IntensityFormat intensity_format = IntensityFormat::MTZ;
PartialityModel partiality_model = PartialityModel::Fixed;
float d_min_spot_finding = 1.5;
@@ -355,6 +358,18 @@ int main(int argc, char **argv) {
case OPT_SCALING_HIGH_RESOLUTION:
d_min_scale_merge = atof(optarg);
break;
case OPT_SCALING_OUTPUT:
if (strcmp(optarg, "mtz") == 0) {
intensity_format = IntensityFormat::MTZ;
} else if (strcmp(optarg, "cif") == 0) {
intensity_format = IntensityFormat::mmCIF;
} else if (strcmp(optarg, "txt") == 0) {
intensity_format = IntensityFormat::Text;
} else {
logger.Error("Invalid intensity format: {}", optarg);
exit(EXIT_FAILURE);
}
break;
case OPT_SCALING_ITERATIONS:
scaling_iter = atoi(optarg);
if (scaling_iter <= 0) {
@@ -477,6 +492,7 @@ int main(int argc, char **argv) {
scaling_settings.RotationWedgeForScaling(wedge_for_scaling);
scaling_settings.MinPartiality(min_partiality);
scaling_settings.MinCCForImage(min_image_cc);
scaling_settings.FileFormat(intensity_format);
experiment.ImportScalingSettings(scaling_settings);
+19 -9
View File
@@ -3,25 +3,18 @@
#include <iostream>
#include <vector>
#include <string>
#include <unistd.h>
#include <string>[]
#include <future>
#include <mutex>
#include <atomic>
#include <chrono>
#include <fstream>
#include <sstream>
#include <getopt.h>
#include "../reader/JFJochHDF5Reader.h"
#include "../common/Logger.h"
#include "../common/DiffractionExperiment.h"
#include "../common/PixelMask.h"
#include "../common/AzimuthalIntegrationMapping.h"
#include "../common/time_utc.h"
#include "../common/print_license.h"
#include "../image_analysis/MXAnalysisWithoutFPGA.h"
#include "../image_analysis/indexing/IndexerFactory.h"
#include "../writer/FileWriter.h"
#include "../image_analysis/IndexAndRefine.h"
#include "../receiver/JFJochReceiverPlots.h"
@@ -57,13 +50,15 @@ void print_usage() {
std::cout << " --min-image-cc <num> Per-image CC limit in percent (default: no limit)" << std::endl;
std::cout << " --scaling-iterations <num> Number of scaling iterations with no reference data (default: 3)"
<< std::endl;
std::cout << " --scaling-output <txt> Output format for scaling results mtz|cif|txt (default: mtz)" << std::endl;
std::cout << " -z, --reference-mtz <file> Reference MTZ file" << std::endl;
}
enum {
OPT_MIN_PARTIALITY = 1000,
OPT_MIN_IMAGE_CC,
OPT_SCALING_ITERATIONS
OPT_SCALING_ITERATIONS,
OPT_SCALING_OUTPUT
};
@@ -83,6 +78,7 @@ static option long_options[] = {
{"min-partiality", required_argument, nullptr, OPT_MIN_PARTIALITY},
{"min-image-cc", required_argument, nullptr, OPT_MIN_IMAGE_CC},
{"scaling-iterations", required_argument, nullptr, OPT_SCALING_ITERATIONS},
{"scaling-output", required_argument, nullptr, OPT_SCALING_OUTPUT},
{nullptr, 0, nullptr, 0}
};
@@ -109,6 +105,7 @@ int main(int argc, char **argv) {
double min_image_cc = 0.0;
int64_t scaling_iter = 3;
IntensityFormat intensity_format = IntensityFormat::MTZ;
PartialityModel partiality_model = PartialityModel::Fixed;
std::optional<float> d_min_scale_merge;
@@ -179,6 +176,18 @@ int main(int argc, char **argv) {
case OPT_MIN_IMAGE_CC:
min_image_cc = std::stod(optarg);
break;
case OPT_SCALING_OUTPUT:
if (strcmp(optarg, "mtz") == 0) {
intensity_format = IntensityFormat::MTZ;
} else if (strcmp(optarg, "cif") == 0) {
intensity_format = IntensityFormat::mmCIF;
} else if (strcmp(optarg, "txt") == 0) {
intensity_format = IntensityFormat::Text;
} else {
logger.Error("Invalid intensity format: {}", optarg);
exit(EXIT_FAILURE);
}
break;
case OPT_SCALING_ITERATIONS:
scaling_iter = atoi(optarg);
if (scaling_iter <= 0) {
@@ -274,6 +283,7 @@ int main(int argc, char **argv) {
scaling_settings.RotationWedgeForScaling(wedge_for_scaling);
scaling_settings.MinPartiality(min_partiality);
scaling_settings.MinCCForImage(min_image_cc);
scaling_settings.FileFormat(intensity_format);
experiment.ImportScalingSettings(scaling_settings);