aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libcrystfel/src/index.h2
-rw-r--r--libcrystfel/src/xds.c9
2 files changed, 11 insertions, 0 deletions
diff --git a/libcrystfel/src/index.h b/libcrystfel/src/index.h
index 8961c8aa..e71a4c6f 100644
--- a/libcrystfel/src/index.h
+++ b/libcrystfel/src/index.h
@@ -54,8 +54,10 @@
| INDEXING_USE_CELL_PARAMETERS \
| INDEXING_CHECK_PEAKS)
+/* 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)
/**
diff --git a/libcrystfel/src/xds.c b/libcrystfel/src/xds.c
index 83d2cab4..33bbe2da 100644
--- a/libcrystfel/src/xds.c
+++ b/libcrystfel/src/xds.c
@@ -677,6 +677,15 @@ IndexingPrivate *xds_prepare(IndexingMethod *indm, UnitCell *cell,
return NULL;
}
+ if ( ((*indm & INDEXING_USE_CELL_PARAMETERS)
+ || (*indm & INDEXING_USE_LATTICE_TYPE))
+ && !(*indm & INDEXING_CHECK_CELL_AXES)
+ && !(*indm & INDEXING_CHECK_CELL_COMBINATIONS) ) {
+ ERROR("The cell from xds-raw-cell or xds-raw-latt may have had"
+ " its axes permuted from the cell you provided. If this"
+ " is a problem, consider using xds-axes-cell.\n");
+ }
+
xp = calloc(1, sizeof(*xp));
if ( xp == NULL ) return NULL;