예제 #1
0
def get_frame_data(nspec=10, objtype=None):
    """
    Return basic test data for desispec.frame object:
    """
    nwave = 100

    wavemin, wavemax = 4000, 4100
    wave, model_flux = get_models(nspec,
                                  nwave,
                                  wavemin=wavemin,
                                  wavemax=wavemax)
    resol_data = set_resolmatrix(nspec, nwave)

    calib = np.sin((wave - wavemin) * np.pi / np.max(wave))
    flux = np.zeros((nspec, nwave))
    for i in range(nspec):
        flux[i] = Resolution(resol_data[i]).dot(model_flux[i] * calib)

    sigma = 0.01
    # flux += np.random.normal(scale=sigma, size=flux.shape)

    ivar = np.ones(flux.shape) / sigma**2
    mask = np.zeros(flux.shape, dtype=int)
    fibermap = empty_fibermap(nspec, 1500)
    if objtype is None:
        fibermap['OBJTYPE'] = 'QSO'
        fibermap['OBJTYPE'][0:3] = 'STD'  # For flux tests
    else:
        fibermap['OBJTYPE'] = objtype

    frame = Frame(wave, flux, ivar, mask, resol_data, fibermap=fibermap)
    frame.meta = {}
    frame.meta['EXPTIME'] = 1.  # For flux tests
    return frame
예제 #2
0
파일: test_qa.py 프로젝트: rstaten/desispec
 def _make_frame(self, camera='b0', flavor='dark', night=None, expid=None):
     if night is None:
         night = self.night
     if expid is None:
         expid = self.expid
     nspec = 3
     nwave = 10
     wave = np.arange(nwave)
     flux = np.random.uniform(size=(nspec, nwave))
     ivar = np.ones(flux.shape)
     frame = Frame(wave, flux, ivar, spectrograph=0)
     frame.meta = dict(CAMERA=camera, FLAVOR=flavor, NIGHT=night, EXPID=expid)
     return frame
예제 #3
0
파일: test_qa.py 프로젝트: secroun/desispec
 def _make_frame(self, camera='b0', flavor='dark', night=None, expid=None):
     if night is None:
         night = self.night
     if expid is None:
         expid = self.expid
     nspec = 3
     nwave = 10
     wave = np.arange(nwave)
     flux = np.random.uniform(size=(nspec, nwave))
     ivar = np.ones(flux.shape)
     frame = Frame(wave, flux, ivar, spectrograph=0)
     frame.meta = dict(CAMERA=camera,
                       FLAVOR=flavor,
                       NIGHT=night,
                       EXPID=expid)
     return frame
예제 #4
0
 def test_io_qa_frame(self):
     nspec = 3
     nwave = 10
     wave = np.arange(nwave)
     flux = np.random.uniform(size=(nspec, nwave))
     ivar = np.ones(flux.shape)
     frame = Frame(wave, flux, ivar, spectrograph=0)
     frame.meta = dict(CAMERA='b0', FLAVOR='dark', NIGHT='20160607', EXPID=1)
     #- Init
     qaframe = QA_Frame(frame)
     qaframe.init_skysub()
     # Write
     desio_qa.write_qa_frame(self.testyfile, qaframe)
     # Read
     xqaframe = desio_qa.read_qa_frame(self.testyfile)
     # Check
     self.assertTrue(qaframe.qa_data['SKYSUB']['PARAM']['PCHI_RESID'] == xqaframe.qa_data['SKYSUB']['PARAM']['PCHI_RESID'])
     self.assertTrue(qaframe.flavor == xqaframe.flavor)