Exemplo n.º 1
0
    def read_datamodel(self):

        h = RampModel(self.file)

        #remove any non-pipeline related keywords (e.g. CV3 temps/voltages)
        if 'extra_fits' in dir(h):
            h.__delattr__('extra_fits')

        self.data = h.data

        #Currently a bug in level1bmodel when zeroframe is
        #not present and a cube of zeros is returned
        #If the datamodel returns a default zeroframe of all
        #zeros, then set it to None here
        #self.zeroframe = h.zeroframe
        if np.all(h.zeroframe == 0):
            print("Zeroframe in {}".format(self.file))
            print("All zeros. Returning None.")
            self.zeroframe = None
        else:
            self.zeroframe = h.zeroframe

        self.sbAndRefpix = None

        self.header = {}
        for key in self.translate:
            try:
                self.header[key] = h.meta[self.translate[key]]
            except:
                self.header[key] = None
Exemplo n.º 2
0
    def read_datamodel(self):
        logger = logging.getLogger('mirage.utils.read_fits.read_datamodel')

        h = RampModel(self.file)

        #remove any non-pipeline related keywords (e.g. CV3 temps/voltages)
        if 'extra_fits' in dir(h):
            h.__delattr__('extra_fits')

        self.data = h.data

        #Currently a bug in level1bmodel when zeroframe is
        #not present and a cube of zeros is returned
        #If the datamodel returns a default zeroframe of all
        #zeros, then set it to None here
        #self.zeroframe = h.zeroframe
        if np.all(h.zeroframe == 0):
            if 'RAPID' in h.meta.exposure.readpatt:
                logger.info((
                    f"Zeroframe in {os.path.basename(self.file)} is all zeros. Since the readpattern is RAPID, "
                    "we grab a copy of the first group to be the zeroframe."))
                self.zeroframe = h.data[:, 0, :, :]
            else:
                logger.info(
                    "Zeroframe in {} is all zeros. Returning None.".format(
                        self.file))
                self.zeroframe = None
        else:
            self.zeroframe = h.zeroframe

        self.sbAndRefpix = None

        self.header = {}
        for key in self.translate:
            try:
                self.header[key] = eval(f'h.meta.{self.translate[key]}')
            except:
                self.header[key] = None