Skip to main content

来自 UVIT 数据的光曲线

项目描述

曲维特

从 UVIT 数据创建光线曲线。

ascl:2101.013 文件状态

更新: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_01uvt_02uvt_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!

FO Aqr FUV 源 FO Aqr FUV zoomed_source FO Aqr FUV 曲线

参数

curvit 包有一组参数,用户可以为其设置值。其中一些具有默认值。

两者共有的参数makecurvescurve

  • 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'

  • 饱和校正- 采用TrueFalse。默认值为False。如果参数设置为True,则对光变曲线数据应用饱和度校正。

仅需要的参数makecurves

  • detection_method - 有两种可用的源检测方法:'daofind''kdtree'. 默认方法是'daofind'.

  • threshold - 与方法关联的阈值参数'daofind'。默认值为4

  • how_many - 使用该'kdtree'方法检测到的源数量的限制。默认值为4

仅需要的参数curve

  • xp - 源的 X 坐标。

  • yp - 源的 Y 坐标。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

curvit-1.3.1.tar.gz (18.3 kB 查看哈希

已上传 source

内置分布

curvit-1.3.1-py3-none-any.whl (19.6 kB 查看哈希

已上传 py3