Commit 59814d64 authored by Wei Chengliang's avatar Wei Chengliang
Browse files

Merge branch 'develop' of https://csst-tb.bao.ac.cn/code/csst-sims/csst_msc_sim into develop

parents fb74fc22 ab15c00f
Pipeline #4232 passed with stage
in 0 seconds
...@@ -10,4 +10,5 @@ h5py==3.11.0 ...@@ -10,4 +10,5 @@ h5py==3.11.0
Cython==3.0.6 Cython==3.0.6
numba==0.59.1 numba==0.59.1
psutil==5.9.8 psutil==5.9.8
toml==0.10.2 toml==0.10.2
\ No newline at end of file lmfit==1.2.2
\ No newline at end of file
...@@ -98,7 +98,7 @@ setup(name='CSSTSim', ...@@ -98,7 +98,7 @@ setup(name='CSSTSim',
'ObservationSim.Instrument.data.sls_conf': ['*.conf', '*.fits'], 'ObservationSim.Instrument.data.sls_conf': ['*.conf', '*.fits'],
'ObservationSim.Instrument.data.flatCube': ['*.fits'], 'ObservationSim.Instrument.data.flatCube': ['*.fits'],
'Catalog.data': ['*.fits','*.so'], 'Catalog.data': ['*.fits','*.so'],
'ObservationSim.Config.Header':['*.header','*.lst'], 'ObservationSim.Config.Header':['*.fits','*.lst'],
'ObservationSim.Straylight.data': ['*.dat'], 'ObservationSim.Straylight.data': ['*.dat'],
'ObservationSim.Straylight.data.sky': ['*.dat'], 'ObservationSim.Straylight.data.sky': ['*.dat'],
'ObservationSim.Straylight.lib': ['*'], 'ObservationSim.Straylight.lib': ['*'],
......
...@@ -145,16 +145,22 @@ class TestSpecDisperse(unittest.TestCase): ...@@ -145,16 +145,22 @@ class TestSpecDisperse(unittest.TestCase):
def __init__(self, methodName='runTest'): def __init__(self, methodName='runTest'):
super(TestSpecDisperse,self).__init__(methodName) super(TestSpecDisperse,self).__init__(methodName)
self.filePath('csst_fz_gc0') self.filePath('csst_msc_sim/test_sls_and_straylight')
# self.conff = conff # self.conff = conff
# self.throughputf = throughputf # self.throughputf = throughputf
def filePath(self, file_name): def filePath(self, file_name):
fn = os.path.join(os.getenv('UNIT_TEST_DATA_ROOT'), file_name) fn = os.path.join(os.getenv('UNIT_TEST_DATA_ROOT'), file_name)
self.conff= os.path.join(fn, 'CSST_GI2.conf') self.conff= os.path.join(fn, 'CSST_GI2.conf')
self.throughputf= os.path.join(fn, 'GI.Throughput.1st.fits') self.throughputf= os.path.join(fn, 'GI.Throughput.1st.fits')
self.testDir = fn 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): 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]]) 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): ...@@ -231,16 +237,16 @@ class TestSpecDisperse(unittest.TestCase):
ids1 = wave_pix[ids] > 6500 ids1 = wave_pix[ids] > 6500
print('Spec disperse flux test') 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) 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.figure()
plt.plot(wave_pix, wave_flux) # plt.plot(wave_pix, wave_flux)
plt.plot(sed['WAVELENGTH'], sed['FLUX']) # plt.plot(sed['WAVELENGTH'], sed['FLUX'])
plt.xlim(6200, 10000) # plt.xlim(6200, 10000)
plt.ylim(1, 3) # plt.ylim(1, 3)
plt.yscale('log') # plt.yscale('log')
plt.xlabel('$\lambda$') # plt.xlabel('$\lambda$')
plt.ylabel('$F\lambda$') # plt.ylabel('$F\lambda$')
plt.legend(['extracted', 'input']) # plt.legend(['extracted', 'input'])
plt.show() # plt.show()
def test_Specdistperse2(self): def test_Specdistperse2(self):
...@@ -303,16 +309,16 @@ class TestSpecDisperse(unittest.TestCase): ...@@ -303,16 +309,16 @@ class TestSpecDisperse(unittest.TestCase):
self.assertTrue(fwhmx/deltLamda_pix*pix_scale - psf_fwhm < np.abs(0.02)) 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]))) # 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) # 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.figure()
plt.plot(wave_pix, wave_flux) # plt.plot(wave_pix, wave_flux)
plt.plot(sed['WAVELENGTH'], sed['FLUX']) # plt.plot(sed['WAVELENGTH'], sed['FLUX'])
plt.xlim(6200, 10000) # plt.xlim(6200, 10000)
plt.ylim(1, 75) # plt.ylim(1, 75)
plt.yscale('log') # plt.yscale('log')
plt.xlabel('$\lambda$') # plt.xlabel('$\lambda$')
plt.ylabel('$F\lambda$') # plt.ylabel('$F\lambda$')
plt.legend(['extracted', 'input']) # plt.legend(['extracted', 'input'])
plt.show() # plt.show()
def test_Specdistperse3(self): def test_Specdistperse3(self):
...@@ -484,7 +490,7 @@ class TestSpecDisperse(unittest.TestCase): ...@@ -484,7 +490,7 @@ class TestSpecDisperse(unittest.TestCase):
print('Spec double disperse test') print('Spec double disperse test')
from astropy.io import fits 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.figure()
# plt.imshow(chip.img.array) # plt.imshow(chip.img.array)
......
...@@ -74,7 +74,7 @@ class TestStraylight(unittest.TestCase): ...@@ -74,7 +74,7 @@ class TestStraylight(unittest.TestCase):
# print(file_name) # print(file_name)
# fn = os.path.join(os.getenv('UNIT_TEST_DATA_ROOT'), 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.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.filter = filter
self.grating = grating self.grating = grating
......
...@@ -17,7 +17,7 @@ class DetTest(unittest.TestCase): ...@@ -17,7 +17,7 @@ class DetTest(unittest.TestCase):
def __init__(self, methodName='runTest'): def __init__(self, methodName='runTest'):
super(DetTest,self).__init__(methodName) super(DetTest,self).__init__(methodName)
self.filePath('csst_fz_gc0') self.filePath('csst_msc_sim/test_sls_and_straylight')
def filePath(self, file_name): def filePath(self, file_name):
self.datafn = os.path.join(os.getenv('UNIT_TEST_DATA_ROOT'), file_name) self.datafn = os.path.join(os.getenv('UNIT_TEST_DATA_ROOT'), file_name)
...@@ -138,15 +138,15 @@ class DetTest(unittest.TestCase): ...@@ -138,15 +138,15 @@ class DetTest(unittest.TestCase):
newimg.write(os.path.join(self.outDataFn,'test_badlines.fits')) newimg.write(os.path.join(self.outDataFn,'test_badlines.fits'))
del newimg,img del newimg,img
def test_cte(self): # def test_cte(self):
img = galsim.Image(200,200,init_value=1000) # img = galsim.Image(200,200,init_value=1000)
img.array[50,80] = 1e4 # img.array[50,80] = 1e4
img.array[150,150] = 3e4 # img.array[150,150] = 3e4
newimgcol = Effects.CTE_Effect(copy.deepcopy(img),direction='column') # newimgcol = Effects.CTE_Effect(copy.deepcopy(img),direction='column')
newimgrow = Effects.CTE_Effect(copy.deepcopy(img),direction='row') # newimgrow = Effects.CTE_Effect(copy.deepcopy(img),direction='row')
newimgcol.write(os.path.join(self.outDataFn,'test_ctecol.fits')) # newimgcol.write(os.path.join(self.outDataFn,'test_ctecol.fits'))
newimgrow.write(os.path.join(self.outDataFn,'test_cterow.fits')) # newimgrow.write(os.path.join(self.outDataFn,'test_cterow.fits'))
del img,newimgcol,newimgrow # del img,newimgcol,newimgrow
def test_readnoise(self): def test_readnoise(self):
img = galsim.Image(200,200,init_value=1000) img = galsim.Image(200,200,init_value=1000)
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment