def test_associateSky(): filenames = [ 'N20070819S{:04d}_flatCorrected.fits'.format(i) for i in range(104, 109) ] adinputs = [ astrodata.open(os.path.join(TESTDATAPATH, 'NIRI', f)) for f in filenames ] p = NIRIImage(adinputs) p.separateSky() # Difficult to construct this by hand p.associateSky() filename_set = {ad.phu['ORIGNAME'] for ad in adinputs} # Test here is that each science frame has all other frames as skies for k, v in p.sky_dict.items(): v = [ad.phu['ORIGNAME'] for ad in v] assert len(v) == len(filenames) - 1 assert set([k] + v) == filename_set
def test_associateSky(): filenames = [ 'N20070819S{:04d}_flatCorrected.fits'.format(i) for i in range(104, 109) ] adinputs = [ astrodata.open(os.path.join(TESTDATAPATH, 'NIRI', f)) for f in filenames ] p = NIRIImage(adinputs) p.separateSky() # Difficult to construct this by hand p.associateSky() filename_set = set([ad.phu['ORIGNAME'] for ad in adinputs]) # Test here is that each science frame has all other frames as skies for k, v in p.sky_dict.items(): v = [ad.phu['ORIGNAME'] for ad in v] assert len(v) == len(filenames) - 1 assert set([k] + v) == filename_set # def test_correctBackgroundToReference(self): # pass # def test_darkCorrect(self): # ad = astrodata.open(os.path.join(TESTDATAPATH, 'NIRI', # 'N20070819S0104_nonlinearityCorrected.fits')) # p = NIRIImage([ad]) # ad = p.darkCorrect()[0] # assert ad_compare(ad, os.path.join(TESTDATAPATH, 'NIRI', # 'N20070819S0104_darkCorrected.fits')) # def test_darkCorrect_with_af(self): # science = AstroFaker.create('NIRI', 'IMAGE') # dark = AstroFaker.create('NIRI', 'IMAGE') # p = NIRIImage([science]) # p.darkCorrect([science], dark=dark) # science.subtract(dark) # assert ad_compare(science, dark) # af.init_default_extensions() # af[0].mask = np.zeros_like(af[0].data, dtype=np.uint16) # def test_flatCorrect(self): # ad = astrodata.open(os.path.join(TESTDATAPATH, 'NIRI', # 'N20070819S0104_darkCorrected.fits')) # p = NIRIImage([ad]) # ad = p.flatCorrect()[0] # assert ad_compare(ad, os.path.join(TESTDATAPATH, 'NIRI', # 'N20070819S0104_flatCorrected.fits')) # # def test_makeSky(self): # pass # # def test_nonlinearityCorrect(self): # # Don't use NIRI data; NIRI has its own primitive # pass # # def test_normalizeFlat(self): # flat_file = os.path.join(TESTDATAPATH, 'NIRI', # 'N20070913S0220_flat.fits') # ad = astrodata.open(flat_file) # ad.multiply(10.0) # del ad.phu['NORMLIZE'] # Delete timestamp of previous processing # p = NIRIImage([ad]) # ad = p.normalizeFlat(suffix='_flat', strip=True)[0] # assert ad_compare(ad, flat_file) # # def test_separateSky(self): # pass # # def test_skyCorrect(self): # pass # # def test_subtractSky(self): # pass # # def test_subtractSkyBackground(self): # ad = astrodata.open(os.path.join(TESTDATAPATH, 'NIRI', # 'N20070819S0104_flatCorrected.fits')) # ad.hdr['SKYLEVEL'] = 1000.0 # orig_data = ad[0].data.copy() # p = NIRIImage([ad]) # ad = p.subtractSkyBackground()[0] # assert (orig_data - ad[0].data).min() > 999.99 # assert (orig_data - ad[0].data).max() < 1000.01 # # def test_thresholdFlatfield(self): # ad = astrodata.open(os.path.join(TESTDATAPATH, 'NIRI', # 'N20070913S0220_flat.fits')) # del ad.phu['TRHFLAT'] # Delete timestamp of previous processing # ad[0].data[100, 100] = 20.0 # p = NIRIImage([ad]) # ad = p.thresholdFlatfield()[0] # assert ad[0].mask[100, 100] == 64