跳转到主要内容

从浏览器历史记录中获取Actogram,可能有助于筛选睡眠-清醒模式和疾病!

项目描述

WebActogram

PyPI-Status PyPI-Versions PyPi-License PyPI-Downloads

🌐🏃使用您浏览器的历史记录作为🌙🛌睡眠模式和可能疾病的创新即时大规模筛选工具!

image

安装 & 快速入门

使用预编译的二进制文件安装

如果您不使用Python,这是最简单的安装方式。

预编译的二进制文件适用于Windows 64位(未来也将支持MacOS和Linux)。

要下载,只需获取最新版本的.exe文件

注意:如果您在计算机上找不到.exe下载文件,请确保您已明确在浏览器(例如,Chrome)中接受了下载,因为浏览器可能会出于安全考虑阻止它,并需要您手动进入浏览器下载选项卡并接受下载(绝对没有风险,但如果您非常谨慎,可以使用Python模块,它和该软件完全相同)。

然后只需双击webactogram_vX.Y.Z.exe,它将自动生成活动图,并在弹出窗口中显示。

在Windows上,您可能需要手动跳过Windows Defender SmartScreen,如下所示:

使用Python安装

首先,您需要一个现代的Python 3解释器(Python > 3.7),例如Miniconda3

然后,使用以下命令安装WebActogram:

pip install webactogram

要在终端(或Windows上的cmd或PowerShell)中生成并显示活动图,请输入以下命令:

webactogram

注意:首先,您需要进入一个具有写入权限的文件夹(以便活动图图像可以保存在子文件夹中)。

这将创建一个名为actograms的文件夹,并在其中添加最新的活动图图片和包含所有浏览器活动记录的csv文件。

可以使用以下命令显示更多选项,例如采样频率(以及活动图及其模式的粒度):

webactogram --help

描述

WebActogram是一个工具,可以从网页浏览器历史文件中生成活动图,称为在线活动图。它支持包括Google Chrome、Mozilla Firefox和Safari在内的各种浏览器历史文件(支持浏览器的完整列表在此)。

为了筛选睡眠-觉醒模式和疾病,所有睡眠筛查工具都需要用户手动记录睡眠日记,或佩戴活动计图仪,或参与更加繁琐的、在始终黑暗条件下进行褪黑素采样的常规研究。

这些方法的主要局限性是

  1. 前期成本(金钱和时间),因为需要怀疑存在睡眠障碍才能从受试者或医疗测试(特别是褪黑素采样)中获取此类数据,
  2. 用户首次怀疑自己可能有睡眠障碍与拥有足够数据以获得诊断之间的延迟很大,因为这需要非常合作且遵守规则的受试者经过几周甚至数月的严格数据收集,然后睡眠医生才能判断是否存在任何潜在的睡眠障碍。

这两个问题使得当前的睡眠障碍诊断程序非常糟糕的筛查程序,因为获取足够数据以评估是否存在任何睡眠障碍的门槛对大多数人来说太高了,并且可能造成很高的流失率。《行为量表也不适合昼夜节律疾病诊断》。

网络活动图是第一个可以通过作为伪活动计图仪从浏览器历史中推断活动图来提供用户睡眠-觉醒模式即时估计的工具,即活动图。这可以通过简单快速的应用程序安装来进行睡眠-觉醒模式和疾病的批量筛查。

支持多个网络浏览器,并将自动合并所有支持浏览器的历史记录,包括所有浏览器中安装的所有配置文件。

示例图形:横向(风景模式):

纵向(肖像模式):

然而,局限性如下

  • 睡眠模式(这是我们主要关注的指标)仅通过非常间接的方式来估计,因为该工具估计的是清醒模式,而这只是部分覆盖,因为该工具分析的是互联网桌面浏览器的历史记录(而不是整个计算机的使用历史,也不是手机,也不是用户一天的活动)。
  • 网络活动图的可信度取决于用户是否是网络浏览器的狂热用户:他们必须几乎每天使用网络浏览器。然而,他们不需要一直使用浏览器,但需要定期使用,这样我们就可以估计他们的清醒期。因此,规律性是必要的,而不是数量。即使数量不是必要的,浏览器使用得越频繁,数据点和估计的可信度就会越高。
  • 用户必须首先在计算机上使用网络浏览器(而不是在智能手机上 - 这将在未来实现)。
  • 在更长的时期内收集更多的数据,模式将出现得更精确和更稳健。
  • 如果同一台桌面计算机上有多个用户,结果将不可靠,因为当前工具会将所有配置文件的历史数据合并为一个,从而将来自不同用户的使用数据合并。

活动图的绘制灵感来源于这个UCSD教程这篇科学论文

用法

可以通过输入以下命令轻松从命令行生成图形

webactogram

图形将保存在名为 "actograms" 的新子文件夹中,带有适当的日期和时间戳和描述。

该软件现在支持命令行参数以提供额外的自定义功能。例如

python actogram.py --freq '15T' --daily_blur 3 --start '2020-01-01'

python actogram.py --freq '30T' --printer_friendly True

python actogram.py --dims (8,8)

其中

--freq determines the granularity of binned online/offline periods (default is 15 minutes increments, ex.  --freq '15T')

--start_date sets initial date to plot from, default is 180 days ago (ex. --start_date '2022-01-01')

--daily_blur applies median filtering between days (off by default, ex. --daily_blur 3)  

--period_blur applies median filtering between binned time periods (off by default, ex. --period_blur 5)

--normalize normalizes search frequency against max, then applies binary mask (plot shows periods of some search history vs. none, on by default)

--dims sets the relative dimensions of generated actogram plot (ex. --dims (4, 6))

--printer_friendly sets whether activity is shown in black on white (friendly) or vice versa (False by default, ex. --printer_friendly True)

隐私声明

从您浏览器的使用中提取的唯一数据是浏览器历史记录中访问网页的日期和时间。不提取URL,也不提取任何其他信息。数据永远不会离开您的计算机。

作者

这个工具是从Barrett F. Davis编写的优秀online_actogram脚本中衍生出来的,Barrett F. Davis构思了这个想法和最初的实现,最初于2020年7月发布。

从那时起,它由Stephen Karl Larroque和Circadiaware集体维护。

许多优秀的贡献者为此软件的进一步改进做出了贡献,我们无法感谢他们足够。

Contributors

有关所有贡献者的列表,请参阅GitHub贡献者图表提交历史记录

许可

MIT公共许可证。

类似项目

另一个受本项目启发的项目是用D3编写的JavaScript,但它不能获取浏览器的历史记录,只能从已提取的浏览器历史记录中绘图:Tylian的D3浏览器历史记录。如何生成history.txt文件(来源):它是时间戳列的转储,经过一些手动处理,将每个条目除以1000,因为Firefox出于某种原因以纳秒纪元存储它们。

项目详情


下载文件

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

源代码分发

webactogram-0.4.2.tar.gz (26.7 kB 查看哈希值)

上传时间 源代码

构建分发

webactogram-0.4.2-py3-none-any.whl (19.3 kB 查看哈希值)

上传时间 Python 3

由以下提供支持