来自 UVIT 数据的光曲线
项目描述
曲维特
从 UVIT 数据创建光线曲线。
更新:curvit 文档位于https://curvit.readthedocs.io
以下信息不更新,保留用于介绍软件;始终参考文档网站。
Curvit 是一个开源 python 包,用于从 UVIT(紫外线成像望远镜)数据生成光曲线。来自官方 UVIT L2 管道(版本 6.3 及更高版本)的事件列表需要作为包的输入。如果您有旧的官方管道版本或其他管道的数据,请联系我,我们可以尝试找出解决方案!
软件论文手稿可在https://arxiv.org/abs/2101.06377获得
安装
Curvit 在 Python 包索引 (PyPI) 上,您可以使用pip安装包,如下所示:
pip install curvit --user
要求
Curvit 具有以下要求。如果您有旧版本的 Python 并且不熟悉该语言,我建议您安装Anaconda Distribution。它将 Python 安装在用户目录中,不需要 root 权限,并且可以在 Linux、MacOS 和 Windows 上运行。
- Python 3.6 或更高版本
- 天体
- Matplotlib
- 麻木的
- 光效
- 西皮
入门
Curvit 的功能可以通过示例得到最好的展示。首先,我们需要获取事件列表作为输入提供(事件列表是包含事件的 FITS 文件)。访问 ISSDC 的AstroBrowse 网站并下载您感兴趣的 UVIT 数据。例如,这里选择了公开可用的 FO Aqr 的 Level2 数据(Observation ID: G06_084T01_9000000710)。
该数据集LEVL2AS1UVT20161005G06_084T01_9000000710.zip是一个需要提取的压缩文件。20161005_G06_084T01_9000000710_level2解压后,可以找到一个名为的目录。该目录具有以下结构。
20161005_G06_084T01_9000000710_level2/
└── uvit
├── RAS_NUV
│ ├── pipeline
│ ├── uvt_01
│ ├── uvt_02
│ ├── uvt_03
│ ├── ...
│ ├── ...
│ └── uvt_ci
├── RAS_VIS
│ ├── pipeline
│ ├── uvt_01
│ ├── uvt_02
│ ├── uvt_03
│ ├── ...
│ ├── ...
│ └── uvt_ci
├── DISCLAIMER.txt
├── LEVL1AS1UVT20161005G06_084T01_9000000710_05546_V2.2_dqr.xml
└── README.txt
请阅读README.txt有关 Level2 数据及其包含内容的详细信息。RAS_VIS目录包含使用 VIS(可见)通道针对卫星漂移进行校正的图像。对于RAS_NUV目录内的图像,使用了 NUV(近紫外线)通道。对于大多数情况,来自的数据RAS_VIS将是合适的。如果您下载的数据集与上述数据集不同,请检查其中的统计信息DISCLAIMER.txt以决定使用什么。
我们感兴趣的目录RAS_VIS具有以下内容。
RAS_VIS/
├── pipeline
│ └── LEVL2AS1UVT20161005G06_084_L2_DM_params.txt
├── uvt_01
│ ├── F_01
│ │ ├── AS1G06_084T01_9000000710uvtFIIPC00F1A_l2err.fits
│ │ ├── AS1G06_084T01_9000000710uvtFIIPC00F1A_l2exp.fits
│ │ ├── AS1G06_084T01_9000000710uvtFIIPC00F1A_l2img.fits
│ │ ├── AS1G06_084T01_9000000710uvtFIIPC00F1I_l2img.fits
│ │ └── AS1G06_084T01_9000000710uvtFIIPC00F1_l2ce.fits
│ ├── N_01
│ │ ├── AS1G06_084T01_9000000710uvtNIIPC00F2A_l2err.fits
│ │ ├── AS1G06_084T01_9000000710uvtNIIPC00F2A_l2exp.fits
│ │ ├── AS1G06_084T01_9000000710uvtNIIPC00F2A_l2img.fits
│ │ ├── AS1G06_084T01_9000000710uvtNIIPC00F2I_l2img.fits
│ │ └── AS1G06_084T01_9000000710uvtNIIPC00F2_l2ce.fits
│ └── V_01
│ └── AS1G06_084T01_9000000710uvtVIIIM00F2_l2dr.fits
├── ...
├── ...
在目录uvt_01中,数据被组织在单独的文件夹中,每个文件夹对应于 UV 和 VIS 通道中的重叠时间范围,如 Level1 数据集(F_01:FUV;N_01:NUV;V_01:VIS)中可用。
FITS 文件的后缀含义如下。
...A_l2img.fits:天文坐标中的图像文件。...I_l2img.fits:仪器坐标中的图像文件。...A_l2exp.fits: 曝光图A_l2img.fits。...A_l2err.fits: 的错误图A_l2img.fits。...l2ce.fits:更正的事件列表。...l2dr.fits: 相对方面系列 (RAS) 文件。
这种子目录结构应针对所有集合重复 - uvt_01、uvt_02、uvt_03等。
对于下面给出的示例,我们将使用 FUV 事件列表 ( ...l2ce.fits) fromuvt_03作为 curvit 的输入。
重要提示:这里解释的 Level2 目录结构和 FITS 文件命名约定是针对从 ISSDC 获得的 6.3 版本的 Level2 数据。始终参考
README.txt随附的 Level2 数据以了解数据结构。
makecurves
makecurvescurvit的功能可以自动从事件列表中检测光源并创建光曲线。请注意,curvit 目前仅在仪器坐标系中提供源坐标。
>>> import curvit
>>> curvit.makecurves(events_list = 'AS1G06_084T01_9000000710uvtNIIPC00F2_l2ce.fits.gz',
threshold = 5)
Detected source coordinates saved in file:
* sources_AS1G06_084T01_9000000710uvtNIIPC00F2_l2ce.coo
Detected sources are plotted in the image:
* sources_AS1G06_084T01_9000000710uvtNIIPC00F2_l2ce.png
---------------------- light curves ----------------------
* makecurves_3136.64_3651.08_AS1G06_084T01_9000000710uvtNIIPC00F2_l2ce.png
* makecurves_2530.02_1442.18_AS1G06_084T01_9000000710uvtNIIPC00F2_l2ce.png
* makecurves_2912.31_3657.17_AS1G06_084T01_9000000710uvtNIIPC00F2_l2ce.png
...
...
Done!
重要提示:curvit 中使用了从零开始的索引方案。因此,如果在 DS9 中打开仪器坐标 (
...I_l2img.fits) 中对应的 FITS 图像文件,DS9 中的源坐标与 curvit 中的源坐标相差 1。例如,(2559, 806) 的曲率坐标在 FITS 约定中将变为 (2560, 807)。
curve
如果您已经有了源坐标,curve可以使用 curvit 的功能来创建光曲线。
>>> curvit.curve(events_list = 'AS1G06_084T01_9000000710uvtFIIPC00F1_l2ce.fits.gz',
xp = 2636.71, yp = 907.91,
radius = 15,
bwidth = 50,
background = 'auto')
The estimated background CPS = 0.00352 +/-0.00069
-------------------------- curve --------------------------
source: source_AS1G06_084T01_9000000710uvtFIIPC00F1_l2ce.png
source_zoomed_AS1G06_084T01_9000000710uvtFIIPC00F1_l2ce.png
data: curve_2636.71_907.91_AS1G06_084T01_9000000710uvtFIIPC00F1_l2ce.dat
plot: curve_2636.71_907.91_AS1G06_084T01_9000000710uvtFIIPC00F1_l2ce.png
Done!
参数
curvit 包有一组参数,用户可以为其设置值。其中一些具有默认值。
两者共有的参数makecurves和curve
-
events_list - 事件列表的名称 (
...l2ce.fits)。该字符串还可以包含文件的路径。 -
radius - 源光圈的半径(以像素为单位)。此参数的默认值为
6。 -
sky_radius - 背景光圈的半径(以像素为单位)。默认值为
12。 -
bwidth - 以秒为单位的时间箱宽度。默认值为
50。 -
framecount_per_sec - 帧速率,默认值为
28.7185512 x 512 窗口模式的每秒帧数。获得帧速率的最准确方法是取 (1 / INT_TIME) 的值。INT_TIME可以从相应的图像标题中找到值。下表给出了 UVIT 不同窗口模式的帧率近似值。
| 窗口模式 | 每秒帧数 |
|---|---|
| 512×512 | 28.7 |
| 350 x 350 | 61 |
| 300×300 | 82 |
| 250×250 | 115 |
| 200×200 | 180 |
| 150×150 | 300 |
| 100×100 | 640 |
注意:必须设置正确的帧率值。但大多数 UVIT 观测都是在 512 x 512 窗口模式下进行的。
-
背景- 有效输入为
None、'auto'或'manual'。该参数影响如何完成背景计数率估计。默认值为None,不进行背景估计。'auto'将自动估计背景计数率。如果您更喜欢手动指定背景区域,则将'manual'其作为值并指定x_bg(背景 X 坐标)和y_bg(背景 Y 坐标)参数。 -
孔径校正- 有效输入为
None、'fuv'或'nuv'。默认值为None。可以将参数值更改为对光变曲线数据进行光圈校正'fuv'或应用光圈校正。'nuv' -
饱和校正- 采用
True或False。默认值为False。如果参数设置为True,则对光变曲线数据应用饱和度校正。
仅需要的参数makecurves
-
detection_method - 有两种可用的源检测方法:
'daofind'和'kdtree'. 默认方法是'daofind'. -
threshold - 与方法关联的阈值参数
'daofind'。默认值为4。 -
how_many - 使用该
'kdtree'方法检测到的源数量的限制。默认值为4。
仅需要的参数curve
-
xp - 源的 X 坐标。
-
yp - 源的 Y 坐标。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。