Loading csst/common/data.py +6 −2 Original line number Original line Diff line number Diff line Loading @@ -23,7 +23,7 @@ class CsstData: _auxdata = OrderedDict() _auxdata = OrderedDict() def __init__(self, primaryHDU, imgHDU, instrument=None, detector=None): def __init__(self, primaryHDU, imgHDU, instrument=None, detector=None): print('create CsstData') # print('create CsstData') self._primary_hdu = primaryHDU self._primary_hdu = primaryHDU self._l0data = imgHDU self._l0data = imgHDU self.instrument = instrument self.instrument = instrument Loading Loading @@ -60,7 +60,7 @@ class CsstData: raise CsstException raise CsstException def set_l1keyword(self, key, value): 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): def set_l1data(self, img): print('save image data to l2data') print('save image data to l2data') Loading @@ -83,3 +83,7 @@ class CsstData: hdulist.writeto(filename) hdulist.writeto(filename) except Exception as e: except Exception as e: print(e) print(e) def read(self, **kwargs): """ read data from fits file """ raise NotImplementedError csst/msc/__init__.py +1 −0 Original line number Original line 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 Original line Diff line number Diff line Loading @@ -2,7 +2,7 @@ from collections import OrderedDict import astropy.io.fits as fits import astropy.io.fits as fits from astropy.io.fits import HDUList, PrimaryHDU, ImageHDU from astropy.io.fits import HDUList, PrimaryHDU, ImageHDU from astropy.io.fits.header import Header from astropy.io.fits.header import Header from ..common.data import CsstData from ..common.data import CsstData, INSTRUMENT_LIST __all__ = ["CsstMscData", "CsstMscImgData"] __all__ = ["CsstMscData", "CsstMscImgData"] Loading Loading @@ -81,12 +81,39 @@ class CsstMscData(CsstData): class CsstMscImgData(CsstMscData): class CsstMscImgData(CsstMscData): def __init__(self, primaryHDU, imgHDU, **kwargs): def __init__(self, primaryHDU, imgHDU, **kwargs): print('create CsstMscImgData') # print('create CsstMscImgData') super(CsstMscData, self).__init__(primaryHDU, imgHDU, **kwargs) super(CsstMscData, self).__init__(primaryHDU, imgHDU, **kwargs) def __repr__(self): def __repr__(self): return "<CsstMscImgData: {} {}>".format(self.instrument, self.detector) 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(): # def test(): # fp = MSC_MS_210527171000_100000279_16_raw.fits # fp = MSC_MS_210527171000_100000279_16_raw.fits Loading csst/msc/instrument.py +0 −1 Original line number Original line Diff line number Diff line from collections import OrderedDict from collections import OrderedDict from abc import ABCMeta, abstractmethod from abc import ABCMeta, abstractmethod from csst.common.data import CsstData from enum import Enum from enum import Enum import numpy as np import numpy as np from ..common.processors import CsstProcStatus, CsstProcessor from ..common.processors import CsstProcStatus, CsstProcessor Loading Loading
csst/common/data.py +6 −2 Original line number Original line Diff line number Diff line Loading @@ -23,7 +23,7 @@ class CsstData: _auxdata = OrderedDict() _auxdata = OrderedDict() def __init__(self, primaryHDU, imgHDU, instrument=None, detector=None): def __init__(self, primaryHDU, imgHDU, instrument=None, detector=None): print('create CsstData') # print('create CsstData') self._primary_hdu = primaryHDU self._primary_hdu = primaryHDU self._l0data = imgHDU self._l0data = imgHDU self.instrument = instrument self.instrument = instrument Loading Loading @@ -60,7 +60,7 @@ class CsstData: raise CsstException raise CsstException def set_l1keyword(self, key, value): 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): def set_l1data(self, img): print('save image data to l2data') print('save image data to l2data') Loading @@ -83,3 +83,7 @@ class CsstData: hdulist.writeto(filename) hdulist.writeto(filename) except Exception as e: except Exception as e: print(e) print(e) def read(self, **kwargs): """ read data from fits file """ raise NotImplementedError
csst/msc/__init__.py +1 −0 Original line number Original line 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 Original line Diff line number Diff line Loading @@ -2,7 +2,7 @@ from collections import OrderedDict import astropy.io.fits as fits import astropy.io.fits as fits from astropy.io.fits import HDUList, PrimaryHDU, ImageHDU from astropy.io.fits import HDUList, PrimaryHDU, ImageHDU from astropy.io.fits.header import Header from astropy.io.fits.header import Header from ..common.data import CsstData from ..common.data import CsstData, INSTRUMENT_LIST __all__ = ["CsstMscData", "CsstMscImgData"] __all__ = ["CsstMscData", "CsstMscImgData"] Loading Loading @@ -81,12 +81,39 @@ class CsstMscData(CsstData): class CsstMscImgData(CsstMscData): class CsstMscImgData(CsstMscData): def __init__(self, primaryHDU, imgHDU, **kwargs): def __init__(self, primaryHDU, imgHDU, **kwargs): print('create CsstMscImgData') # print('create CsstMscImgData') super(CsstMscData, self).__init__(primaryHDU, imgHDU, **kwargs) super(CsstMscData, self).__init__(primaryHDU, imgHDU, **kwargs) def __repr__(self): def __repr__(self): return "<CsstMscImgData: {} {}>".format(self.instrument, self.detector) 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(): # def test(): # fp = MSC_MS_210527171000_100000279_16_raw.fits # fp = MSC_MS_210527171000_100000279_16_raw.fits Loading
csst/msc/instrument.py +0 −1 Original line number Original line Diff line number Diff line from collections import OrderedDict from collections import OrderedDict from abc import ABCMeta, abstractmethod from abc import ABCMeta, abstractmethod from csst.common.data import CsstData from enum import Enum from enum import Enum import numpy as np import numpy as np from ..common.processors import CsstProcStatus, CsstProcessor from ..common.processors import CsstProcStatus, CsstProcessor Loading