From 3df3322433fd3e4532d90ec2d1771a1be5babd4b Mon Sep 17 00:00:00 2001 From: Thomas White Date: Fri, 8 Jan 2016 17:58:57 +0100 Subject: Make indexing "retry" and "multi" optional --- libcrystfel/src/index.h | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) (limited to 'libcrystfel/src/index.h') diff --git a/libcrystfel/src/index.h b/libcrystfel/src/index.h index 0ce74e37..855af70d 100644 --- a/libcrystfel/src/index.h +++ b/libcrystfel/src/index.h @@ -3,13 +3,13 @@ * * Perform indexing (somehow) * - * Copyright © 2012-2015 Deutsches Elektronen-Synchrotron DESY, + * Copyright © 2012-2016 Deutsches Elektronen-Synchrotron DESY, * a research centre of the Helmholtz Association. * Copyright © 2012 Richard Kirian * Copyright © 2012 Lorenzo Galli * * Authors: - * 2010-2015 Thomas White + * 2010-2016 Thomas White * 2010 Richard Kirian * 2012 Lorenzo Galli * 2015 Kenneth Beyerlein @@ -40,25 +40,31 @@ #define INDEXING_DEFAULTS_DIRAX (INDEXING_DIRAX | INDEXING_CHECK_PEAKS \ - | INDEXING_CHECK_CELL_COMBINATIONS) + | INDEXING_CHECK_CELL_COMBINATIONS \ + | INDEXING_RETRY | INDEXING_MULTI) -#define INDEXING_DEFAULTS_ASDF (INDEXING_ASDF | INDEXING_CHECK_PEAKS \ - | INDEXING_CHECK_CELL_COMBINATIONS) +#define INDEXING_DEFAULTS_ASDF (INDEXING_ASDF | INDEXING_CHECK_PEAKS \ + | INDEXING_CHECK_CELL_COMBINATIONS \ + | INDEXING_RETRY | INDEXING_MULTI) #define INDEXING_DEFAULTS_MOSFLM (INDEXING_MOSFLM | INDEXING_CHECK_PEAKS \ | INDEXING_CHECK_CELL_COMBINATIONS \ | INDEXING_USE_LATTICE_TYPE \ - | INDEXING_USE_CELL_PARAMETERS) + | INDEXING_USE_CELL_PARAMETERS \ + | INDEXING_RETRY | INDEXING_MULTI) -#define INDEXING_DEFAULTS_FELIX (INDEXING_FELIX \ +/* Note: no INDEXING_MULTI because Felix is already multi-crystal */ +#define INDEXING_DEFAULTS_FELIX (INDEXING_FELIX \ | INDEXING_USE_LATTICE_TYPE \ - | INDEXING_USE_CELL_PARAMETERS) + | INDEXING_USE_CELL_PARAMETERS \ + | INDEXING_RETRY) /* Axis check is needed for XDS, because it likes to permute the axes */ #define INDEXING_DEFAULTS_XDS (INDEXING_XDS | INDEXING_USE_LATTICE_TYPE \ | INDEXING_USE_CELL_PARAMETERS \ | INDEXING_CHECK_CELL_AXES \ - | INDEXING_CHECK_PEAKS) + | INDEXING_CHECK_PEAKS \ + | INDEXING_RETRY | INDEXING_MULTI) /** * IndexingMethod: @@ -80,6 +86,10 @@ * guide the indexing process. * @INDEXING_USE_CELL_PARAMETERS: Use the unit cell parameters to guide the * indexingprocess. + * @INDEXING_RETRY: If the indexer doesn't succeed, delete the weakest peaks + * and try again. + * @INDEXING_MULTI: If the indexer succeeds, delete the peaks explained by the + * lattice and try again in the hope of finding another crystal. * * An enumeration of all the available indexing methods. The dummy value * @INDEXING_SIMULATION is used by partial_sim to indicate that no indexing was @@ -105,6 +115,8 @@ typedef enum { INDEXING_CHECK_PEAKS = 1024, INDEXING_USE_LATTICE_TYPE = 2048, INDEXING_USE_CELL_PARAMETERS = 4096, + INDEXING_RETRY = 8192, + INDEXING_MULTI = 16384 } IndexingMethod; -- cgit v1.2.3