Newer
Older
================
Change list
- 仓库名修改:
- ``csst_ms*`` 修改为 ``csst_msc_*``, 注意修改文件夹路径和 ``setup.py`` 中的名称
- 接口文件修改:
``top_level_interface.py`` 文件改名为 ``api.py`` , 这个文件中用于导入每个 python package 与流水线的接口函数
- 接口名称修改:
每个开发模块需要把接口函数命名为 ``base_`` 开头的函数,例如 ``base_phot``
- ``DataManager`` ``FileRecorder`` 不再使用, 底层接口都尽可能使用文件路径作为参数
- 使用 ``csst_common.status.Result`` 作为返回类型, 包含三个部分:
- 运行状态 ``status`` 必须是 ``CsstStatus`` 的三种类型之一
- 输出文件列表 ``file_list``, 是一个 ``list``, 需要包含所有输出文件,包括临时文件
- 额外输出 (一般不需要,除非有其他额外输出)
- 程序中禁止使用当前文件夹 ``.`` 或 ``./``,所有路径应使用绝对路径
- 尽可能避免创建临时文件夹等操作
- 单元测试
- 覆盖率合格线可以设置稍低
- 由于代码接口定义更新,原则上单元测试应该会更加容易,
- 单元测试服务器: csstunittest@10.3.10.10 外网 -p 2000 159.226.170.52
- 单元测试需要一个大表来统计所有模块的每个案例(文件、类、函数名)和其简单解释(~10个字)
- 接口定义修改:
``csst_msc_mbi_distortion`` 样例代码如下
.. code-block:: python
from csst_common.status import CsstStatus, CsstResult
def base_distortion(input_file, output_file, rc="/path/to/gaia_dr3.fits", **kwargs): -> CsstResult:
""" your docstring here """
# do your calculation
process(input_file, output_fle)
# construct CsstResult
result = CsstResult(
status=CsstStatus.PERFECT,
file_list=[output_file, "an additional output file"]
)
return result
主巡天模块-接口列表
----------------------
.. code-block:: python
# csst-l1/mbi/csst_msc_mbi_instrument
def base_instcorr(input_file, img_file, wht_file, flg_file): -> CsstResult
def base_distortion(input_file, img_file, wht_file, flg_file): -> CsstResult
def base_position_single(input_file, img_file, wht_file, flg_file): -> CsstResult
def base_position_multiple(input_file, img_file, wht_file, flg_file): -> CsstResult
def base_position(input_file, output_file): -> CsstResult
# csst-l1/sls/csst_msc_sls_mosaic
def base_mosaic(input_files, output_file): -> CsstResult
# csst-l1/sls/csst_msc_sls_directimage
def base_dimg(input_file, output_file): -> CsstResult
# csst-l1/sls/csst_msc_sls_sky
def base_skybkg(input_file, output_file): -> CsstResult
# csst-l1/sls/csst_msc_sls_objextraction
def base_objext(input_file, output_file): -> CsstResult
# csst-l1/sls/csst_msc_sls_axe
def base_axe(input_file, output_file, dir_slsconf): -> CsstResult
# csst-l1/sls/csst_msc_sls_cde
def base_cde(input_file, output_file, dir_slsconf): -> CsstResult
# csst-l1/qc/csst_msc_qc0
def base_qc0(input_file, output_file): -> CsstResult
# csst-l1/qc/csst_msc_sls_qc1
def base_qc1(input_file, output_file): -> CsstResult