allow for image offset via DURIN_IMAGE_NUMBER_OFFSET environment

variable
This commit is contained in:
Clemens Vonrhein
2020-06-12 15:57:14 +01:00
parent 9b3236b084
commit 9e7d609f42
3 changed files with 12 additions and 2 deletions
+4 -2
View File
@@ -257,11 +257,12 @@ done:
int get_nxs_frame(
const struct ds_desc_t *desc,
const int n,
const int nin,
void *buffer) {
/* detector data are the two inner most indices */
/* TODO: handle ndims > 3 and select appropriately */
int retval = 0;
int n = nin - desc->image_number_offset;
hsize_t frame_idx[3] = {n, 0, 0};
hsize_t frame_size[3] = {1, desc->dims[1], desc->dims[2]};
if (n < 0 || n >= desc->dims[0]) {
@@ -280,10 +281,11 @@ done:
int get_dectris_eiger_frame(
const struct ds_desc_t *desc,
int n,
int nin,
void *buffer) {
int retval = 0;
int n = nin - desc->image_number_offset;
int block, frame_count, idx;
struct eiger_ds_desc_t *eiger_desc = (struct eiger_ds_desc_t*) desc;
char data_name[16] = {0};
+1
View File
@@ -17,6 +17,7 @@ struct ds_desc_t {
hid_t data_g_id;
hsize_t dims[3];
int data_width;
int image_number_offset;
int (*get_pixel_properties)(const struct ds_desc_t*, double*, double*);
int (*get_pixel_mask)(const struct ds_desc_t*, int*);
int (*get_data_frame)(const struct ds_desc_t*, const int, void*);
+7
View File
@@ -125,6 +125,13 @@ void plugin_open(
ERROR_JUMP(-4, done, "");
}
data_desc->image_number_offset = 0;
char *cenv;
cenv = getenv("DURIN_IMAGE_NUMBER_OFFSET");
if (cenv!=NULL) {
data_desc->image_number_offset = atoi(cenv);
}
mask_buffer = malloc(data_desc->dims[1] * data_desc->dims[2] * sizeof(int));
if (mask_buffer) {
retval = data_desc->get_pixel_mask(data_desc, mask_buffer);