以风格去除开普勒光曲线的趋势
项目描述
在研究系外行星是最时尚的事情的时代,有时跳出常规,变得有些过时也是好的!这个库是一系列可以稳健地去除光曲线数据中非穿越趋势的技巧。
安装
过时 依赖于 numpy 和 scipy,所以请确保您首先安装它们。然后,您可以使用 pip 进行安装。
pip install untrendy
用法
过时 非常复杂。它大约有一个函数和大约 200 行代码(包括文档)。它主要依赖于爱和魔法(如果您想了解更多详细信息,请见下文)。
假设您有一个时间样本 t、通量测量 f 和不确定度 sigma 的光曲线。您可以简单地运行
import untrendy
f_detrend, sigma_detrend = untrendy.untrend(t, f, sigma)
以找到时间序列的全球趋势的稳健估计并去除它。默认设置已调整以适用于查找开普勒数据中的“非穿越”趋势,但下面列出了选项的详细说明。您也可以仅对趋势进行拟合并获得趋势的可调用表示
trend = untrendy.fit_trend(t, f, ferr)
在这种情况下,您可以通过调用函数
bkg = trend(t0)
注意
样例不足的区域可能会导致样条曲线出问题,请小心。
此整个过程引入了相关误差。已警告。
命令行去趋势
如果您不想处理所有Python相关的东西,也可以通过命令行使用 去趋势。如果您有一个包含光变曲线的ASCII文件,每个观测值的时间、通量(可选)和不确定度由空格分隔,您可以通过运行以下命令去趋势:
untrend /path/to/data.txt
代码将假设您的文件有2或3列,包含时间、通量和每个观测值的(可选)不确定度。然后,去趋势后的光变曲线将以相同的格式写入标准输出。或者,相同的程序可以直接从标准输入读取数据。
cat /path/to/data.txt | untrend
这为您提供了进行一些疯狂操作然后将其通过UNIX管道传输的选择。我个人可能只会使用Python。
API
拟合趋势
untrendy.fit_trend (x, y, yerr=None, Q=12, dt=3.0, tol=0.00125, maxiter=15, fill_times=None, maxditer=4, nfill=4)
使用迭代加权最小二乘法拟合时间序列中穿越外部的趋势。输入数据应该是“干净的”。换句话说,应该屏蔽坏数据,并且通常对通量进行归一化(通过中位数等)。
参数
- x:
采样时间。
- y:
与x中的时间对应的通量。
- yerr:
(可选) y的1-σ误差条。
- Q:
(可选) 控制重新加权的严重程度的参数。
- dt:
(可选) 时间控制点之间的初始间距。
- tol:
(可选) 收敛标准。
- maxiter:
(可选) 运行的最大重新加权迭代次数。
- fill_times:
(可选) 如果提供,此数字设置相邻样本之间可接受的最小时间间距。如果间距更大,则将添加节点来填充间隙。
- maxditer:
(可选) 运行的最大不连续性搜索迭代次数。
- nfill:
(可选) 用于填充间隙的节点数。
返回值
- trend:
趋势的可调用表示。
移除趋势
untrendy.untrend (x, y, yerr=None, **kwargs)
使用迭代加权最小二乘法移除光变曲线中的穿越外部趋势。与fit_trend不同,此函数会屏蔽坏数据(NaN)并在拟合之前对数据进行归一化。
参数
- x:
采样时间。
- y:
与x中的时间对应的通量。
- yerr:
(可选) y的1-σ误差条。
- **kwargs:
(可选) 传递给fit_trend函数的其他参数。
返回值
- flux:
去趋势后的相对通量。
- ferr:
去趋势后flux的不确定度。
项目详情
untrendy-0.0.2.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ee115048be4d4b5848f550cd2bc72c214d551ef20bb16d814be6349c7bf63071 |
|
MD5 | 919b3a3a50bb42a6b64ef4f49c3c7350 |
|
BLAKE2b-256 | 03500e72b215a681219f3e40139807312dc9df4200a33abf0f4d19947aba46ae |