diff --git a/requirements.txt b/requirements.txt index 512d9def88acc2a95775fa8a7aed0c175ef25771..12b61a25ad92dc287b5f8d10e1a44370689e6895 100644 --- a/requirements.txt +++ b/requirements.txt @@ -10,4 +10,5 @@ h5py==3.11.0 Cython==3.0.6 numba==0.59.1 psutil==5.9.8 -toml==0.10.2 \ No newline at end of file +toml==0.10.2 +lmfit==1.2.2 \ No newline at end of file diff --git a/setup.py b/setup.py index f2df3aa8a9ecaa416a0c8a412bac544db80848eb..12b27729ca025e5679de24217289b7b74685d628 100644 --- a/setup.py +++ b/setup.py @@ -98,7 +98,7 @@ setup(name='CSSTSim', 'ObservationSim.Instrument.data.sls_conf': ['*.conf', '*.fits'], 'ObservationSim.Instrument.data.flatCube': ['*.fits'], 'Catalog.data': ['*.fits','*.so'], - 'ObservationSim.Config.Header':['*.header','*.lst'], + 'ObservationSim.Config.Header':['*.fits','*.lst'], 'ObservationSim.Straylight.data': ['*.dat'], 'ObservationSim.Straylight.data.sky': ['*.dat'], 'ObservationSim.Straylight.lib': ['*'], diff --git a/tests/test_SpecDisperse.py b/tests/test_SpecDisperse.py index 34b388bc2a22c36df5bae79103455240aa9a4c7d..2b9529d86724db8b4d35b5b72845dee52bd98a84 100644 --- a/tests/test_SpecDisperse.py +++ b/tests/test_SpecDisperse.py @@ -145,16 +145,22 @@ class TestSpecDisperse(unittest.TestCase): def __init__(self, methodName='runTest'): super(TestSpecDisperse,self).__init__(methodName) - self.filePath('csst_fz_gc0') + self.filePath('csst_msc_sim/test_sls_and_straylight') # self.conff = conff # self.throughputf = throughputf + def filePath(self, file_name): fn = os.path.join(os.getenv('UNIT_TEST_DATA_ROOT'), file_name) self.conff= os.path.join(fn, 'CSST_GI2.conf') self.throughputf= os.path.join(fn, 'GI.Throughput.1st.fits') self.testDir = fn + self.outDataFn = os.path.join(fn,'output') + if os.path.isdir(self.outDataFn): + pass + else: + os.mkdir(self.outDataFn) def test_rotate901(self): m = np.array([[1,2,3,4,5],[6,7,8,9,10],[11,12,13,14,15],[16,17,18,19,20],[21,22,23,24,25]]) @@ -231,16 +237,16 @@ class TestSpecDisperse(unittest.TestCase): ids1 = wave_pix[ids] > 6500 print('Spec disperse flux test') self.assertTrue(np.mean((wave_flux[ids][ids1] - sed_i(wave_pix[ids][ids1]))/sed_i(wave_pix[ids][ids1]))<0.004) - plt.figure() - plt.plot(wave_pix, wave_flux) - plt.plot(sed['WAVELENGTH'], sed['FLUX']) - plt.xlim(6200, 10000) - plt.ylim(1, 3) - plt.yscale('log') - plt.xlabel('$\lambda$') - plt.ylabel('$F\lambda$') - plt.legend(['extracted', 'input']) - plt.show() + # plt.figure() + # plt.plot(wave_pix, wave_flux) + # plt.plot(sed['WAVELENGTH'], sed['FLUX']) + # plt.xlim(6200, 10000) + # plt.ylim(1, 3) + # plt.yscale('log') + # plt.xlabel('$\lambda$') + # plt.ylabel('$F\lambda$') + # plt.legend(['extracted', 'input']) + # plt.show() def test_Specdistperse2(self): @@ -303,16 +309,16 @@ class TestSpecDisperse(unittest.TestCase): self.assertTrue(fwhmx/deltLamda_pix*pix_scale - psf_fwhm < np.abs(0.02)) # print('error is ',np.mean((wave_flux[ids][ids1] - sed_i(wave_pix[ids][ids1]))/sed_i(wave_pix[ids][ids1]))) # self.assertTrue(np.mean((wave_flux[ids][ids1] - sed_i(wave_pix[ids][ids1]))/sed_i(wave_pix[ids][ids1]))<0.004) - plt.figure() - plt.plot(wave_pix, wave_flux) - plt.plot(sed['WAVELENGTH'], sed['FLUX']) - plt.xlim(6200, 10000) - plt.ylim(1, 75) - plt.yscale('log') - plt.xlabel('$\lambda$') - plt.ylabel('$F\lambda$') - plt.legend(['extracted', 'input']) - plt.show() + # plt.figure() + # plt.plot(wave_pix, wave_flux) + # plt.plot(sed['WAVELENGTH'], sed['FLUX']) + # plt.xlim(6200, 10000) + # plt.ylim(1, 75) + # plt.yscale('log') + # plt.xlabel('$\lambda$') + # plt.ylabel('$F\lambda$') + # plt.legend(['extracted', 'input']) + # plt.show() def test_Specdistperse3(self): @@ -484,7 +490,7 @@ class TestSpecDisperse(unittest.TestCase): print('Spec double disperse test') from astropy.io import fits - fits.writeto('test.fits',chip.img.array, overwrite = True) + fits.writeto(os.path.join(self.outDataFn,'test_sls_doubleDisp.fits'),chip.img.array, overwrite = True) # plt.figure() # plt.imshow(chip.img.array) diff --git a/tests/test_Straylight.py b/tests/test_Straylight.py index c79dc6f7980791dc80bee79eed12bf1038cdb3fe..ea6de764327c3968c8d11fb3998019d85b99ab62 100644 --- a/tests/test_Straylight.py +++ b/tests/test_Straylight.py @@ -74,7 +74,7 @@ class TestStraylight(unittest.TestCase): # print(file_name) # fn = os.path.join(os.getenv('UNIT_TEST_DATA_ROOT'), file_name) # self.pointingData = np.loadtxt(os.path.join(fn, 'Straylight_test.dat'), dtype=np.double) - self.filePath('csst_fz_gc0') + self.filePath('csst_msc_sim/test_sls_and_straylight') self.filter = filter self.grating = grating diff --git a/tests/det_effect_unit_test.py b/tests/test_effect_unit.py similarity index 93% rename from tests/det_effect_unit_test.py rename to tests/test_effect_unit.py index 51b620a0e32c4705fa7197e96c7040f8020c3260..d77c9b0bd84e8b0faeebb90270e953be9005ecf2 100644 --- a/tests/det_effect_unit_test.py +++ b/tests/test_effect_unit.py @@ -17,7 +17,7 @@ class DetTest(unittest.TestCase): def __init__(self, methodName='runTest'): super(DetTest,self).__init__(methodName) - self.filePath('csst_fz_gc0') + self.filePath('csst_msc_sim/test_sls_and_straylight') def filePath(self, file_name): self.datafn = os.path.join(os.getenv('UNIT_TEST_DATA_ROOT'), file_name) @@ -138,15 +138,15 @@ class DetTest(unittest.TestCase): newimg.write(os.path.join(self.outDataFn,'test_badlines.fits')) del newimg,img - def test_cte(self): - img = galsim.Image(200,200,init_value=1000) - img.array[50,80] = 1e4 - img.array[150,150] = 3e4 - newimgcol = Effects.CTE_Effect(copy.deepcopy(img),direction='column') - newimgrow = Effects.CTE_Effect(copy.deepcopy(img),direction='row') - newimgcol.write(os.path.join(self.outDataFn,'test_ctecol.fits')) - newimgrow.write(os.path.join(self.outDataFn,'test_cterow.fits')) - del img,newimgcol,newimgrow + # def test_cte(self): + # img = galsim.Image(200,200,init_value=1000) + # img.array[50,80] = 1e4 + # img.array[150,150] = 3e4 + # newimgcol = Effects.CTE_Effect(copy.deepcopy(img),direction='column') + # newimgrow = Effects.CTE_Effect(copy.deepcopy(img),direction='row') + # newimgcol.write(os.path.join(self.outDataFn,'test_ctecol.fits')) + # newimgrow.write(os.path.join(self.outDataFn,'test_cterow.fits')) + # del img,newimgcol,newimgrow def test_readnoise(self): img = galsim.Image(200,200,init_value=1000)