Source code for caltest.test_caldetector1.test_dq_init

from ..utils import translate_dq

import numpy as np
import pytest
from jwst.dq_init import DQInitStep
from astropy.io import fits
import os

[docs]@pytest.fixture(scope='module') def fits_output(fits_input): fname = '_dqinitstep.'.join(fits_input[0].header['filename'].split('.')) fname = fname.replace('_uncal', '') yield fits.open(fname) os.remove(fname)
[docs]@pytest.fixture(scope='module') def fits_mask(fits_output): ref_path = fits_output['PRIMARY'].header['R_MASK'] ref_path = ref_path.replace('crds://', '/grp/crds/cache/references/jwst/') return fits.open(ref_path)
[docs]def test_dq_init_step(fits_input): """Make sure the DQInitStep runs without error.""" DQInitStep.call(fits_input, save_results=True)
[docs]def test_pixeldq_initialization(fits_output, fits_mask): np.all(fits_output['PIXELDQ'].data == translate_dq(fits_mask))
[docs]def test_groupdq_initialization(fits_output): """ Check that the GROUPDQ extension is added to the data and all values are initialized to zero. """ assert 'GROUPDQ' in fits_output assert np.all(fits_output['GROUPDQ'].data == 0)
[docs]def test_err_initialization(fits_output): """Check that the error array is a 4-D array initialized to zero.""" assert 'ERR' in fits_output assert fits_output['ERR'].data.ndim == 4 assert np.all(fits_output['ERR'].data == 0)
[docs]def test_dq_def_initialization(fits_output): """ Check that a DQ_DEF extension with the definition of DQ flags is present. """ assert 'DQ_DEF' in fits_output