diff --git a/csst_cpic_sim/camera.py b/csst_cpic_sim/camera.py index fd7bdf1a97e853bbc830ca51f6a62996c101bb1e..965d955b8a311b191b0991a587b0c95116c0e97e 100644 --- a/csst_cpic_sim/camera.py +++ b/csst_cpic_sim/camera.py @@ -373,7 +373,7 @@ class CpicVisEmccd(object): self.nonlinear_coefficient = -0.1 - self.detector_name = 'CCD201-20-EM' + self.detector_name = 'VIS' self.ccd_label = 'EMCCD' self.pitch_size = 13 diff --git a/csst_cpic_sim/config.py b/csst_cpic_sim/config.py index c4cca46e83490e4434cd8d59cc8d1f8e307b3431..a0f668f22da76cd42326d1179efce0f016948197 100644 --- a/csst_cpic_sim/config.py +++ b/csst_cpic_sim/config.py @@ -81,7 +81,7 @@ config['bands'] = { } config['diameter'] = 2 # in meters config['platescale'] = 0.016153 -config['datamodel'] = f'{cpism_refdata}/io/csst-cpic-l0.toml' +config['datamodel'] = f'{os.path.dirname(config_aim)}/csst-cpic-l0.toml' config['log_dir'] = f'{cpism_refdata}/log' config['log_level'] = 'info' diff --git a/csst_cpic_sim/data/csst-cpic-l0.toml b/csst_cpic_sim/data/csst-cpic-l0.toml new file mode 100644 index 0000000000000000000000000000000000000000..bb5362472207e3565d0ebc039fe20ae88c53893d --- /dev/null +++ b/csst_cpic_sim/data/csst-cpic-l0.toml @@ -0,0 +1,1468 @@ +[META] +tag = "csst-cpic-l0" +type = "image" +description = "CSST CPIC L0 data model" + +[HDU0.SIMPLE] +key = "SIMPLE" +dtype = "bool" +example = true +comment = "conforms to FITS standard" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDU0.BITPIX] +key = "BITPIX" +dtype = "int64" +example = 8 +comment = "array data type" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDU0.NAXIS] +key = "NAXIS" +dtype = "int64" +example = 0 +comment = "number of array dimensions" +fill_value = "" +vmin = "" +vmax = "" +enum = [0, ] +notes = "the NAXIS of HDU0 should be always 0" +ignore = false + +[HDU0.EXTEND] +key = "EXTEND" +dtype = "bool" +example = true +comment = "" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDU0.NEXTEND] +key = "NEXTEND" +dtype = "int64" +example = 1 +comment = "number of array dimensions" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDU0.DATE] +key = "DATE" +dtype = "str21" +example = "2023-05-19T09:08:15.0" +comment = "written date (yyyy-mm-ddThh:mm:ss.s)" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDU0.FILENAME] +key = "FILENAME" +dtype = "str" +example = "CSST_CPIC_VIS_SCI_20230519090815_20230519090816_40112345678_X_L0_V01" +comment = "" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDU0.TELESCOP] +key = "TELESCOP" +dtype = "str4" +example = "CSST" +comment = "telescope name" +fill_value = "" +vmin = "" +vmax = "" +enum = ["CSST", ] +notes = "the TELESCOP should be always 'CSST'" +ignore = false + +[HDU0.INSTRUME] +key = "INSTRUME" +dtype = "str4" +example = "CPIC" +comment = "instrument name" +fill_value = "" +vmin = "" +vmax = "" +enum = ["CPIC", ] +notes = "the INSTRUME should be always 'CPIC'" +ignore = false + +[HDU0.OBSID] +key = "OBSID" +dtype = "str" +example = "40112345678" +comment = "observation ID" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDU0.OBSTYPE] +key = "OBSTYPE" +dtype = "str" +example = "SCI" +comment = "observation type" +fill_value = "" +vmin = "" +vmax = "" +enum = ["SCI", "BIAS", "DARK", "FLAT", "BKG", 'LASER', 'DSF', 'CALS'] +notes = "" +ignore = false + +[HDU0.DATASET] +key = "DATASET" +dtype = "str" +example = "csst-cpic-c9-v1" +comment = "dataset" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDU0.RADECSYS] +key = "RADECSYS" +dtype = "str" +example = "ICRS" +comment = "coordinate system of the object" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDU0.EQUINOX] +key = "EQUINOX" +dtype = "float64" +example = 2000.0 +comment = "" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDU0.FITSSWV] +key = "FITSSWV" +dtype = "str" +example = "CPISM V0.9.0" +comment = "FITS creating software version" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDU0.COMMENT] +key = "COMMENT" +dtype = "str72" +example = "========================================================================" +comment = "" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDU0.OBJECT] +key = "OBJECT" +dtype = "str" +example = "080000+400000" +comment = "object name" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDU0.TARGET] +key = "TARGET" +dtype = "str15" +example = "080000.0+400000" +comment = "target name (hhmmss.s+ddmmss)" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDU0.RA_OBJ] +key = "RA_OBJ" +dtype = "float64" +example = 120.0 +comment = "object RA (deg)" +fill_value = "" +vmin = 0.0 +vmax = 360.0 +enum = [] +notes = "RA should be no less than 0.0 and no more than 360.0" +ignore = false + +[HDU0.DEC_OBJ] +key = "DEC_OBJ" +dtype = "float64" +example = 40.0 +comment = "object Dec (deg)" +fill_value = "" +vmin = -90.0 +vmax = 90.0 +enum = [] +notes = "Dec should be no less than -90.0 and no more than 90.0" +ignore = false + +[HDU0.REFFRAME] +key = "REFFRAME" +dtype = "str" +example = "CSSTGSC-1.0" +comment = "guiding catalog version" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDU0.DATE-OBS] +key = "DATE-OBS" +dtype = "str21" +example = "2023-05-19T09:08:15.0" +comment = "observation date (yyyy-mm-ddThh:mm:ss.s)" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDU0.SATESWV] +key = "SATESWV" +dtype = "str" +example = "SIMULATION" +comment = "satellite software version" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDU0.EXPSTART] +key = "EXPSTART" +dtype = "float64" +example = 60083.38072916667 +comment = "exposure start time (MJD)" +fill_value = "" +vmin = 59945.000000 +vmax = "" +enum = [] +notes = "the vmin value of the MJD is 2023-01-01" +ignore = false + +[HDU0.CABSTART] +key = "CABSTART" +dtype = "float64" +example = 60083.38072916667 +comment = "first cabin time after exposure start (MJD)" +fill_value = "" +vmin = 59945.000000 +vmax = "" +enum = [] +notes = "the vmin value of the MJD is 2023-01-01" +ignore = false + +[HDU0.SUNANGL0] +key = "SUNANGL0" +dtype = "float64" +example = 0.0 +comment = "angle between the Sun and opt axis at CABSTART" +fill_value = "" +vmin = 0.0 +vmax = 180.0 +enum = [] +notes = "SUNANGL0 should be no less than 0.0 and no more than 180.0" +ignore = false + +[HDU0.MOONANG0] +key = "MOONANG0" +dtype = "float64" +example = 0.0 +comment = "angle between the Moon and opt axis at CABSTART" +fill_value = "" +vmin = 0.0 +vmax = 180.0 +enum = [] +notes = "MOONANG0 should be no less than 0.0 and no more than 180.0" +ignore = false + +[HDU0.TEL_ALT0] +key = "TEL_ALT0" +dtype = "float64" +example = 0.0 +comment = "angle between opt axis and Elimb at CABSTART" +fill_value = "" +vmin = 0.0 +vmax = 90.0 +enum = [] +notes = "TEL_ALT0 should be no less than 0.0 and no more than 90.0" +ignore = false + +[HDU0.POS_ANG0] +key = "POS_ANG0" +dtype = "float64" +example = 0.0 +comment = "angle between y axis and North Pole at CABSTART" +fill_value = "" +vmin = 0.0 +vmax = 180.0 +enum = [] +notes = "POS_ANG0 should be no less than 0.0 and no more than 180.0" +ignore = false + +[HDU0.POSI0_X] +key = "POSI0_X" +dtype = "float64" +example = 0.0 +comment = "orbital position in X at CABSTART (km)" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDU0.POSI0_Y] +key = "POSI0_Y" +dtype = "float64" +example = 0.0 +comment = "orbital position in Y at CABSTART (km)" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDU0.POSI0_Z] +key = "POSI0_Z" +dtype = "float64" +example = 0.0 +comment = "orbital position in Z at CABSTART (km)" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDU0.VELO0_X] +key = "VELO0_X" +dtype = "float64" +example = 0.0 +comment = "orbital velocity in X at CABSTART (km/s)" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDU0.VELO0_Y] +key = "VELO0_Y" +dtype = "float64" +example = 0.0 +comment = "orbital velocity in Y at CABSTART (km/s)" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDU0.VELO0_Z] +key = "VELO0_Z" +dtype = "float64" +example = 0.0 +comment = "orbital velocity in Z at CABSTART (km/s)" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDU0.EULER0_1] +key = "EULER0_1" +dtype = "float64" +example = 0.0 +comment = "Euler angle 1 at CABSTART (deg)" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDU0.EULER0_2] +key = "EULER0_2" +dtype = "float64" +example = 0.0 +comment = "Euler angle 2 at CABSTART (deg)" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDU0.EULER0_3] +key = "EULER0_3" +dtype = "float64" +example = 0.0 +comment = "Euler angle 3 at CABSTART (deg)" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDU0.RA_PNT0] +key = "RA_PNT0" +dtype = "float64" +example = 120.0 +comment = "pointing RA at CABSTART (deg)" +fill_value = "" +vmin = 0.0 +vmax = 360.0 +enum = [] +notes = "RA should be no less than 0.0 and no more than 360.0" +ignore = false + +[HDU0.DEC_PNT0] +key = "DEC_PNT0" +dtype = "float64" +example = 40.0 +comment = "pointing Dec at CABSTART (deg)" +fill_value = "" +vmin = -90.0 +vmax = 90.0 +enum = [] +notes = "DEC should be no less than -90.0 and no more than 90.0" +ignore = false + +[HDU0.EXPEND] +key = "EXPEND" +dtype = "float64" +example = 60083.38074074074 +comment = "exposure end time (MJD)" +fill_value = "" +vmin = 59945.000000 +vmax = "" +enum = [] +notes = "the vmin value of the MJD is 2023-01-01" +ignore = false + +[HDU0.CABEND] +key = "CABEND" +dtype = "float64" +example = 60083.38074074074 +comment = "first cabin time after exposure end (MJD)" +fill_value = "" +vmin = 59945.000000 +vmax = "" +enum = [] +notes = "the vmin value of the MJD is 2023-01-01" +ignore = false + +[HDU0.SUNANGL1] +key = "SUNANGL1" +dtype = "float64" +example = 0.0 +comment = "angle between the Sun and opt axis at CABEND" +fill_value = "" +vmin = 0.0 +vmax = 180.0 +enum = [] +notes = "the same as SUNANGL0" +ignore = false + +[HDU0.MOONANG1] +key = "MOONANG1" +dtype = "float64" +example = 0.0 +comment = "angle between the Moon and opt axis at CABEND" +fill_value = "" +vmin = 0.0 +vmax = 180.0 +enum = [] +notes = "the same as MOONANG0" +ignore = false + +[HDU0.TEL_ALT1] +key = "TEL_ALT1" +dtype = "float64" +example = 0.0 +comment = "angle between opt axis and Elimb at CABEND" +fill_value = "" +vmin = 0.0 +vmax = 90.0 +enum = [] +notes = "the same as TEL_ALT0" +ignore = false + +[HDU0.POS_ANG1] +key = "POS_ANG1" +dtype = "float64" +example = 0.0 +comment = "angle between y axis and North Pole at CABEND" +fill_value = "" +vmin = 0.0 +vmax = 180.0 +enum = [] +notes = "the same as POS_ANG0" +ignore = false + +[HDU0.POSI1_X] +key = "POSI1_X" +dtype = "float64" +example = 0.0 +comment = "orbital position in X at CABEND (km)" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDU0.POSI1_Y] +key = "POSI1_Y" +dtype = "float64" +example = 0.0 +comment = "orbital position in Y at CABEND (km)" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDU0.POSI1_Z] +key = "POSI1_Z" +dtype = "float64" +example = 0.0 +comment = "orbital position in Z at CABEND (km)" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDU0.VELO1_X] +key = "VELO1_X" +dtype = "float64" +example = 0.0 +comment = "orbital velocity in X at CABEND (km/s)" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDU0.VELO1_Y] +key = "VELO1_Y" +dtype = "float64" +example = 0.0 +comment = "orbital velocity in Y at CABEND (km/s)" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDU0.VELO1_Z] +key = "VELO1_Z" +dtype = "float64" +example = 0.0 +comment = "orbital velocity in Z at CABEND (km/s)" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDU0.EULER1_1] +key = "EULER1_1" +dtype = "float64" +example = 0.0 +comment = "Euler angle 1 at CABEND (deg)" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDU0.EULER1_2] +key = "EULER1_2" +dtype = "float64" +example = 0.0 +comment = "Euler angle 2 at CABEND (deg)" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDU0.EULER1_3] +key = "EULER1_3" +dtype = "float64" +example = 0.0 +comment = "Euler angle 3 at CABEND (deg)" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDU0.RA_PNT1] +key = "RA_PNT1" +dtype = "float64" +example = 120.0 +comment = "pointing RA at CABEND (deg)" +fill_value = "" +vmin = 0.0 +vmax = 360.0 +enum = [] +notes = "the same as RA_PNT0" +ignore = false + +[HDU0.DEC_PNT1] +key = "DEC_PNT1" +dtype = "float64" +example = 40.0 +comment = "pointing Dec at CABEND (deg)" +fill_value = "" +vmin = -90.0 +vmax = 90.0 +enum = [] +notes = "the same as DEC_PNT0" +ignore = false + +[HDU0.EPOCH] +key = "EPOCH" +dtype = "float64" +example = 2023.0 +comment = "equinox of pointing RA and Dec" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDU0.EXPTIME] +key = "EXPTIME" +dtype = "float64" +example = 1.0 +comment = "exposure time (s)" +fill_value = "" +vmin = 0.0 +vmax = "" +enum = [] +notes = "EXPTIME should be no less than 0.0" +ignore = false + +[HDU0.CHECKSUM] +key = "CHECKSUM" +dtype = "str" +example = "6aaE7US96ZYE6ZY9" +comment = "HDU checksum updated 2024-03-07T08:52:11" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = true + +[HDU0.DATASUM] +key = "DATASUM" +dtype = "str" +example = "0" +comment = "data unit checksum updated 2024-03-07T08:52:11" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = true + +[HDUN.XTENSION] +key = "XTENSION" +dtype = "str" +example = "IMAGE" +comment = "extension type" +fill_value = "" +vmin = "" +vmax = "" +enum = ["IMAGE", ] +notes = "" +ignore = false + +[HDUN.BITPIX] +key = "BITPIX" +dtype = "int64" +example = 16 +comment = "array data type" +fill_value = "" +vmin = "" +vmax = "" +enum = [16, ] +notes = "" +ignore = false + +[HDUN.NAXIS] +key = "NAXIS" +dtype = "int64" +example = 2 +comment = "number of array dimensions" +fill_value = "" +vmin = "" +vmax = "" +enum = [2, ] +notes = "" +ignore = false + +[HDUN.NAXIS1] +key = "NAXIS1" +dtype = "int64" +example = 1088 +comment = "" +fill_value = "" +vmin = 1 +vmax = "" +enum = [1088, 1080] +notes = "" +ignore = false + +[HDUN.NAXIS2] +key = "NAXIS2" +dtype = "int64" +example = 1050 +comment = "" +fill_value = "" +vmin = 1 +vmax = "" +enum = [1050,] +notes = "" +ignore = false + +[HDUN.PCOUNT] +key = "PCOUNT" +dtype = "int64" +example = 0 +comment = "number of parameters" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDUN.GCOUNT] +key = "GCOUNT" +dtype = "int64" +example = 1 +comment = "number of groups" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDUN.BSCALE] +key = "BSCALE" +dtype = "int64" +example = 1 +comment = "" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDUN.BZERO] +key = "BZERO" +dtype = "int64" +example = 32768 +comment = "" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDUN.EXTNAME] +key = "EXTNAME" +dtype = "str" +example = "IMAGE" +comment = "" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDUN.EXTVER] +key = "EXTVER" +dtype = "int64" +example = 1 +comment = "" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDUN.BUNIT] +key = "BUNIT" +dtype = "str" +example = "ADU" +comment = "physical unit of array values" +fill_value = "" +vmin = "" +vmax = "" +enum = ["ADU"] +notes = "" +ignore = false + +[HDUN.FILTER] +key = "FILTER" +dtype = "str4" +example = "f661" +comment = "filter band" +fill_value = "" +vmin = "" +vmax = "" +enum = ["f520", "f661", "f750", "f820"] +notes = "" +ignore = false + +[HDUN.DETSN] +key = "DETSN" +dtype = "str" +example = "CCD201-20-EM" +comment = "detector serial number" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDUN.DETECTOR] +key = "DETECTOR" +dtype = "str3" +example = "VIS" +comment = "detector" +fill_value = "" +vmin = "" +vmax = "" +enum = ["VIS", "NIR"] +notes = "" +ignore = false + +[HDUN.DETLABEL] +key = "DETLABEL" +dtype = "str" +example = "EMCCD" +comment = "detector label" +fill_value = "" +vmin = "" +vmax = "" +enum = "" +notes = "" +ignore = false + +[HDUN.DETTEMP] +key = "DETTEMP" +dtype = "float64" +example = 173.0 +comment = "detector temperature (K)" +fill_value = "" +vmin = 0 +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDUN.DEWTEMP] +key = "DEWTEMP" +dtype = "float64" +example = 173.0 +comment = "dewer temperature (K)" +fill_value = "" +vmin = 0 +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDUN.DETSIZE] +key = "DETSIZE" +dtype = "str11" +example = "1080 * 1050" +comment = "detector size" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDUN.IMGINDEX] +key = "IMGINDEX" +dtype = "int64" +example = 1 +comment = "index of image" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDUN.IMG_EXPT] +key = "IMG_EXPT" +dtype = "str19" +example = "2023-05-19T09:08:15" +comment = "image frame exposure start time" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDUN.IMG_CABT] +key = "IMG_CABT" +dtype = "str19" +example = "2023-05-19T09:08:15" +comment = "image frame cabin start time" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDUN.IMG_DUR] +key = "IMG_DUR" +dtype = "float64" +example = 1.0 +comment = "image frame exposure duration (s)" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDUN.IMG_PA] +key = "IMG_PA" +dtype = "float64" +example = 120.0 +comment = "position angle at IMG_CABT (deg)" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDUN.IMG_RA] +key = "IMG_RA" +dtype = "float64" +example = 40.0 +comment = "RA of pointing at IMG_CABT (deg)" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDUN.IMG_DEC] +key = "IMG_DEC" +dtype = "float64" +example = 0.0 +comment = "DEC of pointing at IMG_CABT (deg)" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDUN.DATASECT] +key = "DATASECT" +dtype = "str11" +example = "1024 * 1024" +comment = "data section" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDUN.PIXSCAL] +key = "PIXSCAL" +dtype = "float64" +example = 0.016153 +comment = "pixel scale" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDUN.PIXSIZE] +key = "PIXSIZE" +dtype = "float64" +example = 13.0 +comment = "pixel size (um)" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDUN.NCHAN] +key = "NCHAN" +dtype = "int64" +example = 1 +comment = "number of readout channels" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDUN.PSCAN1] +key = "PSCAN1" +dtype = "int64" +example = 8 +comment = "horizontal prescan width" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDUN.PSCAN2] +key = "PSCAN2" +dtype = "int64" +example = 0 +comment = "vertical prescan height" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDUN.OSCAN1] +key = "OSCAN1" +dtype = "int64" +example = 16 +comment = "horizontal overscan width" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDUN.OSCAN2] +key = "OSCAN2" +dtype = "int64" +example = 18 +comment = "vertical overscan width" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDUN.UDARK] +key = "UDARK" +dtype = "int64" +example = 6 +comment = "height of upside dark reference region" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDUN.BDARK] +key = "BDARK" +dtype = "int64" +example = 2 +comment = "height of downside dark reference region" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDUN.LDARK] +key = "LDARK" +dtype = "int64" +example = 16 +comment = "width of leftside dark reference region" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDUN.RDARK] +key = "RDARK" +dtype = "int64" +example = 16 +comment = "width of rightside dark reference region" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDUN.WCSAXES] +key = "WCSAXES" +dtype = "int64" +example = 2 +comment = "number of World Coordinate System axes" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDUN.CRPIX1] +key = "CRPIX1" +dtype = "float64" +example = 536.5 +comment = "x-coordinate of reference pixel" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDUN.CRPIX2] +key = "CRPIX2" +dtype = "float64" +example = 518.5 +comment = "y-coordinate of reference pixel" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDUN.CRVAL1] +key = "CRVAL1" +dtype = "float64" +example = 120.0 +comment = "first axis value at reference pixel" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDUN.CRVAL2] +key = "CRVAL2" +dtype = "float64" +example = 40.0 +comment = "second axis value at reference pixel" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDUN.CTYPE1] +key = "CTYPE1" +dtype = "str8" +example = "RA---TAN" +comment = "the coordinate type for the first axis" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDUN.CTYPE2] +key = "CTYPE2" +dtype = "str8" +example = "DEC--TAN" +comment = "the coordinate type for the second axis" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDUN.CD1_1] +key = "CD1_1" +dtype = "float64" +example = 1.0 +comment = "partial of first axis coordinate w.r.t. x" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDUN.CD1_2] +key = "CD1_2" +dtype = "float64" +example = -0.0 +comment = "partial of first axis coordinate w.r.t. y" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDUN.CD2_1] +key = "CD2_1" +dtype = "float64" +example = 0.0 +comment = "partial of second axis coordinate w.r.t. x" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDUN.CD2_2] +key = "CD2_2" +dtype = "float64" +example = 1.0 +comment = "partial of second axis coordinate w.r.t. y" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDUN.EMGAIN] +key = "EMGAIN" +dtype = "float64" +example = 30.0 +comment = "EMgain for EMCCD" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDUN.GAIN] +key = "GAIN" +dtype = "float64" +example = 8.0 +comment = "gain (e-/ADU)" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDUN.DET_BIAS] +key = "DET_BIAS" +dtype = "float64" +example = 30.0 +comment = "bias voltage (mV)" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDUN.RON] +key = "RON" +dtype = "float64" +example = 40.0 +comment = "readout noise (e-)" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDUN.READTIME] +key = "READTIME" +dtype = "float64" +example = 0.7 +comment = "readout time (s)" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDUN.ROSPEED] +key = "ROSPEED" +dtype = "float64" +example = 10000.0 +comment = "readout speed (MHz)" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDUN.LS_STAT] +key = "LS_STAT" +dtype = "str3" +example = "OFF" +comment = "lazer status" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDUN.IWA] +key = "IWA" +dtype = "float64" +example = 0.2 +comment = "inner working angle of CPIC (deg)" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDUN.WFSINFO1] +key = "WFSINFO1" +dtype = "float64" +example = 0.0 +comment = "x-direction residuals of WFS of CPIC" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDUN.WFSINFO2] +key = "WFSINFO2" +dtype = "float64" +example = 0.0 +comment = "y-direction residuals of WFS of CPIC" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDUN.CHECKSUM] +key = "CHECKSUM" +dtype = "str16" +example = "U5EIa3BHW3BHa3BH" +comment = "HDU checksum updated 2023-05-19T09:08:15" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false + +[HDUN.DATASUM] +key = "DATASUM" +dtype = "str10" +example = "3033118449" +comment = "data unit checksum updated 2023-05-19T09:08:15" +fill_value = "" +vmin = "" +vmax = "" +enum = [] +notes = "" +ignore = false diff --git a/csst_cpic_sim/io.py b/csst_cpic_sim/io.py index 4178677e7d6f386d3264ea6907c249a1c793febf..86bf80b7787b03d2d3342b9260448999ca9d8fda 100644 --- a/csst_cpic_sim/io.py +++ b/csst_cpic_sim/io.py @@ -427,10 +427,10 @@ def frame_header(obs_info, index, primary_header, camera_dict): header['FILTER'] = obs_info['band'] header['DETSN'] = '00000000000' - header['DETNAME'] = camera_config['detector_name'] - header['CHIPLAB'] = camera_config['ccd_label'] + header['DETECTOR'] = camera_config['detector_name'] + header['DETLABEL'] = camera_config['ccd_label'] frame_info = obs_info['frame_info'][index] - header['CHIPTEMP'] = float(frame_info['chiptemp']) + 273.15 + header['DETTEMP'] = float(frame_info['chiptemp']) + 273.15 header['DEWTEMP'] = float(camera_config['cooler_temp']) + 273.15 header['DETSIZE'] = f"{imgszx} * {imgszy}" header['IMGINDEX'] = index + 1