## csst_proto [![Documentation Status](https://readthedocs.org/projects/csst-proto/badge/?version=latest)](https://csst-proto.readthedocs.io/en/latest/?badge=latest) CSST L1 pipeline prototype. ## homepage This code is available at *CSST GitLab*: - [https://csst-tb.bao.ac.cn/code/csst-l1/csst_proto](https://csst-tb.bao.ac.cn/code/csst-l1/csst_proto). ## documentation A sphinx-based documentation is available at - [https://csst-proto.readthedocs.io/en/latest/](https://csst-proto.readthedocs.io/en/latest/) ## installation `csst_proto` can be installed with the following shell command ```bash git clone https://csst-tb.bao.ac.cn/code/csst-l1/csst_proto.git cd csst_proto pip install -r requirements.txt python setup.py install ``` or a single-line command ```bash sh -c "$(curl -fsSL https://csst-tb.bao.ac.cn/code/csst-l1/csst_proto/-/raw/main/install.sh)" ``` ## instruction A simple example on how to use this package: ```python import numpy as np from csst_proto.top_level_interface import flip_image, read_test_image from astropy.io import fits # read an L0 image img = fits.getdata("CSST_MS_SCI_06_L0_img.fits") # flip the image img_flipped = flip_image(img=img) ``` ## algorithm description The `csst_proto` uses an awesome algorithm based on `numpy.ndarray` indices to flip images. ## timeline | file / directory | description | urgent | C6 | C7 | |--------------------|---------------------------------|--------|-----|-----| | `csst_proto/` | source code & data | √√ | √ | | | `doc/` | sphinx-based documentation | | | √ | | `example/` | code examples | - | - | - | | `tests/` | unit tests | | | √ | | `.gitignore` | git file | | √ | | | `.gitlab-ci.yml` | gitlab CI/CD pipeline | | | √ | | `LICENSE` | code license | | √ | | | `README.md` | readme file | √√ | √ | | | `install.sh` | single-line installation script | | √ | | | `install_local.sh` | local installation script | | √ | | | `readthedocs.yml` | readthedocs.io configuration | | | √ | | `requirements.txt` | code requirements | √ | √ | | | `setup.py` | sphinx-based documentation | √√ | √ | | ## important stages 1. **installation**: `source code` & `setup.py` -> `pip install ` 2. **a simple guide**: `README.md` 3. **unittest**: `pytest` 4. gitlab CI/CD pipeline: `.gitlab-ci.yml` 5. sphinx-based documentation: `doc/` & `readthedocs.yml` ## useful links - git: https://git-scm.com/ - Pro Git: https://git-scm.com/book/en/v2 - Numpydoc: https://numpydoc.readthedocs.io/en/latest/format.html - for C: https://peps.python.org/pep-0007/ - for Python: https://peps.python.org/pep-0008/ - unittest: https://docs.python.org/3.8/library/unittest.html - sphinx: https://www.sphinx-doc.org/en/master/index.html - restructured text: https://docutils.sourceforge.io/rst.html - readthedoc: https://readthedocs.io/ or https://rtfd.io/ -