Loading csst/common/data.py +6 −2 Original line number Diff line number Diff line Loading @@ -23,7 +23,7 @@ class CsstData: _auxdata = OrderedDict() def __init__(self, primaryHDU, imgHDU, instrument=None, detector=None): print('create CsstData') # print('create CsstData') self._primary_hdu = primaryHDU self._l0data = imgHDU self.instrument = instrument Loading Loading @@ -60,7 +60,7 @@ class CsstData: raise CsstException def set_l1keyword(self, key, value): print('check out whether ' + key + " is a valid key and " + value + " is valid value") raise NotImplementedError('check out whether ' + key + " is a valid key and " + value + " is valid value") def set_l1data(self, img): print('save image data to l2data') Loading @@ -83,3 +83,7 @@ class CsstData: hdulist.writeto(filename) except Exception as e: print(e) def read(self, **kwargs): """ read data from fits file """ raise NotImplementedError csst/msc/__init__.py +1 −0 Original line number Diff line number Diff line from .data import CsstMscData, CsstMscImgData No newline at end of file csst/msc/mscdata.py→csst/msc/data.py +29 −2 Original line number Diff line number Diff line Loading @@ -2,7 +2,7 @@ from collections import OrderedDict import astropy.io.fits as fits from astropy.io.fits import HDUList, PrimaryHDU, ImageHDU from astropy.io.fits.header import Header from ..common.data import CsstData from ..common.data import CsstData, INSTRUMENT_LIST __all__ = ["CsstMscData", "CsstMscImgData"] Loading Loading @@ -81,12 +81,39 @@ class CsstMscData(CsstData): class CsstMscImgData(CsstMscData): def __init__(self, primaryHDU, imgHDU, **kwargs): print('create CsstMscImgData') # print('create CsstMscImgData') super(CsstMscData, self).__init__(primaryHDU, imgHDU, **kwargs) def __repr__(self): return "<CsstMscImgData: {} {}>".format(self.instrument, self.detector) @staticmethod def read(fitsfilename): """ create CSST Data instances Parameters ---------- fitsfilename: the file name of fits files Returns ------- """ try: hl = fits.open(fitsfilename) instrument = hl[0].header.get('INSTRUME') # strip or not? detector = hl[0].header.get('DETECTOR') # strip or not? print("@CsstMscImgData: reading data {} ...".format(fitsfilename)) assert instrument in INSTRUMENT_LIST if instrument == 'MSC' and 6 <= int(detector[3:5]) <= 25: # multi-band imaging data = CsstMscImgData(hl[0], hl[1], instrument=instrument, detector=detector) return data except Exception as e: print(e) # def test(): # fp = MSC_MS_210527171000_100000279_16_raw.fits Loading csst/msc/instrument.py +0 −1 Original line number Diff line number Diff line from collections import OrderedDict from abc import ABCMeta, abstractmethod from csst.common.data import CsstData from enum import Enum import numpy as np from ..common.processors import CsstProcStatus, CsstProcessor Loading Loading
csst/common/data.py +6 −2 Original line number Diff line number Diff line Loading @@ -23,7 +23,7 @@ class CsstData: _auxdata = OrderedDict() def __init__(self, primaryHDU, imgHDU, instrument=None, detector=None): print('create CsstData') # print('create CsstData') self._primary_hdu = primaryHDU self._l0data = imgHDU self.instrument = instrument Loading Loading @@ -60,7 +60,7 @@ class CsstData: raise CsstException def set_l1keyword(self, key, value): print('check out whether ' + key + " is a valid key and " + value + " is valid value") raise NotImplementedError('check out whether ' + key + " is a valid key and " + value + " is valid value") def set_l1data(self, img): print('save image data to l2data') Loading @@ -83,3 +83,7 @@ class CsstData: hdulist.writeto(filename) except Exception as e: print(e) def read(self, **kwargs): """ read data from fits file """ raise NotImplementedError
csst/msc/__init__.py +1 −0 Original line number Diff line number Diff line from .data import CsstMscData, CsstMscImgData No newline at end of file
csst/msc/mscdata.py→csst/msc/data.py +29 −2 Original line number Diff line number Diff line Loading @@ -2,7 +2,7 @@ from collections import OrderedDict import astropy.io.fits as fits from astropy.io.fits import HDUList, PrimaryHDU, ImageHDU from astropy.io.fits.header import Header from ..common.data import CsstData from ..common.data import CsstData, INSTRUMENT_LIST __all__ = ["CsstMscData", "CsstMscImgData"] Loading Loading @@ -81,12 +81,39 @@ class CsstMscData(CsstData): class CsstMscImgData(CsstMscData): def __init__(self, primaryHDU, imgHDU, **kwargs): print('create CsstMscImgData') # print('create CsstMscImgData') super(CsstMscData, self).__init__(primaryHDU, imgHDU, **kwargs) def __repr__(self): return "<CsstMscImgData: {} {}>".format(self.instrument, self.detector) @staticmethod def read(fitsfilename): """ create CSST Data instances Parameters ---------- fitsfilename: the file name of fits files Returns ------- """ try: hl = fits.open(fitsfilename) instrument = hl[0].header.get('INSTRUME') # strip or not? detector = hl[0].header.get('DETECTOR') # strip or not? print("@CsstMscImgData: reading data {} ...".format(fitsfilename)) assert instrument in INSTRUMENT_LIST if instrument == 'MSC' and 6 <= int(detector[3:5]) <= 25: # multi-band imaging data = CsstMscImgData(hl[0], hl[1], instrument=instrument, detector=detector) return data except Exception as e: print(e) # def test(): # fp = MSC_MS_210527171000_100000279_16_raw.fits Loading
csst/msc/instrument.py +0 −1 Original line number Diff line number Diff line from collections import OrderedDict from abc import ABCMeta, abstractmethod from csst.common.data import CsstData from enum import Enum import numpy as np from ..common.processors import CsstProcStatus, CsstProcessor Loading