allow for image offset via DURIN_IMAGE_NUMBER_OFFSET environment
variable
This commit is contained in:
+4
-2
@@ -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};
|
||||
|
||||
@@ -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*);
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user