Waiting
Login processing...

Trial ends in Request Full Access Tell Your Colleague About Jove
Click here for the English version

Neuroscience

将诊所带回家:支持自适应深部脑刺激的家庭多模态数据收集生态系统

Published: July 14, 2023 doi: 10.3791/65305

Summary

该协议展示了家庭多模态数据收集平台的原型,该平台支持优化神经运动障碍患者的自适应深部脑刺激(aDBS)的研究。我们还介绍了将该平台部署到帕金森病患者家中一年多的主要发现。

Abstract

适应性脑深部刺激 (aDBS) 有望改善帕金森病 (PD) 等神经系统疾病的治疗。aDBS使用与症状相关的生物标志物实时调整刺激参数,以更精确地针对症状。为了实现这些动态调整,必须为每个患者确定 aDBS 算法的参数。这需要临床研究人员进行耗时的手动调整,因此很难为单个患者找到最佳配置或扩展到多个患者。此外,当患者在家时,在诊所内配置的 aDBS 算法的长期有效性仍然是一个悬而未决的问题。为了大规模实施这种疗法,需要一种在远程监测治疗结果的同时自动配置aDBS算法参数的方法。在本文中,我们分享了一个家庭数据收集平台的设计,以帮助该领域解决这两个问题。该平台由一个开源的集成硬件和软件生态系统组成,允许在家中收集神经、惯性和多摄像头视频数据。为了确保患者身份数据的隐私,该平台通过虚拟专用网络加密和传输数据。这些方法包括对数据流进行时间对齐和从视频记录中提取姿态估计。为了演示该系统的使用,我们将该平台部署到帕金森病患者的家中,并在 1.5 年的时间里收集了自我指导临床任务和自由行为期间的数据。记录亚治疗、治疗和超治疗刺激幅度的数据,以评估不同治疗条件下的运动症状严重程度。这些时间对齐的数据表明,该平台能够同步家庭多模态数据收集,以进行治疗评估。该系统架构可用于支持自动化 aDBS 研究、收集新数据集以及研究临床外 DBS 治疗对神经系统疾病患者的长期影响。

Introduction

脑深部刺激 (DBS) 通过将电流直接输送到大脑的特定区域来治疗帕金森病 (PD) 等神经系统疾病。据估计,全世界有 850 万例帕金森病病例,当药物不足以控制症状时,DBS 已被证明是一种关键疗法 1,2。然而,DBS 的有效性可能会受到副作用的限制,这些副作用有时由通常以固定振幅、频率和脉冲宽度3 进行的刺激引起。这种开环实施对症状状态的波动没有反应,导致刺激设置与患者不断变化的需求不相适应。DBS进一步受到耗时的刺激参数调整过程的阻碍,目前由临床医生为每个患者手动执行。

自适应 DBS (aDBS) 是一种闭环方法,通过在检测到与症状相关的生物标志物时实时调整刺激参数,被证明是 DBS 的有效下一次迭代 3,4,5研究表明,丘脑底核 (STN) 中的 β 振荡 (10-30 Hz) 在运动迟缓期间持续发生,运动迟缓是 PD 6,7 的特征。同样,已知皮层中的高伽马振荡 (50-120 Hz) 发生在运动障碍期间,这是一种过度和不自主的运动,在 PD8 中也很常见。最近的工作已经成功地在诊所外长时间施用 aDBS[5],然而,当患者在家时,在诊所内配置的 aDBS 算法的长期有效性尚未确定。

需要远程系统来捕捉这些动态算法在抑制日常生活中遇到的症状时随时间变化的有效性。虽然 aDBS 的动态刺激方法有可能实现更精确的治疗并减少副作用3,9 aDBS 仍然给临床医生带来沉重的负担,需要手动识别每个患者的刺激参数。除了在传统DBS期间已经需要编程的大量参数外,aDBS算法还引入了许多新参数,这些参数也必须仔细调整。这种刺激和算法参数的组合产生了一个巨大的参数空间,其中可能组合的数量难以管理,从而禁止 aDBS 扩展到许多患者10。即使在研究环境中,配置和评估 aDBS 系统所需的额外时间也使得仅在临床中充分优化算法变得困难,并且需要远程更新参数。为了使 aDBS 成为一种可以扩展的治疗方法,必须自动化刺激和算法参数调整。此外,必须在重复试验中分析治疗结果,以将 aDBS 确定为临床外可行的长期治疗。需要一个平台来收集数据以远程评估治疗效果,并远程部署对 aDBS 算法参数的更新。

该协议的目标是为多模态家庭数据收集平台提供可重复使用的设计,以提高临床外的 aDBS 有效性,并使这种治疗能够扩展到更多的个体。据我们所知,这是第一个使用家用摄像机、可穿戴传感器、慢性神经信号记录和患者驱动的反馈来远程评估治疗结果的数据收集平台设计,以评估受控任务和自然行为期间的 aDBS 系统。

该平台是一个硬件和软件组件的生态系统,建立在先前开发的系统5 之上。在初始安装最少的硬件后,它可以完全通过远程访问进行维护,以允许在家中舒适地从人们那里收集多模式数据。一个关键组件是植入式神经刺激系统 (INS)11 ,它感知神经活动并向 STN 提供刺激,并记录胸部植入物的加速度。对于初始部署中使用的植入物,从植入 STN 的双侧导联和植入运动皮层的皮质电图电极记录神经活动。视频记录系统可帮助临床医生监控症状严重程度和治疗效果,其中包括图形用户界面 (GUI),可轻松取消正在进行的记录,以保护患者隐私。对视频进行处理以提取二维 (2D) 或三维 (3D) 位置的运动轨迹,并将智能手表佩戴在双手腕上以捕获角速度和加速度信息。重要的是,所有数据在传输到长期云存储之前都经过加密,并且只能通过虚拟专用网络 (VPN) 访问具有患者身份视频的计算机。该系统包括两种方法,用于对所有数据流进行事后时间对齐,数据用于远程监测患者的运动质量,并识别与症状相关的生物标志物,以改进aDBS算法。这项工作的视频部分展示了数据收集过程和从收集的视频中提取的运动轨迹动画。

许多设计考虑因素指导了协议的开发:
确保数据安全和患者隐私: 收集可识别的患者数据需要在传输和存储时格外小心,以便符合健康保险流通与责任法案 (HIPAA)12,13 遵守并尊重患者在自己家中的隐私。在这个项目中,这是通过设置自定义VPN来实现的,以确保系统计算机之间所有敏感流量的隐私。
刺激参数安全边界: 在尝试可能产生意外效果的 aDBS 算法时,确保患者保持安全至关重要。患者的 INS 必须由临床医生配置,使其具有刺激参数的安全边界,不允许过度刺激或刺激不足产生不安全的影响。使用INS系统11 在本研究中,此功能由临床医生程序员启用。
确保患者否决: 即使在安全参数范围内,症状和刺激反应的每日变化也可能导致患者不愉快的情况,即他们不喜欢被测算法并希望恢复正常的临床开环 DBS。所选的 INS 系统包括一个患者遥测模块 (PTM),允许患者手动更改其刺激组和刺激幅度(以 mA 为单位)。还有一个与INS连接的研究应用程序,用于在数据收集之前对INS进行远程配置14,这也使患者能够中止 aDBS 试验并控制他们的治疗。
捕捉复杂而自然的行为: 视频数据被整合到平台中,使临床医生能够远程监测治疗效果,并从姿势估计中提取运动轨迹以用于研究分析15.虽然可穿戴传感器的侵入性较小,但仅使用可穿戴系统很难捕获整个身体的整个动态运动范围。视频可以同时记录患者随时间推移的整个运动范围及其症状。
系统对患者的可用性: 收集家庭多模式数据需要在患者家中安装和使用多个设备,这可能会给患者带来负担。为了使系统易于使用,同时确保患者控制,在开始记录之前,必须手动打开植入或物理连接到患者的设备(在这种情况下,它包括 INS 系统和智能手表)。对于与患者分开的设备(在这种情况下,它包括从摄像机记录的数据),记录会自动开始和结束,而无需任何患者交互。在 GUI 设计过程中,我们小心翼翼地尽量减少按钮的数量,并避免使用较深的菜单树,以便简化交互。安装完所有设备后,研究协调员向患者展示了如何通过面向患者的 GUI(每个设备的一部分)与所有设备进行交互,例如如何终止任何设备上的记录以及如何输入他们的用药史和症状报告。
数据收集透明度:必须清楚地指示相机何时打开,以便人们知道他们何时被录制,并在需要片刻的隐私时可以暂停录制。为了实现这一点,使用摄像系统应用程序通过面向患者的 GUI 来控制视频录制。当应用程序启动时,GUI 会自动打开,并列出下一次计划录制的时间和日期。当录制正在进行时,会显示一条消息,说明录制计划何时结束。在 GUI 的中央,显示红灯的大图像。该图像显示,每当录制正在进行时,灯光都会亮起,而当录制关闭时,灯光会变为不亮的图像。

该协议详细说明了设计、构建和部署家庭数据收集平台的方法,用于对收集的数据进行完整性和稳健性的质量检查,以及用于未来研究的后处理数据的方法。

Figure 1
图 1:数据流。 每种模式的数据都是从患者的住所独立收集的,然后进行处理并聚合到单个远程存储端点中。每种模式的数据都会自动发送到远程存储终结点。在团队成员之一的帮助下,可以检索它,检查其有效性,跨模态进行时间调整,以及进行更多特定于模态的预处理。然后,编译后的数据集将上传到远程存储终结点,所有团队成员都可以安全地访问该终结点以进行继续分析。所有具有数据访问权限的机器,尤其是原始视频等敏感数据,都包含在 VPN 中,确保所有数据安全传输并始终加密存储数据。 请点击这里查看此图的较大版本.

Subscription Required. Please recommend JoVE to your librarian.

Protocol

患者通过加州大学旧金山分校的 aDBS 协议 # G1800975 的更大规模 IRB 和 IDE 批准的研究入组。参加本研究的患者还专门为本研究提供了知情同意书。

1. 家用系统组件

  1. 中央服务器和 VPN
    1. 购买一台运行基于 Linux 的操作系统 (OS) 的个人计算机 (PC),专门用于提供 VPN。将机器存放在安全的房间内。磁盘对机器进行加密,确保数据安全。
    2. 将 VPN 服务器配置为至少在一个端口上可公开访问。
      注意:在这种情况下,这是通过与 IT 部门合作实现的,通过大学的 DNS 托管选项为服务器提供面向外部的静态 IP 地址和自定义 URL。
    3. 对于服务器安装,请在选择提供 VPN 的 PC 上完成以下步骤。
      1. 防火墙配置:在PC终端运行以下命令,安装和配置简单的防火墙:
        sudo apt 安装 ufw
        sudo ufw 允许 ssh
        sudo ufw allow <端口号>/udp
        sudo ufw 启用
      2. 服务器 VPN 安装:在 PC 上安装开源 WireGuard VPN 协议16 并导航到安装目录。在PC终端,运行 umask 007 更新目录访问规则。
      3. 密钥生成:在PC终端中,运行
        WG Genkey (英语) |Tee私钥 |WG PubKey > PublicKey
        这将为 VPN 服务器生成公钥/私钥对。此公钥将共享到连接到 VPN 的任何客户端 PC。
      4. VPN配置:在PC端执行 touch .conf 命令,创建配置文件,文件名应与接口名称匹配。将以下服务器规则粘贴到此文件中:
        [接口]
        PrivateKey =
        地址 = ##.#.#.#/##
        PostUp = iptables -A FORWARD -i interface_name -j ACCEPT;iptables -t nat -A POSTROUTING -o network_interface_name -j MASQUERADE
        PostDown = iptables -D FORWARD -i interface_name -j ACCEPT;iptables -t nat -D POSTROUTING -o network_interface_name -j MASQUERADE
        ListenPort =#####
        [对等]
        PublicKey =
        允许的 IP = ##.#.#.#/##
      5. 激活VPN:在终端输入 wg-quick up 启动VPN。要使 VPN 协议在 PC 重新启动时自动启动,请在终端中运行以下命令:
        systemctl 启用 wg-quick@
    4. 对于客户端安装,请为需要访问 VPN 的每台新计算机完成以下步骤。
      1. 客户端 VPN 安装:根据 WireGuard16 下载页面上特定于操作系统的说明安装 VPN 协议。
      2. 将客户端添加到 VPN:从安装过程中生成的配置文件中获取公钥。将此密钥粘贴到服务器配置文件的 peer 部分。
      3. 激活 VPN:按照 WireGuard16 下载页面上特定于操作系统的说明启动 VPN。
  2. 云存储
    1. 选择一个云存储站点,以便将所有记录的数据流长期存储在一个地方。在这里,使用了与所选数据传输协议兼容的基于 Amazon Web 服务的云存储站点。
  3. 植入式神经调控系统
    1. 遵循 IRB 和 IDE 指南,选择允许患者手动更改刺激设置的植入式神经调控系统 (INS)11
    2. 购买平板电脑并安装开源 UCSF DBS 应用程序,以允许 INS 记录、报告药物和症状或任何其他患者评论14.配置流式传输到平板电脑的 INS 数据,以上传到符合 HIPPA 的临时云存储端点,以便在数据去标识化和卸载到长期云存储之前进行临时存储。
  4. 视频采集系统
    1. 在将所需数量的视频文件传输到云存储之前,购买能够收集和存储所需数量的视频文件的 PC。确保 PC 主板包含可信平台模块 (TPM) 芯片。
      注意:在本例中,选择了具有 500 GB SSD、2 TB HDD 和 6 GB GPU 的 PC。2 TB 的磁盘可确保在长时间录制会话或失去互联网连接几天后可以缓冲视频,而单台 PC 则将硬件在家中的干扰降至最低。
    2. 安装所需的操作系统并按照提示启用自动磁盘加密,以确保患者隐私并避免数据泄露。在这种情况下,选择了带有 Ubuntu 发行版的基于 Linux 的操作系统,因为它易于使用和可靠性。
    3. 安装操作系统后,单独加密任何硬盘。请确保在系统重新启动时启用自动重新挂载磁盘。
    4. 配置 PC 的板载 TPM 芯片,以便在系统重新启动后保持对磁盘加密 PC的访问 17.
      注意:如果使用 Linux 操作系统,请务必选择安装了 TPM2 芯片的主板以启用此步骤。如果使用 Windows 操作系统,则 Bitlocker 程序可以处理自动磁盘加密和解锁。
    5. 按照 1.1.4 中的安装步骤将 PC 配置为 VPN 客户端。如第 1.1.3.5 节所示,启用 VPN 协议以在重新启动 PC 时自动启动,以确保研究人员计算机始终可以远程访问 PC(推荐)。
    6. 创建 GitHub 计算机用户帐户,以便轻松自动更新电脑上安装的软件。此帐户用作 Webhook,用于自动从远程 git 终结点拉取,并帮助识别从远程计算机推送的任何更新。
    7. 选择软件来安排和控制视频录制并将其安装在 PC 上。为了最大限度地提高患者的隐私和舒适度,所选软件应包括图形用户界面 (GUI),以清楚地指示记录何时进行,并能够在任何时间点轻松终止记录。
      注意:如果需要,可以通过下载应用程序并按照 GitHub (https://github.com/Weill-Neurohub-OPTiMaL/VideoRecordingApp) 上的说明安装作者带有面向患者的 GUI 的自定义视频录制应用程序。
    8. 选择监视器以指示何时录制视频,并使用户能够轻松终止录制。选择具有触摸屏功能的显示器,这样无需操作键盘或鼠标即可终止录制。
    9. 在 PC 上安装远程桌面应用程序。这样就可以使用 GUI 运行应用程序,以便 GUI 在患者端和远程研究人员端都保持可见。
      注意:开源 NoMachine 远程桌面应用程序最适合 Linux 操作系统。
    10. 选择具有足够高分辨率的 USB 兼容网络摄像头,以计算给定空间内的姿势。
      注意:在这种情况下,选择了兼容 4k 的网络摄像头,它提供多种分辨率和帧速率组合,包括 30 fps 的 4k 分辨率或 60 fps 的高清分辨率。
    11. 选择坚固耐用的硬件,在患者家中安装网络摄像头。使用带夹子的鹅颈支架将它们固定在家具上,以防止相机晃动。
    12. 选择具有加密功能的数据传输协议并将其安装在 PC 上。创建用于访问云存储站点的配置,然后创建加密配置以在数据传输之前包装第一个配置。
      注意:在这种情况下,安装了具有加密功能的开源数据传输和文件同步协议18。数据传输协议文档介绍了如何配置到云存储的数据传输。该协议首先安装在 VPN 服务器上,并创建了将数据传输到异地云存储站点的加密配置。
  5. 可穿戴传感器数据组件
    1. 选择要戴在患者每个手腕上的智能手表,以跟踪包括运动、加速度计和心率在内的信号。
      注意:Apple Watch Series 3 被选中时内置了运动障碍症状监测器,可生成运动障碍和震颤评分等 PD 症状评分。
    2. 在每个智能手表上选择并安装可以开始和结束录制并可以将数据传输到云存储的软件。选择一个应用程序,将所有数据流上传到其相关的在线门户,供研究人员和临床医生进行分析19.

Figure 2
图 2:视频录制组件。 支持视频数据收集的硬件组件非常少,包括一台塔式 PC、USB 连接的网络摄像头和一个用于显示面向患者的 GUI 的小型显示器。监视器支持触摸屏,可通过按下 GUI 上可见的按钮轻松终止任何正在进行或预定的录制。GUI 的中心显示记录灯的图像,当摄像机正在主动录制时,该图像会变成鲜红色。 请点击这里查看此图的较大版本.

2. 家庭配置

  1. 硬件安装
    1. 确定安装网络摄像头的合适空间,以尽量减少对家庭的干扰。通过与患者讨论确定空间;在这里,家庭办公区被选为平衡录音音量和隐私的最佳地点。
    2. 安装 web凸轮在所选安装硬件上的识别区域。将鹅颈支架夹在附近的重型家具上,可防止有人靠近时相机晃动。
    3. 将 PC 放置在离安装的网络摄像头足够近的地方,以便其 USB 电缆可以连接到 PC。
    4. 将平板电脑、INS 组件、智能手表和智能手机放置在电源插座附近,以便所有设备都可以保持插入状态并随时可用。
    5. 通过在 PC 终端中运行 route -n 来确认 VPN 已打开。如果没有,请按照第 1.1.3.5 节中的说明激活 VPN。
  2. 启动视频录制应用程序
    1. 视频录制时间表:在收集任何数据之前,请与患者讨论适当的录制时间表。在视频录制软件上配置此计划。
      注意:如果使用作者的自定义视频录制应用程序,可以在 GitHub (https://github.com/Weill-Neurohub-OPTiMaL/VideoRecordingApp#installation-guide) 上找到设置时间表的说明。
    2. 更新录制软件:确保已使用 1.4.6 中安装的 GitHub 计算机用户帐户将所选视频录制软件的最新版本上传到 PC。
    3. 开始视频录制:通过安装的远程桌面软件登录PC,启动视频录制软件。
      注意:如果使用作者的自定义视频录制应用程序,可以在 GitHub (https://github.com/Weill-Neurohub-OPTiMaL/VideoRecordingApp#installation-guide) 上找到启动应用程序的说明。
  3. 摄像机校准
    1. 禁用自动对焦:要计算镜头和透视畸变等固有参数,请按照所选操作系统和网络摄像头的说明关闭自动对焦。
      注意:在 Linux 上,网络摄像头是通过 Video for Linux API 访问的,默认情况下,每次重新启动连接到摄像机的计算机时,该 API 都会打开自动对焦。必须配置脚本以自动禁用此功能,以保留在相机校准期间获取的焦点以处理 3D 姿势。
    2. 内在校准:获取具有 100 毫米正方形的 6 x 8 棋盘图案,以支持姿态估计软件20 的 3D 校准。从每个单独的网络摄像头录制视频,同时研究人员将棋盘格倾斜到所有摄像头的框架内。确保棋盘的行数为偶数,列数为偶数(反之亦然)。这将消除有关轮换的歧义。
    3. 外部校准:同时录制来自所有三个网络摄像头的视频。确保视频的录制分辨率与要处理以进行 3D 姿态估计的任何视频的分辨率相同。为确保所有视频之间的精确时间同步,请在录制开始和结束时闪烁红外 LED 灯。使用视频编辑软件手动同步视频,方法是在 LED 开始时标记帧并将视频修剪为相等的长度。
    4. 校准矩阵:将前两步录制的视频通过 OpenPose21 传递,生成内在和外在校准矩阵。
      注意:OpenPose 使用 OpenCV 库进行相机校准,可以通过 OpenPose GitHub20,22 上的文档找到更多说明。

3. 数据收集

  1. 患者开始记录的说明
    1. 检查设备电池和电源:INS 设备始终处于开启状态,为受试者提供持续的刺激。要开始记录神经数据,请患者打开平板电脑,并确保左右 INS 设备的临床医生遥测模块 (CTM) 已打开并充满电。
    2. CTM 放置:将 CTM 放在胸部的两侧。为了获得最大的连接性并减少数据包丢失,请在录制过程中将 CTM 放置在靠近胸部植入物的位置。放置 CTM 的其他位置是夹克的胸袋或使用专用围巾。
    3. 激活平板电脑连接:平板电脑启动后,让患者打开 DBS 应用程序并选择连接,这会提示与 CTM 和随后的 INS 设备14 建立蓝牙连接
    4. 摄像头激活:要求患者确认摄像机已通过 USB 电缆连接到 PC,并且摄像头已打开。
      注意:如果使用作者的自定义视频录制应用程序,则在面向患者的 GUI 上,通过明亮的红灯大图像清楚地指示正在进行的录制。当录音关闭时,这将变为不亮的红灯。选定的网络摄像头还有一个白色的小指示灯。
    5. 智能手表激活:要求患者按住 电源 按钮打开智能手表和智能手机。接下来,要求他们打开智能手表应用程序以启动数据记录和 PD 症状跟踪。
  2. 基于手势的数据对齐和记录方案
    1. 在开始数据收集之前,写出患者在数据记录期间要执行的任何所需任务。
    2. 由于用于对齐时间戳的基于多设备时钟的同步可能不可靠,因此要求患者执行一个手势,该手势可用于在每次新记录开始时从记录的数据中同步时间戳,即使计划在自由行为期间进行记录。
      注意:作者设计了一个简单的手势,患者点击两个植入的INS设备,同时将手保持在摄像头的视野范围内。这种敲击在智能手表和INS加速度计的惯性记录中创建了独特的模式,并且很容易在视频中观察到。
  3. 患者结束记录的指示
    1. 将刺激组切换回患者首选的临床分配组。
    2. 在 DBS 应用程序面向患者的 GUI 中,输入症状报告。
    3. 关闭 DBS 应用程序,这将断开 CTM 连接并结束 INS 流。
    4. 关闭智能手表录制应用程序,将 CTM、智能手机和智能手表设备放回充电端口。
  4. 数据卸载
    1. 使用加密配置通过数据传输协议将原始视频传输到云存储。在视频录制PC上创建一个cron作业,通过数据传输协议18自动将录制的视频传输到云存储。
      注意: 根据视频的分辨率和每天录制的小时数,互联网速度必须足够高,才能在 24 小时内将所有视频传输到云存储。如果数据传输速度太慢,磁盘空间可能会耗尽,从而导致计划在第二天进行的其他视频录制失败。
    2. 将 INS 数据保存到步骤 1.3.2 中配置的 HIPAA 安全云终结点。从 HIPAA 安全云端点下载 INS 数据,并对数据进行去标识化处理。将去标识化的数据保存到外部云存储。
      注意:开源 OpenMind 预处理代码23 用于对数据进行去标识化处理,并将其从 json 文件转换为表格格式。患者的平板电脑配置了 HIPAA 安全云端点,用于临时存储原始 INS 数据;但是,可以想象,用于长期存储的同一云存储站点也可以用于此步骤,前提是它符合 HIPAA 标准,并且在卸载之前对数据进行加密。
    3. 如果需要,将智能手表数据的副本保存在外部云存储上,以便可以在一个位置访问所有数据流。

4. 系统表征

  1. 原始数据可视化:在所需的编码环境中,可视化所有原始数据流,以确保数据被正确记录和传输,而不会丢失或损坏。
    注意: 选择用于管理智能手表记录的应用程序具有有助于可视化智能手表数据的浏览器应用程序24.
  2. 视频帧和时间戳滞后:检查不同网络摄像头生成的时间戳之间的任何滞后。通过使用放置在所有网络摄像头帧内的可编程 LED 灯录制视频来分析滞后。
    注:分析显示,自定义视频录制应用程序导入的视频分割功能25 是时间戳滞后增加的根源。在没有分割功能的情况下录制视频会导致网络摄像头帧和时间戳之间的滞后不会随时间增加(参见补充 文件 1和 补充图1)。

5. 事后数据预处理和对齐

  1. 姿势数据
    1. 安装软件以根据录制的视频计算关节位置估计值。
      注意:之所以选择 OpenPose 库,是因为它包括 2D 和 3D 的手部和面部跟踪。
    2. OpenPose 库不会自动处理多人在帧内的情况,因此请使用后处理脚本来确保每个人的姿势估计从一个帧到下一帧是连续的。OpenPose 提供了代码,可轻松生成 2D 或 3D 动画,用于目视检查姿态估计质量。
  2. 基于手势的时间对齐
    1. 对于每个 INS 设备(左侧和右侧),使用作者的数据对齐 GUI (https://github.com/Weill-Neurohub-OPTiMaL/ManualTimeAlignerGUI) 执行下面描述的步骤。
      1. 读入数据:从云存储中访问保存的 INS 和智能手表加速度计数据,以获得所需的数据会话。
        注意:如果需要,可以添加其他时间序列。 图 3 以绿色显示右手中指尖的姿势位置。
      2. 在 GUI 中可视化数据流:使用手动时间对齐 GUI 叠加 INS 加速度计、智能手表加速度计和姿势数据。
      3. 放大对齐伪影:放大到时间轴,并将观察窗口移动到录制的胸部敲击部分。移动对齐时间序列,使 INS 和智能手表时间序列信号上的胸部敲击峰值尽可能紧密地重叠。
        注意:GUI 旨在便于手动将任意时间序列与通用真实时间对齐。 图 3 以蓝色显示真实时间序列,而对齐时间序列以橙色和绿色显示。GitHub 自述文件 (https://github.com/Weill-Neurohub-OPTiMaL/ManualTimeAlignerGUI#time-alignment) 中介绍了 GUI 对齐的关键指南。
      4. 对齐确认:将 GUI 窗口移动到记录中的每个胸部敲击任务,并确认对齐在整个时间序列中保持一致。按下 Switch Aligning 按钮,然后对剩余数据流重复对齐。
      5. 警告标志:要指示数据是否丢失、偏移或其他有关数据质量的一般警告,请分别使用 D、S 和 F 键在 GUI 中设置警告标志。
  3. 零归一化互相关 (ZNCC) 时间对齐
    1. 确定最有可能最接近真实时间的信号。通常,这要么是采样频率最高的,要么是互联网时间刷新最快的。
    2. 对两个信号进行重新采样,使其具有相同的时间采样频率,并分别对两个信号进行 z 评分。这确保了生成的 ZNCC 分数将被归一化为介于 -1 和 1 之间,从而估计两个信号之间的相似程度,这对于捕获错误很有用。
    3. 计算每个时间滞后时第二个信号和第一个信号的互相关。
    4. 如果两个信号的相位信息不重要,则取测得的互相关曲线的绝对值。
      注意:如果行为明显是非周期性的,则不需要相位信息,就像在这种情况下一样。
    5. 分析ZNCC曲线。如果存在一个清晰的峰值,并且峰值 ZNCC 分数高于 0.3,则该峰值的时间对应于两个信号之间的时间滞后。如果存在多个峰值,没有明确的峰值,或者ZNCC分数在所有时间滞后下都很低,则需要手动对齐两个信号。

Figure 3
图 3:基于手势的数据对齐。 图的上半部分显示了对齐三个数据流后的手动对齐 GUI。蓝线是智能手表加速度计数据,橙线是来自 INS 的加速度计数据,绿线是来自单个网络摄像头的右中指尖的 2D 姿势位置。右上角显示了智能手表和 INS 的真实时间之间的偏移量,以及用于标记出现的任何问题的各种警告标志。在此示例中,INS 比智能手表领先 20.8 秒。左下角的图表被放大,显示了患者为数据对齐而进行的五次胸部敲击。每个数据流中的五个峰都非常清晰,以确保正确对齐。 请点击这里查看此图的较大版本.

Subscription Required. Please recommend JoVE to your librarian.

Representative Results

原型平台设计和部署
我们设计了一个原型平台,并将其部署到单个患者的家中(图 1)。在家中首次安装硬件后,可以对平台进行维护,并完全通过远程访问收集数据。INS 设备、智能手表和摄像头具有面向患者的应用程序,允许患者开始和停止记录。视频采集硬件可在配置批准的计划后启用自动视频录制。患者只需按下视频录制应用程序 GUI 上的按钮即可轻松取消正在进行的录制(图 2)。所有收集到的数据都被加密并传输到云存储站点,供研究人员处理和分析。

数据采集
在第一个部署和数据收集周期中,我们要求患者进行自我指导的临床任务。这些任务取自统一帕金森病评定量表 (UPDRS)26,即静止性震颤、拇指到食指敲击、手的开合、手腕旋前旋后、坐立运动和行走,以及打字任务。每个记录日的所有任务重复三次。对于每次重复,设置不同的刺激幅度以暴露潜在的 PD 刺激相关症状。 图 4 显示了使用系统收集的一周数据可能是什么样子的示意图化示例。

Figure 4
图 4:数据可用性。 使用系统收集的一周数据的模式化演示可能是什么样子。上图显示了几个昼/夜循环过程中的刺激水平(蓝色)。该患者的刺激变化取决于他们的睡眠时间表和药物摄入时间(垂直红线)。在一天中的任意时间,可以远程启用数据收集系统,以收集多种模式的数据,显示为彩色框。底部图显示了所有并行、时间对齐的数据流的一个示例,这些数据流只是在正文的左侧向下选择。在此记录期间,患者被要求在低振幅、治疗和高振幅刺激条件下进行一系列临床评估。此处显示的所有数据都与收集到的真实数据相对应,但为了便于可视化和显示多样性,已在单独的实验中进行了压缩。缩写:LFP=局部场势,STN=丘脑底核,Accel=加速度计,Gyro=陀螺仪,2D=二维。 请点击这里查看此图的较大版本.

手动对准
手动对齐 GUI 提供了一个易于使用的平台,用于对齐多个数据流。 如图 3 所示,胸部敲击在所有数据模态(INS、智能手表、视频)中都提供了清晰可识别的伪影,可用于手动对齐。GUI是匹配数据的有用手段,但可以将其交换为研究人员想要使用的任何其他对齐工具。在某些情况下,数据流会略有漂移。这个问题的潜在未来解决方案是将会话数据划分为不同的试验,每个试验都有自己的胸部敲击序列。然后,可以单独对齐每个试验,以最大程度地减少漂移的影响。

零归一化互相关 (ZNCC) 时间对齐
ZNCC 的方法在某些情况下效果很好,但它存在一些关键漏洞。例如,对于某些运动,两个加速度计信号可以相互相移。如果相位对齐和相移运动都包含在分析的周期中,则ZNCC可以有多个峰值,甚至没有明确的峰值。ZNCC 的归一化允许根据需要自动识别和丢弃这些对齐。如果两个信号都相对无噪声,并且窗口到一个时期,在两条迹线中都具有较大的同步效应,则此方法效果最佳。当患者被要求用双手在胸部进行一系列用力敲击时,取得了最好的效果。然而,在实践中,对于足够多的情况,手动验证自动对准是必要的,以至于使用自动化方法的优势可以忽略不计。

数据质量
自动传输期间的数据丢失可以忽略不计,因为数据传输协议进程会备份原始副本,以确保任何丢失都是可恢复的。由于蓝牙和射频有时会出现意外的连接中断并且范围受限,因此经常发生连接问题导致的数据丢失。长达 2 秒的短间隔大约每小时发生几次,而长达 2 分钟的较长间隔大约每几个小时发生一次。除了数据丢失之外,在神经数据中还观察到明显的刺激伪影,其严重程度取决于记录和选择的刺激组。最大的伪影发生在刺激频率附近,远远超出感兴趣的范围。在智能手表的数据中没有观察到伪像。视频以恒定帧速率录制;但是,在视频中发现了重复的帧。这导致实际帧速率比网络摄像头规格规定的理论帧速率低几帧。然而,比重复帧更明显的是冻结期,这些冻结期在视频中以不同的间隔确定,具体取决于录制日期。定期观察到大约 10 帧或更少的冻结期;然而,在不规则的时期也观察到大约 2 至 30 秒长的较长部分。

纵向数据收集
1 显示了平台原型在 1.5 年内定期收集的数据。在那段时间里,收集了数百小时的数据,其中身体两侧总共有 293 小时的 INS 数据,两只手表的智能手表数据为 224 小时,三个网络摄像头的视频数据为 2,037 小时。这表明该平台支持长时间的家庭数据收集,同时提供了难得的机会来观察神经数据的纵向变化和相应的刺激要求。

数据类型 总持续时间 (hh:mm:ss) 总天数 存储大小
神经 293:17:33 90 28.94千兆字节
224:06:05 89 35.67千兆字节
视频 2037:06:11 228 146,073.77千兆字节

表 1:所收集数据的纵向概览。 部署的平台在 1.5 年的时间里通过多次实验收集了数据。记录了大约 90 天,收集了神经、视频和智能手表数据流。

2D 和 3D 姿态估计
现在有几种姿态估计软件包可用。使用开源软件包 OpenPose 测试了姿态估计21。这是根据该组织的 GitHub 提供的文档以及网络上找到的许多其他非官方教程成功安装的。OpenPose 的处理时间因 OpenPose 库及其广泛依赖项的安装方式、使用的 GPU 大小以及是否处理可选的手部和面部关键点而有很大差异。2D 姿势相对容易实现,但 3D 姿势明显更难,初步的 3D 结果产生的质量与 2D 姿势的质量不一致。低质量的 3D 姿态估计可能受到相机校准欠佳、相机自动对焦错误开启或 OpenPose 软件本身固有的影响。然而,从多个角度同步的高质量视频可以为各种可用的姿态估计软件包提供丰富的输入。建议在患者家外完成测试设置,并对不同的可用姿态估计软件包进行手动基准测试。

补充图1:视频帧滞后分析。 在系统表征期间检测到从视频录制应用程序生成的时间戳滞后。为了调查滞后的原因,通过记录随机闪烁的红色 LED 灯来确定每个相机生成的帧数和时间戳,然后计算不同相机之间时间戳滞后的变化。(返回顶部)在三个摄像头上测量的 LED 强度(以 RGB 为单位),展示了在三个摄像头之间观察到的时间偏移(用红色箭头表示)。(底部)三张图显示了整个录制过程中一系列 LED 闪烁的帧数的摄像机间时间戳滞后。每个记录被分解为多个片段,帧延迟随时间推移大致恒定。 请点击这里下载此文件。

补充文件1:视频帧和时间戳分析方法。请点击这里下载此文件。

Subscription Required. Please recommend JoVE to your librarian.

Discussion

我们分享了多模态数据收集平台的家庭原型设计,以支持神经调控研究的未来研究。该设计是开源和模块化的,因此可以更换任何硬件,并且可以更新或更改任何软件组件,而不会使整个平台崩溃。虽然收集和去标识化神经数据的方法特定于所选的 INS,但行为数据收集的其余方法和整体方法与使用哪种植入式设备无关。我们将该平台部署到帕金森病患者的家中,并在实验和自然时期收集数据。在部署、数据收集和事后数据处理过程中,发现了几个方面,这些方面对于实现成功的研究迭代尤为重要。

我们团队的一位重要成员是研究协调员,他前往患者家中安装硬件、设置 VPN、执行 3D 姿势的相机校准,并引导患者了解如何使用每个设备的面向患者的 GUI。重要的是,研究协调员还充当了患者和研究团队之间的主要联系点。患者更喜欢使用他们的电子邮件聊天功能来快速来回发送消息。拥有一个一致且易于访问的联系点在两个方面特别有帮助:

为患者建立一个熟悉的沟通渠道,以请求更改预定的记录并传达系统使用中的任何困难。这有助于研究协调员确定患者进行记录实验的方便时间。报告的系统使用的主要困难是需要跟踪多个设备的电池寿命。

使系统故障排除对患者的干扰最小。大多数故障排除源于网络连接问题,平均每两周发生一次。虽然重启设备通常可以解决这些问题,但手表经常需要多次重启,患者报告说这很麻烦。

必须确保对放置在患者家中的硬件进行可靠的远程访问。为此,拥有稳定的互联网连接至关重要。还需要将磁盘加密的计算机配置为在计算机重新启动时自动解锁。不出所料,以太网电缆始终如一地产生最快、最可靠的网络连接。出乎意料的是,由于选择 Linux 作为操作系统,因此需要配置 TPM 芯片。如果使用 Windows 操作系统,他们的 Bitlocker 程序将自动处理此问题。最后,将部署的 PC 配置为在系统重新启动时自动启用 VPN 并重新挂载硬盘驱动器,从而确保持续的远程访问,而无需反复重新访问患者家中。在平台设计中加入 VPN 和数据加密协议对于数据安全性和完整性至关重要。VPN允许连接计算机网络,而无需在患者的专用路由器上配置自定义端口转发。开源数据加密协议Rclone程序提供了现成的数据加密和易于自动化的将数据从患者设备传输到云存储的手段18。数据加密协议在其数据传输步骤中对原始数据进行备份,以确保丢失是可恢复的。这些步骤确保了患者的私人数据保持安全和未损坏。

为了能够进行有意义的数据分析,从多个设备收集的数据必须与时间保持一致。每台设备上的时钟可能与通用的互联网时间不完全一致,即使制造商建议它们如此。此外,某些设备可能会在不可预测的时间出现漂移,从而改变其相对于其他设备的偏移量。这给实现全自动、实时自适应算法带来了困难,未来的研究将需要仔细考虑这个问题的解决方案。使用归一化互相关探索了自动对齐的方法。这在许多情况下效果相当好;但是,时间漂移必须最小,并且数据应包含清晰可识别的信号。由于会遇到较大的漂移和数据噪声过多或数据包丢失的时期,因此不能完全依赖这种全自动方法。为了尽量减少手动对齐数据的负担,我们创建了一个简单的 GUI,使研究人员能够相对轻松、快速地直观地检查数据流。

将视频数据纳入系统使临床医生能够通过远程观察来测量症状的严重程度,研究人员可以获得事件标签。此外,姿势估计可以从视频中计算出来,作为运动质量的连续指标,例如测量手指运动的速度和平滑度。但是,从多个摄像机收集高分辨率视频需要大量的存储空间。例如,从三台摄像机收集 8 小时的 MJPEG 格式 4k 视频大约需要 0.5 TB 的存储空间。记录和存储大量数据很快就会变得昂贵,这给许多患者部署该系统造成了经济瓶颈。为了使此类平台能够扩展到许多患者,未来的系统设计人员需要减少长期存储所需的数据量。未来的系统应考虑包括实时姿势处理,以便在处理姿势后可以及时删除视频。实时姿势还可以在闭环算法中提供有关精细运动技能的反馈,这超出了这项工作的范围。如果需要保留一些视频数据用于临床医生审查或事件标记,则可以在保存到云存储之前将这些数据下采样到较低的分辨率。

最后,为了有效地解决在构建集成系统时不可避免地出现的设计缺陷和实现错误,获取要部署用作测试台的硬件副本非常有价值。这对于测试为收集视频和处理姿势数据而选择的硬件和软件来说是正确的。在 2D 和 3D 空间中获取视频和姿势估计的整个过程比预期的更具挑战性。测试远程测试机组 (Rig) 允许在部署之前对许多重要步骤进行故障排除和压力测试,包括:

在给定房间的布局限制内正确校准摄像机。
确定适当的视频分辨率和帧速率,以支持高质量的姿态估计。对于小房间或类似办公室的环境,高清视频录制可能就足够了,因为录制视频中的个人大小足够大,因此可以轻松计算姿势,同时需要的存储空间比 4k 视频少得多。
发现录制视频中的错误,例如冻结帧或顺序写入的视频文件之间的时间滞后。
暴露意外的软件默认值,例如在计算机重新启动时重新设置相机自动对焦,这会遮挡相机校准的好处。
反复试验,找到必须预安装的软件库的兼容版本,以使 OpenPose 能够在中型 GPU 上运行。

这项工作的一个特殊局限性是将平台在单个试点研究中部署到一个人的家中,从而阻止我们发现任何跨参与者的泛化被发现。然而,在整个设计和开发过程中,该系统被设计为可扩展并支持多种部署以支持远程研究,而这项试点研究的目的是建立复杂的家庭监控平台的技术可行性。根据讨论的一些关键发现修改该试点设计,并将该平台部署到更多家庭,将允许进一步完善设计,以支持家庭aDBS的未来研究。此外,当个体未进行预定实验时,在额外的时间点收集数据将为改进分析和整体治疗效果提供见解。与可能产生不可接受的副作用的传统 DBS 相比,aDBS 可能为治疗包括 PD 在内的神经系统疾病提供更优选的方法。将这种重要的疗法带给许多人需要在诊所外自动调整参数并分析治疗效果。该平台提供了一种新颖的方法,可以在患者舒适的家中收集实验和自然活动期间的家庭摄像机、智能手表、神经记录和患者报告数据。该系统将进一步有助于创建新的多模态数据集,以支持未来神经系统疾病治疗的发现15.

Subscription Required. Please recommend JoVE to your librarian.

Disclosures

作者没有要披露的利益冲突。

Acknowledgments

本材料基于美国国家科学基金会研究生研究奖学金计划 (DGE-2140004)、威尔神经枢纽和美国国立卫生研究院 (UH3NS100544) 支持的工作。本材料中表达的任何意见、发现、结论或建议均为作者的观点,并不一定反映美国国家科学基金会、威尔神经中心或美国国立卫生研究院的观点。我们感谢张天娇在平台设计和视频数据整合方面的专家咨询。我们特别感谢患者参与这项研究,并感谢他们对网络安全和平台设计的反馈和建议。

Materials

Name Company Catalog Number Comments
Analysis RCS Data Processing OpenMind https://github.com/openmind-consortium/Analysis-rcs-data, open-source
Apple Watches Apple, Inc Use 2 watches for each patient, one on each wrist
BRIO ULTRA HD PRO BUSINESS WEBCAM Logitech 960-001105 Used 3 in our platform design 
DaVinci Resolve video editing software  DaVinci Resolve used to support camera calibration
Dell XPS PC  Dell 2T hard disk drive, 500GB SSD
Dropbox Dropbox
ffmpeg  N/A open-source, install to run the Video Recording App
Gooseneck mounts for webcams N/A
GPU Nvidia A minimum of 8GB GPU memory is recommended to run OpenPose, 12GB is ideal
Java 11 Oracle Install to run the Video Recording App
Microsoft Surface tablet  Microsoft
NoMachine  NoMachine Ideal when using a Linux OS, open-source
OpenPose  N/A open-source
Rclone file transfer program Rclone Encrypts data and copies or moves data to offsite storage, open-source
StrivePD app RuneLabs We installed the app on the Apple Watches to start recordings and upload data to an online portal.
Summit RC+S neuromodulation system Medtronic For investigational use only
touchscreen-compatible monitor N/A
Video for Linux 2 API The Linux Kernel Install if using a Linux OS for video recording 
Wasabi  Wasabi Longterm cloud data storage
WireGuard VPN Protocol WireGuard open-source

DOWNLOAD MATERIALS LIST

References

  1. World Health Organization. Parkinson disease. , https://www.who.int/news-room/fact-sheets/detail/parkinson-disease (2022).
  2. Herrington, T. M., Cheng, J. J., Eskandar, E. N. Mechanisms of deep brain stimulation. Journal of Neurophysiology. 115 (1), 19-38 (2016).
  3. Little, S., et al. Adaptive deep brain stimulation for Parkinson's disease demonstrates reduced speech side effects compared to conventional stimulation in the acute setting. Journal of Neurology, Neurosurgery & Psychiatry. 87 (12), 1388-1389 (2016).
  4. Mohammed, A., Bayford, R., Demosthenous, A. Toward adaptive deep brain stimulation in Parkinson's disease: a review. Neurodegenerative Disease Management. 8 (2), 115-136 (2018).
  5. Gilron, R., et al. Long-term wireless streaming of neural recordings for circuit discovery and adaptive stimulation in individuals with Parkinson's disease. Nature Biotechnology. 39 (9), 1078-1085 (2021).
  6. Ray, N. J., et al. Local field potential beta activity in the subthalamic nucleus of patients with Parkinson's disease is associated with improvements in bradykinesia after dopamine and deep brain stimulation. Experimental Neurology. 213 (1), 108-113 (2008).
  7. Neumann, W. J., et al. Subthalamic synchronized oscillatory activity correlates with motor impairment in patients with Parkinson's disease. Movement Disorders: Official Journal of the Movement Disorder Society. 31 (11), 1748-1751 (2016).
  8. Swann, N. C., et al. Adaptive deep brain stimulation for Parkinson's disease using motor cortex sensing. J. Neural Eng. 11, (2018).
  9. Little, S., et al. Adaptive deep brain stimulation in advanced Parkinson disease. Annals of Neurology. 74 (3), 449-457 (2013).
  10. Connolly, M. J., et al. Multi-objective data-driven optimization for improving deep brain stimulation in Parkinson's disease. Journal of Neural Engineering. 18 (4), 046046 (2021).
  11. Stanslaski, S., et al. Creating neural "co-processors" to explore treatments for neurological disorders. 2018 IEEE International Solid - State Circuits Conference - (ISSCC). , 460-462 (2018).
  12. Rights (OCR), O. for C. The HIPAA Privacy Rule. HHS.gov. , https://www.hhs.gov/hipaa/for-professionals/privacy/index.html (2008).
  13. Rights (OCR), O. for C. The Security Rule. HHS.gov. , https://www.hhs.gov/hipaa/for-professionals/security/index.html (2009).
  14. Perrone, R., Gilron, R. SCBS Patient Facing App (Summit Continuous Bilateral Streaming). , https://github.com/openmind-consortium/App-SCBS-PatientFacingApp (2021).
  15. Strandquist, G., et al. In-Home Video and IMU Kinematics of Self Guided Tasks Correlate with Clinical Bradykinesia Scores. , (2023).
  16. Donenfeld, J. A. WireGuard: Next Generation Kernel Network Tunnel. Proceedings 2017 Network and Distributed System Security Symposium. , (2017).
  17. etzion. Ubuntu 20.04 and TPM2 encrypted system disk - Running Systems. , https://run.tournament.org.il/ubuntu-20-04-and-tpm2-encrypted-system-disk/ (2021).
  18. Craig-Wood, N. Rclone. , https://github.com/rclone/rclone (2023).
  19. Chen, W., et al. The Role of Large-Scale Data Infrastructure in Developing Next-Generation Deep Brain Stimulation Therapies. Frontiers in Human Neuroscience. 15, 717401 (2021).
  20. Hidalgo, G. inés, et al. CMU-Perceptual-Computing-Lab/openpose. , https://github.com/CMU-Perceptual-Computing-Lab/openpose (2023).
  21. Cao, Z., Hidalgo, G., Simon, T., Wei, S. E., Sheikh, Y. OpenPose: Realtime Multi-Person 2D Pose Estimation Using Part Affinity Fields. IEEE Transactions on Pattern Analysis and Machine Intelligence. 43 (1), 172-186 (2021).
  22. Cao, Z. openpose/calibration_module.md at master · CMU-Perceptual-Computing-Lab/openpose. , https://github.com/CMU-Perceptual-Computing-Lab/openpose/blob/master/doc/advanced/calibration_module.md (2023).
  23. Sellers, K. K., et al. Analysis-rcs-data: Open-Source Toolbox for the Ingestion, Time-Alignment, and Visualization of Sense and Stimulation Data From the Medtronic Summit RC+S System. Frontiers in Human Neuroscience. 15, 398 (2021).
  24. Ranti, C. Rune Labs Stream API. , https://docs.runelabs.io/ (2023).
  25. ffmpeg development community. FFmpeg Formats Documentation. , https://ffmpeg.org/ffmpeg-formats.html (2023).
  26. Goetz, C. G., et al. Movement Disorder Society-sponsored revision of the Unified Parkinson's Disease Rating Scale (MDS-UPDRS): Scale presentation and clinimetric testing results: MDS-UPDRS: Clinimetric Assessment. Movement Disorders. 23 (15), 2129-2170 (2008).

Tags

自适应深部脑刺激、神经系统疾病、帕金森病、ADBS算法、症状相关生物标志物、实时调整、手动调谐、优化配置、远程监控、数据采集平台、神经数据、惯性数据、视频数据、隐私保护
将诊所带回家:支持自适应深部脑刺激的家庭多模态数据收集生态系统
Play Video
PDF DOI DOWNLOAD MATERIALS LIST

Cite this Article

Strandquist, G., Frączek, T.,More

Strandquist, G., Frączek, T., Dixon, T., Ravi, S., Bechtold, R., Lawrence, D., Zeng, A., Gallant, J., Little, S., Herron, J. Bringing the Clinic Home: An At-Home Multi-Modal Data Collection Ecosystem to Support Adaptive Deep Brain Stimulation. J. Vis. Exp. (197), e65305, doi:10.3791/65305 (2023).

Less
Copy Citation Download Citation Reprints and Permissions
View Video

Get cutting-edge science videos from JoVE sent straight to your inbox every month.

Waiting X
Simple Hit Counter