示例#1
0
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))