diff options
Diffstat (limited to 'libcrystfel/src/datatemplate_priv.h')
-rw-r--r-- | libcrystfel/src/datatemplate_priv.h | 32 |
1 files changed, 24 insertions, 8 deletions
diff --git a/libcrystfel/src/datatemplate_priv.h b/libcrystfel/src/datatemplate_priv.h index 60e8ead6..62911748 100644 --- a/libcrystfel/src/datatemplate_priv.h +++ b/libcrystfel/src/datatemplate_priv.h @@ -78,6 +78,28 @@ enum peak_layout #define DIM_UNDEFINED (-3) #define DIM_PLACEHOLDER (-4) + +/* Maximum number of masks per panel */ +#define MAX_MASKS (8) + +struct mask_template +{ + /** Location of mask data */ + char *data_location; + + /** Filename for mask data */ + char *filename; + + /** Bit mask for bad pixels + * (pixel is bad if any of these are set) */ + unsigned int bad_bits; + + /** Bit mask for good pixels + * (pixel cannot be good unless all of these are set) */ + unsigned int good_bits; +}; + + /** * Represents one panel of a detector */ @@ -98,11 +120,8 @@ struct panel_template /** The offset to be applied from \ref clen */ double cnz_offset; - /** Location of mask data */ - char *mask; - - /** Filename for mask data */ - char *mask_file; + /** Mask definitions */ + struct mask_template masks[MAX_MASKS]; /** Location of per-pixel saturation map */ char *satmap; @@ -201,9 +220,6 @@ struct _datatemplate double bandwidth; - unsigned int mask_bad; - unsigned int mask_good; - struct rigid_group **rigid_groups; int n_rigid_groups; |