def generate_nircam_reffiles(tmpdir_factory): gainfile = str(tmpdir_factory.mktemp("ndata").join("gain.fits")) readnoisefile = str(tmpdir_factory.mktemp("ndata").join('readnoise.fits')) ingain = 6 xsize = 20 ysize = 20 gain = np.ones(shape=(ysize, xsize), dtype=np.float64) * ingain gain_model = GainModel(data=gain) gain_model.meta.instrument.name = "NIRCAM" gain_model.meta.subarray.name = "FULL" gain_model.meta.subarray.xstart = 1 gain_model.meta.subarray.ystart = 1 gain_model.meta.subarray.xsize = xsize gain_model.meta.subarray.ysize = ysize gain_model.save(gainfile) inreadnoise = 5 rnoise = np.ones(shape=(ysize, xsize), dtype=np.float64) * inreadnoise readnoise_model = ReadnoiseModel(data=rnoise) readnoise_model.meta.instrument.name = "NIRCAM" readnoise_model.meta.subarray.xstart = 1 readnoise_model.meta.subarray.ystart = 1 readnoise_model.meta.subarray.xsize = xsize readnoise_model.meta.subarray.ysize = ysize readnoise_model.save(readnoisefile) return gainfile, readnoisefile
def save(self, array, error): # Save using datamodel mod = GainModel() mod.data = array #mod.err = error mod.meta.telescope = 'JWST' mod.meta.author = self.author mod.meta.description = self.descrip mod.meta.useafter = self.useafter mod.meta.instrument.name = 'NIRCAM' mod.meta.instrument.detector = self.detector mod.meta.pedigree = self.pedigree mod.meta.reftype = 'GAIN' mod.meta.subarray.fastaxis = self.fastaxis mod.meta.subarray.slowaxis = self.slowaxis mod.meta.subarray.name = 'GENERIC' mod.meta.subarray.xsize = 2048 mod.meta.subarray.ysize = 2048 mod.meta.subarray.xstart = 1 mod.meta.subarray.ystart = 1 #mod = self.add_history(mod,self.history) mod.history.append(self.history) mod.save(os.path.join(self.outdir, self.outfile))