aboutsummaryrefslogtreecommitdiff
path: root/libcrystfel/src/index.h
diff options
context:
space:
mode:
Diffstat (limited to 'libcrystfel/src/index.h')
-rw-r--r--libcrystfel/src/index.h63
1 files changed, 63 insertions, 0 deletions
diff --git a/libcrystfel/src/index.h b/libcrystfel/src/index.h
new file mode 100644
index 00000000..9d4b69bd
--- /dev/null
+++ b/libcrystfel/src/index.h
@@ -0,0 +1,63 @@
+/*
+ * index.h
+ *
+ * Perform indexing (somehow)
+ *
+ * (c) 2006-2010 Thomas White <taw@physics.org>
+ *
+ * Part of CrystFEL - crystallography with a FEL
+ *
+ */
+
+
+#ifndef INDEX_H
+#define INDEX_H
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+
+#include "cell.h"
+#include "image.h"
+#include "detector.h"
+
+
+/* Indexing methods */
+typedef enum {
+ INDEXING_NONE,
+ INDEXING_DIRAX,
+ INDEXING_MOSFLM,
+ INDEXING_REAX,
+} IndexingMethod;
+
+
+/* Cell reduction methods */
+enum {
+ CELLR_NONE,
+ CELLR_REDUCE,
+ CELLR_COMPARE,
+ CELLR_COMPARE_AB,
+};
+
+
+typedef struct _indexingprivate IndexingPrivate;
+
+extern IndexingPrivate *indexing_private(IndexingMethod indm);
+
+extern IndexingPrivate **prepare_indexing(IndexingMethod *indm, UnitCell *cell,
+ const char *filename,
+ struct detector *det,
+ double nominal_photon_energy);
+
+extern void map_all_peaks(struct image *image);
+
+extern void index_pattern(struct image *image, UnitCell *cell,
+ IndexingMethod *indm, int cellr, int verbose,
+ IndexingPrivate **priv, int config_insane);
+
+extern void cleanup_indexing(IndexingPrivate **priv);
+
+extern IndexingMethod *build_indexer_list(const char *str, int *need_cell);
+
+#endif /* INDEX_H */