Commit 51757198 authored by BO ZHANG's avatar BO ZHANG 🏀
Browse files

added cat_id

parent 372bbcb1
Loading
Loading
Loading
Loading
+30 −11
Original line number Diff line number Diff line
@@ -33,24 +33,27 @@ class CsstMscDataManager:
        self.ver_sim = ver_sim

        print("@DM: globbing files ... ", end="")
        fps = self.glob_dir(dir_l0, ver_sim=ver_sim)
        fps_img = self.glob_image(dir_l0, ver_sim=ver_sim)
        fps_cat = self.glob_cat(dir_l0, ver_sim=ver_sim)

        if force_all_ccds:
            assert len(fps) == len(CCD_ID_LIST)
            assert len(fps_img) == len(CCD_ID_LIST)
        else:
            assert len(fps) > 0
            assert len(fps_img) > 0

        if ver_sim == "C3":
            # get info
            # print(re.split(r"[_.]", fps[0]))
            self._instrument, self._survey, \
                self._exp_start, self._exp_id, \
                _ccd_id, self._l0_suffix, _ext = re.split(r"[_.]", fps[0])
                _ccd_id, self._l0_suffix, _ext = re.split(r"[_.]", fps_img[0])
            self._cat_id = re.split(r"[_.]", fps_img[0])[1]

            self._exp_start = int(self._exp_start)
            self._exp_id = int(self._exp_id)

            # available CCD IDs
            self.available_ccd_ids = [int(re.split(r"[_.]", fp)[4]) for fp in fps]
            self.available_ccd_ids = [int(re.split(r"[_.]", fp)[4]) for fp in fps_img]
            self.available_ccd_ids.sort()

        elif ver_sim == "C5.1":
@@ -58,16 +61,19 @@ class CsstMscDataManager:
            # print(re.split(r"[_.]", fps[0]))
            self._telescope, self._instrument, self._survey, self._imagetype, \
                self._exp_start, self._exp_stop, self._exp_id, \
                _ccd_id, self._l0_suffix, self._version, _ext = re.split(r"[_.]", fps[0])
                _ccd_id, self._l0_suffix, self._version, _ext = re.split(r"[_.]", fps_img[0])
            self._cat_id = re.split(r"[_.]", fps_img[0])[1]

            self._exp_start = int(self._exp_start)
            self._exp_stop = int(self._exp_stop)
            self._exp_id = int(self._exp_id)

            # available CCD IDs
            self.available_ccd_ids = [int(re.split(r"[_.]", fp)[7]) for fp in fps]
            self.available_ccd_ids = [int(re.split(r"[_.]", fp)[7]) for fp in fps_img]
            self.available_ccd_ids.sort()

    @staticmethod
    def glob_dir(dir_l0, ver_sim="C5"):
    def glob_image(dir_l0, ver_sim="C5"):
        """ glob files in L0 data directory """
        if ver_sim == "C3":
            pattern = os.path.join(dir_l0, "MSC_MS_*_raw.fits")
@@ -77,7 +83,20 @@ class CsstMscDataManager:
        fps = [os.path.basename(fp) for fp in fps]
        fps.sort()

        if len(fps) == 0:
        print("@DM.glob_dir: {} files found with pattern: {}".format(len(fps), pattern))
        return fps

    @staticmethod
    def glob_cat(dir_l0, ver_sim="C5"):
        """ glob input catalogs in L0 data directory """
        if ver_sim == "C3":
            pattern = os.path.join(dir_l0, "MSC_*.cat")
        elif ver_sim == "C5.1":
            pattern = os.path.join(dir_l0, "MSC_*.cat")
        fps = glob.glob(pattern)
        fps = [os.path.basename(fp) for fp in fps]
        fps.sort()

        print("@DM.glob_dir: {} files found with pattern: {}".format(len(fps), pattern))
        return fps

@@ -85,7 +104,7 @@ class CsstMscDataManager:
        """ the L0 cat file path"""
        if self.ver_sim == "C3":
            fn = "{}_{}_{:07d}_{:02d}.cat".format(
                self._instrument, self._exp_start, self._exp_id-100000000, ccd_id)
                self._instrument, self._cat_id, self._exp_id-100000000, ccd_id)
        elif self.ver_sim == "C5.1":
            fn = "{}_{}_chip_{:02d}_filt_{}.cat".format(
                self._instrument, self._exp_id-90000000, ccd_id, CCD_FILTER_MAPPING[ccd_id])