| CrystFEL Reference Manual | ||||
|---|---|---|---|---|
| Top | Description | ||||
enum IndexingMethod; typedef IndexingPrivate; #define INDEXING_DEFAULTS_DIRAX #define INDEXING_DEFAULTS_GRAINSPOTTER #define INDEXING_DEFAULTS_MOSFLM #define INDEXING_DEFAULTS_REAX #define INDEXING_DEFAULTS_XDS #define INDEXING_METHOD_MASK IndexingMethod * build_indexer_list (const char *str); void cleanup_indexing (IndexingMethod *indms,IndexingPrivate **privs); IndexingPrivate ** prepare_indexing (IndexingMethod *indm,UnitCell *cell,struct detector *det,struct beam_params *beam,float *ltl); void index_pattern (struct image *image,IndexingMethod *indms,IndexingPrivate **iprivs); char * indexer_str (IndexingMethod indm); IndexingPrivate * dirax_prepare (IndexingMethod *indm,UnitCell *cell,struct detector *det,struct beam_params *beam,float *ltl); int run_dirax (struct image *image,IndexingPrivate *ipriv); void dirax_cleanup (IndexingPrivate *pp); IndexingPrivate * mosflm_prepare (IndexingMethod *indm,UnitCell *cell,struct detector *det,struct beam_params *beam,float *ltl); int run_mosflm (struct image *image,IndexingPrivate *ipriv); void mosflm_cleanup (IndexingPrivate *pp); IndexingPrivate * xds_prepare (IndexingMethod *indm,UnitCell *cell,struct detector *det,struct beam_params *beam,float *ltl); int run_xds (struct image *image,IndexingPrivate *ipriv); void xds_cleanup (IndexingPrivate *pp); IndexingPrivate * reax_prepare (IndexingMethod *indm,UnitCell *cell,struct detector *det,struct beam_params *beam,float *ltl); int reax_index (IndexingPrivate *pp,struct image *image); void reax_cleanup (IndexingPrivate *pp); IndexingPrivate * grainspotter_prepare (IndexingMethod *indm,UnitCell *cell,struct detector *det,struct beam_params *beam,float *ltl); int grainspotter_index (struct image *image,IndexingPrivate *p); void grainspotter_cleanup (IndexingPrivate *pp);
typedef enum {
INDEXING_NONE = 0,
/* The core indexing methods themselves */
INDEXING_DIRAX = 1,
INDEXING_MOSFLM = 2,
INDEXING_REAX = 3,
INDEXING_GRAINSPOTTER = 4,
INDEXING_XDS = 5,
INDEXING_SIMULATION = 6,
/* Bits at the top of the IndexingMethod are flags which modify the
* behaviour of the indexer. */
INDEXING_CHECK_CELL_COMBINATIONS = 256,
INDEXING_CHECK_CELL_AXES = 512,
INDEXING_CHECK_PEAKS = 1024,
INDEXING_USE_LATTICE_TYPE = 2048,
INDEXING_USE_CELL_PARAMETERS = 4096,
} IndexingMethod;
An enumeration of all the available indexing methods. The dummy value
INDEXING_SIMULATION is used by partial_sim to indicate that no indexing was
performed, and that the indexing results are just from simulation.
| No indexing to be performed | |
| Invoke DirAx | |
| Invoke MOSFLM | |
| DPS algorithm using known cell parameters | |
| Invoke GrainSpotter | |
| Invoke XDS | |
| Dummy value | |
| Check linear combinations of unit cell axes for agreement with given cell. | |
| Check unit cell axes for agreement with given cell, and permute them if necessary. | |
| Check that the peaks can be explained by the indexing result. | |
| Use lattice type and centering information to guide the indexing process. | |
| Use the unit cell parameters to guide the indexingprocess. |
typedef void *IndexingPrivate;
This is an opaque data structure containing information needed by the indexing method.
IndexingPrivate ** prepare_indexing (IndexingMethod *indm,UnitCell *cell,struct detector *det,struct beam_params *beam,float *ltl);
void index_pattern (struct image *image,IndexingMethod *indms,IndexingPrivate **iprivs);
IndexingPrivate * dirax_prepare (IndexingMethod *indm,UnitCell *cell,struct detector *det,struct beam_params *beam,float *ltl);
IndexingPrivate * mosflm_prepare (IndexingMethod *indm,UnitCell *cell,struct detector *det,struct beam_params *beam,float *ltl);
IndexingPrivate * xds_prepare (IndexingMethod *indm,UnitCell *cell,struct detector *det,struct beam_params *beam,float *ltl);
IndexingPrivate * reax_prepare (IndexingMethod *indm,UnitCell *cell,struct detector *det,struct beam_params *beam,float *ltl);
IndexingPrivate * grainspotter_prepare (IndexingMethod *indm,UnitCell *cell,struct detector *det,struct beam_params *beam,float *ltl);