跳转到主要内容

以风格去除开普勒光曲线的趋势

项目描述

在研究系外行星是最时尚的事情的时代,有时跳出常规,变得有些过时也是好的!这个库是一系列可以稳健地去除光曲线数据中非穿越趋势的技巧。

安装

过时 依赖于 numpyscipy,所以请确保您首先安装它们。然后,您可以使用 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)

注意

  1. 样例不足的区域可能会导致样条曲线出问题,请小心。

  2. 此整个过程引入了相关误差。已警告。

命令行去趋势

如果您不想处理所有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 (47.2 kB 查看哈希值)

上传时间: 源代码

支持者