Esempio n. 1
0
def setup_cube(ngroups, nrows, ncols):
    ''' Set up fake data to test.'''

    nints = 1

    data_model = RampModel()
    data_model.data = np.zeros(shape=(nints, ngroups, nrows, ncols),
                               dtype=np.float32)
    data_model.pixeldq = np.zeros(shape=(nrows, ncols), dtype=np.int32)
    data_model.meta.subarray.xstart = 1
    data_model.meta.subarray.ystart = 1
    data_model.meta.subarray.xsize = ncols
    data_model.meta.subarray.ysize = nrows
    data_model.meta.instrument.name = 'NIRCAM'

    bias_model = SuperBiasModel()
    bias_model.data = np.zeros(shape=(2048, 2048), dtype=np.float32)
    bias_model.dq = np.zeros(shape=(2048, 2048), dtype=np.int32)
    bias_model.meta.subarray.xstart = 1
    bias_model.meta.subarray.ystart = 1
    bias_model.meta.subarray.xsize = 2048
    bias_model.meta.subarray.ysize = 2048
    bias_model.meta.instrument.name = 'NIRCAM'
    bias_model.meta.description = 'Fake data.'
    bias_model.meta.telescope = 'JWST'
    bias_model.meta.reftype = 'SuperBiasModel'
    bias_model.meta.author = 'Alicia'
    bias_model.meta.pedigree = 'Dummy'
    bias_model.meta.useafter = '2015-10-01T00:00:00'

    return data_model, bias_model
Esempio n. 2
0
    def insert_into_datamodel(self, subfile):
        #read in a dummy/substitute file as a datamodel,
        #and insert the data and self.header metadata
        #into it

        h = RampModel(subfile)
        h.data = self.data
        try:
            h.zeroframe = self.zeroframe
        except:
            pass

        h.err = np.zeros_like(self.data)
        h.groupdq = np.zeros_like(self.data)
        nint, ng, ny, nx = self.data.shape
        h.pixeldq = np.zeros((ny, nx))

        h.meta.exposure.readpatt = self.header['READPATT']
        h.meta.exposure.nints = self.header['NINTS']
        h.meta.exposure.ngroups = self.header['NGROUPS']
        h.meta.exposure.nframes = self.header['NFRAMES']
        h.meta.exposure.nskip = self.header['NSKIP']
        h.meta.exposure.groupgap = self.header['GROUPGAP']
        h.meta.exposure.type = self.header['EXP_TYPE']
        h.meta.instrument.detector = self.header['DETECTOR']
        h.meta.instrument.name = self.header['INSTRUME']
        h.meta.subarray.fastaxis = self.header['FASTAXIS']
        h.meta.subarray.slowaxis = self.header['SLOWAXIS']

        return h
Esempio n. 3
0
def setup_cube(ngroups, nrows, ncols):
    ''' Set up fake data to test.'''

    nints = 1

    data_model = RampModel()
    data_model.data = np.zeros(shape=(nints, ngroups, nrows, ncols), dtype=np.float32)
    data_model.pixeldq = np.zeros(shape=(nrows, ncols), dtype=np.int32)
    data_model.groupdq = np.zeros(shape=(nints, ngroups, nrows, ncols), dtype=np.float32)
    data_model.meta.subarray.xstart = 1
    data_model.meta.subarray.ystart = 1
    data_model.meta.subarray.xsize = ncols
    data_model.meta.subarray.ysize = nrows
    data_model.meta.exposure.ngroups = ngroups
    data_model.meta.instrument.name = 'NIRCAM'

    saturation_model = SaturationModel()
    saturation_model.data = np.zeros(shape=(2048, 2048), dtype=np.float32)
    saturation_model.dq = np.zeros(shape=(2048, 2048), dtype=np.int32)
    saturation_model.meta.subarray.xstart = 1
    saturation_model.meta.subarray.ystart = 1
    saturation_model.meta.subarray.xsize = 2048
    saturation_model.meta.subarray.ysize = 2048
    saturation_model.meta.instrument.name = 'NIRCAM'
    saturation_model.meta.description = 'Fake data.'
    saturation_model.meta.telescope = 'JWST'
    saturation_model.meta.reftype = 'SaturationModel'
    saturation_model.meta.author = 'Alicia'
    saturation_model.meta.pedigree = 'Dummy'
    saturation_model.meta.useafter = '2015-10-01T00:00:00'

    return data_model, saturation_model
Esempio n. 4
0
    def _cube():

        # create a JWST datamodel for NIRSPEC IRS2 data
        data_model = RampModel((1, 5, 3200, 2048))
        data_model.data = np.ones(((1, 5, 3200, 2048)))
        data_model.groupdq = np.zeros(((1, 5, 3200, 2048)))
        data_model.pixeldq = np.zeros(((3200, 2048)))
        data_model.meta.instrument.name = 'NIRSPEC'
        data_model.meta.instrument.detector = 'NRS1'
        data_model.meta.instrument.filter = 'F100LP'
        data_model.meta.observation.date = '2019-07-19'
        data_model.meta.observation.time = '23:23:30.912'
        data_model.meta.exposure.type = 'NRS_LAMP'
        data_model.meta.subarray.name = 'FULL'
        data_model.meta.subarray.xstart = 1
        data_model.meta.subarray.xsize = 2048
        data_model.meta.subarray.ystart = 1
        data_model.meta.subarray.ysize = 2048
        data_model.meta.exposure.nrs_normal = 16
        data_model.meta.exposure.nrs_reference = 4
        data_model.meta.exposure.readpatt = 'NRSIRS2RAPID'

        # create a saturation model for the saturation step
        saturation_model = SaturationModel((2048, 2048))
        saturation_model.data = np.ones(
            (2048, 2048)) * 60000  # saturation limit for every pixel is 60000
        saturation_model.meta.description = 'Fake data.'
        saturation_model.meta.telescope = 'JWST'
        saturation_model.meta.reftype = 'SaturationModel'
        saturation_model.meta.useafter = '2015-10-01T00:00:00'
        saturation_model.meta.instrument.name = 'NIRSPEC'
        saturation_model.meta.instrument.detector = 'NRS1'
        saturation_model.meta.author = 'Clare'
        saturation_model.meta.pedigree = 'Dummy'
        saturation_model.meta.subarray.xstart = 1
        saturation_model.meta.subarray.xsize = 2048
        saturation_model.meta.subarray.ystart = 1
        saturation_model.meta.subarray.ysize = 2048

        return data_model, saturation_model