From ec8804fbba5b4e6565fc2d42341ee837e968f89d Mon Sep 17 00:00:00 2001 From: "Kenneth R. Beyerlein" Date: Thu, 7 Dec 2017 23:10:51 +0100 Subject: Add Felix option felix-max-inter-angle --- libcrystfel/src/felix.c | 9 ++++++--- libcrystfel/src/felix.h | 1 + 2 files changed, 7 insertions(+), 3 deletions(-) (limited to 'libcrystfel') diff --git a/libcrystfel/src/felix.c b/libcrystfel/src/felix.c index 73a1423f..913e8513 100644 --- a/libcrystfel/src/felix.c +++ b/libcrystfel/src/felix.c @@ -60,8 +60,6 @@ #define FELIX_VERBOSE 0 -#define MAX_MEAN_IA 0.25 -#define MIN_NGV 15 #define MIN_NGV_UNIQUE 10 @@ -90,6 +88,7 @@ struct felix_private float sigma_omega; /* related to "uncertainties" */ int n_sigmas; int force4frustums; + float max_internal_angle; /*Felix v0.3 options*/ int orispace_frustum; @@ -209,7 +208,7 @@ static int read_felix(struct felix_private *gp, struct image *image, /* Poor indexing criterion for Felix v0.3 */ - if ( mean_ia > MAX_MEAN_IA || ngv < MIN_NGV ){ + if ( mean_ia > gp->max_internal_angle ){ crystal_set_user_flag(cr, 1); } @@ -661,6 +660,7 @@ void *felix_prepare(IndexingMethod *indm, UnitCell *cell, gp->maxtime = 120.0; gp->tthrange_min = deg2rad(0.0); gp->tthrange_max = deg2rad(30.0); + gp->max_internal_angle = 0.25; if ( opts->ttmin > 0.0 ) { gp->tthrange_min = opts->ttmin; @@ -691,6 +691,9 @@ void *felix_prepare(IndexingMethod *indm, UnitCell *cell, if (opts->domega > 0.0 ) { gp->domega = opts -> domega; } + if (opts->max_internal_angle > 0){ + gp->max_internal_angle = opts->max_internal_angle; + } return (IndexingPrivate *)gp; } diff --git a/libcrystfel/src/felix.h b/libcrystfel/src/felix.h index 4cb9c266..32980071 100644 --- a/libcrystfel/src/felix.h +++ b/libcrystfel/src/felix.h @@ -47,6 +47,7 @@ struct felix_options double test_fraction; double sigma; double domega; + double max_internal_angle; }; extern void *felix_prepare(IndexingMethod *indm, UnitCell *cell, -- cgit v1.2.3