libcrystfel  0.10.1
Data Structures | Macros | Typedefs | Enumerations | Functions | Variables
index.h File Reference

Data Structures

struct  pinkindexer_options
 
struct  xgandalf_options
 
struct  taketwo_options
 
struct  fromfile_options
 
struct  felix_options
 

Macros

#define INDEXING_DEFAULTS_DIRAX   (INDEXING_DIRAX)
 
#define INDEXING_DEFAULTS_ASDF   (INDEXING_ASDF | INDEXING_USE_CELL_PARAMETERS)
 
#define INDEXING_DEFAULTS_MOSFLM
 
#define INDEXING_DEFAULTS_FELIX
 
#define INDEXING_DEFAULTS_TAKETWO
 
#define INDEXING_DEFAULTS_XDS
 
#define INDEXING_DEFAULTS_XGANDALF   (INDEXING_XGANDALF | INDEXING_USE_CELL_PARAMETERS)
 
#define INDEXING_DEFAULTS_PINKINDEXER   (INDEXING_PINKINDEXER | INDEXING_USE_CELL_PARAMETERS)
 
#define INDEXING_METHOD_MASK   (0xff)
 

Typedefs

typedef struct _indexingprivate IndexingPrivate
 

Enumerations

enum  IndexingMethod {
  INDEXING_NONE = 0,
  INDEXING_DIRAX = 1,
  INDEXING_MOSFLM = 2,
  INDEXING_FELIX = 4,
  INDEXING_XDS = 5,
  INDEXING_SIMULATION = 6,
  INDEXING_FILE = 7,
  INDEXING_ASDF = 8,
  INDEXING_TAKETWO = 9,
  INDEXING_XGANDALF = 10,
  INDEXING_PINKINDEXER = 11,
  INDEXING_ERROR = 255,
  INDEXING_USE_LATTICE_TYPE = 2048,
  INDEXING_USE_CELL_PARAMETERS = 4096
}
 
enum  IndexingFlags {
  INDEXING_RETRY = 1,
  INDEXING_MULTI = 2,
  INDEXING_REFINE = 4,
  INDEXING_CHECK_PEAKS = 32,
  INDEXING_CHECK_CELL = 64
}
 

Functions

char * indexer_str (IndexingMethod indm)
 
IndexingMethod get_indm_from_string (const char *method)
 
IndexingMethod get_indm_from_string_2 (const char *method, int *err)
 
IndexingMethodparse_indexing_methods (const char *method_list, int *pn)
 
char * base_indexer_str (IndexingMethod indm)
 
void default_method_options (struct taketwo_options **ttopts, struct xgandalf_options **xgandalf_opts, struct pinkindexer_options **pinkIndexer_opts, struct felix_options **felix_opts, struct fromfile_options **fromfile_opts)
 
IndexingPrivatesetup_indexing (const char *methods, UnitCell *cell, float *ltl, IndexingFlags flags, double wavelength_estimate, double clen_estimate, int n_threads, struct taketwo_options *ttopts, struct xgandalf_options *xgandalf_opts, struct pinkindexer_options *pinkIndexer_opts, struct felix_options *felix_opts, struct fromfile_options *fromfile_opts)
 
const IndexingMethodindexing_methods (IndexingPrivate *p, int *n)
 
char * detect_indexing_methods (UnitCell *cell)
 
void index_pattern (struct image *image, IndexingPrivate *ipriv)
 
void index_pattern_2 (struct image *image, IndexingPrivate *ipriv, int *ping)
 
void index_pattern_3 (struct image *image, IndexingPrivate *ipriv, int *ping, char *last_task)
 
void cleanup_indexing (IndexingPrivate *ipriv)
 

Variables

struct argp felix_argp
 
struct argp pinkIndexer_argp
 
struct argp taketwo_argp
 
struct argp xgandalf_argp
 
struct argp fromfile_argp
 

Detailed Description

The indexing subsystem

Macro Definition Documentation

◆ INDEXING_DEFAULTS_FELIX

#define INDEXING_DEFAULTS_FELIX

◆ INDEXING_DEFAULTS_MOSFLM

#define INDEXING_DEFAULTS_MOSFLM

◆ INDEXING_DEFAULTS_TAKETWO

#define INDEXING_DEFAULTS_TAKETWO

◆ INDEXING_DEFAULTS_XDS

#define INDEXING_DEFAULTS_XDS

◆ INDEXING_METHOD_MASK

#define INDEXING_METHOD_MASK   (0xff)

This defines the bits in "IndexingMethod" which are used to represent the core of the indexing method

Typedef Documentation

◆ IndexingPrivate

typedef struct _indexingprivate IndexingPrivate

This is an opaque data structure containing information needed by the indexing system.

Enumeration Type Documentation

◆ IndexingFlags

Flags affecting how the indexing system processes the results from the indexing engine

Enumerator
INDEXING_RETRY 

Retry indexing if it doesn't work

INDEXING_MULTI 

Attempt to index remaining peaks to find more lattices

INDEXING_REFINE 

Refine the indexing solution

INDEXING_CHECK_PEAKS 

Check that the peaks agree with the indexing solution

INDEXING_CHECK_CELL 

Check that the unit cell agrees with the target cell

◆ IndexingMethod

An enumeration of all the available indexing methods.

Enumerator
INDEXING_NONE 

No indexing to be performed

INDEXING_DIRAX 

Invoke DirAx program

INDEXING_MOSFLM 

Invoke MOSFLM program

INDEXING_FELIX 

Invoke Felix program

INDEXING_XDS 

Invoke XDS program (NB not nXDS)

INDEXING_SIMULATION 

Dummy value for simulated data

INDEXING_FILE 

Results injector for debugging

INDEXING_ASDF 

Use built-in ASDF algorithm

INDEXING_TAKETWO 

Use built-in TakeTwo algorithm

INDEXING_XGANDALF 

Use XGANDALF (via optional library)

INDEXING_PINKINDEXER 

Use PinkIndexer (via optional library)

INDEXING_ERROR 

Special value for unrecognised indexing engine

INDEXING_USE_LATTICE_TYPE 

Use lattice type and centering information

INDEXING_USE_CELL_PARAMETERS 

Use the cell parameters themselves

INDEXING_MOSFLM
@ INDEXING_MOSFLM
Definition: index.h:72
INDEXING_USE_LATTICE_TYPE
@ INDEXING_USE_LATTICE_TYPE
Definition: index.h:89
INDEXING_TAKETWO
@ INDEXING_TAKETWO
Definition: index.h:78
INDEXING_FELIX
@ INDEXING_FELIX
Definition: index.h:73
INDEXING_XDS
@ INDEXING_XDS
Definition: index.h:74
INDEXING_USE_CELL_PARAMETERS
@ INDEXING_USE_CELL_PARAMETERS
Definition: index.h:92