diff options
author | Thomas White <taw@physics.org> | 2022-11-08 13:36:17 +0100 |
---|---|---|
committer | Thomas White <taw@physics.org> | 2022-11-08 13:42:27 +0100 |
commit | 46baa4da52b939db5e8a01271befb9f5e704b3b7 (patch) | |
tree | 03600453573def91f0194d76f19bf67807ce6a6b /src | |
parent | 7a406dd524e4b01877cca301f85265a2901ffb43 (diff) |
indexamajig: Add --cell-parameters-only
Diffstat (limited to 'src')
-rw-r--r-- | src/indexamajig.c | 11 | ||||
-rw-r--r-- | src/process_image.c | 22 | ||||
-rw-r--r-- | src/process_image.h | 1 |
3 files changed, 22 insertions, 12 deletions
diff --git a/src/indexamajig.c b/src/indexamajig.c index ea66630b..67206070 100644 --- a/src/indexamajig.c +++ b/src/indexamajig.c @@ -3,7 +3,7 @@ * * Index patterns, output hkl+intensity etc. * - * Copyright © 2012-2021 Deutsches Elektronen-Synchrotron DESY, + * Copyright © 2012-2022 Deutsches Elektronen-Synchrotron DESY, * a research centre of the Helmholtz Association. * Copyright © 2012 Richard Kirian * Copyright © 2012 Lorenzo Galli @@ -260,7 +260,8 @@ static void write_harvest_file(struct index_args *args, write_float(fh, 1, "push_res_invm", args->push_res); write_float(fh, 1, "fix_profile_radius_invm", nan_if_neg(args->fix_profile_r)); write_float(fh, 1, "fix_divergence_rad", nan_if_neg(args->fix_divergence)); - write_bool(fh, 0, "overpredict", args->overpredict); + write_bool(fh, 1, "overpredict", args->overpredict); + write_bool(fh, 0, "cell_parameters_only", args->cell_params_only); fprintf(fh, " }\n"); /* NB No comma */ } @@ -795,6 +796,10 @@ static error_t parse_arg(int key, char *arg, struct argp_state *state) args->iargs.overpredict = 1; break; + case 509 : + args->iargs.cell_params_only = 1; + break; + /* ---------- Output ---------- */ case 601 : @@ -931,6 +936,7 @@ int main(int argc, char *argv[]) args.iargs.int_diag = INTDIAG_NONE; args.iargs.min_peaks = 0; args.iargs.overpredict = 0; + args.iargs.cell_params_only = 0; args.iargs.wait_for_file = 0; args.iargs.ipriv = NULL; /* No default */ args.iargs.int_meth = integration_method("rings-nocen-nosat-nograd", NULL); @@ -1074,6 +1080,7 @@ int main(int argc, char *argv[]) {"int-diag", 506, "condition", 0, "Show debugging information about reflections"}, {"push-res", 507, "dist", 0, "Integrate higher than apparent resolution cutoff (m^-1)"}, {"overpredict", 508, NULL, 0, "Over-predict reflections"}, + {"cell-parameters-only", 509, NULL, 0, "Don't predict reflections at all"}, {NULL, 0, 0, OPTION_DOC, "Output options:", 6}, {"no-non-hits-in-stream", 601, NULL, OPTION_NO_USAGE, "Don't include non-hits in " diff --git a/src/process_image.c b/src/process_image.c index f1ddb7f0..d8ccca93 100644 --- a/src/process_image.c +++ b/src/process_image.c @@ -448,16 +448,18 @@ void process_image(const struct index_args *iargs, struct pattern_args *pargs, } /* Integrate! */ - set_last_task(last_task, "integration"); - profile_start("integration"); - sb_shared->pings[cookie]++; - integrate_all_5(image, iargs->int_meth, PMODEL_XSPHERE, - iargs->push_res, - iargs->ir_inn, iargs->ir_mid, iargs->ir_out, - iargs->int_diag, iargs->int_diag_h, - iargs->int_diag_k, iargs->int_diag_l, - &sb_shared->term_lock, iargs->overpredict); - profile_end("integration"); + if ( !iargs->cell_params_only ) { + set_last_task(last_task, "integration"); + profile_start("integration"); + sb_shared->pings[cookie]++; + integrate_all_5(image, iargs->int_meth, PMODEL_XSPHERE, + iargs->push_res, + iargs->ir_inn, iargs->ir_mid, iargs->ir_out, + iargs->int_diag, iargs->int_diag_h, + iargs->int_diag_k, iargs->int_diag_l, + &sb_shared->term_lock, iargs->overpredict); + profile_end("integration"); + } streamwrite: set_last_task(last_task, "stream write"); diff --git a/src/process_image.h b/src/process_image.h index 166f6cd5..feb3f81c 100644 --- a/src/process_image.h +++ b/src/process_image.h @@ -108,6 +108,7 @@ struct index_args float fix_profile_r; float fix_divergence; int overpredict; + int cell_params_only; /* Output */ int stream_flags; |