LTAFDB (ltafdb) — AI-Ready Wikipedia

PhysioNet Long-Term AF Database——84 条阵发性或持续性房颤受试者的双导联 24-25 小时 Holter 心电图,128 Hz / 12-bit 采样,900 万级人工复核心拍与节律注释(2012 年补齐),ODC-BY 1.0 全量开放无注册门槛;它是长期房颤节律分类、AF 负荷量化与短阵 AF 检测的高噪声真实世界基准,也是 PhysioNet/Computing in Cardiology Challenge 2004(AF 终止预测)的原始数据源

来源 Northwestern University 采集的 24-25 小时双导联动态心电(Holter)记录,经 Boston Beth Israel Deaconess Medical Center 数字化;84 条记录按 0xx(56 条)/1xx(19 条)/2xx(9 条)三段编号,0xx 段为 2004 年 AF 终止挑战赛的摘录来源;2012 年起随附 MEDICALgorithmics PocketECG 系统自动 + 人工复核的 atr 参考注释(>9,000,000 条)发布时间: 2026-09-27最后更新: 2026-09-27 阅读 16
LTAFDB (ltafdb) — AI-Ready Wikipedia

信息速览

数据集名称LTAFDB (ltafdb) — AI-Ready Wikipedia
数据类型约 3.5-4 GB WFDB,84 条 24-25 小时记录,128 Hz 双导联,900 万级心拍/节律注释,免费直接下载
规模84 条记录;文献口径 47 名受试者(Frontiers Physiol 2021;12:673819 Table 1),官页未给受试者数,另一文献口径称每条记录来自不同患者——两口径并存,官方无患
接入方式Northwestern University 采集的 24-25 小时双导联动态心电(Holter)记录,经 Boston Beth Israel Deaconess Medical Center 数字化;84 条记录按 0xx(56 条)/1xx(19 条)/2xx(9 条)三段编号,0xx 段为 2004 年 AF 终止挑战赛的摘录来源;2012 年起随附 MEDICALgorithmics PocketECG 系统自动 + 人工复核的 atr 参考注释(>9,000,000 条)
AI 就绪度

LTAFDB(长期房颤数据库)— 高噪声真实世界长期房颤 ECG AI-Ready Wikipedia


INFOBOX — LTAFDB 一屏速览

维度 内容
本质 PhysioNet 开放长期心电数据库:84 条阵发性或持续性房颤受试者的 24-25 小时双导联 Holter 记录
机构 原始记录 Northwestern University(Steven Swiryn 团队);MIT-LCP 发布(George Moody);数字化 Boston Beth Israel Deaconess Medical Center;atr 参考注释 MEDICALgorithmics(华沙)
论文 Petrutiu S, Sahakian AV, Swiryn S. Europace 2007;9(7):466-472(doi:10.1093/europace/eum096,被引 300+)
发布 2008-10-30(v1.0.0,此后未变版);DOI 10.13026/C2QG6Q
规模 84 条 × 24-25 h ≈ 1,960 小时;总心搏 8,996,056 个(AF 心搏 5,326,145);三段编号 0xx 56 条 / 1xx 19 条 / 2xx 9 条
信号 双导联体表 ECG,128 Hz,12-bit,量程 ±20 mV
注释 qrs(自动 QRS 检测,未审计)+ atr(PocketECG 自动 + 人工复核,>9,000,000 条,2012-07-23 补齐);节律标签 9 种
构成 82 条含 AF 段、2 条主要为正常窦律(文献使用口径);官方未发布逐条房颤类型划分
任务 AF 段检测 / 节律分类 / AF 负荷量化 / 短阵 AF 检测 / AF 终止预测(经 2004 挑战集 80 段摘录)
许可 ODC-BY 1.0,公开直链无注册、无 DUA、无 credentialing
挑战史 PhysioNet/CinC Challenge 2004(AF 终止预测)原始数据源:00-75 号记录的 80 段 1 分钟摘录
AI 就绪度 ⭐⭐⭐⭐(4/5)— 参考注释完整 + WFDB 标准格式 + 主流库内置 loader;扣分项:无官方任务划分、qrs 未审计、64 号记录 atr 缺失需自行清洗
访问级别 开放(公开直链:无注册/无 DUA/无 credentialing)
DUO 标签 NRES(无限制研究使用,署名义务除外)
数据层级 库 → 记录(84)→ 通道(2)→ 心搏/节律段(900 万级标注)
页面状态 published

§0 导读:这个数据集解决什么问题

三十秒版

房颤(atrial fibrillation,AF)是最常见的心律失常,也是卒中的重要推手。临床确诊房颤靠的是心电图,而阵发性房颤——来了又走、一天内时隐时现的那种——必须靠长时间记录才能抓住。LTAFDB(Long-Term AF Database,长期房颤数据库)提供的正是这种"整段人生切片"式的数据:84 条每条持续 24-25 小时的双导联动态心电记录,来自阵发性或持续性房颤受试者,128 Hz 采样,由 PhysioNet 于 2008 年正式发布、2012 年补齐 900 万级人工复核参考注释,ODC-BY 1.0 许可全量开放。

它解决的问题是:短片段 ECG 数据集(如 MIT-BIH Arrhythmia Database 的 30 分钟片段)永远教不会模型"房颤在一个真实的日子里长什么样"——阵发与持续如何交替、发作如何起止、噪声与日常活动如何淹没信号。要训练能上 Holter 与可穿戴设备的房颤检测算法,你需要的就是这种带完整时间维度的真实世界数据。

我能用它做什么

  1. 训练/评测房颤检测模型:900 万级心搏中约 532 万个处于房颤节律(Biomed Eng Online 2014 统计),是深度学习房颤分类的大体量训练源之一;
  2. 量化房颤负荷(AF burden):利用 atr 节律段标注计算每条记录的房颤时间占比——这是抗凝决策的核心临床量,短片段库无法提供;
  3. 研究房颤的动态行为:发作起止、昼夜模式、终止前特征(Petrutiu 2007 的主导中频骤降现象即出自这批记录);
  4. 复现 2004 年 AF 终止挑战赛:00-75 号记录衍生出的 80 段 1 分钟摘录是该届赛事的原始数据。

使用总则

本条目所有统计数字截至抓取时点(2026-09-27),以 PhysioNet 官页、archive 镜像实抓文件与锚点文献(Petrutiu 2007 Europace)为准;官方口径缺失处(受试者数、逐条房颤类型、1xx/2xx 编号含义)按存照呈现、不做仲裁;库内互链 rid 均经数据库实核。特别提醒:网络上广泛流传的"60 条持续性 + 24 条阵发性"划分从未出现在任何官方文档中,本条目在坑 1 专论此事。

为什么 2026 年还要写它的百科

一个 2008 年上线的库值得整篇条目的理由有三:其一,它没有被替代——二十年里没有出现"更大、更新、更长期且房颤标注同级"的开放库,长期 AF 节律标注的开放供给仍然稀缺;其二,它处在任务需求曲线的上升侧——可穿戴房颤筛查、AF 负荷量化、长时程自监督预训练,每一个新方向都比上一个更需要"整昼夜 × 真实噪声 × 结构化节律段"的组合;其三,它的坑密度很高但都有解——qrs/atr 双注释、三段编号、无患者映射、口径分裂,每一个都能用一两小时的工程纪律换掉,换不掉的是别人替你踩过坑的知识——本条目的价值就是把这些坑一次性摊开。


§1 数据集速览:十问十答

Q1:LTAFDB 里到底有多少数据?
84 条记录,每条 24-25 小时双导联 ECG(官方明言 record durations vary,时长并不均一)。全库总时长约 1,960 小时(Frontiers Physiol 2021;12:673819 Table 1),总心搏约 8,996,056 个。单条 .dat 文件 37-46 MB,全库量级约 3.5-4 GB(按 archive 目录实测推算,非官方口径)。

Q2:信号是怎么采的?
体表双导联动态心电(Holter),128 Hz 采样,12-bit 分辨率,量程 ±20 mV(官页 Abstract)。原始记录由 Northwestern University 的 Steven Swiryn 团队采集,Boston Beth Israel Deaconess Medical Center 完成数字化。

Q3:受试者是什么人群?
阵发性或持续性房颤受试者(paroxysmal or sustained AF),成人。文献口径 47 名受试者贡献 84 条记录(Frontiers Physiol 2021 Table 1),但官页从未给出受试者数,另有文献按"每条记录来自不同患者"处理——官方无患者映射表,两种口径并存(坑 6)。

Q4:注释是什么级别、谁做的?
两层。.qrs 文件是自动 QRS 检测器的输出(N 心拍 / | 伪迹 / T 人工插入的 AF 终止标记),未经人工审计;.atr 文件是参考注释——MEDICALgorithmics 的 PocketECG 系统算法(FDA 510(k) K112921)自动生成后经人工复核,2012-07-23 全量补入,含心拍类型与节律段变化,总量超过 9,000,000 条。

Q5:有哪些节律标签?
atr 节律段标签 9 种:(N 正常窦律、(AFIB 房颤、(SVTA 室上性心动过速、(VT 室速、(B 二联律、(T 三联律、(IVR 室性自主心律、(AB 房性早搏、(SBR 缓慢窦律。主流研究用法是 AF vs 非 AF 二分类,而非 9 分类(坑 8 相关讨论见 §4.3)。

Q6:每条记录都有房颤吗?
不全是。文献使用口径:82 条含 AF 段,2 条主要为正常窦律(Frontiers Physiol 2021 的用法口径)。但"哪 2 条"官方没有清单,需要按 atr 自行统计;且"含 AF 段"不等于"以 AF 为主",阵发性记录的 AF 负荷可以从接近 0 到接近 100%。

Q7:"60 条持续性 + 24 条阵发性"是真的吗?
不是官方口径。 官页与锚点论文只写 “paroxysmal or sustained AF”,从未发布 84 条的逐条划分。60 这个数字实际来自 2004 年 AF 终止挑战赛——80 段 1 分钟摘录来自 60 名不同受试者(Moody 2004 原文 “80 one-minute recordings of AF from 60 different subjects”)。详见坑 1 与 §3。

Q8:许可证是什么?获取有门槛吗?
ODC-BY 1.0(Open Data Commons Attribution License v1.0)。公开直链:无注册、无 DUA、无 credentialing——与 MIMIC 系的 credentialing 门槛完全不同。引用时须致谢 Petrutiu 2007 论文与 PhysioNet(Goldberger 2000, Circulation 101(23):e215-e220);使用 atr 注释还须致谢 MEDICALgorithmics(详见 §5.3)。

Q9:它和 2004 年的挑战赛是什么关系?
LTAFDB 是 PhysioNet/Computing in Cardiology Challenge 2004(AF 终止预测主题)的原始数据源:挑战赛从 0xx 段(00-75 号)记录中选取 80 段 1 分钟摘录,分三组比拼"预测房颤即将自发终止还是持续"(Event 1)与"区分即将终止前 1 分钟与持续前 1 分钟"(Event 2)。挑战集是 LTAFDB 的子集衍生品,不是另一个库(§3)——但存放位置、标注体系与引用口径三者都独立,混引是高频事故(坑 7)。

Q10:现在还有人在用它发论文吗?
有,而且是深度学习时代的主力训练源之一:2021 年 Frontiers Physiol 的 ECM+CNN 房颤检测(以 LTAFDB 为主训练库、跨三库外测)、2021 年 Sci Rep 的 ResNet 系 10 秒段分类(LTAFDB 贡献 130 万级段落)、torch_ecg 与 wfdb-python 生态均内置 loader。长期高噪声数据在可穿戴房颤监测产品研发中的价值不降反升(§4.2、§6)。

引用本条目 §1.6 速查表时的最后核对动作:三件事缺一不可——数字、出处、截至日期(如"84 条(RECORDS 实抓,2026-09-27)");只写数字不出处的引用,在本库这种口径分裂的高发区等于埋雷。


§1.5 常见误传对照表:网络文本 vs 官方原文

流传说法 官方口径(出处) 判定
“60 条持续性 + 24 条阵发性房颤” 只说 “paroxysmal or sustained AF”,无逐条划分;60 实为 2004 挑战集 80 段摘录的受试者数(官页 Abstract + Moody 2004 CinC 31:101-104) 误传(坑 1)
“84 名患者的数据” 官页无患者数;文献口径 47 名受试者/84 条记录,另一口径称各条来自不同患者——无患者映射表 双口径并存(坑 6)
“每条记录正好 24 小时” “typically 24 to 25 hours” 且 “record durations vary”;Moody 2004 另写 “20-24 hour” 时长不均一,须实测(坑 5)
“qrs 注释是参考真值” 官页明言自动检测输出(below);人工插入仅限 T(终止标记);无"audited"表述 误用风险高(坑 2)
“记录编号 00-83” 实为三段:0xx 56 条 + 1xx 19 条 + 2xx 9 条,RECORDS 按字典序排列 编号即匿名标识(坑 4)
“atr 注释随库首发” 2008 年首发时无 atr;2012-07-23 才由 MEDICALgorithmics 补齐(官页 news) 旧镜像/旧论文代码注意(坑 3)
“挑战赛数据集在 physionet.org/content/ltafdb 里能找到 80 段摘录” 80 段 1 分钟摘录属于独立的 AF Termination Challenge Database,不随 LTAFDB 发布(官页原文另述) 两库勿混(坑 7 相关,§3.4)

七条误传的共同解剖:全部把子集当全集、把文献口径当官方口径、把挑战赛渊源当库划分——三个机制覆盖了本库网络文本里的绝大多数失真。反向检索建议:任何关于 LTAFDB 的二手描述,先找它引用的一手来源(官页还是某论文的转述),找不到一手来源的数字一律按未核证处理。


§1.6 关键数字速查表(引用前 30 秒核对)

数字 值 来源 引用注意
记录数 84 archive RECORDS 文件实抓(2026-09-27) 两段式"60+24"说法勿引
受试者数 47(文献口径) Frontiers Physiol 2021;12:673819 Table 1 官方无口径,标"文献口径"
信号 双导联 ECG 官页 Abstract —
采样率 128 Hz 官页 Abstract 勿与 AFDB 的 250 Hz 混
分辨率/量程 12-bit / ±20 mV 官页 Abstract —
单条时长 typically 24-25 h(不均一) 官页;Moody 2004 写 20-24 h 双口径存照(坑 5)
总时长 1,960 h Frontiers 2021;12:673819 Table 1 按文献统计口径
总心搏 8,996,056(AF 5,326,145) Biomed Eng Online 2014;13:18 Table 1 基于当时的 atr 统计
atr 注释量 >9,000,000 条 官页 news(2012-07-23) 心拍类型 + 节律变化合计
节律标签 9 种 Sci Rep 2021;11:11038 + torch_ecg 主流用 AF/非 AF 二分类
发布日期 2008-10-30(v1.0.0) 官页 news 版本至今未变
DOI 10.13026/C2QG6Q 官页 DOI 文件(2015-09-21) —
许可 ODC-BY 1.0 官页 License 字段 无注册/DUA/credentialing
挑战集 80 段 × 1 min(00-75 子集,60 名受试者) 官页 + Moody 2004 属独立挑战库,勿混
单文件大小 .dat 37-46 MB archive 目录实测(69/70/75 号) 全库约 3.5-4 GB(推算)

§1.7 本条目未覆盖之处与延伸阅读

  1. 80 段挑战集的逐段清单与官方成绩全表:属 AF Termination Challenge Database 范畴,本条目 §3 只交代与 LTAFDB 的渊源与口径,逐段分析见 Moody 2004(Computing in Cardiology 31:101-104)原文;
  2. 房颤的临床治疗决策(抗凝、消融适应证):本条目是数据集条目,临床决策请循指南,§2 仅铺陈理解数据所需的最低限度医学背景;
  3. WFDB 格式的完整规范:§2.7 与附录 C 给出够用的读取骨架,格式全集见 PhysioNet 的 WFDB 官方文档;
  4. 同库之外的 Holter 工程细节(电极粘贴协议、记录仪型号逐台清单):官方文档未披露到该粒度,本条目不做推测性重建。

§1.8 一条典型记录的 24 小时时间轴(叙事版)

把 atr 节律段在时间轴上铺开,一条阵发性受试者的记录大致长这样(合成示意,非逐条官方描述):

00:00 ────(N 窦律)────────┐
07:30                     └──(AFIB 发作)──┐
09:10                                     └──(N 终止,自发)──┐
11:40                                                      └─(AFIB 再发)─┐
15:20                                                                    └(N)─┐
18:00                                                                         └(AFIB 持续至记录结束)

这个结构决定了 LTAFDB 任务的四个特征:

  1. 段级交替是常态:多数记录在 (N 与 (AFIB 间多次切换,"整条记录一个标签"的思路不成立——样本窗口必须小于段间切换粒度;
  2. AF 负荷差异巨大:从"全天不到 1%"到"几乎全天 AF"的记录并存(这也是 82/2 划分与阵发/持续分层的现实基础);
  3. 终止事件可数:自发终止次数可从节律段序列直接数出——终止预测研究的数据基础;
  4. 昼夜信息缺失:时间轴只有相对时长,无绝对时刻(去标识使然),"夜间 AF 更密集吗"这类问题在本库只能建模为相对时间模式(§2.10、FAQ B5)。

§1.9 阅读路径图:四类读者各取所需

你是 最短路径 跳过什么
算法工程师(马上要训练) §1.6 速查 → §2.3 注释体系 → §2.11 三天路径 → §4.5 协议模板 → 附录 C 代码 §3、§6
论文写作者(引用数字) §1.5 误传表 → §1.6 速查 → §4 基准全景 → §5.3 引用义务 → 附录 A 存照 §2.7、附录 C
数据工程(入库/治理) §2.2 编号体系 → §2.5 文件清单 → §2.13 错误读取速查 → §9.2 DAIMS 表 §3、§4.4
综述/调研(画像一个库) §0 导读 → §2.8 体量对照 → §6 生态 → §9 全章 → FAQ §2.4b、附录 C

§2 数据构成与规格

2.1 信号本体:128 Hz × 双导联 × 一整个昼夜

LTAFDB 的每条记录是一段 24-25 小时的体表双导联动态心电:128 Hz 采样、12-bit 分辨率、量程 ±20 mV(官页 Abstract)。这三个数字决定了它的技术定位:

  • 128 Hz 明显低于 diagnostic ECG 的 500-1,000 Hz,但高于早期 Holter 的 100 Hz 量级——对 QRS 定位与节律分类绰绰有余,对 QT/离散度级别的形态学测量偏紧。与 MIT-BIH Arrhythmia Database(360 Hz)、MIT-BIH Atrial Fibrillation Database(250 Hz)做跨库对照时,重采样对齐是第一步(坑 8 的邻接问题之一);
  • 双导联 是 Holter 的典型配置(通常为 modified lead II + modified lead V1/V5 类位置),两条导联互为备份:一条被伪迹淹没时另一条常可用——这是单导联数据集(如部分可穿戴数据)没有的容错结构,也是高质量 AF 检测模型 routinely 利用的信息;
  • ±20 mV 量程 + 12-bit 意味着 ADC 步长约 9.77 μV,对体表 ECG 足够;但日常活动(走动、上肢动作)的基线漂移与肌电噪声会大量进入这个动态范围——这正是"真实世界"三个字的代价,也是它对可穿戴场景的价值所在。

每条记录时长 typically 24 to 25 hours,且官方明言 record durations vary——不要假设任何两条记录等长,程序里一律按头文件实际采样数计算(坑 5)。

2.1b 三个参数的工程推导(为什么它们够用、在哪不够)

128 Hz → 奈奎斯特 64 Hz:QRS 主能量 5-25 Hz、P/T 波 0.5-10 Hz、f 波 3-10 Hz,全部远低于 64 Hz 上限——节律任务的信息完整;心室晚电位(>100 Hz)与高频 QRS 形态细节超出采集范围——形态学敏感任务受限。设计滤波器时注意:工频陷波(50/60 Hz)在 128 Hz 下与奈奎斯特边界距离仅 64 Hz,零相位滤波(filtfilt 双向)避免相位失真。

12-bit ±20 mV → 步长 9.77 μV:体表 R 波幅度 0.5-3 mV,占满量程的低 1-2 位 decades——动态范围充裕;但 9.77 μV 的量化步长意味着 f 波(几十 μV 级)只占十几个量化级——做 f 波形态分析时要考虑量化噪声,做 RR/节律分析无影响。

24-25 h × 128 Hz × 2 导联 ≈ 2,700 万-2,900 万采样点/条:单记录内存展开 float64 约 220 MB——84 条全量进内存不现实,管线必须流式(按记录逐条或按窗口切片),这也解释了为什么 torch_ecg loader 用缓存目录而非全量内存映射。

2.2 84 条记录与三段编号体系

RECORDS 文件实抓 84 行(2026-09-27),编号分三段:

段 编号范围 条数 官方解释
0xx 段 00, 01, 03, 05, 06, 07, 08, 10, 11, 12, 13, 15-26, 28, 30, 32-35, 37-39, 42-45, 47-49, 51, 53-56, 58, 60, 62, 64, 65, 68-72, 74, 75(跳号) 56 官页明言 “those numbered 00 through 75” 是 2004 年 AF 终止挑战赛 80 段摘录的来源子集
1xx 段 100-105, 110-119, 120-122(跳号) 19 官方未解释
2xx 段 200-208(连号) 9 官方未解释

三个阅读提醒:

  1. 编号是匿名标识,不是顺序索引——不能从编号大小推断采集顺序、病情轻重或任何分组语义;1xx/2xx 段是否对应不同采集批次/人群,官方没有任何文档(存照,坑 4);
  2. RECORDS 按字典序排列:100 排在 10 与 101 之间——按"数字大小"解析会得到错误顺序;逐行 strip() 后按字符串处理即可;
  3. 两段式跳号意味着编号不连续:不存在 02、04、09……号记录,按 range() 遍历会扑空,遍历一律以 RECORDS 文件为准;
  4. 挑战集摘录只涉及 0xx 段——如果你的实验只用挑战集渊源(终止事件研究),实际只需要 0xx 段的 56 条;1xx/2xx 段是纯"额外"的房颤语料,无事件标记,处理策略可与 0xx 段不同(但要在协议里显式分列)。

2.3 双注释体系:qrs(检测器输出)与 atr(参考注释)的三层结构

理解 LTAFDB 的关键文件学:同一批心搏有两个注释文件,地位完全不同。

层 文件 产生方式 内容 地位
信号层 .dat + .hea 数字化设备 双导联波形 原始数据
检测层 .qrs 自动 QRS 检测器(库发布时即有) N = 心拍、\ = 伪迹、T = 人工插入的 AF 自发终止标记(仅 00-75 子集,服务 2004 挑战赛)
参考层 .atr MEDICALgorithmics PocketECG 算法(FDA 510(k) K112921)自动标注 + 人工复核(2012-07-23 补齐) 心拍类型标注 + 节律段变化标注((AFIB/(N/(SVTA…),总量 >9,000,000 条 参考注释(beat 类与节律段层面)

四条推论:

  1. 训练/评测一律用 atr;qrs 的价值是提供检测器基线对照(你的模型 vs 库内置检测器)与伪迹位置线索(| 符号);
  2. qrs 里的 T 符号不是心搏,是 2004 挑战赛主办方为选取"终止前至少 1 分钟无中断"段落而人工插入的事件标记——只在 0xx 段出现,把它当心搏统计会污染心率计算(坑 2);
  3. atr 的"参考"地位来自 FDA 认证算法 + 人工复核的组合,但它仍是标注体系而非"仪器真值":房颤的持续/终止时刻在专家之间本就有秒级分歧,做精细时序评测时要在论文里说明这一局限(§2.10);
  4. 2008 年首发版本没有 atr——从旧镜像、旧论文配套代码或 2012 年前的快照拿数据,可能拿不到参考注释(坑 3)。64 号记录的 atr 仅覆盖约 5/24 小时,30 号记录 .atr 结尾存在异常(torch_ecg 数据检查记录),入 pipeline 前先做逐记录注释完整性自检。两层注释的版本沿革见 §2.3b。

2.3b 注释体系版本时间线:你拿到的到底是哪一代

同一目录在不同年份下载,注释内容的差别可能影响可复现性:

时点 qrs atr 对使用者的含义
2008-10(首发) 全量(含 T 事件标记) 无 2008-2012 年间发表的"LTAFDB 研究"只能用 qrs 或自行标注——引用其数字前先想清楚它的标签从哪来
2012-07-23 后 全量 全量补入(>9,000,000 条) 现行形态:atr 可用,64 号覆盖残缺
2014-02-24 后 全量 全量 增加 MD5/SHA1/SHA256 校验和,可验证下载完整性
2015-09-21 后 全量 全量 增加 DOI 文件,正式引用口径定型

三个推论:其一,复现 2008-2012 年间的论文时不要假设它用了 atr;其二,"库没改版但内容变过"再次成立(§5.5),下载日期是引用元数据的一部分;其三,今天从官方渠道拿到的就是完整形态,除非你在考古旧快照。

2.4 节律标签 9 种与心拍符号体系

atr 节律段标签共 9 种(Sci Rep 2021;11:11038 与 torch_ecg 源码口径一致):

符号 含义 在 LTAFDB 中的典型地位
(N 正常窦性节律 与 (AFIB 交替的主体
(AFIB 心房颤动 本库的主角节律
(SVTA 室上性心动过速 少量出现
(VT 心室性心动过速 稀有
(B 室性二联律 稀有
(T 室性三联律 稀有
(IVR 加速性室性自主心律 稀有
(AB 房性早搏节律 少量出现
(SBR 缓慢窦性心律(sinus bradycardia) 少量出现

心拍级符号(atr/qrs 均可出现):N(正常窦性心搏)、A(房性早搏)、V(室性早搏)、Q(分类不明/起搏心搏)、"(无法分类,常见于伪迹区)、+/M/MB/MISSB/PSE 等融合与节律事件符号(torch_ecg 汇总口径)。

对 AI 任务的三条实操建议:

  1. 9 分类不是默认任务:VT/B/T/IVR 等标签的段落数量极少,直接 9 分类会把稀疏类学崩;主流做法是二分类(AF vs 非 AF)或两级(先判 AF 段,段内再细分);
  2. 节律段是区间不是点:(AFIB ... (N 之间的每个心搏都属于 AF 段,切样本窗口时按区间归属打标签,不要按"最近一个节律符号"打标签;
  3. 节律切换点附近 ±2 秒的窗口标注天然含糊(专家分歧所在),训练时可设"切换带丢弃"策略,评测时单独报告切换带性能(§4.3 的口径问题多源于此)。

2.4b 九种节律标签逐一档案(任务视角)

(N — 正常窦性节律)。 本库的"参照底色":规则 RR 间期、形态正常的心搏序列。任务视角:它是 AF/非 AF 二分类里非 AF 类的最大构成,但注意 SBR、AB 等变体也是"非 AF",不要把 (N 当成全部负类。

(AFIB — 心房颤动)。 主角节律:P 波消失、RR 绝对不齐、f 波细颤。任务视角:AF 负荷量化、段检测、终止预测全部围绕它;节律段边界处 ±2 秒的切换带是标注天然含糊区(§2.4 建议 3)。

(SVTA — 室上性心动过速)。 规整快节律。任务视角:经典混淆源——RR 规则这一点与 AF 相反,但心率抬升会让部分特征(如 RR 统计量)漂移;把 SVTA 段当 AF 训练会教坏模型,把它当非 AF 负类则是正确用法。

(VT — 室性心动过速)。 宽 QRS 快节律,稀有。任务视角:样本量不足以学出独立类目(DAIMS #7);保留在非 AF 侧即可,误差分析时单独点名。

(B — 室性二联律)。 正常搏与室性早搏 1:1 交替,RR 间期成对出现。任务视角:成对 RR 会伪造"不齐"假象,是 AF 假阳性的经典制造者——特征工程里"RR 不齐"指标必须先排除成对模式。

(T — 室性三联律)。 每 3 搏一组的周期模式,同 B 的缩小版风险。

(IVR — 加速性室性自主心律)。 室性起源的规整节律,稀有。任务视角:同 VT 处理——归入非 AF,不独立建模。

(AB — 房性早搏节律)。 房早频发段落。任务视角:房早是 AF 的前哨信号(临床上相关),但它不是 AF;模型把 AB 段判成 AF 是常见误差类型,评测时值得单独统计。

(SBR — 窦性心动过缓)。 慢而规整。任务视角:心率类特征会把 SBR 与"AF 终止后复律"的慢节律弄混;终止预测任务里 SBR 段的处理要单独声明。

2.5 文件清单:archive 目录里到底有什么

archive 镜像(https://archive.physionet.org/pn3/ltafdb/)的逐记录文件结构(以 30 号记录为骨架示意):

ltafdb/
├── RECORDS                  # 84 行记录名清单(字典序)
├── RECORDERS                # 记录设备说明
├── CHECKSUMS/               # 2014-02-24 添加:MD5/SHA1/SHA256 校验和
├── SHA256SUMS.txt           # 全库 SHA256
├── DOI                      # 2015-09-21 添加:DOI 10.13026/C2QG6Q 情报
├── 00.dat  00.hea  00.qrs  00.atr   # 每条记录的四件套
├── 01.dat  01.hea  01.qrs  01.atr
├── ...
├── 30.dat  30.hea  30.qrs  30.atr   # 注意:30.atr 结尾异常(存照)
├── ...
├── 64.dat  64.hea  64.qrs           # 64 号无有效 atr(仅约 5/24 h,存照)
├── ...
├── 75.dat  75.hea  75.qrs  75.atr
├── 100.dat 100.hea 100.qrs 100.atr
├── ...
└── 208.dat 208.hea 208.qrs 208.atr  # 2xx 段 9 条

要点:

  • .dat 单文件 37-46 MB(69 号 42 MB、70 号 46 MB、75 号 37 MB 实测),84 条合计约 3.5-4 GB(推算口径);
  • 没有官方打包 ZIP——archive 是逐文件目录树,批量下载用 wget -r/curl 循环或 wfdb 库的远程读取(§5.1);
  • 官方页 Files 区提供按记录勾选的浏览器下载;PhysioBank ATM 可直接在线可视化,不必下载即可核对某段波形(§5.4)。

2.6 一条记录的完整解析示例(文字版)

以 30 号记录为例走一遍"打开一条记录你会看到什么":

  1. 30.hea 头文件声明:2 通道、128 Hz、每通道采样数约 1,100 万-1,150 万(24-25 小时 × 128 Hz × 3600 秒)、增益与 ADC 信息、导联名(两个 modified 导联)。头文件曾被改错过:20 号记录的 .hea 有过一处错误,由 Mariano Llamedo Soria 报告后修正(官页致谢区)——遇到"读取报错先怀疑自己还是先怀疑头文件",答案是先核对官页最新版本(坑 3 的邻接事实);
  2. 30.dat 是二进制采样流:212 格式(12-bit 双通道打包于 3 字节,WFDB 格式 212)或同类紧凑格式,按头文件声明的格式解析;
  3. 30.qrs:自动检测的心搏序列,密度约每分钟 40-110 个标记,夹杂 | 伪迹标记;
  4. 30.atr:心搏类型 + 节律段标注。该记录的 .atr 结尾异常(torch_ecg 检查记录)——wfdb 库读到最后可能报 truncation 类警告,稳妥做法是截到最后一个完整心搏标注为止;
  5. 期望统计(以全库口径反推):24-25 小时 ≈ 10-12 万心搏/条,全库 84 条 ≈ 900 万心搏,其中约 59% 处于 (AFIB 段(5,326,145/8,996,056,Biomed Eng Online 2014 口径)。

走完这五步,你就见过本库全部四类文件(.dat/.hea/.qrs/.atr)、全部三种异常(64 覆盖残缺/30 结尾异常/20 头文件历史错误中的一种形态)和一次节律段统计——剩下的 83 条只是同样的动作循环。

2.7 WFDB 格式与多语言读取现状

LTAFDB 采用 PhysioBank 标准 WFDB 格式(waveform database),读取生态极为成熟:

工具 语言 用法 备注
wfdb-python Python wfdb.rdrecord('30', pn_dir='ltafdb') / wfdb.rdann('30', 'atr', pn_dir='ltafdb') MIT-LCP 官方维护,支持直接从 PhysioNet 流式读取无需手动下载
torch_ecg Python 内置 LTAFDB loader(CACHEDir 缓存 + beat/rhythm 双粒度标签映射) 深度学习管线最省事;已内置 9 种节律标签与 beat 符号表
WFDB Software Package C rdann/rdsamp 命令行 经典工具链,PhysioNet 官方
MATLAB wfdb MATLAB WFDB Toolbox App 集成

两个格式细节:

  1. .dat 的 ADC 原始值需按 .hea 里的 gain/baseline 换算成 mV;wfdb 库的 physical=True(默认)已代劳,但做数据增广或自定义量化时要用 physical=False 拿原始整数,避免浮点往返损失;
  2. 128 Hz 意味着 10 秒窗 = 1,280 点、60 秒窗 = 7,680 点——下游论文的"10 秒段"口径(Sci Rep 2021)与"1 分钟段"口径(Moody 2004 挑战集)在 LTAFDB 上分别对应这两个长度,跨论文比较时先换算成时间而不是点数(坑 7)。

缓存与离线工作流:pn_dir='ltafdb' 的远程直读第一次会把文件下到本地缓存目录(默认 ~/.physionet.org,可用环境变量 WFDB_CACHE_DIR 重定向)——CI 与集群任务请预先跑一遍"全库预热"脚本再并行消费,避免 84 个 worker 各自下载同一文件的雪崩;离线集群则用 §5.1 方式一/二整库落地后把 pn_dir 指向本地目录,代码零改动。

2.8 与同代生理信号数据集的体量对照

数据集 记录数 单条时长 采样率 标注重心 与 LTAFDB 的关系
MIT-BIH Arrhythmia Database 48 30 min 360 Hz 心拍级( beats 分类金标准) 心拍分类基准;LTAFDB 提供的是"长时程节律"维度
MIT-BIH Atrial Fibrillation Database 23 10 h 250 Hz 节律级(AF/非 AF) 最近的兄弟库:同为长期 AF 节律标注,但时长 10 h 且多数为阵发样本;跨库外验的标配对象
LTAFDB 84 24-25 h 128 Hz 节律级 + 心拍级(900 万级) 本条目
PTB-XL 21,837 10 s 500 Hz 诊断语句级 短片段大体量;12 导联形态学基准,AF 相关任务只占其标签树一角
Apnea-ECG (CinC 2000) 70 晚 逐晚 ≈8 h 100 Hz 每分钟呼吸暂停事件 同为"整夜/整日长记录"谱系,任务不同(睡眠呼吸暂停)

这张表决定了 LTAFDB 的生态位:它是 PhysioNet 家族里"长期 + 房颤 + 大体量节律标注"三者兼得的标准答案——MIT-BIH AFDB 更经典但小 5 倍时长口径,PTB-XL 大 260 倍但单条只有 10 秒。房颤检测论文的标准配比因此常常是:LTAFDB/AFDB 训练 + 外部 Holter 或单导联数据外测。

2.9 数据质量三维评估(工程视角)

维度 评级 依据
信号完整性 ⭐⭐⭐⭐ 84 条全部可读;ADC 无效段与伪迹由 qrs 的 `\
标注完整性 ⭐⭐⭐ atr 2012 年补齐且经人工复核,但 64 号记录覆盖仅约 5/24 h、30 号结尾异常、qrs 全库未审计;无逐条标注覆盖率官方清单
元数据完整性 ⭐⭐ 有:记录数、采样规格、时长范围、许可、致谢;无:受试者数官方口径、年龄/性别/用药、逐条房颤类型、1xx/2xx 编号语义、患者映射表——做人群分层研究请绕行或自行推断

三维解读:信号层近乎满分是 Holter 研究库的常规水准;标注层的"缺角"集中在覆盖率透明度而非标注质量——官方没有逐条 atr 覆盖清单,导致 64 号这类残缺只能靠社区发现,这是本库最值得做却没人做的社区贡献点;元数据层是全库最大短板(⭐⭐),它与 DAIMS 表的 #8/#15/#18 三个 ⚠️/❌ 直接对应——工程上的一切划分与分层困难,根子都在元数据层。

2.10 官方自己承认的局限(官页/论文原文级)

  1. 官页对 qrs 的表述是自动检测输出(“automatically”),人工成分仅限 T 标记——官方从未宣称 qrs 经过审计;
  2. atr 由"算法 + 人工复核"产生:FDA 认证的是算法(K112921),人工复核的协议与标注者间一致性未公布——没有 Cohen’s κ 类一致性数字可引;
  3. 官页明言 record durations vary——时长不均一是官方承认的属性;
  4. 官页致谢区记录了 20 号记录头文件错误(用户报告修正)——头文件层面存在过 bug 史;
  5. 锚点论文(Petrutiu 2007)的研究范围是 57 次阵发发作的终止特征,不承担"84 条全库标注质量"的证明责任——把论文结论外推为全库标注质量的证据是越界引用;
  6. 1xx/2xx 段编号含义官方无任何说明——本条目按"编号即匿名标识"处理,任何基于编号分段的实验设计都缺乏官方依据,应在论文中明确声明这是研究者自定义假设。

2.11 一个研究者的三天上手路径

第一天(看与算): 用 PhysioBank ATM 在线打开 30、64、202 三条记录( deliberately 选了 0xx/异常 atr/2xx 各一),肉眼建立"AF 段 vs 窦律段"的波形直觉;下载 RECORDS 与全部 .hea,写脚本统计逐条时长、采样数、atr 覆盖时长——产出你自己的"84 行元数据表",这张表是后面一切实验的地基。

第二天(读与对): wfdb-python 流式读取三条记录的信号 + atr,把节律段画在信号上方(用 wfdb.plot_items 或自绘);核对三件事:atr 心搏数与 qrs 心搏数的差值、(AFIB 段占比与 Biomed Eng Online 2014 的全库 59% 是否同量级、64 号记录的 atr 截止时刻。画图时留意两个现象:切换点附近的 RR 间期"抖动带"(标注含糊的视觉呈现)与起搏样规整段(若遇到,回查 §2.4b 的 (IVR/起搏讨论)——见到它们意味着你的切窗策略需要切换带设计,而不是简单的均匀滑窗。

第三天(切与练): 定下你的切分口径(10 秒段 or 60 秒段 or beat 级),实现"按受试者划分"的训练/测试切分(受试者映射缺失时至少按记录划分并在论文里声明,坑 6),跑通一个 AF vs 非 AF 的 baseline(Sci Rep 2021 的 ResNet 配方或 torch_ecg 自带模型),记录基线指标——此后所有改进都在同一口径上进行。

2.12 五条代表性记录的自检画像

五条记录覆盖了本库已知坑的全部类型,建议作为任何新 pipeline 的首批试金石:

记录 段 已知事实 自检它什么
00 0xx 2004 挑战集来源子集成员 qrs 里是否出现 T 标记(事件语义,非心搏);atr 节律段切换是否完整
30 0xx .atr 结尾异常(torch_ecg 记录) rdann 能否读到底;截到最后完整心搏后统计是否稳定
64 0xx atr 仅覆盖约 5/24 h atr 覆盖时长/信号时长的比值;把覆盖比纳入数据集卡
75 0xx .dat 37 MB(偏小端样本) 头文件采样数 vs 实际时长;量程/增益换算 sanity check
202 2xx 2xx 段代表(官方未解释编号语义) 2xx 段与 0xx 段的信号/标注分布是否同质(自建检验,结论写进论文)

五条全通过再批量处理 84 条——这一步花的是小时级时间,省掉的是"第 40 条记录让 DataLoader 崩溃"级别的返工。

2.13 十种高频错误读取方式与修复(工程陷阱速查)

# 错误做法 后果 修复
1 range(84) 生成记录名 大量 404/KeyError 读 RECORDS 做清单(坑 4)
2 按整数排序处理 RECORDS 顺序错乱(100 < 20 的字典序陷阱) 字符串逐行处理
3 固定 24×3600×128 分配数组 尾部越界或长度不符 读 .hea 的 sig_len
4 qrs 当真值训练 检测器误差注入标签 监督一律用 atr(坑 2)
5 T 符号计入心搏 心率统计污染 T 只作事件(坑 2)
6 假设每条都有有效 atr 64/30 号崩溃 注释完整性自检(坑 3)
7 忘记 physical 换算 幅度单位错(ADC 整数当 mV) wfdb physical=True 或按 .hea gain/baseline 手动换算
8 段级标签用"最近节律符号" 切换带窗口标签错位 区间归属打标(§2.4)
9 跨库不重采样直接混 频谱/特征域错位 统一目标采样率并声明(坑 8)
10 NaN 直接丢采样点 时间轴错位 NaN 置 0 或按段剔除并保持索引连续(附录 C 注释)

§3 挑战赛渊源:2004 年 AF 终止预测赛与它的"母库"

3.0 挑战全程时间线(与 LTAFDB 相关的部分)

时间 事件 出处
约 2000 年前后 Northwestern 团队完成 24-25 小时 Holter 原始采集 Europace 2007 论文背景
2003-07-18/19 archive 内 .dat/.hea/.qrs 文件时间戳(数字化批次落盘) archive 文件属性实抓
2004 PhysioNet/CinC Challenge 2004:从 00-75 号记录选 80 段 1 分钟摘录办赛;qrs 文件人工插入 T 终止标记 官页原文 + Moody 2004, CinC 31:101-104
2007 Petrutiu/Sahakian/Swiryn 在 Europace 发表终止前主导频率研究(doi:10.1093/europace/eum096) 论文
2008-10-30 PhysioNet 正式发布 LTAFDB v1.0.0 官页 news
2012-07-23 MEDICALgorithmics atr 参考注释全量补入(>9,000,000 条) 官页 news
2014-02-24 校验和文件(MD5/SHA1/SHA256)上线 archive 文件属性
2015-09-21 DOI 文件(10.13026/C2QG6Q) archive 文件属性
2026-08 PhysioNet 平台综述引 LTAFDB 为长期信号代表库 Nature Health 1(8):792-795

时间线揭示一个常被忽略的事实:LTAFDB 正式发布(2008)晚于 2004 挑战赛四年——挑战赛的 80 段摘录先于母库面世,这是"挑战集是 LTAFDB 衍生品"叙述容易讲反的原因。

3.1 80 段摘录的构成:N/S/T 三组

挑战组织者从 0xx 段(00-75 号)记录中筛选 AF 自发终止事件,构造 80 段 1 分钟双导联摘录,分三组:

  • Group N(持续组):摘录末尾 AF 不会终止——1 分钟后房颤持续存在;
  • Group S(即止组):摘录末端 AF 即将自发终止;
  • Group T(终止后组):摘录包含自发终止时刻,终止点位于段内。

三组共用同一批 0xx 段受试者记录——这意味着三组之间的差异不是人群差异而是同一批心电的不同时间段形态,挑战赛比的是纯时序形态识别,没有人群泛化成分(这也是它的成绩不能外推到"房颤人群检测"的原因)。

学习集每组 10 段(带参考标注公开),测试集两组:测试集 A 30 段(Event 1:判 N vs T)、测试集 B 20 段(Event 2:判 S vs T)。"T"符号正是在构造这份摘录时被人工插入 0xx 段记录的 qrs 文件的(官页原文),所以 0xx 段 qrs 里出现的 T 与挑战赛筛选行为直接相关。

3.2 两个 Event 的任务定义

  • Event 1:给定含终止时刻的 T 组段与不含终止的 N 组段,判"这一分钟结束时房颤会不会立刻自发终止"——本质是终止事件检测;
  • Event 2:给定终止前 1 分钟(S 组)与持续前 1 分钟(N 组),判"这一分钟是不是最后一分钟"——本质是前兆识别,比 Event 1 更难。

计分口径:预测的逐心搏概率与参考比对取对数得分(bpm²/ms 系的官方评分细节见挑战赛官方页)。当年 20+ 支队伍参赛,Event 1 最高 29/30、Event 2 满分 20/20(Moody 2004 总结口径)——注意挑战集样本量极小(30/20 段),这些分数的统计意义有限,其价值在于确认了"终止前 1 分钟存在可分信号"这一命题。

3.3 "60 名不同受试者"口径辨析:60/24 误传的最可能源头

Moody 2004 原文:“80 one-minute recordings of AF from 60 different subjects”。三个数字的三角关系:

  • 80 = 挑战集摘录段数;
  • 60 = 这 80 段背后不同的受试者数(同一受试者可贡献多段——测试集 B 的构造说明里明确有 “2 from each of 10 subjects” 这类设计);
  • 84 = LTAFDB 全库记录数。

网络流传的"60 条持续性 + 24 条阵发性"很可能就是把"60 名受试者"误接到了"84 条记录的划分"上(60 + 24 = 84 的算术巧合强化了误传的自洽感)。官方从未发布 84 条记录的逐条房颤类型清单;需要阵发/持续分层时,只能基于 atr 节律段自行统计 AF 负荷并自定义阈值(如负荷 <X% 记为阵发),并在论文里声明这是研究者口径(坑 1)。

这个误传在传播中有三个变体,检索文献时都会遇到:变体一"60 条持续、24 条阵发"(最常见);变体二"60 例阵发"(把数字方向也搞反了);变体三"84 条中 60 条来自挑战赛"(把 0xx 段 56 条与 60 混淆)。三个变体的共同错误是把受试者数当记录数、把子集渊源当全库划分——看到任何带 60/24 划分的 LTAFDB 描述,都可以直接按本节口径证伪。

3.4 挑战集与 LTAFDB 的边界:四条勿混

  1. 存放位置不同:80 段摘录是独立库(AF Termination Challenge Database),不在 LTAFDB 目录里;
  2. 标注来源不同:挑战集的参考是"段级终止事件"(借人工插入的 T 定位),LTAFDB 的参考是"全时程节律段"(atr);
  3. 规模不同:80 × 1 分钟 ≈ 1.3 小时 vs 全库 1,960 小时;
  4. 引用不同:挑战赛工作引 Moody 2004,LTAFDB 本体引 Petrutiu 2007——把挑战赛成绩标成"LTAFDB 上的成绩"是双重错误(坑 7)。

3.5 从挑战集构造看数据集工程的四个决策

2004 年这 80 段摘录的设计今天读来仍是教科书级的任务工程,四个决策值得移植到任何自建数据集项目:

  1. 窗口长度对齐生理过程:1 分钟窗——足够长以容纳"终止前兆"信号(Petrutiu 2007 的频率下降发生在终止前 1 秒至数分钟尺度),足够短使 80 段能覆盖足够多的终止事件。窗口长度的论证起点是信号变化的物理时间尺度,不是"GPU 装得下多大";
  2. 三组对照把"预测"拆成可判定的子问题:N(不会终止)/ S(即将终止)/ T(终止在段内)三组让"终止预测"从模糊叙述变成两个可评分的是非题(Event 1/2)——任务定义的精细度决定评测的可信度;
  3. 学习集刻意小:每组仅 10 段——迫使方法输出可解释的规则/特征而非大模型过拟合,也把测试集(A 30 + B 20)与学习集严格隔离。小数据挑战赛的逻辑与大数据 benchmark 相反,但样本量、隔离度、评分口径的设计纪律是同一套;
  4. 受试者配额显式化:测试集 B 明确写了 “2 from each of 10 subjects”(每名受试者 2 段)——受试者层面的重叠被官方写明,而不是留给使用者猜测。这恰是 LTAFDB 母库后来最被诟病的缺口(无患者映射表,坑 6)的反面:同一个人做数据集,母库与挑战集的元数据纪律却天差地别——数据集的可用性是逐字段做出来的,不是随规模自动来的。

3.6 2004 挑战赛的意义与局限

意义:它确认了"AF 自发终止存在可测前兆"这一命题(Event 2 满分说明信号可分),并把一批信号处理团队第一次聚到长期房颤问题上;它产生的 T 标记至今留在 0xx 段的 qrs 里,成为本库内嵌的一段挑战史。

局限同样清楚:样本量极小(80 段、约 1.3 小时)、终点单一(终止 vs 不终止)、测试集不公开使得赛后没有可持续的排行榜——它的历史价值大于当代基准价值。今天的终止预测研究更常见的做法是回到母库(本库全量)用节律段切终止事件、按更大样本做时序建模,把挑战集当作历史锚点而非主战场。


§4 基准与成绩:从 2004 到深度学习时代的四代用法

4.1 第一代(2007):终止前兆的生理学发现

Petrutiu、Sahakian、Swiryn(Europace 2007;9(7):466-472)用这批记录研究阵发房颤自发终止前的心房电活动:对 57 次阵发发作(24 名患者)计算 RR 间期主导频率,发现:

  • 阵发发作的 AF 主导频率约 5.2 ± 0.4 Hz,持续性发作约 6.6 ± 0.6 Hz;
  • 57 次发作中 51 次(89%)在终止前 1 秒出现主导频率下降。

这是 LTAFDB 数据的经典生理学产出,也是"AF 终止可预测"命题的实证基础——它意味着终止预测任务存在真实信号而非统计噪声,2004 挑战赛的设计因此被事后验证。

可复现要点:DF(主导频率)分析的最小配方——取 RR 间期序列(atr 心搏时刻差分)→ 重采样为均匀时间序列 → 加窗做功率谱 → 取 3-10 Hz 频段主峰。三个易错点:①重采样插值方法会影响谱形(样条 vs 线性差别可辨),要在方法节声明;②终止时刻的定位用 qrs 的 T 标记(这正是它的设计用途);③论文的 ±0.4/±0.6 Hz 是跨发作标准差,别当测量精度引用。

4.2 第二代(2014):传统信号处理基准

Biomed Eng Online 2014;13:18(符号动力学 + Shannon 熵路线)给出全库节律统计:总心搏 8,996,056,其中 AF 心搏 5,326,145(约 59%)——这个数字至今是"LTAFDB 里房颤占多大比例"的最常被引出处。同期 Frontiers 2021;12:637680 的 regularogram + RR 间期指标路线也以 LTAFDB 为评测库之一,但该文对记录 64 因 atr 覆盖不足(约 5/24 h)作了弃用处理——"64 号记录弃用"因此成为下游的常见做法之一(非官方清单,坑 3)。

4.3 第三代(2021):深度学习时代的主力训练源

研究 模型/路线 LTAFDB 用法 规模口径 关键结果
Frontiers Physiol 2021;12:673819 ECM(心搏周期图)+ CNN 主训练库;受试者数 47 即出自该文 Table 1 non-AF ECM 768,124 / AF ECM 1,052,506 在 AFDB/MITDB/Monzino 外测保持强泛化
Sci Rep 2021;11:11038 ResNet 系(含残差变体家族) 10 秒段分类训练库之一 Non-AF 段 576,355 / AF 段 735,806 大体量段分类基准口径
Frontiers Physiol 2021;12:637680 regularogram + RR 统计 评测库(64 号弃用) 83 条口径 轻量可解释路线

三条读法:

  1. 同库不同切片,数字不可互比:673819 用 beat 级 ECM(约 182 万个)、11038 用 10 秒段(约 131 万段)——两个"约 130-180 万样本"根本不是同一单位,跨文引用必须先问"什么粒度、什么窗口、什么重叠"(坑 7);
  2. 训练/测试划分全部是研究者自定义:官方没有划分;是否按记录划分、是否 64 号弃用、是否含 2 条 NSR 主导记录,每篇论文口径不同——复现时先读方法学节而不是直接跑数字;
  3. 泛化结论的依赖链:LTAFDB(128 Hz 双导联 Holter)→ AFDB(250 Hz)/MITDB(360 Hz)外测要跨采样率与导联域,凡报告"跨库不掉点"的研究,先确认其重采样/归一化协议(坑 8);
  4. 引用规模口径时的"三查":查粒度(段/拍/ECM)、查清洗(是否弃 64/30 号)、查划分(记录级还是随机段级)——三项凑不齐的论文数字只能引用其结论方向,不能引用其数值本身。

4.4 第四代(生态内化):被 loader 吸收的标准库

2020 年代中期起,LTAFDB 的用法进一步"基础设施化":torch_ecg 内置 loader(缓存 + 标签映射 + 心拍/节律双粒度),wfdb-python 支持远程直读,PhysioNet 平台综述(Nature Health 2026)将其列为长期信号代表库。这代用法的特征是它不再是被单独论文定义的基准,而是管线里的一个标准数据集选项——好处是上手成本趋近于零,代价是使用者更容易跳过 §2.3 的注释层级辨析直接训练(这正是本条目坑 2 存在的原因)。

4.5 你自己的 LTAFDB 基准协议模板(可直接抄)

官方不给划分,那就把你的划分写成可复现协议。以下模板六行填完即可作为论文"实验设置"节的数据集子节底稿:

数据集:LTAFDB v1.0.0(PhysioNet,下载日期 YYYY-MM-DD,SHA256SUMS 校验通过)
清洗:弃用 64 号(atr 覆盖 5/24 h);30 号截到最后完整心搏;其余 82 条全保留
标签:来源 .atr 节律段;二分类 AF/非 AF;节律切换点前后 ±2 s 段落弃用(切换带)
切窗:窗口 W 秒、步长 S 秒(不重叠则 S=W)、窗内信号有效性阈值 X%(qrs 伪迹参考)
划分:按记录划分 train/val/test = A/B/C(受试者映射缺失,受试者级不可实现——声明)
指标:段级 SE/PPV/F1 + AF 负荷 MAE;跨库外测:mit-bih-afdb(250 Hz→统一 128 Hz 重采样)

两个使用提醒:其一,±2 秒切换带是经验值,改宽度就做一次敏感性分析(1/2/5 秒各报一次);其二,"82 条全保留"与"弃 2 条 NSR 主导"是不同总体,混在一张表里比较没有意义——协议模板的第一行到最后一行是同一个总体。

4.6 下游论文的方法学配比观察

把 §4.2-4.3 列举的文献按使用方式归类,能看出 LTAFDB 在不同年代论文里扮演的三个角色:

  1. 主训练库型(Frontiers 2021;12:673819):全库(或弃 64 号后的 83 条)切样本直接训练,LTAFDB 的体量与噪声分布就是卖点;
  2. 评测/外测库型(Frontiers 2021;12:637680、Biomed Eng Online 2014):方法在别处开发,LTAFDB 提供长期高噪声域的检验场;
  3. 统计源型(Sci Rep 2021;11:11038 的规模口径引用、各综述的 84 条/128 Hz 数字):不被训练,只被引用——这是引用量最大的一类"用法",也是误传(坑 1)与口径漂移(坑 7)的最高发区。

给写综述的建议:引用本库数字时先归类目标文献属于哪一种角色,规模口径(事实清单 #2-#10)与方法学结论(#25-#30)分列,不要互相推导。


§5 获取与许可:无门槛直链与三层引用义务

5.1 获取三通道(全部无需注册)

# 方式一:官方内容页(v1.0.0,浏览器/wget 直链,Files 区可逐记录勾选)
# https://physionet.org/content/ltafdb/1.0.0/
wget -r -np -nH --cut-dirs=3 -A "*.dat,*.hea,*.qrs,*.atr,RECORDS,RECORDERS" \
     "https://physionet.org/files/ltafdb/1.0.0/"    # 全库约 3.5-4 GB

# 方式二:archive 镜像(历史存档接口,逐文件目录树)
curl -sL -A "Mozilla/5.0" "https://archive.physionet.org/pn3/ltafdb/RECORDS" -o RECORDS
for r in $(cat RECORDS); do
  for ext in dat hea qrs atr; do
    curl -sL -A "Mozilla/5.0" "https://archive.physionet.org/pn3/ltafdb/${r}.${ext}" \
         -o "${r}.${ext}"    # 64 号无有效 atr:404 或残缺文件属预期
  done
done

# 方式三:库内直读(不手动下载,wfdb-python 流式获取并缓存)
# pip install wfdb
python3.11 - <<'PY'
import wfdb
sig, fields = wfdb.rdrecord('30', pn_dir='ltafdb')          # 信号 + 元信息
ann = wfdb.rdann('30', 'atr', pn_dir='ltafdb')              # 参考注释
print(fields['fs'], fields['sig_name'], len(ann.sample))    # 128 ['ECG 1', 'ECG 2'] ...
PY

排障三条:archive 镜像对无 User-Agent 的脚本请求可能拒绝(加 -A);64 号 atr 拿不到属预期(存照);physionet.org 的 files 路径与 content 页路径不同,脚本里用 physionet.org/files/ltafdb/1.0.0/。

三种方式怎么选:

场景 推荐 理由
一次性全库实验 方式一 带白名单的递归下载一次到位,校验和可验
只要部分记录/注释 方式二 循环 curl 精确控制,KB 级注释秒下
多机/CI/频繁重跑 方式三 wfdb 缓存层避免重复传输(§2.7 缓存工作流)
不可预装 wfdb 的环境 方式二 纯 curl/wget,无 Python 依赖

5.2 许可结构:ODC-BY 1.0 一层到底

LTAFDB 全库(信号 + 注释)适用 ODC-BY 1.0(Open Data Commons Attribution License v1.0,官页 License 字段实抓原文)。要点:

  • 开放属性:无注册、无 DUA、无 credentialing、无用途审查——与 MIMIC-IV 系(credentialing + DUA)构成本库生态的两极;
  • 义务:署名(attribution)。来源页/数据库引用 + 论文引用(见 5.3)即满足主义务;
  • 再分发:ODC-BY 允许再分发与衍生库,需保持署名;把 LTAFDB 子集并入自建数据集时,在数据卡中保留 ODC-BY 1.0 声明与引用链;
  • 患者隐私:记录为去标识匿名编号(无年龄/性别/日期元数据),属低敏感形态;但 ECG 波形理论上仍属生物特征数据,商用落地前按目标司法辖区自行评估(本条目不构成法律意见)。

ODC-BY 三问:

  1. “BY 署名到底署谁?”——三层(§5.3):PhysioNet 平台引用 + Petrutiu 2007 锚点论文 + 用 atr 时致谢 MEDICALgorithmics;再分发衍生库时三层信息都要带走。
  2. “ODC-BY 与 CC BY 什么关系?”——ODC-BY 是专为数据库设计的姊妹许可:数据库权利(选择/编排的权利)走 ODC-BY,内容层的版权表达各自适用其版权口径;对本库而言信号与注释就是"内容",实践上按 ODC-BY 1.0 统一署名义务处理即可。
  3. “能改许可再分发吗?”——可以再分发衍生数据集,但衍生品只能以兼容署名的口径继续开放(可加非额外限制),闭源化再分发需要版权方另行授权——把 LTAFDB 打包进商业闭源数据产品前,先向 PhysioNet/版权方书面确认。

5.3 引用要求:三层义务清单

层 对象 引用内容
1. 数据库本体 任何使用 Goldberger AL, et al. PhysioBank, PhysioToolkit, and PhysioNet. Circulation 2000;101(23):e215-e220
2. 锚点论文 任何使用(官方推荐口径) Petrutiu S, Sahakian AV, Swiryn S. Europace 2007;9(7):466-472
3. 注释致谢 使用 atr 参考注释时 致谢 MEDICALgorithmics(华沙)提供 PocketECG 算法注释及协调人 Tadeusiak(官页致谢区两种拼法并存,致谢建议写 “M. Tadeusiak”)

漏第三层是最常见的合规瑕疵:只用 atr 做监督信号却不提 MEDICALgorithmics,属署名义务不完整。

三条落地提示:论文的 Acknowledgments 段与方法节的"数据可用性声明"都要过一遍三层清单(很多论文只在其中一处提全);数据卡/README 的引用块建议直接粘附录 D 的 BibTeX(三个条目齐全);引用"LTAFDB 的注释由算法 + 人工复核产生"这类描述时,同时给出 K112921 编号——它把"人工复核"从一句空话变成了可查证的监管记录。

5.4 不下载的查看路线:PhysioBank ATM 与 LightWAVE

想先看波形再决定下载:PhysioBank ATM(https://archive.physionet.org/cgi-bin/atm/ATM)选库 ltafdb 后可整条浏览、加注释轨、导出片段;LightWAVE 提供网页端注释叠加视图。核对"64 号 atr 到底覆盖到几点""(AFIB 段长什么样"这类问题,在线五分钟解决,不必拉全库。

ATM 五步上手:①库下拉框选 ltafdb;②输入记录名(如 30)回车;③顶部时间导航框输入起点秒数跳转;④勾选 ATR/QRS 注释轨对照显示(§2.3 双层注释肉眼可辨);⑤Export 可导出当前视图区间为 MATLAB/文本格式。LightWAVE 则适合逐心搏核对——注释符号悬停显示含义,标注争议段(如切换带)的排查利器。

5.5 版本链与校验

v1.0.0(2008-10-30)至今未变版——但内容层有过两次实质增补:2012-07-23 atr 全量补入、2014-02-24 校验和文件上线。所以"版本号不变 ≠ 文件集不变",引用固定快照的研究要写明下载日期。下载后校验:archive 的 SHA256SUMS.txt 与 CHECKSUMS 目录(MD5/SHA1/SHA256)齐全,sha256sum -c SHA256SUMS.txt 一条命令验证全库。官页 BibTeX 现指向 PhysioNet 平台引用(Pollard 2026, Nature Health 1(8):792-795, doi:10.1038/s44360-026-00096-z)与 Goldberger 2000 的组合——按 5.3 的三层清单组装即可。抓取动作的可复核声明见附录 H。

5.6 下载排障清单(实测向)

症状 原因 处置
archive 请求 403/被拒 无 User-Agent 的高频脚本请求 加 -A "Mozilla/5.0",降频加 sleep
64.atr 拿不到/极小 库的已知状态(覆盖约 5/24 h) 预期行为,弃用或截断处理(坑 3)
30.atr 读取报 truncation .atr 结尾异常 wfdb 读到最后完整标注为止
physionet.org/files 404 混用了 content 页路径 脚本用 physionet.org/files/ltafdb/1.0.0/
校验和大量 FAIL 旧快照/传输截断 删文件重下;确认走 2014-02-24 后的校验和文件
全库体积与预估不符 只下了部分扩展名或混入了 MathServer 页面 -A 白名单限 .dat/.hea/.qrs/.atr,忽略 HTML
中国大陆网络直连慢 国际链路波动 换 archive 镜像或分段重试;AWS Open Data 无本库镜像(勿混用其他库的镜像地址)

5.7 程序化元数据获取

除了信号文件,三类元数据同样可以程序化获取:官页 HTML(标题/摘要/Authors/Citation/License 字段)、archive 的 RECORDS 与校验和文件、DOI 文件。最小脚本骨架:

# 官页关键信息抽取(title/license/citation 区块)
curl -sL -A "Mozilla/5.0" "https://physionet.org/content/ltafdb/" -o official.html
# RECORDS + 校验和
curl -sL -A "Mozilla/5.0" "https://archive.physionet.org/pn3/ltafdb/RECORDS" -o RECORDS
curl -sL -A "Mozilla/5.0" "https://archive.physionet.org/pn3/ltafdb/SHA256SUMS.txt" -o SHA256SUMS.txt

数据集卡(datasheet)建议的最小字段集:版本号、下载日期、RECORDS 行数、校验和验证结果、atr 覆盖异常记录清单(64/30)——这五项让任何人在一年后能判断"你当时用的是哪份数据"。

§6 生态与影响:长期房颤公共基准的二十年

6.1 在 PhysioNet 谱系中的位置

PhysioNet 家族里,LTAFDB 卡位"长期 × 房颤"这一格。把这个"格"拆开看,四条坐标轴各有一群邻居:

  • 时长轴:30 min(MITDB)→ 10 h(AFDB)→ 24-25 h(LTAFDB)——体表 Holter 的实用上限就在这一天量级,更长(多日)的开放库至今稀少;
  • 节律轴:心拍形态(MITDB)→ 节律段(LTAFDB/AFDB)→ 诊断语句(PTB-XL)——标注的时间粒度从毫秒到语句递增;
  • 疾病轴:心律失常通用(MITDB)→ 房颤专属(LTAFDB/AFDB)→ 多病种(PTB-XL)——专一性越高,同类库越少;
  • 开放度轴:credentialing(MIMIC 系)→ 无门槛直链(LTAFDB/AFDB/PTB-XL)——本库处于最开放端。

四轴交汇处的稀缺性解释了它的生命力:想在"最开放的一格"里找"最大的房颤节律库",唯一答案就是 LTAFDB——这个格位二十年来没有被填上第二个竞争者。

6.2 对方法学社区的四个沉淀

  1. 终止可预测性命题的实证场:2004 挑战赛 + Petrutiu 2007(89% 终止前主导频率下降)合力确认了终止前兆信号的客观存在,催生了后续一连串终止/起止预测研究;
  2. AF 负荷量化的标注基础:atr 节律段让"全天房颤占比"成为可计算量——这是短片段库结构上做不到的任务。负荷量化的方法学讨论(段切分 vs 心搏占比 vs 节律时长比)几乎都以本库标注为示例载体;
  3. 跨采样率/跨导联泛化的试金石:128 Hz 双导联 Holter → 250/360 Hz 库 → 单导联可穿戴数据的迁移链条上,LTAFDB 是最常用的"域内训练源"——域适应与泛化论文需要一个"分布足够真实、标注足够厚"的源域,它正好填位;
  4. 900 万级人工复核对齐样本:为自监督预训练与大窗口模型提供了够体量的真实世界语料(2021 年两篇 Frontiers/Sci Rep 的段/拍级规模即由此而来),也使"预训练-微调"两段式管线在心电领域有了长期数据上的参照实现。

6.3 与临床的距离:从数据库到可穿戴

LTAFDB 诞生的临床动机是阵发房颤检出与负荷量化(两者直接关系抗凝决策);二十年后,单导联消费级设备做房颤筛查成为产业现实,其算法验证的标准做法之一就是"在长期 Holter 库上先验"——LTAFDB 因此从研究库变成了产品管线里的常规评测资产。需要保持清醒的边界:它是 2000 年前后的记录,设备与人群与今天的可穿戴场景存在域差,“在 LTAFDB 上表现好"不等于"在目标人群上表现好”(§9.3 场景判定表)。

6.4 自监督与大窗口时代的新角色

2020 年代后期的研究趋势给 LTAFDB 添了两个新用法。其一,自监督预训练语料:900 万级心搏、1,960 小时的体量刚好够预训练一个心电编码器,而节律段标注又让它能充当预训练后的线性探针评测集——"预训练无标签 + 评测有标签"的双角色在同一个库里完成。其二,长上下文模型的天然测试床:注意力窗口扩到分钟级后,"整条记录级"的任务(负荷回归、终止预测、段切分)从不可训练变成可端到端,LTAFDB 是少数能提供完整监督信号的开放式选择。两个新用法的坑不变:注释层级(坑 2)与划分口径(坑 6)依然是先决工程。

6.5 工具生态快照

资源 类型 链接 推荐理由
wfdb-python Python 库 github.com/MIT-LCP/wfdb-python 官方读取链路,远程直读免下载
torch_ecg Python 库 github.com/DeepPSP/torch_ecg 内置 LTAFDB loader 与标签映射,训练管线最快路径
WFDB Software Package C 工具链 physionet.org/content/wfdb 经典命令行(rdsamp/rdann),批处理与校验
PhysioBank ATM 在线工具 archive.physionet.org/cgi-bin/atm/ATM 零下载浏览波形与注释
LightWAVE 在线工具 archive.physionet.org/lightwave 网页端注释叠加审阅

(生态信息截至 2026-09-27 实核。)


§7 与库内条目的关系

7.1 家族图谱(rid 对照,均经数据库实核)

库内条目 rid 与 LTAFDB 的关系
mit-bih-arrhythmia 69 心拍分类金标准;LTAFDB 常作外测或互补训练维度(30 min vs 24-25 h)
mit-bih-afdb 115 最近兄弟库:同为节律级 AF 标注,10 h × 23 条;跨库外验标配
ptb-xl 70 短片段 12 导联大体量诊断库;AF 相关标签是其中一角
apnea-ecg 658 同属"整夜/整日长记录"谱系(CinC 2000),任务为睡眠呼吸暂停
cinc-2012 660 CinC 挑战链成员(2012:心衰/住院死亡预测)
cinc-2013 662 CinC 挑战链成员(2013:胎儿 ECG)
cinc-2015 487 CinC 挑战链成员(2015:生命体征 reducing false arrhythmia alarms——与 LTAFDB 的报警主题相邻)
physionet-cinc-2016 382 CinC 挑战链成员(2016:正常/异常心音分类)
physionet-cinc-2017 162 CinC 挑战链成员(2017:单导联 AF 分类——与 LTAFDB 任务最相邻的一届)
cinc-2018-sleep 493 CinC 挑战链成员(2018:多导睡眠)
cinc-2019 656 CinC 挑战链成员(2019:脓毒症预测)
cinc-2021 644 CinC 挑战链成员(2021:多源心律分类)
cinc-2023 499 CinC 挑战链成员(2023:肠音)

2004 年挑战赛无独立库内条目(challenge-2004),正文提及不内链。

图谱读法两句:CinC 链是"赛事轴"——看方法学如何随届次演化;MIT-BIH 系与 ptb-xl 是"数据轴"——看标注粒度与规模的谱系。LTAFDB 同时挂靠两轴(2004 届的数据源 + MIT-BIH 系的数据近亲),这也是它适合作为跨库实验枢纽的原因。

7.2 检索路径建议

  • 做 AF 检测/分类:mit-bih-afdb(115) ↔ 本条目 ↔ physionet-cinc-2017(162) 三点连读,覆盖"10 h 节律库 / 24-25 h 节律库 / 单导联挑战赛"三档口径;
  • 做 心拍形态分类:mit-bih-arrhythmia(69) 为主、本条目为长期补充;
  • 做 长时程生理建模:apnea-ecg(658)(整夜)↔ 本条目(整日)对照设计;
  • 做 12 导联诊断图谱:ptb-xl(70) 为主,本条目提供 Holter 域验证;
  • 做 挑战赛方法学史:按 §7.6 年代表沿 cinc 链纵读,注意各届任务的体征模态差异(信号/影像/文本)不可横向比成绩。

7.3 缺口说明

库内暂无 AF Termination Challenge Database(2004 挑战集 80 段)独立条目——涉及挑战集细节的引用请走 Moody 2004 原文;亦无 LTAFDB 的姐妹 Holter 库(如 MIMIC 系 Holter 衍生集)条目,跨库动线暂以 MIT-BIH 系与 CinC 链为主干。若后续库内收录 challenge-2004 或其他长期 Holter 库(如多日 MESA 睡眠心电类条目),本节动线与 §7.1 图谱应随之更新——缺口本身就是库演进的路线图信号。

7.4 跨库阅读动线与联合实验建议

一条经过验证的联合实验动线:LTAFDB 训练(128 Hz 双导联长记录)→ mit-bih-afdb(115) 域内验证(250 Hz 节律标注)→ mit-bih-arrhythmia(69) 心拍级对照(360 Hz)。实现要点:统一重采样目标(如 128 或 250 Hz 二选一,注明插值方法)、统一节律→样本窗映射规则、按记录划分并显式声明。这一动线对应 2021 年代文献的主流配置(Frontiers 2021;12:673819 的 AFDB/MITDB/Monzino 外测即其变体)。

7.5 库内检索词建议

在千方病案医数集站内检索相关内容时的有效词组合:

  • 找兄弟库:检索"房颤 节律 标注"或直接定位 mit-bih-afdb、mit-bih-arrhythmia;
  • 找挑战赛链:检索"PhysioNet 挑战赛"或 “CinC”,覆盖 cinc-2012 至 cinc-2023 系列条目;单导联 AF 主题定位 physionet-cinc-2017;
  • 找长时程对照:检索"长期 记录"或 “Holter”,命中 apnea-ecg 与本条目;
  • 找12 导联对照:检索"12 导联"或 “PTB-XL”。

7.6 与库内 CinC 链条的年代对照

届次(库内条目) 主题 与 LTAFDB 的关联度
challenge-2004(无独立条目) AF 终止预测 直接血缘:80 段摘录源自本库 0xx 段
physionet-cinc-2016 (382) 正常/异常心音 间接:同为 PhysioNet 生理信号挑战
physionet-cinc-2017 (162) 单导联 AF 分类 任务最相邻:AF 检测任务的跨域评测目标
cinc-2021 (644) 多源心律分类 部分训练源含 Holter 域心律数据
cinc-2012/2013/2015/2018-sleep/2019/2023 (660/662/487/493/656/499) 心衰/胎儿 ECG/报警/睡眠/脓毒症/肠音 谱系背景:构成 PhysioNet 挑战链全景

引用建议:叙述挑战赛史引用本表的主题列;比较任务口径引用 2017 与 2021 两届(与 AF 检测直接可比的协议)。


§8 方法学启示:四条可迁移的经验

  1. "真实世界"的噪声是资产不是缺陷:LTAFDB 的伪迹、基线漂移与日常活动干扰正是可穿戴算法需要的训练分布;把噪声段清洗成"实验室级"再训练,等于主动丢弃域信息(坑 2 的反面)。落地判据:清洗规则每加一条,就在"清洗前/后"两个版本上各跑一次基线——性能涨在域内测试、跌在外部验证,就是过度清洗的铁证;
  2. 注释层级要写进实验设计:检测器输出(qrs)与人工复核参考(atr)在同一个库里并存,任何指标先声明"对哪个注释层计算"——这条纪律适用于一切自带多套标注的数据集。操作化做法:数据集卡里加"标签来源"字段(本库填 atr),让"用错了层"在代码评审阶段就被拦住;
  3. 无官方划分时,划分口径就是你的方法论贡献:LTAFDB 二十年文献里每篇论文自带划分,可复现性差异全在划分透明度——受试者级 > 记录级 > 随机段级,声明粒度比声明精度更重要(坑 6)。写论文时把划分四元组(窗口×重叠×切分单位×弃用清单)放进正文而不是附录,是成本最低的可复现性投资;
  4. 生理学发现先行,任务定义后置:Petrutiu 2007 先证明终止前有可测信号,2004 挑战赛的任务才立得住——先做描述性分析确认信号存在,再设计预测任务,这个顺序在自建数据集项目里同样适用。反例信号:任务定义完发现阳性样本靠统计巧合支撑——那多半是跳过了描述性分析这一步;
  5. 开放不等于免维护:本库 2012 年还能全量补入参考注释、2014 年还能加校验和——"发布即终点"的库与"发布后持续增补"的库,五年后的可用性天差地别。自建数据集项目预算里,发布后的注释增补与勘误响应应占一席之地(20 号 .hea 的用户报告修正就是这套机制的实证)。

§9 AI-Ready 评估

9.1 什么样的人应该(或不应该)用这个数据集

应该用: 训练长期/可穿戴场景房颤检测模型的研究者(大体量 AF 节律样本 + 真实噪声分布);需要量化 AF 负荷的任务设计者;做跨库泛化/域适应研究的团队(128 Hz Holter 域是现成的"源域");复现或扩展 2004 挑战赛终止预测命题的方法学者。

不该用: 需要 12 导联形态学诊断的(去 ptb-xl);需要人口统计/结局随访的(无元数据);需要 QT/ST 级精细形态测量标注的(128 Hz 与标注体系都不支持);期望"下载即训练"而完全不做 64/30 号记录处理与划分设计的(这库里没有零门槛的 benchmark 协议,§9.3)。

中间地带(可用但要加工程):跨患者泛化研究的(记录级划分 + 泛化声明);多任务联合训练的(AF 段检测 + 负荷回归两个头,共享 atr 标注);数据增广研究的(本库噪声分布本身就是增广素材库)。

9.2 综合评级与 DAIMS 全表

综合评级:⭐⭐⭐⭐(4/5)——参考注释体量与人工复核质量(FDA 认证算法 + 复核)达到 5 分水准,WFDB 生态读取零障碍;扣分项:无官方任务划分与逐条元数据、qrs 未审计、64 号 atr 残缺与 30 号结尾异常需自行清洗。

# 检查项 状态 说明
1 宽格式 ⚠️ WFDB 逐记录多文件而非单表宽格式;入库数据工程需自行展平
2 唯一标识 ✅ 记录名全局唯一(0xx/1xx/2xx 三段 84 个),RECORDS 权威清单
3 特殊字符 ✅ 记录名仅数字;注释符号系统为 WFDB 标准
4 重复行 ✅ 无重复记录;同一受试者多记录是受试者级现象(#18)非数据重复
5 缺失编码 ⚠️ ADC 无效段以注释符号显式标记;无官方缺失编码文档
6 标签标识 ✅ atr 节律/心拍双标签体系清晰(9 节律标签 + WFDB beat 符号表)
7 罕见类分组 ❌ (VT/(B/(T/(IVR 等段落极少,9 分类任务不可行,须合并或两级建模
8 偏倚评估 ⚠️ 单中心(Northwestern)采集;约 2000 年代设备与人群;官方无偏倚文档
9 数据字典 ✅ WFDB 标准头文件即字典;官页注释说明完整
10 信息性缺失解释 ⚠️ 64 号 atr 残缺、30 号结尾异常仅社区记录(torch_ecg),无官方解释
11 设备记录 ⚠️ RECORDERS 文件给出记录设备类别;无逐条设备/导联位置官方清单
12 共线性 ✅ 双导联冗余为信号冗余非特征共线性问题
13 编码映射 ✅ beat/rhythm 符号映射有官方文档 + torch_ecg 机器可读版
14 时间戳处理 ⚠️ 相对时间(秒/采样点)体系;无绝对日期时间(去标识使然),昼夜分析需自建模
15 划分建议 ❌ 官方无划分;受试者映射缺失使严格受试者级划分不可实现
16 泄漏讨论 ⚠️ 同受试者多记录泄漏风险存在(2004 集已证实),需记录级划分 + 论文声明缓解
17 标签分布 ✅ AF 心搏 5,326,145 / 总 8,996,056(文献统计);逐条分布须自算
18 测量偏倚 ⚠️ 采集年代约 2000 年前后、单中心、受试者数文献口径仅 47——群体外推有限
19 外部验证建议 ✅ AFDB/MITDB/PTB-XL/单导联库外测路径成熟(§7.4)
20 版本记录 ✅ v1.0.0 未变版 + news 层记录 2012 atr 增补与 2014 校验和(§5.5)
21 预处理脚本 ⚠️ 官方无脚本;wfdb-python/torch_ecg loader 覆盖读取层,划分/清洗需自建
22 合规要求 ✅ ODC-BY 1.0 + 三层引用(§5.3),无注册/无 DUA
23 多模态对齐 ❌ 仅 ECG 单模态(双导联),无影像/文本/EHR 伴随模态
24 去标识化 ✅ 匿名编号记录,无姓名/日期/人口统计字段

DAIMS 评分:16.5 / 24(✅ 12 项各计 1 分 + ⚠️ 9 项各计 0.5 分 + ❌ 3 项计 0 分)。

评分解读:数据本体(标识、字典、标签体系、合规、去标识化)处于开放库的第一梯队;短板集中在"任务工程"层——无划分、无脚本、罕见类塌缩、时间戳无绝对语义,这些恰恰是把"数据可用"变成"benchmark 可用"的必经加工。本表按 DAIMS 逐项口径独立判定,⚠️/❌ 项的处置建议都已在对应正文小节落地(划分→§4.5、罕见类→§2.4b、时间戳→§2.10),逐项可追溯。

对你意味着什么:把 LTAFDB 当训练语料用,它是 4-5 分资产(大而干净的 AF 节律样本池);把它当排行榜基准用,它是 2-3 分半成品(划分、口径、清洗都要自建且必须声明)。正确姿势:第一天先产出你自己的 84 行元数据表与逐条 AF 负荷统计(§2.11),后续一切实验在这张表上做划分与审计。

9.3 场景 × 30 秒判定表

你的场景 判定 理由与替代
Holter/可穿戴 AF 检测模型训练 ✅ 首选 大体量 AF 节律样本 + 真实噪声;128 Hz 对齐目标域
AF 负荷量化算法验证 ✅ 首选 atr 节律段结构化支持全天占比计算
AF 终止/起止预测研究 ✅ 可用 0xx 段 + T 标记渊源;样本量小需谨慎统计
12 导联形态学诊断 ❌ 改道 双导联 128 Hz 不支持;用 ptb-xl
需要 9 种节律的多分类 ❌ 改造 罕见类塌缩;做 AF/非 AF 或两级
人群流行病学/结局研究 ❌ 改道 无人口统计与随访元数据
商用产品训练数据 ⚠️ 评估后用 ODC-BY 1.0 允许,署名义务 + 域差自评 + 律师意见
教学演示 ✅ 低门槛 无注册直链 + ATM 在线浏览,五分钟出图
自监督预训练语料 ✅ 契合 1,960 小时真实噪声 + 节律段可作线性探针评测(§6.4)

9.4 与库内同类库的 AI 就绪度横向对照

库(rid) 规模 官方划分 注释层级 读取门槛 AI 就绪度速评
LTAFDB(本条目) 84 × 24-25 h ❌ 无 节律+心拍(atr 参考) 低(loader 齐备) 4/5:语料级满分,benchmark 级要自建协议
mit-bih-arrhythmia (69) 48 × 30 min ✅ 惯例 23/25 划分 心拍级金标准 低 5/5:心拍分类基准完全体
mit-bih-afdb (115) 23 × 10 h ❌ 无 节律级 低 4/5:小而精,长期节律对照库
ptb-xl (70) 21,837 × 10 s ✅ 官方十折 诊断语句级 低 5/5:官方划分+大规模=基准完全体
apnea-ecg (658) 70 晚 ✅ 赛事 A/B/C 每分钟事件级 低 4/5:任务窄但协议清晰

读法:LTAFDB 与 ptb-xl 的差不在数据质量而在任务工程完成度——后者官方把划分做完了,前者把这件事留给了每一个使用者(§8 启示 3 的实证)。选择标准很简单:要"跟别人比数字"选官方划分完备的库;要"自己定义任务"选 LTAFDB 这类标注-rich、协议-open 的库。

§10 避坑清单:八个已踩过的坑

坑 1:把"60 持续 + 24 阵发性"当成官方划分设计实验。 这是 LTAFDB 传播最广的误传:官页与锚点论文只写 “paroxysmal or sustained AF”,从未发布 84 条记录的逐条房颤类型清单;"60"的真实出处是 2004 挑战集——80 段摘录来自 60 名不同受试者(Moody 2004 原文),60 + 24 = 84 的算术巧合让误传显得自洽。按"60 持续/24 阵发"做分层实验等于在编造的分层上做推断。正确做法:从 atr 节律段自算每条记录的 AF 负荷,自定义阵发/持续阈值并声明为研究者口径。

坑 2:把 qrs 注释当参考真值训练或评测。 qrs 是自动 QRS 检测器的输出且未经审计(官页只承诺人工成分是 T 终止标记);把它当 ground truth 会把检测器误差系统性注入你的标签。T 符号更不是心搏——它是为 2004 挑战赛人工插入的"AF 自发终止"事件标记,把它计入心率或心搏统计直接出错。解决:监督信号一律用 atr;qrs 只用于检测器基线对照与伪迹(| 符号)定位;遇 T 只做事件处理。

坑 3:假设"每个记录都有完整 atr"或"官方从未改过库"。 三层陷阱:2008 年首发版本根本没有 atr(2012-07-23 才补齐)——旧镜像/老代码可能拿不到参考注释;64 号记录的 atr 仅覆盖约 5/24 小时(Frontiers 2021;12:637680 因此弃用该记录);30 号记录 .atr 结尾异常(torch_ecg 数据检查记录)。另外 20 号记录 .hea 曾有错误(用户报告后修正)。解决:入 pipeline 前跑逐记录注释完整性自检(心搏数、节律段覆盖时长、atr 是否可读到底),固定下载日期并在论文里声明。

坑 4:按数字顺序或连续区间遍历记录编号。 RECORDS 实际是三段编号:0xx 段 56 条(00-75 跳号)+ 1xx 段 19 条(100-122 跳号)+ 2xx 段 9 条(200-208),且文件按字典序排列(100 排在 10 与 101 之间);1xx/2xx 段的含义官方从未解释。按 range(84) 或"00-83"遍历会扑空一半;按编号大小推断批次/分组没有依据。解决:逐行读 RECORDS 做记录清单的唯一事实源;把编号当纯匿名标识。

坑 5:假设每条记录 24 小时整。 官页口径是 “typically 24 to 25 hours” 且明言 “record durations vary”;Moody 2004 更写过 “20-24 hour”。按 24 小时 × 128 Hz 预分配数组、按"每小时 AF 负荷"均匀切片都会在尾部出错或引入伪小时桶。解决:逐条读 .hea 的采样数算真实时长;时长敏感的分析(昼夜节律)先画逐条时长直方图确认边界效应。

坑 6:随机按记录/按段划分造成受试者泄漏。 文献口径 47 名受试者贡献 84 条记录(Frontiers 2021;12:673819 Table 1),另一口径称"每条记录来自不同患者"——官方没有患者映射表,但 2004 挑战集内部已证实同一受试者可贡献多段摘录(“2 from each of 10 subjects”)。随机段级划分会把同一受试者的相似波形放进训练与测试,指标虚高数个百分点。解决:至少按记录划分;划分声明写进论文(受试者级不可实现时说明原因);报告时注明划分粒度。

坑 7:把不同粒度的基准数字放在同一张表里比。 “1 分钟段口径”(2004 挑战集)、“10 秒段口径”(Sci Rep 2021;11:11038)、“ECM 心搏级口径”(Frontiers 2021;12:673819,约 182 万个)、“beat 级统计”(Biomed Eng Online 2014 的 8,996,056)是四种不可比单位;把 AF Termination Challenge Database 的成绩标成"LTAFDB 上的成绩"更是双重错误(那是独立挑战库)。解决:任何跨论文比较先换算成"窗口长度 × 窗口重叠 × 标注来源 × 划分方式"四元组,四元组不全就不比。

坑 8:跨库迁移时忽略采样率与导联域差。 LTAFDB 128 Hz 双导联 → AFDB 250 Hz → MITDB 360 Hz → 单导联可穿戴,每一跳都有重采样、带宽与导联形态三重域差;AFDB 自己还有邻接坑(00735/03665 无信号、04936/05091 标注有误——跨库对照前的常见翻车点)。"在 LTAFDB 训练、AFDB 外测不掉点"的结论依赖统一的重采样与归一化协议,协议不写清楚结论不可复现。解决:统一目标采样率并声明插值方法;跨库前对对照库做逐记录完整性自检;域差大时报告按域分层的指标。

坑点交叉索引(写作/审稿场景速查)

场景 先看哪个坑 连带检查
实验设计(分层/划分) 坑 1、坑 6 §3.3、§9.2 #15/#16
标签管道搭建 坑 2、坑 3 §2.3、§2.4
数据加载脚本 坑 4、坑 5 §2.2、附录 C
论文写作(引用数字) 坑 7 §4.3、§1.6
跨库对比实验 坑 8 §7.4、§2.8

§11 总结

LTAFDB 是一个"老而硬"的库:2000 年前后的 Northwestern 记录、2008 年上线的 PhysioNet 页面、2012 年补齐的 900 万级人工复核注释、二十年不变的版本号——但它恰好卡在长期房颤研究的刚需位置上,深度学习时代反而越用越多。它给你的三样东西是别的库给不了的:一整个昼夜的真实噪声分布、结构化的 AF 节律段标注(负荷可计算)、零门槛的 ODC-BY 1.0 开放。它不给你的是:官方划分、患者映射、逐条元数据——这三样要靠你的工程与声明纪律补齐。用 §2.11 的三天路径起步,守住 §10 的八个坑,这个库在 2026 年依然是一流的研究资产。

给三类读者的最后一句话:工程师——84 行元数据表是你的第一件交付物,不是模型的第一个 epoch;研究者——在方法节里写清窗口、划分与弃用清单的那一段,价值不亚于性能表本身;决策者/综述作者——引用它的三个数字(84 条、128 Hz、900 万注释)时带上出处与日期,就是对这个库二十年开放史最好的维护。


FAQ:高频问题分组解答

A 组:数据获取

A1:需要注册 PhysioNet 账号吗?
不需要。ODC-BY 1.0 全库直链下载,无注册、无 DUA、无 credentialing——与 MIMIC 系是两种世界。

A2:全库多大?一次下完要多久?
约 3.5-4 GB(84 × 37-46 MB 推算口径)。.dat 文件占绝大部分;只要注释的话每个只有几 KB-百 KB 级。

A3:可以用脚本批量下载吗?
可以。physionet.org 与 archive 镜像都允许常规频率的 wget/curl;带 User-Agent、加重试间隔即可(§5.1 有现成脚本)。禁止高频并发抓取——那是礼貌问题也是封禁风险。

A4:下载完怎么校验?
archive 提供 SHA256SUMS.txt 与 CHECKSUMS 目录(MD5/SHA1/SHA256),sha256sum -c SHA256SUMS.txt 一步验证。

A5:64 号记录的 atr 为什么 404/残缺?
该记录 atr 仅覆盖约 5/24 小时,属库的已知状态而非你的操作错误;30 号记录 .atr 结尾也异常。清洗策略见坑 3。

A6:PhysioBank ATM / LightWAVE 打不开或很慢怎么办?
两个在线工具托管在 archive 侧,偶发慢属正常;换时段、或直接用 wfdb-python 本地画图(wfdb.plot_items)替代在线浏览,功能等价。

B 组:数据内容与格式

B1:为什么是 84 条,编号却从 00 到 208?
三段编号(0xx 56 条 / 1xx 19 条 / 2xx 9 条)是匿名标识体系,与数量、顺序、分组无语义关联;1xx/2xx 含义官方未解释(坑 4)。遍历一律以 RECORDS 为准。

B2:128 Hz 够做什么、不够做什么?
够:QRS 定位、节律分类、AF 检测、负荷量化。偏紧:QT/离散度级形态测量、晚电位类高频细节分析——这些任务请换 500-1000 Hz 的库。

B3:双导联分别是什么导联?
两个体表 modified 导联(Holter 常规配置),逐条导联位置官方无清单;头文件里有导联名与增益信息,程序化获取用 .hea。

B4:信号里有 ADC 无效值/伪迹标记吗?
伪迹段由 qrs 的 | 符号显式标记;读取层用 wfdb 库的 physical 模式自动处理增益换算。大段信号缺失无官方清单,自检脚本覆盖(§2.11 第一天任务)。

B5:能把 84 条记录的时间对齐做昼夜分析吗?
没有绝对时间戳(去标识使然),只有相对秒/采样点;昼夜对齐需按记录内部时间自建模并声明假设(DAIMS #14)。

B6:有官方的 CSV 版本吗?
没有。LTAFDB 只有 WFDB 格式;需要 CSV 用 wfdb-python 转储(wfdb.rdrecord(...).p_signal → DataFrame)。

B7:torch_ecg 的 loader 输出什么标签粒度?
心拍级与节律段级双粒度,9 种节律标签 + beat 符号映射内置(对应 §2.4 表)。

B8:qrs 记录里的 “T” 是什么?
人工插入的 AF 自发终止事件标记(仅 0xx 段、服务 2004 挑战赛),不是心搏(坑 2)。

B9:.hea 里的 gain/baseline 怎么理解?
把 .dat 的 ADC 整数换算成 mV 的线性参数((原始值 − baseline) / gain);wfdb 库 physical 模式已自动应用,自己解析二进制时必须用它,否则幅度对不上文献口径。

B10:能把 LTAFDB 和其他库混合训练吗?
可以且常见(LTAFDB + AFDB + MITDB 是文献主流配比),但要统一采样率、导联处理与标签映射,并做"混训 vs 单训"的消融——否则说不清性能来自规模还是域多样性。

C 组:标注与任务

C1:qrs 和 atr 到底用哪个?
监督与评测用 atr(算法 + 人工复核参考注释);qrs 是未审计的检测器输出,只做基线对照与伪迹定位(§2.3)。

C2:怎么统计每条记录的 AF 负荷?
遍历 atr 节律段:累计 (AFIB 区间时长 / 记录总时长。阈值化分阵发/持续属研究者口径,须声明(坑 1)。

C3:2 条"主要为 NSR"的记录是哪两条?
官方没有清单;自行从 atr 统计 AF 负荷接近 0 的记录即可。引用"82 条含 AF 段"时标注为文献使用口径。

C4:做 AF 检测用多长窗口合适?
10 秒段(Sci Rep 2021 口径,128 Hz 下 1,280 点)与 60 秒段(挑战赛口径)都有先例;窗口越长 AF 负荷估计越稳,切换带(±2 秒)处理策略比窗口长度更影响指标(§2.4)。

C5:9 种节律标签能直接做多分类吗?
不建议——VT/B/T/IVR 等段落数量极少,会塌缩;主流是 AF/非 AF 二分类或两级建模(坑 7 连带)。

C6:标注的一致性(κ 值)是多少?
未公布。FDA 认证的是 PocketECG 算法,人工复核协议与标注者间一致性无官方数字——引用标注质量时只能引"自动 + 人工复核"的流程描述。

C7:AF 段边界处怎么打标签?
两种纪律任选其一并声明:切换带丢弃(边界 ±2 秒段落不进训练/评测)或边界归入后段(保守策略)。默认建议丢弃——它同时缓解标注含糊与评测泄漏。

C8:伪迹段怎么处理?
qrs 的 | 符号给出检测器认为无有效心搏的位置,可作伪迹线索;更稳的做法是信号级有效性阈值(窗内异常采样占比超 X% 即弃),与 §4.5 协议模板的 X% 参数配套。

D 组:基准与引用

D1:LTAFDB 上的 SOTA 是多少?
没有官方排行榜。Frontiers 2021(ECM+CNN)与 Sci Rep 2021(ResNet 系)是常被引的深度学习基准,但窗口/划分口径互不相同(坑 7),引用时带四元组。

D2:2004 挑战赛的成绩能标成 LTAFDB 成绩吗?
不能。那是独立的 AF Termination Challenge Database(80 × 1 分钟摘录),数据源才是 LTAFDB 的 0xx 段(§3.4)。

D3:论文里引用怎么写?
三层:Goldberger 2000(PhysioNet)+ Petrutiu 2007(锚点论文)+ 使用 atr 时致谢 MEDICALgorithmics/Tadeusiak。BibTeX 见附录 D。

D4:商用可以吗?
ODC-BY 1.0 允许商用(署名义务);无额外限制条款,但建议留存许可页快照并按目标市场做合规评估(§5.2)。

D5:可以只引 PhysioNet 标准引用、不引 Petrutiu 2007 吗?
不建议。Petrutiu 2007 是官页 Citation 区推荐的数据库锚点论文,漏引等于漏掉使用这批数据的学术署名链;Goldberger 2000 + Petrutiu 2007 两条都引才是完整姿势。

E 组:库内与生态

E1:和 MIT-BIH AFDB 用哪个?
互补而非二选一:AFDB 经典、10 小时口径、文献基数大;LTAFDB 时长翻倍、样本体量大一个数量级、128 Hz 更贴可穿戴。跨库互验是主流配置(§7.4)。

E2:和 PhysioNet/CinC 2017(单导联 AF 分类)什么关系?
2017 届用的是单导联产前/监测场景数据,与 LTAFDB 无数据血缘;任务相邻(AF 分类),是 LTAFDB 训练模型做域转移评测的常见目标库之一(rid 162)。

E3:库内还有哪些相关条目?
mit-bih-arrhythmia(69)、mit-bih-afdb(115)、ptb-xl(70)、apnea-ecg(658) 与 cinc 挑战链(cinc-2012/2013/2015/physionet-cinc-2016/2017/2018-sleep/2019/2021/2023),完整 rid 对照见 §7.1;相关数据集导航章节由站内自动挂载。

E4:数据会不会被更新或撤下?
v1.0.0 十八年未变版,PhysioNet 平台本身有长期存档承诺(ODC-BY 开放库的撤下先例极少);引用固定下载日期自保(§5.5)。

E5:有官方 GitHub 或问题反馈渠道吗?
问题反馈走 PhysioNet 官页的联系方式(曾有 20 号 .hea 错误经用户报告修正的先例,见坑 3);torch_ecg/wfdb-python 各自的 GitHub issue 是读取层的求助首选。

E6:能放进公开竞赛的 notebook 环境吗?
技术上可以(公开直链 + ODC-BY 允许再分发),但要确认竞赛规则允许外部开放数据、notebook 里保留署名信息,并注意输出体积(全库 3.5-4 GB 超出多数平台配额,建议子集)。

F 组:研究与临床边界

F1:能用它做卒中风险或抗凝决策研究吗?
不能直接做——库无结局随访、无用药信息、无人口统计;它适合的是"负荷量化算法"这类中间环节,下游临床推断需要接 EHR/队列数据(去 ptb-xl 同理)。

F2:模型在 LTAFDB 上验证过了,可以写"临床级"吗?
不可以。单中心、约 2000 年代设备、47 名(文献口径)受试者的库支持的是方法学验证;"临床级"需要目标人群的前瞻验证——§9.3 判定表与 DAIMS #18 的测量偏倚条目都指向这一点。

F3:想研究 AF 的机制(而非检测)可行吗?
有限可行:终止前频率动态(Petrutiu 2007 类分析)、负荷的相对时间分布可以做;但 128 Hz 与无腔内电图的信号形态限制了机制问题的深度。

A7:physionet.org/content 与 archive.physionet.org 两个地址什么关系?
前者是现役内容页(版本化管理、在线可视化),后者是历史镜像接口(原始文件树、校验和);内容一致,脚本批量拉取走 archive 或 files 路径更稳。

B11:.dat 的 212 格式是什么?
12-bit 双通道打包进 3 字节的紧凑格式(每字节两个半字节分属两通道),128 Hz 库的典型选择;用 wfdb 库读无需关心字节序,自己解析才需要按格式规范拆位。

B12:心率范围怎么 sanity check?
窦律心搏间隔约 0.6-1.2 s(50-100 次/分),AF 时 RR 绝对不齐且可能低至 30 次/分、高达 200 次/分;统计 atr 心搏间隔分布,出现 <0.27 s(>222 次/分)的簇多半是误检或伪迹区,回查 qrs 的 | 标记。

C9:能做心搏级(beat)任务吗?
能:atr 心搏符号(N/A/V/Q 等)支持节律内早搏分类;但注意它不是 MITDB 的心拍金标准定位——本库的强项是节律段,心搏级任务建议与 MITDB 互补使用。

C10:半监督/自监督怎么利用无标签时段?
atr 覆盖不足的时段(如 64 号)与 qrs-only 时代思路一样:信号本身仍在,可作自监督语料;但切不可把它们混进监督评测集——无标签时段的"伪标签"必须单独成组声明。

D6:想复现 2021 年论文,最小核对清单是什么?
四项:它的窗口/重叠口径、是否弃 64 号、划分粒度、训练库组合(纯 LTAFDB 还是多库混训)——四项不全的论文数字不可比(坑 7 的实操化)。

F4:拿它做课程作业/教学合适吗?
很合适:开放直链、ATM 在线可视化、任务定义清晰(AF/非AF);建议用 3-5 条记录的子集降低算力门槛,并在作业说明里附引用清单——顺便教会学生三层署名义务。

A8:能只下载注释不下信号吗?
能。.atr/.qrs 文件只有 KB 级,配合 §5.4 在线看波形,可以先用注释做统计类研究(负荷分布、段长分布)再决定是否拉全量信号。

B13:128 Hz 库需要抗混叠处理吗?
读取层面不需要(采集时已完成抗混叠);做下采样到 64/100 Hz 时才需要先低通(截止 <新奈奎斯特)再抽点,wfdb/dsp 库函数或 scipy.signal.resample_poly 都行,声明方法即可。

B14:为什么有的论文说 LTAFDB 是"三导联"?
误传。官页 Abstract 明确双导联(two ECG signals);把 Holter 常见的"双通道三电极"接法误读成三导联是常见混淆,以 .hea 的通道数为准。

C11:AF 起止点标注的精度是多少?
官方未给精度指标;PocketECG 算法的心搏级判定加节律段聚合意味着起止点精度在心搏间隔量级(秒级)。做秒级以下精度的任务设计时要加人工复核环节。

C12:能把 atr 转成 RR 间期序列做 HRV 吗?
AF 段的 RR"不齐"本身就是病理状态,常规 HRV 指标(RMSSD 等)在 AF 段不可用;窦律段的 HRV 可算但须先剔除房早心搏(A/V 符号)及前后代偿间隙。

C14:审稿人质疑"标注是算法生成的"怎么回应?
三段式回应:①来源是 FDA 510(k) 认证算法(K112921)+ 人工复核的组合,引用官页致谢原文;②承认标注者间一致性未公布(诚实比防御有效);③给出你自己的抽样复核数据(如随机抽 N 段双人重标的一致率)——第三段是审稿人真正想看的,做 30-50 段抽样即可支撑。

D7:引用 1,960 小时/899 万心搏这些数字要注意什么?
它们是文献统计(Frontiers 2021、Biomed Eng Online 2014)而非官方口径——引用时带文献出处并注明"基于当时 atr 统计";自算数字与自己数据卡为准。

E7:库内还会加新的长期心电库吗?
走向只能推测:可穿戴与多日 Holter 研究在增长,PhysioNet 每年新增库不少(2026 平台综述口径),但"长期+房颤标注"的公开供给仍以本库与 AFDB 为主——建议关注 physionet.org 的 news 页。

A9:并发下载会被限速吗?
会。官方对高频请求有保护性限速;全库并行请控制在个位数并发、加重试退避——或者干脆用方式三的缓存机制(§2.7),下载一次全局共享。

B15:双导联可以只用一条吗?
可以但降级:单导联丢失"另一条可用"的容错结构,伪迹段的不可挽回性上升;如果目标场景本身就是单导联(可穿戴),用一条做输入、另一条做伪迹/质量参照是折中方案,声明即可。

C13:切换带丢弃会不会低估真实性能?
会小幅低估(真实部署没有"上帝标注的丢弃区"),但它换来的是评测确定性;完整做法是主表用丢弃口径、附表报告含切换带口径,两者差值就是标注含糊性的量化。

D8:本条目(千方病案医数集页面)怎么引用?
引用格式与维护约定见附录 D 的 BibTeX 与"维护约定"段;引用本条目的分析性结论(坑点、口径辨析、协议模板)时同时给出底层一手来源(官页/文献),保持引用链完整。

F5:综述里一句话概括本库定位怎么写?
参考句式:“LTAFDB 提供 84 条 24-25 小时双导联 Holter 记录(128 Hz,约 900 万条人工复核心拍/节律注释,ODC-BY 1.0),是长期房颤检测与负荷量化研究中体量最大的开放库之一”——三个数字(84/128 Hz/900 万)与许可缺一不可,"之一"别丢。

A10:全库下载后磁盘里的目录结构与官方页展示一致吗?
一致——archive 与 files 路径都是"记录名.扩展名"的平铺结构加 RECORDS/校验和等顶层文件,无子目录嵌套;唯一要注意的是 RECORDS 字典序排列(坑 4),以及 64 号 atr 的缺失属预期。

F6:本条目会随 PhysioNet 更新而修订吗?
按附录 D 维护约定执行:统计数字锚定 2026-09-27 抓取时点;若版本号、许可或注释体系变化,以官方页为准修订——这也是"引用时给出下载日期"的另一半意义:让未来的读者能定位你说的到底是哪一版。


事实清单(硬事实 32 条)

  1. LTAFDB 全称 Long Term AF Database(官页标题口径)——PhysioNet 官页
  2. 记录数 84——archive RECORDS 实抓 84 行(2026-09-27,存证 /tmp/ltafdb_agentB-ltafdb_RECORDS.txt)
  3. 三段编号:0xx 段 56 条(00-75 跳号)、1xx 段 19 条(100-122 跳号)、2xx 段 9 条(200-208)——RECORDS 实抓
  4. RECORDS 按字典序排列(100 位于 10 与 101 之间)——RECORDS 实抓
  5. 每条 24-25 小时双导联 ECG,“typically 24 to 25 hours”,“record durations vary”——官页 Abstract
  6. 128 Hz、12-bit、±20 mV——官页 Abstract
  7. 文献口径 47 名受试者/84 条记录——Frontiers Physiol 2021;12:673819 Table 1
  8. 总时长 1,960 h——Frontiers Physiol 2021;12:673819 Table 1
  9. 总心搏 8,996,056,其中 AF 5,326,145(约 59%)——Biomed Eng Online 2014;13:18 Table 1
  10. 82 条含 AF 段、2 条主要为 NSR——Frontiers 2021 用法口径
  11. qrs 注释为自动检测输出,N=心拍、|=伪迹、T=人工插入终止标记——官页原文
  12. T 标记仅存在于 00-75 号记录(2004 挑战集来源子集)——官页原文 “those numbered 00 through 75”
  13. atr 参考注释由 MEDICALgorithmics PocketECG 算法(FDA 510(k) K112921)+ 人工复核产生——官页致谢/注释区
  14. atr 全量补入日期 2012-07-23,总量 >9,000,000 条——官页 news
  15. 节律段标签 9 种:(N/(AFIB/(SVTA/(VT/(B/(T/(IVR/(AB/(SBR——Sci Rep 2021;11:11038 + torch_ecg
  16. 64 号记录 atr 仅覆盖约 5/24 h——Frontiers Physiol 2021;12:637680(弃用处理)+ torch_ecg
  17. 30 号记录 .atr 结尾异常——torch_ecg 数据检查记录
  18. 20 号记录 .hea 曾有错误,Mariano Llamedo Soria 报告修正——官页致谢区
  19. 正式发布 2008-10-30,v1.0.0 至今未变版——官页 news + Versions 区
  20. DOI 10.13026/C2QG6Q——archive DOI 文件(2015-09-21)
  21. 校验和文件(MD5/SHA1/SHA256)2014-02-24 上线——archive 文件属性
  22. 许可 ODC-BY 1.0,无注册/无 DUA/无 credentialing——官页 License 字段实抓
  23. 原始记录 Northwestern University(Steven Swiryn 团队);数字化 Boston Beth Israel Deaconess Medical Center;发布 MIT-LCP(George Moody)——官页 Authors/Citation 区
  24. 锚点论文 Petrutiu S, Sahakian AV, Swiryn S. Europace 2007;9(7):466-472, doi:10.1093/europace/eum096——论文
  25. Petrutiu 2007 核心数字:57 次阵发发作/24 名患者;AF 主导频率 PAF 5.2±0.4 Hz vs sustained 6.6±0.6 Hz;51/57 发作终止前 1 秒频率下降——论文
  26. 2004 挑战赛:80 段 1 分钟摘录(00-75 子集)来自 60 名不同受试者;学习集三组各 10 段;测试 A 30(N vs T)+ 测试 B 20(S vs T)——官页 + Moody 2004, CinC 31:101-104
  27. 2004 挑战赛 20+ 队;Event 1 最高 29/30、Event 2 满分 20/20——Moody 2004
  28. "60 持续 + 24 阵发性"无官方依据——官页/论文仅 “paroxysmal or sustained AF”,逐条划分从未发布(本条目 §3.3 辨析)
  29. Frontiers 2021;12:673819:ECM+CNN,LTAFDB 主训练(non-AF ECM 768,124 / AF 1,052,506),AFDB/MITDB/Monzino 外测——论文
  30. Sci Rep 2021;11:11038:ResNet 系,LTAFDB 10 秒段 Non-AF 576,355 / AF 735,806——论文
  31. 单条 .dat 37-46 MB(69 号 42M/70 号 46M/75 号 37M 实测),全库约 3.5-4 GB(推算)——archive 目录实测
  32. AFDB 邻接坑:00735/03665 无信号、04936/05091 标注有误——AFDB 官页/社区记录

附录 A:来源与双口径存照

议题 口径甲 口径乙 本条目处置
单条时长 官页:“typically 24 to 25 hours” + “durations vary” Moody 2004:“long-term (20-24 hour)” 取官页口径,Moody 口径存照;程序实测逐条时长
受试者数 Frontiers 2021;12:673819:47 subjects/84 records Frontiers 2021;12:637680:“each record is from a different patient” 双口径并存;官方无患者映射;标注"文献口径"
记录构成 网络流传:“60 持续 + 24 阵发” 官方:“paroxysmal or sustained AF”,无逐条清单 误传证伪(60 = 挑战集受试者数);按官方口径
atr 补齐时点 官页 news:2012-07-23 各镜像同步时间不一 取官页 news 日期;使用方声明下载日期
协调人姓名拼写 官页一处 Michal Tadeusiak 官页另一处 Michael Tadeusiak 致谢建议写 “M. Tadeusiak” 规避拼写分歧
引用格式 官页 BibTeX:Goldberger 2000 + Pollard 2026 平台引用 锚点论文传统:Petrutiu 2007 三层全引(§5.3),互不替代

附录 B:逐项证据链自证

  1. 84 条:本任务 2026-09-27 直接抓取 archive RECORDS 文件,wc -l = 84,全行清单存证(/tmp/ltafdb_agentB-ltafdb_RECORDS.txt);与官页 Abstract 口径一致;
  2. 三段编号:同一 RECORDS 文件逐行归类统计(0xx 56 / 1xx 19 / 2xx 9,合计 84),无第三种前缀;
  3. 官页硬数字(128 Hz/12-bit/±20 mV/24-25 h/license/ODC-BY 1.0/挑战集渊源句):2026-09-27 抓取官页 HTML 全文(134 KB)存证,字段逐条对照;
  4. 文献数字(47 subjects/1,960 h/8,996,056/5,326,145/57 次发作/89% 频率下降/挑战赛 20+ 队):分别溯源 Europace 2007、Biomed Eng Online 2014、Frontiers 2021 ×2、Sci Rep 2021、Moody 2004 六篇文献正文与表格;
  5. 注释事件(2012-07-23 atr 补齐、K112921、Llamedo Soria 修正):官页 news 与致谢区原文;
  6. 互链 rid:13 个 rid 经库内 SQL 实查确认存在且状态正常(§7.1 表);
  7. 证伪链:"60 持续 + 24 阵发"在官页 HTML 全文检索无匹配;“60 different subjects” 与 80 段摘录的对应关系见 Moody 2004 原文——误传源头闭环。

附录 C:数据获取决策树与最小代码骨架

需求决策树:
├── 只想看看波形 → PhysioBank ATM 在线浏览(§5.4),零下载
├── 单条/几条实验 → wfdb-python 远程直读(pn_dir='ltafdb'),自动缓存
├── 全库训练 → 5.1 方式一/二整库下载 + SHA256SUMS 校验
│   ├── 需要 atr → 下载 .atr 全集;跑注释完整性自检(64/30 号特殊处理)
│   └── 只要 qrs/信号 → 跳过 .atr,注意坑 2(qrs 非真值)
└── 只用挑战赛 80 段 → 你要的是 AF Termination Challenge Database,不是本库(§3.4)
# 最小读取骨架(Python;pip install wfdb numpy pandas)
# 目录结构预期:零手动准备——pn_dir='ltafdb' 让 wfdb 自动下载到本地缓存;
# 若已手动下载,把 pn_dir 换成本地目录路径(data_root 直接拼接记录名)。
import wfdb, numpy as np

def load_record(rec: str, pn_dir: str = "ltafdb"):
    sig, meta = wfdb.rdrecord(rec, pn_dir=pn_dir)          # (n_samples, 2) float64, 单位 mV
    atr = wfdb.rdann(rec, "atr", pn_dir=pn_dir)            # 参考注释(心搏+节律段)
    qrs = wfdb.rdann(rec, "qrs", pn_dir=pn_dir)            # 未审计检测器输出(坑 2)
    return sig, meta, atr, qrs

def af_segments(rec: str, pn_dir: str = "ltafdb"):
    """从 atr 节律段符号抽取 AF 区间(秒)→ AF 负荷。辅助标注:aux_note 含 '(AFIB' 等。"""
    ann = wfdb.rdann(rec, "atr", pn_dir=pn_dir)
    fs = wfdb.rdheader(rec, pn_dir=pn_dir).fs
    total_s = wfdb.rdrecord(rec, pn_dir=pn_dir).sig_len / fs
    af_s, in_af = 0.0, False
    for i, note in enumerate(ann.aux_note):
        if note.strip().startswith("(AFIB") and not in_af:
            in_af, start = True, ann.sample[i] / fs
        elif in_af and note.strip().startswith(("(N", "(SVTA", "(B", "(T", "(IVR", "(AB", "(SBR")):
            af_s += ann.sample[i] / fs - start; in_af = False
    if in_af:                                              # 记录尾部仍处 AF
        af_s += total_s - start
    return af_s, total_s, af_s / total_s                   # AF 秒数 / 总时长 / 负荷

# 示例:打印 30 号记录元信息与 AF 负荷
sig, meta, atr, qrs = load_record("30")
print(meta.fs, meta.sig_name, meta.sig_len)                # 128 ['ECG 1', 'ECG 2'] ~1.1e7
print("AF burden:", af_segments("30"))

完整预处理 pipeline(重采样 → 切窗 → 标签映射 → PyTorch Dataset):

# 依赖:pip install wfdb numpy torch
# 目录结构预期:与上面相同的零手动准备(pn_dir 远程直读或本地目录二选一)。
# 输出物:按 §4.5 协议模板的窗口段落 + AF/非AF 标签,可直接接训练循环。
import numpy as np
import torch
from torch.utils.data import Dataset

class LTAFDBWindowDataset(Dataset):
    """LTAFDB 二分类窗口数据集:AF vs 非 AF。
    纪律:节律切换带(默认 ±2 s)窗口弃用;按记录实例化(受试者映射缺失,坑 6)。
    """
    def __init__(self, rec: str, pn_dir: str = "ltafdb",
                 win_s: float = 10.0, hop_s: float = 10.0,
                 guard_s: float = 2.0, target_fs: int = 128):
        self.pn_dir, self.win, self.hop = pn_dir, int(win_s * target_fs), int(hop_s * target_fs)
        sig, meta = wfdb.rdrecord(rec, pn_dir=pn_dir)
        assert meta.fs == target_fs, "重采样请在信号级完成后再进本类"   # 跨库时先 resample
        self.sig = np.nan_to_num(sig, nan=0.0)                       # ADC 无效点按 0 填充(声明!)
        self.af_mask = self._af_mask(rec, meta.sig_len / meta.fs, guard_s)
        self.starts = [s for s in range(0, len(self.sig) - self.win + 1, self.hop)
                       if len(set(self.af_mask[s:s + self.win])) == 1]  # 切换带过滤
        self.labels = [int(self.af_mask[s]) for s in self.starts]

    def _af_mask(self, rec: str, total_s: float, guard_s: float) -> np.ndarray:
        ann = wfdb.rdann(rec, "atr", pn_dir=self.pn_dir)
        fs = wfdb.rdheader(rec, pn_dir=self.pn_dir).fs
        mask = np.zeros(int(total_s * fs), dtype=bool)
        events = [(ann.sample[i] / fs, ann.aux_note[i].strip())
                  for i in range(len(ann.sample))]
        in_af, seg_start = False, 0
        for t_s, note in events:
            if note.startswith("(AFIB") and not in_af:
                in_af, seg_start = True, int(t_s * fs)
            elif in_af and note.startswith(("(N", "(SVTA", "(B", "(T", "(IVR", "(AB", "(SBR")):
                mask[max(0, seg_start - int(guard_s * fs)):min(len(mask), int(t_s * fs) + int(guard_s * fs))] = True
                in_af = False
        if in_af:                                                    # 尾部 AF 段
            mask[seg_start:] = True
        return mask

    def __len__(self):
        return len(self.starts)

    def __getitem__(self, i):
        s = self.starts[i]
        x = self.sig[s:s + self.win].T                               # (2, win) 双导联
        x = (x - x.mean(axis=-1, keepdims=True)) / (x.std(axis=-1, keepdims=True) + 1e-8)
        return torch.from_numpy(x.astype("float32")), self.labels[i]

附录 D:引用本条目与维护约定(BibTeX)

@article{petrutiu2007abrupt,
  author  = {Petrutiu, Simona and Sahakian, Alan V. and Swiryn, Steven},
  title   = {Abrupt changes in fibrillatory wave characteristics at the termination
             of paroxysmal atrial fibrillation in humans},
  journal = {Europace},
  year    = {2007},
  volume  = {9},
  number  = {7},
  pages   = {466--472},
  doi     = {10.1093/europace/eum096}
}

@article{goldberger2000physiobank,
  author  = {Goldberger, Ary L. and Amaral, Luis A. N. and Glass, Leon and
             Hausdorff, Jeffrey M. and Ivanov, Plamen Ch. and Mark, Roger G. and
             Mietus, Joseph E. and Moody, George B. and Peng, Chung-Kang and
             Stanley, H. Eugene},
  title   = {{PhysioBank}, {PhysioToolkit}, and {PhysioNet}:
             Components of a New Research Resource for Complex Physiologic Signals},
  journal = {Circulation},
  year    = {2000},
  volume  = {101},
  number  = {23},
  pages   = {e215--e220}
}

@article{moody2004challenge,
  author  = {Moody, George B.},
  title   = {Spontaneous Termination of Atrial Fibrillation:
             The {PhysioNet/Computing in Cardiology} Challenge 2004},
  journal = {Computers in Cardiology},
  year    = {2004},
  pages   = {101--104}
}

维护约定:本条目统计数字截至 2026-09-27(官页与 archive 实抓时点);若 PhysioNet 变更版本号、许可或注释体系,以官方页为准修订本条目;下游引用请同时给出数据版本(v1.0.0)与下载日期。


附录 E:术语表(中英对照)

术语 英文 一句话释义
房颤 atrial fibrillation (AF) 心房电活动紊乱导致的有效收缩丧失,心电图上 RR 绝对不齐
阵发性房颤 paroxysmal AF 自发起止、可自行终止的房颤发作
持续性房颤 sustained AF 持续存在、不能自发终止的房颤
房颤负荷 AF burden 给定时间段内处于房颤节律的时间占比
动态心电 ambulatory/Holter ECG 便携设备连续记录的日常状态体表心电
自发终止 spontaneous termination 房颤发作不经干预自行结束
主导频率 dominant frequency 房颤波功率谱的主峰频率(Petrutiu 2007 的核心量)
节律段 rhythm segment atr 注释中由节律符号(如 (AFIB)界定的时间区间
心搏注释 beat annotation 逐个 QRS 波形的类型标记(N/A/V/Q 等)
伪迹 artifact 非心电源信号污染(运动、肌电、基线漂移),qrs 中以 \
WFDB Waveform Database 格式 PhysioNet 的信号+注释存储标准(.dat/.hea/注释文件)
PhysioBank ATM — PhysioNet 的在线波形浏览工具
credentialing — PhysioNet 对受控库的实名认证门槛(本库无此要求)
ODC-BY 1.0 Open Data Commons Attribution License 开放数据署名许可:允许任意使用,须署名
DUA Data Use Agreement 数据使用协议(本库无此要求)
受试者泄漏 subject leakage 同一受试者数据同时进入训练与测试造成的指标虚高

附录 F:上手十步清单

  1. 读 §0 与 §1.6,确认这库能/不能回答你的问题;
  2. 在线(PhysioBank ATM)看 3 条记录,建立波形直觉;
  3. 下载全库并 sha256sum -c 校验(或 wfdb 远程直读);
  4. 跑 §2.12 五条试金石记录的自检;
  5. 生成 84 行元数据表(时长、心搏数、AF 负荷、atr 覆盖);
  6. 决定弃用清单(64 号必弃、30 号截断策略),写进数据集卡;
  7. 定协议(抄 §4.5 模板):窗口、切换带、划分、指标四要素;
  8. 跑通 baseline(torch_ecg 或附录 C 的 Dataset 类);
  9. 跨库外测(AFDB/MITDB,统一重采样协议,见坑 8);
  10. 论文里引用三层清单(§5.3)+ 下载日期 + 划分粒度声明。

十步清单的使用建议:1-6 步是"一次性投入"(新接手本库的团队每人间隔执行一遍即可);7-9 步是"每实验必做"(每篇论文/每次基准更替都要重走);第 10 步是"每稿必检"(投稿前对照三层引用清单逐条核对)。清单最常被跳过的是第 4 步——而生产事故的返修记录里,最常见的事后结论恰恰是"当初没有先跑五条试金石"。


附录 G:数据集卡(Datasheet 摘要,工程交接用)

字段 值
数据集名/版本 Long Term AF Database / v1.0.0
下载日期与校验 模板字段:交接时填写下载日期,并附 SHA256SUMS.txt 验证结果
记录数与编号 84(0xx 56 / 1xx 19 / 2xx 9),RECORDS 为权威清单
信号规格 双导联 ECG,128 Hz,12-bit,±20 mV,24-25 h/条
标签来源 .atr(PocketECG 自动 + 人工复核,2012-07-23 版);qrs 仅对照
标签粒度 节律段 9 类 + 心拍符号(WFDB 标准)
已知异常 64 号 atr 覆盖 5/24 h;30 号 .atr 结尾异常;20 号 .hea 曾修复
划分 无官方划分;模板字段:交接时声明本项目划分粒度与弃用清单
许可 ODC-BY 1.0;引用三层清单(Goldberger 2000 + Petrutiu 2007 + atr 致谢)
空白字段 受试者映射、人口统计、绝对时间戳、逐条房颤类型——均官方无

附录 H:抓取方法与可复核性声明

本条目的核验动作(2026-09-27 执行):

  1. 官页抓取:curl -sL -A "Mozilla/5.0" https://physionet.org/content/ltafdb/ -o official.html(134 KB 存证),提取 Abstract/License/Citation/news/致谢字段——128 Hz、12-bit、±20 mV、24-25 h、ODC-BY 1.0、“60 different subjects” 语境句、“those numbered 00 through 75” 渊源句均出自此页;
  2. archive 实抓:RECORDS 文件下载存证(84 行,三段编号清单逐行核点);SHA256SUMS.txt 与 DOI 文件存在性确认;单记录 .dat 体积抽查(69/70/75 号);
  3. 数据库实查:库内 ai_ready_dataset 表 url_name ILIKE '%ltaf%' 查重 0 rows(本条目为首次收录);§7.1 全部 13 个互链 rid 逐一 SELECT 验证存在;
  4. 文献核证:Europace 2007、Biomed Eng Online 2014、Frontiers Physiol 2021(两篇)、Sci Rep 2021、Moody 2004 六篇文献的数字逐条对照正文/表格(事实清单 #25-#30 的全部数字);
  5. 误传证伪:官页 HTML 全文检索"60 sustained"类表述零匹配;“60 different subjects” 唯一出现于挑战集语境——坑 1 的证伪链完整闭环。

复核提示:以上全部动作无需特殊权限,读者按附录 C 的 curl 骨架即可在十分钟内重演关键步骤(RECORDS 行数、官页 license 字段、DOI 文件);数字层面的复核按事实清单逐条溯源到文献即可。


相关数据集导航

以下为站内 AI-Ready 数据集百科中与本词条共享多个主题标签的相关数据集,按相关度降序排列:

  • cinc-2021 — 共享标签:生理信号 / 心电信号 / 挑战赛数据集 / 心血管疾病 / 评测基准
  • cinc-2020 — 共享标签:生理信号 / 心电信号 / 挑战赛数据集 / 心血管疾病 / 评测基准
  • cinc-2014 — 共享标签:生理信号 / 心电信号 / 挑战赛数据集 / 心血管疾病 / 评测基准
  • mit-bih-afdb — 共享标签:生理信号 / 心电信号 / 心血管疾病 / 评测基准
  • icentia11k — 共享标签:生理信号 / 心电信号 / 心血管疾病 / 评测基准
  • apnea-ecg — 共享标签:生理信号 / 心电信号 / 挑战赛数据集 / 评测基准
  • cinc-2013 — 共享标签:生理信号 / 心电信号 / 挑战赛数据集 / 评测基准
  • cinc-2011 — 共享标签:生理信号 / 心电信号 / 挑战赛数据集 / 心血管疾病
  • mit-bih-arrhythmia — 共享标签:生理信号 / 心电信号 / 心血管疾病 / 评测基准
  • chapman-shaoxing — 共享标签:生理信号 / 心电信号 / 心血管疾病 / 评测基准

导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。

返回 AI-Ready 数据集