Loading evaluation/photometry_evaluation.ipynb +35 −34762 File changed.Preview size limit exceeded, changes collapsed. Show changes measurement_pipeline/L1_pipeline/csst_msc_instrument/csst_msc_mbi_instrument.py +26 −18 Original line number Original line Diff line number Diff line Loading @@ -24,6 +24,7 @@ from astropy.stats import sigma_clipped_stats # FlagConfig, # FlagConfig, # ) # ) from L1_pipeline.csst_msc_instrument.image import ( from L1_pipeline.csst_msc_instrument.image import ( remove_cr_deepcr, subtract_bias, subtract_bias, subtract_dark, subtract_dark, FlagConfig, FlagConfig, Loading Loading @@ -91,7 +92,8 @@ def core_msc_l1_mbi_instrument( hdu = fits.HDUList( hdu = fits.HDUList( [ [ fits.PrimaryHDU(header=raw[0].header.copy()), fits.PrimaryHDU(header=raw[0].header.copy()), fits.ImageHDU(header=raw[1].header.copy(), data=raw[1].data.copy()), fits.ImageHDU(header=raw[1].header.copy(), data=raw[1].data.copy()), ] ] ) ) # 创建wht[1].data hdulist # 创建wht[1].data hdulist Loading Loading @@ -153,8 +155,10 @@ def core_msc_l1_mbi_instrument( ) ) # 过饱和检测 # 过饱和检测 saturate = SATURATE saturate = SATURATE flg[1].data = _check_over_saturation(flg[1].data, hdu[1].data, saturate) flg[1].data = _check_over_saturation( saturate = saturate * hdu[1].header["GAIN01"] / hdu[0].header["EXPTIME"] flg[1].data, hdu[1].data, saturate) saturate = saturate * \ hdu[1].header["GAIN01"] / hdu[0].header["EXPTIME"] status_header.set("SATURATE", saturate) status_header.set("SATURATE", saturate) # 时间归一 # 时间归一 hdu[1].data = hdu[1].data / hdu[0].header["EXPTIME"] hdu[1].data = hdu[1].data / hdu[0].header["EXPTIME"] Loading @@ -163,17 +167,18 @@ def core_msc_l1_mbi_instrument( # hdu[1].header.set('BUNIT', 'electron/s') # hdu[1].header.set('BUNIT', 'electron/s') status_header.set("BUNIT", "electron/s") status_header.set("BUNIT", "electron/s") # 检测宇宙线 # 检测宇宙线 # hdu[1].data, flg[1].data, cr_count = remove_cr_deepcr( hdu[1].data, flg[1].data, cr_count = remove_cr_deepcr( # hdu[1].data, hdu[1].data, # flg[1].data, flg[1].data, # device, device, # hdu[1].header["CHIPID"], hdu[1].header["CHIPID"], # ) ) # status_header.set("S_CRS", 0) status_header.set("S_CRS", 0) # status_header.set("CRCOUNT", cr_count) status_header.set("CRCOUNT", cr_count) # 记录BKG与RMS # 记录BKG与RMS _, bkg, rms = sigma_clipped_stats(data=hdu[1].data, mask=(flg[1].data == 16)) _, bkg, rms = sigma_clipped_stats( data=hdu[1].data, mask=(flg[1].data == 16)) status_header.set("SKY_BKG", bkg) status_header.set("SKY_BKG", bkg) status_header.set("SKY_RMS", rms) status_header.set("SKY_RMS", rms) # 检测卫星拖尾 # 检测卫星拖尾 Loading Loading @@ -243,7 +248,8 @@ def _set_status_header(): status_header = fits.Header() # template Header status_header = fits.Header() # template Header status_header.append(("COMMENT", "=" * 66), bottom=True) status_header.append(("COMMENT", "=" * 66), bottom=True) status_header.append(("COMMENT", "INSTRUMENT CORRECTION INFORMATION"), bottom=True) status_header.append( ("COMMENT", "INSTRUMENT CORRECTION INFORMATION"), bottom=True) status_header.append(("COMMENT", "=" * 66), bottom=True) status_header.append(("COMMENT", "=" * 66), bottom=True) for card in demo_header.cards: for card in demo_header.cards: Loading Loading @@ -369,8 +375,10 @@ def _dilation(array_orig: np.ndarray, iterations: int = 1): """ """ from scipy import ndimage from scipy import ndimage struct1 = ndimage.generate_binary_structure(2, 1) # give a saturate structure struct1 = ndimage.generate_binary_structure( struct_ext = ndimage.iterate_structure(struct1, iterations) # make a dilation 2, 1) # give a saturate structure struct_ext = ndimage.iterate_structure( struct1, iterations) # make a dilation if iterations == 0: if iterations == 0: array_out = array_orig array_out = array_orig else: else: Loading measurement_pipeline/L1_pipeline/csst_msc_instrument/image/__init__.py +5 −2 Original line number Original line Diff line number Diff line Loading @@ -15,6 +15,9 @@ from .gain import apply_gain from .overscan import correct_overscan from .overscan import correct_overscan from .config import FlagConfig, CameraConfig, CCDArrayConfig, get_array_config from .config import FlagConfig, CameraConfig, CCDArrayConfig, get_array_config from .format import convert_format from .format import convert_format from .cosmicray.deepcr import remove_cr_deepcr from .cosmicray.lacosmic import remove_cr_la __all__ = ['correct_overscan', 'apply_gain', 'subtract_bias', 'remove_crosstalk', 'subtract_dark', __all__ = ['correct_overscan', 'apply_gain', 'subtract_bias', 'remove_crosstalk', 'subtract_dark', 'FlagConfig', 'CameraConfig', 'CCDArrayConfig', 'get_array_config','convert_format', ] 'FlagConfig', 'CameraConfig', 'CCDArrayConfig', 'get_array_config', 'convert_format', 'remove_cr_deepcr', 'remove_cr_la'] No newline at end of file measurement_pipeline/L1_pipeline/csst_msc_instrument/image/cosmicray/__init__.py 0 → 100644 +14 −0 Original line number Original line Diff line number Diff line """ Identifier: csst-l1/msc/csst_msc_common/csst_msc_common/cosmicray/__init__.py Name: __init__.py Description: Cosmic ray module. Author: Li Shao (shaoli@nao.cas.cn) Created: 2023-11-27 Modified-History: 2023-11-27, Li Shao, created """ from .deepcr import remove_cr_deepcr from .lacosmic import remove_cr_la __all__ = ['remove_cr_deepcr', 'remove_cr_la', ] measurement_pipeline/L1_pipeline/csst_msc_instrument/image/cosmicray/cr_model/2022-04-26_15_samples_32_layers_epoch30.pth 0 → 100644 +413 KiB File added.No diff preview for this file type. View file Loading
evaluation/photometry_evaluation.ipynb +35 −34762 File changed.Preview size limit exceeded, changes collapsed. Show changes
measurement_pipeline/L1_pipeline/csst_msc_instrument/csst_msc_mbi_instrument.py +26 −18 Original line number Original line Diff line number Diff line Loading @@ -24,6 +24,7 @@ from astropy.stats import sigma_clipped_stats # FlagConfig, # FlagConfig, # ) # ) from L1_pipeline.csst_msc_instrument.image import ( from L1_pipeline.csst_msc_instrument.image import ( remove_cr_deepcr, subtract_bias, subtract_bias, subtract_dark, subtract_dark, FlagConfig, FlagConfig, Loading Loading @@ -91,7 +92,8 @@ def core_msc_l1_mbi_instrument( hdu = fits.HDUList( hdu = fits.HDUList( [ [ fits.PrimaryHDU(header=raw[0].header.copy()), fits.PrimaryHDU(header=raw[0].header.copy()), fits.ImageHDU(header=raw[1].header.copy(), data=raw[1].data.copy()), fits.ImageHDU(header=raw[1].header.copy(), data=raw[1].data.copy()), ] ] ) ) # 创建wht[1].data hdulist # 创建wht[1].data hdulist Loading Loading @@ -153,8 +155,10 @@ def core_msc_l1_mbi_instrument( ) ) # 过饱和检测 # 过饱和检测 saturate = SATURATE saturate = SATURATE flg[1].data = _check_over_saturation(flg[1].data, hdu[1].data, saturate) flg[1].data = _check_over_saturation( saturate = saturate * hdu[1].header["GAIN01"] / hdu[0].header["EXPTIME"] flg[1].data, hdu[1].data, saturate) saturate = saturate * \ hdu[1].header["GAIN01"] / hdu[0].header["EXPTIME"] status_header.set("SATURATE", saturate) status_header.set("SATURATE", saturate) # 时间归一 # 时间归一 hdu[1].data = hdu[1].data / hdu[0].header["EXPTIME"] hdu[1].data = hdu[1].data / hdu[0].header["EXPTIME"] Loading @@ -163,17 +167,18 @@ def core_msc_l1_mbi_instrument( # hdu[1].header.set('BUNIT', 'electron/s') # hdu[1].header.set('BUNIT', 'electron/s') status_header.set("BUNIT", "electron/s") status_header.set("BUNIT", "electron/s") # 检测宇宙线 # 检测宇宙线 # hdu[1].data, flg[1].data, cr_count = remove_cr_deepcr( hdu[1].data, flg[1].data, cr_count = remove_cr_deepcr( # hdu[1].data, hdu[1].data, # flg[1].data, flg[1].data, # device, device, # hdu[1].header["CHIPID"], hdu[1].header["CHIPID"], # ) ) # status_header.set("S_CRS", 0) status_header.set("S_CRS", 0) # status_header.set("CRCOUNT", cr_count) status_header.set("CRCOUNT", cr_count) # 记录BKG与RMS # 记录BKG与RMS _, bkg, rms = sigma_clipped_stats(data=hdu[1].data, mask=(flg[1].data == 16)) _, bkg, rms = sigma_clipped_stats( data=hdu[1].data, mask=(flg[1].data == 16)) status_header.set("SKY_BKG", bkg) status_header.set("SKY_BKG", bkg) status_header.set("SKY_RMS", rms) status_header.set("SKY_RMS", rms) # 检测卫星拖尾 # 检测卫星拖尾 Loading Loading @@ -243,7 +248,8 @@ def _set_status_header(): status_header = fits.Header() # template Header status_header = fits.Header() # template Header status_header.append(("COMMENT", "=" * 66), bottom=True) status_header.append(("COMMENT", "=" * 66), bottom=True) status_header.append(("COMMENT", "INSTRUMENT CORRECTION INFORMATION"), bottom=True) status_header.append( ("COMMENT", "INSTRUMENT CORRECTION INFORMATION"), bottom=True) status_header.append(("COMMENT", "=" * 66), bottom=True) status_header.append(("COMMENT", "=" * 66), bottom=True) for card in demo_header.cards: for card in demo_header.cards: Loading Loading @@ -369,8 +375,10 @@ def _dilation(array_orig: np.ndarray, iterations: int = 1): """ """ from scipy import ndimage from scipy import ndimage struct1 = ndimage.generate_binary_structure(2, 1) # give a saturate structure struct1 = ndimage.generate_binary_structure( struct_ext = ndimage.iterate_structure(struct1, iterations) # make a dilation 2, 1) # give a saturate structure struct_ext = ndimage.iterate_structure( struct1, iterations) # make a dilation if iterations == 0: if iterations == 0: array_out = array_orig array_out = array_orig else: else: Loading
measurement_pipeline/L1_pipeline/csst_msc_instrument/image/__init__.py +5 −2 Original line number Original line Diff line number Diff line Loading @@ -15,6 +15,9 @@ from .gain import apply_gain from .overscan import correct_overscan from .overscan import correct_overscan from .config import FlagConfig, CameraConfig, CCDArrayConfig, get_array_config from .config import FlagConfig, CameraConfig, CCDArrayConfig, get_array_config from .format import convert_format from .format import convert_format from .cosmicray.deepcr import remove_cr_deepcr from .cosmicray.lacosmic import remove_cr_la __all__ = ['correct_overscan', 'apply_gain', 'subtract_bias', 'remove_crosstalk', 'subtract_dark', __all__ = ['correct_overscan', 'apply_gain', 'subtract_bias', 'remove_crosstalk', 'subtract_dark', 'FlagConfig', 'CameraConfig', 'CCDArrayConfig', 'get_array_config','convert_format', ] 'FlagConfig', 'CameraConfig', 'CCDArrayConfig', 'get_array_config', 'convert_format', 'remove_cr_deepcr', 'remove_cr_la'] No newline at end of file
measurement_pipeline/L1_pipeline/csst_msc_instrument/image/cosmicray/__init__.py 0 → 100644 +14 −0 Original line number Original line Diff line number Diff line """ Identifier: csst-l1/msc/csst_msc_common/csst_msc_common/cosmicray/__init__.py Name: __init__.py Description: Cosmic ray module. Author: Li Shao (shaoli@nao.cas.cn) Created: 2023-11-27 Modified-History: 2023-11-27, Li Shao, created """ from .deepcr import remove_cr_deepcr from .lacosmic import remove_cr_la __all__ = ['remove_cr_deepcr', 'remove_cr_la', ]
measurement_pipeline/L1_pipeline/csst_msc_instrument/image/cosmicray/cr_model/2022-04-26_15_samples_32_layers_epoch30.pth 0 → 100644 +413 KiB File added.No diff preview for this file type. View file