im.meta.wcsinfo.ra_ref = header_slp['RA_REF']
im.meta.wcsinfo.dec_ref = header_slp['DEC_REF']
im.meta.wcsinfo.roll_ref = header_slp['ROLL_REF']

references = {
    "area": "crds/jwst_nircam_area_0017.fits",
    "distortion": "crds/jwst_nircam_distortion_0093.asdf",
    "drizpars": "crds/jwst_nircam_drizpars_0001.fits",
    "flat": "crds/jwst_nircam_flat_0337.fits",
    "photom": "crds/jwst_nircam_photom_0074.fits"
}
load_wcs(im, references)

im.data = hdul_rate['SCI'].data
im.err = hdul_rate['ERR'].data
im.dq = hdul_rate['DQ'].data
im.var_poisson = hdul_rate['VAR_POISSON'].data
im.var_rnoise = hdul_rate['VAR_RNOISE'].data

im.meta.target.proper_motion_epoch = "2000"
im.meta.dither.primary_type = "IMAGING"

ra_ref = header_slp['RA_REF']
dec_ref = header_slp['DEC_REF']
crval1_ra = header_slp['CRVAL1']
crval2_dec = header_slp['CRVAL2']
targ_ra = header_slp['TARG_RA']
targ_dec = header_slp['TARG_DEC']

c_ref = SkyCoord(ra=ra_ref * u.degree, dec=dec_ref * u.degree, frame='fk5')
c_crval = SkyCoord(ra=crval1_ra * u.degree,
예제 #2
0
def test_flag():
    wcsinfo = {
        'dec_ref': -0.00601415671349804,
        'ra_ref': -0.02073605215697509,
        'roll_ref': -0.0,
        'v2_ref': -453.5134,
        'v3_ref': -373.4826,
        'v3yangle': 0.0,
        'vparity': -1}

    instrument = {
        'detector': 'NRS1',
        'filter': 'F100LP',
        'grating': 'G140M',
        'name': 'NIRSPEC',
        'gwa_tilt': 37.0610,
        'gwa_xtilt': 0.0001,
        'gwa_ytilt': 0.0001,
        'msa_metadata_id':12}

    observation = {
        'date': '2016-09-05',
        'time': '8:59:37'}

    exposure = {
        'duration': 11.805952,
        'end_time': 58119.85416,
        'exposure_time': 11.776,
        'frame_time': 0.11776,
        'group_time': 0.11776,
        'groupgap': 0,
        'integration_time': 11.776,
        'nframes': 1,
        'ngroups': 100,
        'nints': 1,
        'nresets_between_ints': 0,
        'nsamples': 1,
        'readpatt': 'NRSRAPID',
        'sample_time': 10.0,
        'start_time': 58119.8333,
        'type': 'NRS_MSASPEC',
        'zero_frame': False}

    im = ImageModel()
    im.data = np.random.rand(2048, 2048)
    im.error = np.random.rand(2048, 2048)
    im.dq = np.zeros((2048, 2048))

    im.meta.wcsinfo._instance.update(wcsinfo)
    im.meta.instrument._instance.update(instrument)
    im.meta.observation._instance.update(observation)
    im.meta.exposure._instance.update(exposure)

    metafl = get_file_path('msa_configuration.fits')
    im.meta.instrument.msa_metadata_file = metafl
    im.meta.dither.position_number = 1

    step = AssignWcsStep()
    msa_oper = step.get_reference_file(im, 'msaoper')

    im = step.call(im)

    wcs_ref_files = create_reference_filename_dictionary(im)

    failed_slitlets = create_slitlets(im, msa_oper)

    result = flag(im, failed_slitlets, wcs_ref_files)

    msa_open_dq = 536870912

    # Get all dqflags that are nonzero
    nonzero = np.nonzero(result.dq)

    # Make sure that all nonzero dqs are equal to the msa_open_dq
    assert (all(x == msa_open_dq for x in result.dq[nonzero]))