aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorThomas White <taw@physics.org>2022-11-08 13:36:17 +0100
committerThomas White <taw@physics.org>2022-11-08 13:42:27 +0100
commit46baa4da52b939db5e8a01271befb9f5e704b3b7 (patch)
tree03600453573def91f0194d76f19bf67807ce6a6b /src
parent7a406dd524e4b01877cca301f85265a2901ffb43 (diff)
indexamajig: Add --cell-parameters-only
Diffstat (limited to 'src')
-rw-r--r--src/indexamajig.c11
-rw-r--r--src/process_image.c22
-rw-r--r--src/process_image.h1
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;