From 0215205efb28d4ea24b93ce4005f4668a358cc32 Mon Sep 17 00:00:00 2001 From: Thomas White Date: Tue, 29 Mar 2011 15:29:33 +0200 Subject: Improve bad pixel handling --- src/hdf5-file.c | 30 +++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) (limited to 'src/hdf5-file.c') diff --git a/src/hdf5-file.c b/src/hdf5-file.c index be0b5444..83850afe 100644 --- a/src/hdf5-file.c +++ b/src/hdf5-file.c @@ -412,22 +412,26 @@ int hdf5_read(struct hdfile *f, struct image *image, int satcorr) } image->data = buf; - mask_dh = H5Dopen2(f->fh, "/processing/hitfinder/masks", H5P_DEFAULT); - if ( mask_dh <= 0 ) { - ERROR("Couldn't open flags\n"); - image->flags = NULL; - } else { - flags = malloc(sizeof(uint16_t)*f->nx*f->ny); - r = H5Dread(mask_dh, H5T_NATIVE_UINT16, H5S_ALL, H5S_ALL, - H5P_DEFAULT, flags); - if ( r < 0 ) { - ERROR("Couldn't read flags\n"); - free(flags); + if ( image->det->mask != NULL ) { + + mask_dh = H5Dopen2(f->fh, image->det->mask, H5P_DEFAULT); + if ( mask_dh <= 0 ) { + ERROR("Couldn't open flags\n"); image->flags = NULL; } else { - image->flags = flags; + flags = malloc(sizeof(uint16_t)*f->nx*f->ny); + r = H5Dread(mask_dh, H5T_NATIVE_UINT16, H5S_ALL, H5S_ALL, + H5P_DEFAULT, flags); + if ( r < 0 ) { + ERROR("Couldn't read flags\n"); + free(flags); + image->flags = NULL; + } else { + image->flags = flags; + } + H5Dclose(mask_dh); } - H5Dclose(mask_dh); + } /* Read wavelength from file */ -- cgit v1.2.3