jfjoch_process: More options
All checks were successful
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 12m4s
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 13m16s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 13m29s
Build Packages / Generate python client (push) Successful in 17s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 13m54s
Build Packages / Create release (push) Has been skipped
Build Packages / build:rpm (rocky8) (push) Successful in 14m6s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 14m9s
Build Packages / Build documentation (push) Successful in 45s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 14m20s
Build Packages / build:rpm (rocky9) (push) Successful in 15m14s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 7m14s
Build Packages / Unit tests (push) Successful in 55m20s
All checks were successful
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 12m4s
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 13m16s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 13m29s
Build Packages / Generate python client (push) Successful in 17s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 13m54s
Build Packages / Create release (push) Has been skipped
Build Packages / build:rpm (rocky8) (push) Successful in 14m6s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 14m9s
Build Packages / Build documentation (push) Successful in 45s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 14m20s
Build Packages / build:rpm (rocky9) (push) Successful in 15m14s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 7m14s
Build Packages / Unit tests (push) Successful in 55m20s
This commit is contained in:
@@ -40,6 +40,8 @@ void print_usage(Logger &logger) {
|
||||
logger.Info(" -d<num> High resolution limit for spot finding (default: 1.5)");
|
||||
logger.Info(" -S<num> Space group number");
|
||||
logger.Info(" -M Scale and merge (refine mosaicity) and write scaled.hkl + image.dat");
|
||||
logger.Info(" -L Use log-scaling residual");
|
||||
logger.Info(" -m Mosaicity refinement none|fixed|image (default: image)");
|
||||
}
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
@@ -62,6 +64,10 @@ int main(int argc, char **argv) {
|
||||
bool run_scaling = false;
|
||||
std::optional<int> space_group_number;
|
||||
|
||||
bool log_residual = false;
|
||||
enum class MosaicityRefinementMode { None, Fixed, Image };
|
||||
MosaicityRefinementMode mosaicity_refinement_mode = MosaicityRefinementMode::Image;
|
||||
|
||||
float d_high = 1.5;
|
||||
|
||||
if (argc == 1) {
|
||||
@@ -106,6 +112,22 @@ int main(int argc, char **argv) {
|
||||
case 'M':
|
||||
run_scaling = true;
|
||||
break;
|
||||
case 'L':
|
||||
log_residual = true;
|
||||
break;
|
||||
case 'm':
|
||||
if (strcmp(optarg, "none") == 0)
|
||||
mosaicity_refinement_mode = MosaicityRefinementMode::None;
|
||||
else if (strcmp(optarg, "fixed") == 0)
|
||||
mosaicity_refinement_mode = MosaicityRefinementMode::Fixed;
|
||||
else if (strcmp(optarg, "image") == 0)
|
||||
mosaicity_refinement_mode = MosaicityRefinementMode::Image;
|
||||
else {
|
||||
logger.Error("Invalid mosaicity refinement mode: {}", optarg);
|
||||
print_usage(logger);
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
print_usage(logger);
|
||||
exit(EXIT_FAILURE);
|
||||
@@ -395,7 +417,20 @@ int main(int argc, char **argv) {
|
||||
scale_opts.refine_mosaicity = true;
|
||||
scale_opts.max_num_iterations = 500;
|
||||
scale_opts.max_solver_time_s = 240.0; // generous cutoff for now
|
||||
|
||||
scale_opts.log_scaling_residual = log_residual;
|
||||
switch (mosaicity_refinement_mode) {
|
||||
case MosaicityRefinementMode::None:
|
||||
scale_opts.refine_mosaicity = false;
|
||||
break;
|
||||
case MosaicityRefinementMode::Fixed:
|
||||
scale_opts.refine_mosaicity = true;
|
||||
scale_opts.per_image_mosaicity = false;
|
||||
break;
|
||||
case MosaicityRefinementMode::Image:
|
||||
scale_opts.refine_mosaicity = true;
|
||||
scale_opts.per_image_mosaicity = true;
|
||||
break;
|
||||
}
|
||||
if (space_group)
|
||||
scale_opts.space_group = *space_group;
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user