Commit 93aabdae authored by GZhao's avatar GZhao
Browse files

update documnet and readme

parent 540738d7
Pipeline #4634 failed with stage
in 0 seconds
...@@ -11,7 +11,7 @@ cpism_refdata/ ...@@ -11,7 +11,7 @@ cpism_refdata/
example/example_output example/example_output
refdata refdata
*.zip
# Other files and folders # Other files and folders
.settings/ .settings/
......
...@@ -4,22 +4,7 @@ ...@@ -4,22 +4,7 @@
CpicImgSim is a Python library for numerical simulation of the observational images of CSST/CPIC instrument. CpicImgSim is a Python library for numerical simulation of the observational images of CSST/CPIC instrument.
## Insallation - 安装 程序代码:https://csst-tb.bao.ac.cn/code/csst-sims/csst_cpic_sim
数据文件:https://pan.cstcloud.cn/s/gjMlzXRuRsM 提取密码:i3Zs
### Requirements - 必要条件 程序文档:https://csst-tb.bao.ac.cn/simulation/cpic/index.html
联系方式:南京天光所 赵刚 gzhao@niaot.ac.cn 025-85482316
- Python 3.8+
## Usage - 用法
## Development - 开发
## Contributing - 贡献
## Support - 支持
## Citation - 引用
## License - 许可证
## Change Log - 更新日志
...@@ -75,6 +75,10 @@ config['bands'] = { ...@@ -75,6 +75,10 @@ config['bands'] = {
'f743': f'{cpism_refdata}/throughtput/f743_total.fits', 'f743': f'{cpism_refdata}/throughtput/f743_total.fits',
'f883': f'{cpism_refdata}/throughtput/f883_total.fits', 'f883': f'{cpism_refdata}/throughtput/f883_total.fits',
'f565': f'{cpism_refdata}/throughtput/f565_total.fits', 'f565': f'{cpism_refdata}/throughtput/f565_total.fits',
'f520': f'{cpism_refdata}/throughtput/f520.fits',
'f662': f'{cpism_refdata}/throughtput/f662.fits',
'f850': f'{cpism_refdata}/throughtput/f850.fits',
'f720': f'{cpism_refdata}/throughtput/f720.fits',
} }
config['diameter'] = 2 # in meters config['diameter'] = 2 # in meters
config['platescale'] = 0.016153 config['platescale'] = 0.016153
......
...@@ -163,10 +163,15 @@ def focal_convolve( ...@@ -163,10 +163,15 @@ def focal_convolve(
area = config['aperature_area'] area = config['aperature_area']
filter = filter_throughput(band) filter = filter_throughput(band)
wave = filter.wave
throughput = filter.throughput throughput = filter.throughput
min_wave = wave[0] wave = filter.wave
max_wave = wave[-1]
throughput_criterion = throughput.max() * 0.1
wave_criterion = wave[throughput > throughput_criterion]
min_wave = wave_criterion[0]
max_wave = wave_criterion[-1]
# print(min_wave, max_wave)
platescale = config['platescale'] platescale = config['platescale']
iwa = config['mask_width'] / 2 iwa = config['mask_width'] / 2
......
...@@ -28,7 +28,7 @@ pupil_grid = make_pupil_grid(pupil_shape[0], pupil_shape[0] * pupil_rate) ...@@ -28,7 +28,7 @@ pupil_grid = make_pupil_grid(pupil_shape[0], pupil_shape[0] * pupil_rate)
aperture = make_circular_aperture(pupil_diameter)(pupil_grid) aperture = make_circular_aperture(pupil_diameter)(pupil_grid)
aperture = aperture * Field(apm.flatten(), pupil_grid) aperture = aperture * Field(apm.flatten(), pupil_grid)
second_pupil_size = pupil_diameter * 0.8 # just gauss a number second_pupil_size = pupil_diameter * 2 # just gauss a number
second_aperture = make_circular_aperture(second_pupil_size)(pupil_grid) second_aperture = make_circular_aperture(second_pupil_size)(pupil_grid)
lyot_stop = ComplexSurfaceApodizer(second_aperture, second_aperture*0, lambda _: 2) lyot_stop = ComplexSurfaceApodizer(second_aperture, second_aperture*0, lambda _: 2)
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
import os import os
import sys import sys
project = 'CpicImgSim' project = 'csst_cpic_sim'
copyright = '2023, CSST/CPIC Group' copyright = '2023, CSST/CPIC Group'
author = 'CPIC Group' author = 'CPIC Group'
release = '1.0.0' release = '1.0.0'
......
CpicImgSim package csst_cpic_sim package
================== ==================
Submodules Submodules
---------- ----------
CpicImgSim.main module csst_cpic_sim.main module
---------------------- ----------------------
.. automodule:: CpicImgSim.main .. automodule:: csst_cpic_sim.main
:members: :members:
:undoc-members: :undoc-members:
:show-inheritance: :show-inheritance:
CpicImgSim.target module csst_cpic_sim.target module
------------------------ ------------------------
.. automodule:: CpicImgSim.target .. automodule:: csst_cpic_sim.target
:members: :members:
:undoc-members: :undoc-members:
:show-inheritance: :show-inheritance:
CpicImgSim.optics module csst_cpic_sim.optics module
------------------------ ------------------------
.. automodule:: CpicImgSim.optics .. automodule:: csst_cpic_sim.optics
:members: :members:
:undoc-members: :undoc-members:
:show-inheritance: :show-inheritance:
CpicImgSim.camera module csst_cpic_sim.camera module
------------------------ ------------------------
.. automodule:: CpicImgSim.camera .. automodule:: csst_cpic_sim.camera
:members: :members:
:undoc-members: :undoc-members:
:show-inheritance: :show-inheritance:
CpicImgSim.io module csst_cpic_sim.io module
-------------------- --------------------
.. automodule:: CpicImgSim.io .. automodule:: csst_cpic_sim.io
:members: :members:
:undoc-members: :undoc-members:
:show-inheritance: :show-inheritance:
CpicImgSim.config module csst_cpic_sim.config module
------------------------ ------------------------
.. automodule:: CpicImgSim.config .. automodule:: csst_cpic_sim.config
:members: :members:
:undoc-members: :undoc-members:
:show-inheritance: :show-inheritance:
CpicImgSim.utils module csst_cpic_sim.utils module
----------------------- -----------------------
.. automodule:: CpicImgSim.utils .. automodule:: csst_cpic_sim.utils
:members: :members:
:undoc-members: :undoc-members:
:show-inheritance: :show-inheritance:
...@@ -63,7 +63,7 @@ CpicImgSim.utils module ...@@ -63,7 +63,7 @@ CpicImgSim.utils module
Module contents Module contents
--------------- ---------------
.. automodule:: CpicImgSim .. automodule:: csst_cpic_sim
:members: :members:
:undoc-members: :undoc-members:
:show-inheritance: :show-inheritance:
...@@ -3,144 +3,59 @@ CPISM程序安装说明 ...@@ -3,144 +3,59 @@ CPISM程序安装说明
Python版本 Python版本
-------------- --------------
目前程序只在Python3.9下测试通过。建议尽量使用该版本运行。
如果使用anaconda,可选择使用conda创建虚拟环境后安装使用。
Python >= 3.9
使用setup.py安装 下载和安装
----------------- -----------------
联系作者获取软件安装文件,解压缩并执行以下命令: 下载和安装程序文件
```````````````````
使用以下命令,下载和安装程序文件
.. code-block:: bash .. code-block:: bash
git clone https://csst-tb.bao.ac.cn/code/csst-sims/csst_cpic_sim.git
cd cpic-img-sim cd csst_cpic_sim
python setup.py install python setup.py install
设置环境变量 下载数据文件
--------------
Linux 或 Mac 用户
``````````````````` ```````````````````
执行以下命令,打开bash配置文件: 通过科技云盘下载
链接地址:https://pan.cstcloud.cn/s/gjMlzXRuRsM 提取密码:i3Zs
.. code-block:: bash
vi ~/.bash_profile
在文件中增加如下一行:
.. code-block:: bash
export cpism_refdata="/path/to/cpism/reference/"
编辑bash profile文件后,需要source一下,或者重新打开一个terminal。
.. code-block:: bash
source ~/.bash_profile
可以用如下命令检查是否设置成功:
.. code-block:: bash
echo $cpism_refdata
cd $cpism_refdata
ls
Windows 用户
`````````````
执行以下操作:
- 打开系统控制面板。
- 选择“系统” 。
- 选择“高级系统设置”。
- 转到“ 高级 ”选项卡。
- 选择 “环境变量...”。
- 点击用户变量下的“新建...”。
- 变量名为“cpism_refdata”,变量值为cpism_refdata文件夹的完整地址。
- 连续点击“确定”,直到所以对话框都关闭。
下载和安装 Pysynphot 恒星数据
----------------------------------------
CPISM中使用了 `Pysynphot package <https://pysynphot.readthedocs.io/en/latest/appendixa.html>`_ 来处理恒星光谱。为了得到恒星光谱,需要下载Pysynphot的恒星光谱数据。
``CPISM`` 中使用了 Castelli-Kurucz 模型: `ck04models <https://archive.stsci.edu/hlsps/reference-atlases/cdbs/grid/ck04models/>`_.
可以使用如下命令进行安装
.. code-block:: bash
wget http://ssb.stsci.edu/trds/tarfiles/synphot3.tar.gz
下载完成后并解压,文件夹结果如下所示, 需要将trd文件夹加入到环境变量中。
``<path>/grp/redcat/trds/grid/ck04models`` 运行测试
-----------------
Linux 或者 Mac 用户 程序安装测试
```````````````````````````````` ```````````````````
.. code-block:: bash
.. code-block:: bash python ./script/cpicsim.py --help
vi ~/.bash_profile 如果程序安装正确则会输出帮助信息。如果是首次运行,则会提示输入数据文件路径。
输入(复制粘贴)路径可进行配置。之后重新运行程序。
增加如下一行
.. code-block:: bash
export PYSYN_CDBS="<your_path>/grp/redcat/trds"
记得要source一下,或者重新打开一个terminal。
.. code-block:: bash
source ~/.bash_profile
现在可以检查一下是否设置成功
.. code-block:: bash
cd $PYSYN_CDBS
ls
Windows 用户
````````````````
执行以下操作:
- 打开系统控制面板。
- 选择“系统” 。
- 选择“高级系统设置”。
- 转到“ 高级 ”选项卡。
- 选择 “环境变量...”。
- 点击用户变量下的“新建...”。
- 变量名为“PYSYN_CDBS”,变量值为trds文件夹的完整地址。
- 连续点击“确定”,直到所以对话框都关闭。
程序运行配置
------------------
打开cpism_refdata文件夹,编辑cpism_config.yaml文件。可以进行cpism程序的运行配置。
配置输出文件夹
````````````````
使用output_dir参数和relative_path参数配置初始文件夹的位置。
- 当relative_path设置为True时,可以通过更改output_dir来更改输出文件夹的相对地址。例如,如果你想将输出文件夹放在cpism_refdata的父文件夹下的output目录中,你可以将output_dir设置为output。 快速测试
```````````````````
.. code-block:: bash
python ./script/cpicsim.py quickrun '*0/15(0.4,0.6)' 10 50 6
- 当relative_path设置为False时,可以通过设置output_dir来更改输出文件夹的绝对地址。 如果运行成功,则可以在当前文件夹下看到生成的fits文件
其他配置
````````````````
- log_level: 日志的输出级别。可选择DEBUG、INFO、WARNING、ERROR、CRITICAL。日志文件存储在output文件夹的LOG目录下。
- tmp_dir: 快速仿真结果的输出文件夹。默认为TMP,存储在output目录的TMP文件夹下。可选择current, 将文件存储于当前文件夹下。
- check_fits_header: 输出文件时检查fits文件头的关键字是否和data model规定的一致,不一致时日志中输出warning信息。默认为False。
程序配置
-----------------
可通过修改数据文件夹下的cpism_config.yaml文件进行仿真参数、输出参数等的配置。
cpic_config_default.yaml对可配置参数进行了示例。
这里建议只针对输入输出路径、星表文件夹等进行配置,而不更改例如望远镜尺寸、角分辨率等的配置。否则可能会产生不可预期的结果。
测试是否安装成功
------------------
执行example.py 文件
.. code-block:: bash 配置脚本并设置环境变量 (可选)
--------------------
通过设计脚本并加入环境变量,可以极大的提高运行的舒适度。
cpicsim.ps1 和 cpicsim 分别是针对Windows 或 Linux/Mac 的脚本。
修改脚本中cpicsim.py的路径后,将script文件夹加入Path路径后,可以直接更简介的方法运行程序。
对于Linux/Mac用户,还需要使用chmod -x cpicsim设置可执行权限
python example.py .. code-block:: bash
cpicsim quickrun '*0/15(0.4,0.6)' 10 50 6
如果安装成功,会在output目录下SCI、CAL、TMP目录下分别生成科学观测图像文件、定标文件与快速模拟结果。文件结构详见星冕仪0级数据说明。
\ No newline at end of file
This diff is collapsed.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment