aboutsummaryrefslogtreecommitdiff
path: root/libcrystfel
diff options
context:
space:
mode:
authorThomas White <taw@physics.org>2023-06-06 13:41:52 +0200
committerThomas White <taw@physics.org>2023-06-06 13:41:52 +0200
commit117ed0d0339163e04290349f9fe468b4bb6982e7 (patch)
treeb96e7dfb22cb27d8272a21f155817f7eec257e3e /libcrystfel
parentde407aa9fa93192aad6773a53fe51295d9c8cb8e (diff)
parentb5550e4399415fe4863057d6cbd406faf3f2df31 (diff)
Merge branch 'asapo-producer'
Diffstat (limited to 'libcrystfel')
-rw-r--r--libcrystfel/src/image-seedee.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/libcrystfel/src/image-seedee.c b/libcrystfel/src/image-seedee.c
index 60153591..b4ae5179 100644
--- a/libcrystfel/src/image-seedee.c
+++ b/libcrystfel/src/image-seedee.c
@@ -84,6 +84,34 @@ static int load_seedee_data(struct panel_template *p,
}
}
+ } else if ( (array->datatype == 'u')
+ && (array->itemsize == 4)
+ && (array->byteorder == '<') )
+ {
+ int fs, ss;
+ uint32_t *in_data = (uint32_t *)array->data;
+
+ for ( ss=0; ss<PANEL_HEIGHT(p); ss++ ) {
+ for ( fs=0; fs<PANEL_WIDTH(p); fs++ ) {
+ size_t idx = fs+p->orig_min_fs + (ss+p->orig_min_ss)*data_size_fs;
+ data[fs+ss*PANEL_WIDTH(p)] = in_data[idx];
+ }
+ }
+
+ } else if ( (array->datatype == 'f')
+ && (array->itemsize == 8)
+ && (array->byteorder == '<') )
+ {
+ int fs, ss;
+ double *in_data = (double *)array->data;
+
+ for ( ss=0; ss<PANEL_HEIGHT(p); ss++ ) {
+ for ( fs=0; fs<PANEL_WIDTH(p); fs++ ) {
+ size_t idx = fs+p->orig_min_fs + (ss+p->orig_min_ss)*data_size_fs;
+ data[fs+ss*PANEL_WIDTH(p)] = in_data[idx];
+ }
+ }
+
} else {
ERROR("Unrecognised data type %c%i%c\n",
array->datatype, array->itemsize, array->byteorder);