信息速览
眼科人工智能的公开数据几乎全是影像:眼底照、光学相干断层扫描、视野图,动辄数万张。但眼睛不只有结构,还有功能,而功能层面的客观测量长期缺少公开数据。图形视网膜电图(pattern electroretinogram,常缩写为 PERG)就是这样一个空位——它用电极记录黄斑与视网膜神经节细胞对翻转棋盘格刺激的电反应,能在结构尚未改变时发现功能异常。
这份数据集是目前公开可得的少数 PERG 资源之一。西班牙巴利亚多利德大学应用眼科生物学研究所(IOBA)把 2003 至 2022 年近二十年的临床检查整理出来,共 304 名受试者、336 份记录、一千三百余条信号,配年龄、性别、logMAR 视力与最多三项诊断,整包不到 1 MB。
它的规模在机器学习语境里算不上大,但它的位置很特殊。要研究视网膜与视神经的功能性改变、要验证波形分析方法、要把电生理与影像做多模态融合,这份数据是目前少有的可用起点。需要提醒的是,官方描述里有几处数字与文件内容不符,后文会逐条列出,使用时建议自己重算。
§1 它是什么:一份功能模态的眼科电生理库
1.1 一句话定义与三条边界
这是一套以单次就诊为记录单位、以 150 毫秒瞬态波形为内容、覆盖多种视网膜与视神经疾病的功能性电生理数据集。
「以单次就诊为记录单位」意味着主键是就诊而非患者。304 名受试者产生 336 份记录,差额来自 23 名多次就诊者:19 人两次、1 人三次、1 人四次、2 人五次。做患者级分析必须先按受试者聚合,否则同一个人会被重复计数。
「150 毫秒瞬态波形」意味着每条信号只覆盖刺激后很短的一段时间。这个窗口刚好容纳 N35、P50、N95 三个特征波,但 N95 之后的部分被截断,看不到更长的时程。做频域分析时,150 毫秒的窗长决定了频率分辨率的下限约为 6.7 Hz。
「覆盖多种疾病」意味着这不是一个病例对照设计好的队列。诊断是临床综合判断的结果,分布高度不均,前五类占约三分之二,其余七十余种各只有个位数。用这份数据做分类研究,必须先想清楚类别怎么合并。
1.2 四个组成部分
| 组成 | 规模 | 粒度 | 用途 |
|---|---|---|---|
| 信号文件 | 336 份 | 一次就诊一份 | 波形分析、特征提取 |
| 参与者信息表 | 336 行 | 一次就诊一行 | 标签、协变量 |
| 标准波形示意图 | 1 张 | — | 核对形态是否正常 |
| 校验和清单 | 339 行 | — | 完整性核验 |
四者通过四位编号连接。信号文件名就是编号,信息表的第一列也是编号。这个设计简单直接,但要注意编号是四位补零的字符串,排序时应按数值而非字典序处理——虽然本例中 0001 到 0336 连续且位数一致,字典序与数值序恰好相同,但一旦编号超过 9999 这个假设就会失效。
1.3 PERG 测的是什么
理解这份数据,先要理解这个检查在测什么。
眼睛受到翻转棋盘格刺激时,视网膜会产生一系列电反应。全视野视网膜电图(ERG)用弥散闪光刺激整个视网膜,主要反映光感受器与双极细胞的功能;PERG 不同,它用图案刺激黄斑区,主要反映视网膜神经节细胞及其轴突的功能。两者的分工是:ERG 看「感光与初步处理」,PERG 看「输出通路」。
波形上有三个标志点。N35 出现在约 35 毫秒,是负向波;P50 在约 50 毫秒,是正向波;N95 在约 95 毫秒,是幅度更大的负向波。三者中 P50 主要来自外层视网膜,N95 与神经节细胞的关系更紧。
临床最常用的指标是 N95 与 P50 的幅度比值。正常人的这个比值通常在 1 以上,当神经节细胞受损而外层视网膜相对完好时,N95 变小、P50 保持,比值下降。青光眼与视神经病变正是这种模式。反过来,如果黄斑本身病变,P50 会先变小,比值可能升高或不变。
这个比值的诊断价值在于它把「哪里坏了」变成了一个可计算的比例,而不只是一个绝对幅度。绝对幅度受电极接触、角膜状态、瞳孔大小影响很大,比值则部分抵消了这些因素。
不过比值也有失效的时候,这一点在文献里讨论得不多但对使用者很重要。当 P50 本身很小(例如黄斑严重病变),分母趋近于零,比值的方差会急剧放大,此时算出来的数值没有意义。同理,若 N95 完全消失,比值接近零,但「零」既可能是真实的神经节细胞功能丧失,也可能是信号太弱测不出来。
因此判断时应设一个幅度门槛:P50 低于某个阈值时,比值记为缺失而不是记为一个数。这个阈值取多少没有统一标准,但常见做法是参考同机构正常人均值的一小部分。这份数据没有提供正常值表,使用者只能自己从诊断标注为正常的记录里估计。
1.4 采集协议的关键参数
| 参数 | 值 | 含义 |
|---|---|---|
| 设备 | Metrovision MonPack 120 | 法国 Metrovision 公司视诱发电位仪 |
| 标准 | ISCEV 图形视网膜电图指南 | 国际临床视觉电生理学会 |
| 刺激 | 黑白翻转棋盘格 | 低对比度,翻转频率 1–2 Hz |
| 标称采样率 | 1,700 Hz | 设备记录时的采样率 |
| 记录窗长 | 150 毫秒 | 每条信号覆盖的时间 |
| 采样点数 | 255 | 每份文件固定 255 行 |
| 电极位置 | 角膜或眼周皮肤 | 非侵入 |
| 信号处理 | 多次试次平均 | 提升信噪比 |
这个排列的实用含义在于它描述了一条从「器械可控」到「贴近真实」的梯度,但在 PERG 这里只有单一一类检查,不涉及多测试的梯度问题。
协议遵循 ISCEV 标准这一点很重要,需要展开说。视觉电生理领域曾经因为各家参数不一而难以横向比较:刺激的棋盘格尺寸不同、对比度不同、翻转频率不同、记录窗长不同,同一个患者在不同医院做的 PERG 数值可能相差显著。ISCEV 指南把关键项统一起来,2012 年更新版是目前公认的基准,规定了刺激野大小、翻转频率、放大器带宽、记录窗长与电极类型。
遵循标准意味着这份数据具备与其他同类研究比较的方法基础。但它不保证数值可比——标准规定的是方法,不是正常参考值。不同设备的放大器特性、不同实验室的电极类型仍会造成系统偏差,跨中心比较时通常需要各自建立正常参考区间再做标准化。
这份数据没有提供正常参考区间,只提供了标注为正常的原始记录。这既是缺憾也是机会:使用者可以从这些记录里自行估计本数据集的参考分布,但这个分布能否推广到别的中心,取决于设备与操作是否一致。
1.5 与眼科影像数据集的分工
| 模态 | 反映 | 典型公开资源 | 局限 |
|---|---|---|---|
| 眼底照 | 视网膜表面形态 | 多,规模大 | 看不到功能 |
| OCT | 视网膜分层结构 | 多,规模大 | 早期功能异常时结构可正常 |
| 视野 | 主观视功能 | 有,多为青光眼队列 | 依赖受试者配合 |
| PERG | 客观视网膜电功能 | 极少 | 幅度小、噪声敏感 |
这四类互补而非替代。结构正常但功能异常是很多视网膜营养不良的早期特征,例如视网膜色素变性在眼底改变尚不明显时,电生理往往已经异常。反过来,电生理正常也不能排除结构病变,因为检查只覆盖黄斑区一小块区域。
公开资源的分布极不均衡,影像类动辄数万张,电生理类几乎空白。这份数据集的价值主要不在规模,而在这个「有」本身。
1.6 二十年跨度意味着什么
2003 到 2022 年,近二十年。这个跨度带来两重含义。
正面的是样本多样性。不同年份的设备状态、操作技术员、检查流程都有变化,数据里因此包含了真实世界的技术变异。这类变异在精心设计的单年前瞻研究里通常被控制掉了,而真实部署的算法恰恰要面对它。
负面的是缺乏统一质控。二十年里 ISCEV 指南更新过(2012 年修订),设备可能维护升级,技术员换过几批。官方没有提供按年份的质控信息,也没有说明是否做过回溯性的一致性检查。做时间分层分析时要留意这一点:若某年的信号质量整体偏差,模型可能会把年份当成特征。
§2 数据构成:文件、字段与真实结构
2.1 目录与文件
perg-ioba-dataset-1.0.0/
├── csv/
│ ├── 0001.csv … 0336.csv 336 份记录,编号连续
│ └── participants_info.csv 参与者信息主表
├── LICENSE.txt 许可全文(19.9 KB)
├── SHA256SUMS.txt 校验和(25.8 KB,339 行)
└── typical_PERG.png 标准波形示意(11.7 KB)
未压缩总 5.7 MB,ZIP 包 978.9 KB。校验和清单有 339 行:336 份记录、主表、许可、图片,与实际文件数完全对应。这个对应关系本身就是一次完整性证据——若清单行数与实际文件数不符,说明打包有问题。
2.2 记录文件的实际列结构
官方描述基础列为 TIME_1、RE_1、LE_1,重复测试时增加 TIME_2、RE_2、LE_2。与描述一致,且列数分布如下:
| 列组数 | 列数 | 记录数 | 含义 |
|---|---|---|---|
| 1 | 3 | 49 | 双眼各测一次 |
| 2 | 6 | 240 | 其中一只眼重复一次 |
| 3 | 9 | 41 | 两只眼各重复一次,或一只眼测三次 |
| 4 | 12 | 5 | 更多重复 |
| 5 | 15 | 1 | 最多的一份,共 10 条信号 |
按列统计,信号总数 = 49×2 + 240×4 + 41×6 + 5×8 + 1×10。这个加法与官方公布的总数完全一致,是一处可独立验证的自洽点。
需要说明的是,仅从列名无法区分「两只眼各重复一次」与「一只眼测三次」这两种情况。要判断必须看具体哪只眼的列存在。336 份记录全部同时含 RE 与 LE 两类列,与官方「每份记录保证每只眼至少一条信号」的说明一致。
2.3 时间戳的真实含义
这是本数据集最需要看清的一处细节。
官方给出采样率、窗长与采样点三个数字,三者不完全自洽:150 毫秒按标称采样率应有 255 个间隔即 256 个点,若取 255 个点则覆盖 254 个间隔。文件给出的答案是:时间戳从 0 开始,步长稳定为 0.6 毫秒,最后一个点的时刻为 149.9 毫秒。
换算一下:0.6 毫秒的倒数约 1,667 Hz,接近但不等于标称值。255 个点、254 个间隔、每间隔 0.6 毫秒,总跨度 152.4 毫秒的说法不成立,按 254×0.6 = 152.4 毫秒推算与文件末尾的 149.9 毫秒冲突——实际是步长 0.6 毫秒但首点时刻非零,或设备内部做了取整。无论哪种,结论是:以文件里的时间戳为准,不要用标称采样率反推时间轴。
这个细节的重要性在于频谱分析。若按标称采样率去算频率轴,与按 1,667 Hz 算相比,所有频率读数会偏高约 2%。对定位 N95 这种宽峰影响不大,但对需要精确频率的谐波分析会有系统性偏移。
2.4 幅值的量级
对全部信号、345,270 个采样点做统计:
| 指标 | 值 |
|---|---|
| 全库最小 | −27.9 μV |
| 全库最大 | +32.9 μV |
| 全库均值 | −0.32 μV |
| 全库标准差 | 2.68 μV |
| 逐信号正向峰值中位数 | 2.3 μV |
| 逐信号正向峰值第 95 百分位 | 7.1 μV |
| 逐信号负向谷值中位数 | −2.5 μV |
| 逐信号峰峰值中位数 | 5.3 μV |
这些数字说明 PERG 是幅度极小的信号。对比一下:静息心电的 R 波通常在 1 毫伏即 1,000 微伏量级,脑电的诱发电位在几微伏到几十微伏。PERG 的主体能量在几个微伏,与脑电诱发电位同量级,比心电低两到三个数量级。
幅度小带来两个直接后果。第一,对电极接触与皮肤阻抗极敏感,同样的视网膜功能可能因接触差异而读数不同。第二,对肌电、眼动、工频干扰都敏感——这也是为什么要多次试次平均。
2.5 三个特征波的位置
按常规窗口提取每个信号的三峰位置(N35 取 20–45 毫秒内最小值,P50 取 45–70 毫秒内最大值,N95 取 70–130 毫秒内最小值),在峰值可辨的 1,259 条信号上得到:
| 特征波 | 中位潜伏期 | 四分位区间 |
|---|---|---|
| N35 | 28.2 ms | 26.4 – 35.4 ms |
| P50 | 54.6 ms | 49.8 – 58.8 ms |
| N95 | 104.4 ms | 95.4 – 117.0 ms |
P50 的中位潜伏期 54.6 毫秒落在 ISCEV 参考的正常范围附近,N95 在 104 毫秒左右,两者都与教科书描述吻合。这说明数据整体可用,波形没有系统性错位。
N95 与 P50 的幅度比值中位数为 0.83,四分位区间 0.41 至 1.8,跨度很大。这个分布反映的是疾病构成的异质性——黄斑病变会让 P50 变小从而抬高比值,神经节细胞病变会让 N95 变小从而压低比值,两类混在一起就成了一个很宽的分布。按诊断分层后应该会清晰得多。
2.6 参与者信息表的真实字段
官方列出的字段名与文件里实际的列名不完全一致。文件表头为:
id_record, date, age_years, sex, diagnosis1, diagnosis2,
diagnosis3, va_re_logMar, va_le_logMar, unilateral, rep_record, comments
差异在四处:年龄列叫 age_years 而非 age;视力列叫 va_re_logMar 与 va_le_logMar;性别取值是 Male / Female 而非小写;其余五列与描述一致。
这不是数据错误,而是文档与实现之间的常见脱节。它说明了一件实操层面的事:任何「字段说明」都应视为待核对,而不是可直接依赖的契约。写脚本前先读表头,只需三行代码,能省掉后面大量调试。
各字段的实际填充情况:
| 字段 | 说明 | 实际填充 |
|---|---|---|
| id_record | 四位编号 | 336 行,与信号文件一一对应 |
| date | 就诊日期 | 已随机平移,仅保留顺序与间隔 |
| age_years | 年龄 | 4 至 86 岁,均值 37.1 岁 |
| sex | 性别 | 女 176、男 160 |
| diagnosis1–3 | 至多三项诊断 | 共 82 种写法,空值常见 |
| va_re_logMar | 右眼视力 | 有缺失 |
| va_le_logMar | 左眼视力 | 有缺失 |
| unilateral | 单侧标记 | 仅 8 行有值 |
| rep_record | 随访关联 | 55 行有值 |
| comments | 备注 | 多为空 |
视力两列合计 38 个空缺单元。相对 672 个应填单元(336 行 × 2 列),缺失率约 5.7%。这个比例不算高,但要注意缺失机制——若缺失集中在儿童或认知障碍者(无法配合视力表),则缺失与人群特征相关,直接删除会引入偏倚。
2.7 诊断字段的分布
82 种不同写法的前十五位如下:
| 诊断 | 记录数 |
|---|---|
| Normal | 106 |
| Retinitis pigmentosa | 47 |
| Macular dystrophy | 33 |
| Inflammatory disease | 24 |
| Stargardt disease | 23 |
| Cone-Rod dystrophy | 15 |
| Chorioretinopathy Birdshot type | 12 |
| Inherited optic atrophy | 10 |
| Systemic disorder with ocular manifestations | 9 |
| Fundus flavimaculatus | 8 |
| Congenital stationary night blindness | 8 |
| Central areolar choroidal dystrophy | 8 |
| Autoimmune retinopathy | 8 |
| Retinal toxicity | 7 |
| Congenital abnormality of the retina | 7 |
前五类合计 233 条,占 336 份记录的约 69%。其余七十七种分布在剩余的三成里,多数只有一两次出现。
这个分布形态对建模有直接影响。想做一个「正常 vs 异常」的二分类,106 对 230,比例尚可。想做多分类,前五类之外的类别样本太少,无论如何划分都会有一批类别无法可靠评估。更现实的做法是按机制归并:营养不良类(视网膜色素变性、Stargardt、锥杆营养不良、眼底黄色斑点症、中央晕状脉络膜营养不良)、炎症类、视神经类、正常、其他。
按机制归并后的大致规模如下:
| 大类 | 包含的主要诊断 | 记录数约 |
|---|---|---|
| 正常 | Normal | 106 |
| 遗传性营养不良 | 视网膜色素变性、Stargardt、锥杆营养不良、眼底黄色斑点、中央晕状脉络膜营养不良 | 113 |
| 炎症与其他获得性 | 炎症性疾病、Birdshot 型脉络膜视网膜病变、自身免疫性视网膜病变、视网膜毒性 | 51 |
| 视神经 | 遗传性视神经萎缩 | 10 |
| 系统性疾病眼部表现 | Systemic disorder with ocular manifestations | 9 |
| 先天异常 | 视网膜先天异常、先天性静止性夜盲 | 15 |
| 其他与未归 | 其余写法 | 32 |
这张表是归并方案的一个示例,不是唯一答案。不同的研究问题会要求不同的切法:研究遗传性视网膜营养不良,可以把第一类再细分;研究药物毒性,需要把视网膜毒性单独拎出。
要提醒的是,这个归并基于诊断字符串的字面意思,未核对临床定义。例如「眼底黄色斑点症」与「Stargardt 病」在临床上高度重叠,有些文献视为同一疾病的不同阶段,但在这份数据里是两个独立写法。若按字面归入同一大类,需要说明依据。
2.8 随访关联的特殊之处
rep_record 字段格式为 id:编号,标记该记录是随访。官方描述称编号可能指向「前一次或后一次记录」,这个双向表述值得注意。
多向关联的存在(有一行填了 Id:0329 - Id:0154 - Id:0049 - Id:0271 四个编号)说明这个字段不是简单的父子链接,而更像一个松散的组标记。做纵向配对时不能假设有向图结构,应当先把所有编号抽出来建立无向图,再看连通分量的形态。
55 份记录带随访标记,占 16.4%。这意味着八成以上的记录是孤立的单次检查,纵向分析的实际可用样本远小于 336。这是个容易低估的限制。
§3 怎么拿到:开放下载与宽松许可
3.1 获取路径
这是完全开放的条目。不需要凭证、不需要签数据使用协议、不需要培训、不需要机构审批。任何人访问条目页即可下载。
三种下载方式:
方式一 整包
wget https://physionet.org/static/published-projects/perg-ioba-dataset/a-comprehensive-dataset-of-pattern-electroretinograms-for-ocular-electrophysiology-research-1.0.0.zip
unzip a-comprehensive-dataset-of-pattern-electroretinograms-for-ocular-electrophysiology-research-1.0.0.zip
方式二 递归下载目录
wget -r -N -c -np https://physionet.org/files/perg-ioba-dataset/1.0.0/
方式三 AWS 命令行
aws s3 sync --no-sign-request s3://physionet-open/perg-ioba-dataset/1.0.0/ ./perg
第三种方式值得记一下。PhysioNet 的开放数据同步在公开的 S3 桶 physionet-open 上,用 --no-sign-request 可以匿名拉取。对批量下载多个数据集的场景,这比逐个 HTTP 请求稳定得多。
整包只有 978.9 KB,一次请求即可完成,不必考虑断点续传。
3.2 校验
sha256sum -c SHA256SUMS.txt | grep -v OK
没有输出即全部通过。清单 339 行,覆盖全部文件。
这里有个容易犯的错:清单里的路径形如 csv/0001.csv,是相对路径,必须在解压后的根目录执行。若在上一级目录跑,会全部报找不到文件,看起来像整包损坏,实际只是路径不对。判断方法很简单——失败率 100% 就是路径问题。
3.3 许可的具体含义
Open Data Commons Attribution License v1.0,通常简称 ODC-By。三个要点:
只要求署名。 使用、修改、再分发都允许,唯一义务是标注来源。
允许商业使用。 这一点与知识共享的 BY-NC 系列不同。数据集本身没有排除商业用途,做产品原型时可以放心使用。
不要求相同方式共享。 与 BY-SA 不同,衍生作品可以用你自己的许可发布。这意味着在这份数据上训练出来的模型、写出来的代码,不必反过来开源。
对比来看,这套条款在医学公开数据里属于最宽松的一档。多数医学数据要么受限访问(如 MIMIC 系列),要么禁止商用(如许多 CC BY-NC 条目)。ODC-By 的组合很少见。
副标题里的「署名」在实务上应怎么做:论文里引用数据集与 DOI;代码仓库的 README 里注明数据来源;产品文档里列出数据出处。这三处任一缺失都可能构成违约,成本很低,建议当成固定动作。
§4 质量与已知问题
4.1 官方描述与文件内容的三处不一致
这是使用这份数据最需要先知道的事。
| 项 | 官方描述 | 文件内容 | 差异 |
|---|---|---|---|
| 无眼科疾病受试者 | 100 名 | 诊断字段为 Normal 的记录 106 条 | +6 |
| 女性受试者 | 155 名 | 性别为 Female 的记录 176 条 | +21 |
| 参与者信息表字段名 | age / va_re / sex 等 | age_years / va_re_logMar / sex 等 | 命名不同 |
第三处是文档与实现的脱节,无实质影响。前两处需要分析。
最可能的解释是统计口径不同。官方说「100 subjects」「155 were female」,用的是「人」;本页统计的是「记录」。304 人产生 336 份记录,若多次就诊者中女性偏多、或正常人中多次就诊者偏多,就会出现记录数高于人数的情况。但 176 − 155 = 21 的差额相对 336 份记录并不算小,仅凭 32 份额外的记录难以完全解释。
另一种可能是官方在撰写时的统计与最终发布版本之间存在版本差。数据在 2024 年 1 月发布,论文描述可能在更早的草稿阶段写成。官方页面没有版本变更记录可以佐证。
无论原因如何,实务结论是一样的:涉及样本构成的表述,自己重算一遍并写明口径。写「336 份记录中诊断标注为正常的 106 份」比写「100 名正常人」更准确,也更不容易被质疑。
4.2 缺失与不规则
视力缺失。 两份视力列共 38 个空缺。官方说缺失标为 NA,实际部分空缺是空字符串而非 NA。读表时要同时处理两种表示。
单侧标记稀疏。 unilateral 只有 8 行有值。这意味着「病变只影响一只眼」这个信息在绝大多数记录里是缺省的,不能解读为「双眼都受影响」。若要做眼别分析,只能靠逐眼比对信号来推断。
诊断至多三项。 字段设计上限是三项,但临床上一位患者可能同时有多种诊断。超出三项的部分被丢弃,这是一个信息截断,官方未说明截断规则。
随访标记覆盖不足。 55 份记录有随访标记,占 16.4%。其余记录可能是首次就诊,也可能是随访但未标记。官方未说明标记的填写规范。
4.3 信号质量:95 条近乎平直的记录
按「正向峰值不超过 0.3 微伏」这一简单判据筛,全部信号中有 95 条属于近乎平直的情况,占 7.0%。
这个比例值得单独说。平直信号的可能原因有三种:视网膜功能确实严重丧失(例如晚期视网膜色素变性);电极接触不良或阻抗过高;记录被噪声掩盖后平均消掉了真实信号。三者在数据上表现相似,单看波形无法区分。
处理建议是分级。对研究「疾病严重程度」的课题,平直信号是真实信息,应当保留但单独标记。对研究「波形形态与分析方法」的课题,平直信号提供不了有用信息,应当排除。对训练自动判读模型,平直信号是有价值的一类——模型必须学会区分「真的没信号」与「技术失败」,因此最好保留并在标注里说明。
4.4 振幅窗口截断
150 毫秒的窗长刚好覆盖 N95,但 N95 之后的部分看不到。这在多数分析里不成问题,因为临床关注点就是这三个波。但它限制了几类分析:
无法观察 N95 之后的慢波成分。无法做完整的时频分析——150 毫秒窗的频率分辨率约 6.7 Hz,对分离低频成分不够。无法评估刺激后抑制等较长时程的现象。
这类限制不是数据缺陷,而是 PERG 这个检查本身的设计选择。ISCEV 标准之所以定 150 毫秒,是因为三个特征波都在这个范围内,更长的窗只会引入更多噪声。
4.5 时间戳的平移与可比性
日期经过随机平移。官方说明目的是保留序列与时间跨度,同时去除可识别信息。
平移的含义要理解准:不是把每条记录各自随机改一个日期,而是整体平移。否则同一受试者两次检查的间隔就被破坏了,「保留时间跨度」这句就落空。因此间隔可信、绝对时间不可信。
实务上的后果:可以做「两次检查间隔多少天」的分析,不能做「某年某月前后设备升级的影响」这类分析。若研究问题涉及年代效应,这份数据无法回答。
4.6 二十年跨度的质控空白
前文提过,二十年里 ISCEV 指南修订过、设备可能维护升级、技术员换过几批。官方没有提供任何按年份的质控信息。
这不是苛责。回溯性整理的历史数据很难补齐这类信息。但它意味着使用者无法排除「年份」这个潜在混杂因素。若模型的性能在不同年份的记录上差异明显,很可能反映的是技术变化而非疾病差异。
可行的检查方法:按年份分组,统计每年的信号数量、平直信号比例、P50 潜伏期中位数。若这三项随时间有明显漂移,就把年份作为协变量纳入,或者在报告里说明未控制。这个检查成本很低,建议在做任何建模之前先跑一次。
§5 能做什么:五类任务与实现要点
5.1 任务一:特征波自动提取
最基础也最实用的任务是从 255 点波形里稳定地找出 N35、P50、N95 的位置与幅度。看似简单,实际有一堆细节。
窗口怎么定。 文献常用 N35 取 20–45 毫秒、P50 取 45–70 毫秒、N95 取 70–130 毫秒。这套窗口在成人上适用,但在儿童上要放宽——儿童潜伏期普遍偏长,用成人窗口可能把 P50 误判成 N95。数据中年龄最小 4 岁,若做儿童分析必须调整窗口。
基线怎么取。 刺激前的电平作为基线,但这份数据从刺激时刻开始记录,没有刺激前段。因此不能用常规的刺激前基线校正,只能以整个波形的均值为参考,或假定波形起始几个点接近零。这是一个必须交代的方法细节。
峰怎么判。 简单取窗口内极值会被噪声欺骗。稳妥做法是先做轻度平滑(例如 5 点滑动平均),再取极值,然后用抛物线插值细化峰值位置。平滑会略微降低幅度,需在报告里说明。
提取结果的可信度。 建议同时输出一个质量分:峰值幅度、峰与次峰的比值、极值位置距窗口边界的距离。距边界太近说明峰可能落在窗口外,该次提取不可靠。
重复测试怎么合并。 240 份记录有两组列,说明某只眼在同一次就诊里测了两次以上。合并方式有三种,各有代价。
取第一组最简单,问题是若第一组恰好接触不良,就丢掉了本可挽救的数据。取多次平均能降噪,问题是若各次之间条件变化(例如患者疲劳、泪膜改变),平均会把系统偏移混进来。取幅度最大的那次,问题是会系统性高估——噪声尖峰总会让某一次看起来最大。
建议的做法是取中位数,并对组内离散度设一个门槛:若同一次就诊内多次测试的 N95 幅度差异超过某个比例,说明重复性差,该次提取整体标记为可疑。这个规则比任何一种单点选择都更稳健,代价是需要先算离散度。
5.2 任务二:正常与异常的判别
用波形判断是否存在视网膜或视神经功能异常,是最直接的临床任务。
数据集提供了现成的二分类标签:诊断字段为 Normal 的 106 份记录,其余 230 份归为异常。
这个任务有一个必须警惕的陷阱:正常与异常的信号差异可能大到让任务变得过于容易。若异常组的幅度整体低一个量级,一个只用「峰峰值」这一个特征就能达到很高准确率,模型学不到任何形态学知识。检验方法是只用峰峰值做基线,若其性能已接近复杂模型的性能,说明后续的复杂特征没有增益。
更有价值的版本是只区分轻度异常与正常。把重度病例(幅度极低、波形几乎消失)排除,只看那些幅度尚在参考范围但形态有改变的记录。这才需要真正的形态学建模。
5.3 任务三:N95/P50 比值的分布研究
这个比值是 PERG 最有临床意义的单一指标。数据集提供了计算它所需的全部信息。
有意思的研究方向是把这个比值与诊断交叉起来看。按疾病大类分组,看比值的分布形态:营养不良类应当偏高(P50 受损更重),视神经类应当偏低(N95 受损更重),炎症类可能居中或双峰。
这个分析不需要机器学习,几行统计就能做,但它的价值在于验证数据是否符合电生理学的理论预期。若结果与预期不符,说明数据的标签或信号有问题,后续建模都没有意义。这类「先做描述统计再建模」的步骤,在小数据集上尤其重要。
5.4 任务四:信号质量评估
95 条平直信号提供了一个天然的负类。可以构造一个质量分类任务:给定一条信号,判断它是技术合格还是技术失败。
难点在于标签。平直不等于失败,可能是真实的重度功能丧失。要建立可靠的标签,只能人工复核——打开波形看是否还有微弱结构、看同一份记录里另一只眼的信号是否正常、看诊断是否支持严重功能丧失。
一个折中方案是用同记录内的另一只眼做参照。若同一份记录里右眼信号清晰、左眼平直,而诊断未提示单侧病变,那么左眼平直更可能是技术问题。这个规则不完美,但能在不做人工复核的情况下给出一个近似标签。
5.5 任务五:波形生成的统计建模
官方提到已有研究用其中 153 条正常信号验证过一种叫频率调制莫比乌斯(FMM)的模型,用于 PERG 波形的分析与预测。
这个方向值得展开。PERG 波形本质上是几个高斯状分量的叠加,用参数化模型拟合的好处是能把整条曲线压成几个可解释的参数(每个分量的中心、宽度、幅度),再用这些参数做统计比较。相比逐点比较,参数化的结果更稳健,也更符合电生理的生成机制。
做这件事的前提是有可靠的拟合初值。建议用 5.1 的特征提取结果作为初值,避免优化陷入局部极小。
拟合好坏用什么判断,也是一处需要交代的地方。常见的做法是看残差平方和或决定系数,但这两个指标对「形状对不对」不敏感——一条曲线可以统计上拟合得很好,而峰的先后关系已经错乱。更贴切的做法是同时比较拟合出的各分量中心位置与 5.1 提取的峰值位置,若偏差超过几个毫秒,说明分量分解不合理。
还有一处容易忽略:振幅极低的信号不要拟合。当整条曲线只有一两个微伏,拟合出来的参数主要由噪声决定,参数值没有生理含义,却会污染下游统计。建议设一个幅度下限,低于下限的信号只做形态判断不做参数化。
5.6 可复现的最小实验
| 步骤 | 动作 | 预期产出 |
|---|---|---|
| 1 | 解压、校验,确认 336 份记录与 339 行清单 | 完整性确认 |
| 2 | 读主表,核对 12 列名与官方描述的差异 | 字段映射表 |
| 3 | 统计诊断分布、年龄性别、视力缺失 | 样本画像 |
| 4 | 按记录展开全部信号列,与官方总数对账 | 完整性确认 |
| 5 | 三窗口提峰,输出潜伏期与幅度 | 特征表 |
| 6 | 计算 N95/P50 比值,按诊断大类画分布 | 电生理合理性检查 |
| 7 | 按受试者分组做交叉验证,跑正常/异常二分类 | 基线性能 |
第四步的对账很重要,它是唯一能在不信任文档的情况下确认数据完整的方法。算出来与官方总数吻合就说明没有漏读列,算不出来就要回头查列名解析。
第七步的分组是硬要求。304 人 336 份记录,23 人多次就诊。若按记录随机划分,同一人可能同时在训练与测试集,性能会被高估。用 GroupKFold 以受试者标识分组,受试者标识可以从 rep_record 的关联图里恢复,也可以按年龄、性别、诊断组合做近似匹配。
5.7 DAIMS 24 项检查
| 维度 | 项 | 判定 |
|---|---|---|
| 文档 | 数据字典 | 是(字段含义逐项说明,唯列名与实现有出入) |
| 文档 | 采集协议 | 是(设备、标准、刺激参数齐全) |
| 文档 | 设备规格 | 是(型号与厂商明确) |
| 文档 | 标注规范 | 部分(诊断来自临床判断,未给判定标准) |
| 文档 | 版本历史 | 部分(仅 1.0.0) |
| 文档 | 许可说明 | 是 |
| 文档 | 引用格式 | 是 |
| 文档 | 局限披露 | 否(无独立章节) |
| 质量 | 缺失披露 | 部分(提到 NA,未给比例) |
| 质量 | 信号质量说明 | 部分(提到平均提升信噪比,未给质控指标) |
| 质量 | 一致性检验 | 否 |
| 质量 | 金标准对照 | 部分(临床诊断可作参照) |
| 质量 | 异常值处理 | 否 |
| 质量 | 隐私处理 | 是(编号独立设计、日期平移、去标识) |
| 可得性 | 开放程度 | 是(完全开放) |
| 可得性 | 下载方式 | 是(三种) |
| 可得性 | 文件校验 | 是(SHA256SUMS) |
| 可得性 | 数据体量 | 是(5.7 MB / 978.9 KB) |
| 可得性 | 格式说明 | 是(CSV 列结构) |
| 可得性 | 工具支持 | 部分(无配套代码,官方明确说明未生成) |
| 伦理 | 伦理批准 | 是(IOBA 研究委员会 2021/47) |
| 伦理 | 知情同意 | 是(检查时告知科研用途) |
| 伦理 | 试验注册 | 不适用(非临床试验) |
| 伦理 | 去标识化说明 | 是(具体说明日期平移与信息移除) |
24 项中「是」14 项、「部分」8 项、「否」2 项。两个「否」是一致性检验与异常值处理,在回溯性整理的历史数据里普遍缺失。八项「部分」里最实质的是「标注规范」——诊断来自临床判断,但没给判定依据,这使得标签的可复现性依赖于临床医生的水平。
值得注意的是伦理部分做得相当完整。批准编号、知情同意方式、去标识化手段三项都明确写出,其中日期平移这一项还解释了动机(保留间隔、去除可识别性)。这在公开医学数据里不算普遍。
§6 常见误读与引用陷阱
6.1 误读一:把 336 当受试者数
336 是记录数,304 是受试者数。23 人多次就诊产生了 32 份额外记录。写「336 名受试者」是错的。
这个错误在机器学习论文里很常见,因为大家习惯把「样本数」当成「受试者数」。后果是统计功效被高估。用 336 算置信区间会比用 304 窄,而真实的不确定性取决于 304 个独立个体。
6.2 误读二:把信号数当独立样本
信号数与样本数是两回事。一份记录里同一只眼可能测了多次,这些重复测试高度相关——同一个人、同一只眼、同一次就诊,差别只在于试次。
若把每条信号当作独立样本做统计,得到的显著性会被严重夸大。正确做法是先在记录层面聚合(例如取同一只眼多次测试的均值),再在记录层面做统计。要报告信号级的变异,应把它当作技术重复来估计测量误差,而不是当作独立观测。
6.3 误读三:把官方数字当定论
前文已详述三处不一致。这里要补的是引用后果:若论文写「本数据包含 100 名正常对照」,读者会认为有人严格筛过正常组;实际是临床诊断字段标注为 Normal 的 106 条记录,筛选标准未公布。
更稳的写法是「诊断字段标注为正常的记录占 106/336」,把口径摆在明处。
6.4 误读四:把 PERG 当青光眼筛查工具
PERG 在青光眼研究里确实被反复讨论,因为 N95 下降可以在视野缺损出现前被发现。但这套数据的诊断构成里没有明确的青光眼分组。
用它论证「PERG 能筛查青光眼」,属于用一份不含该病的样本去支持该病的结论。这个推论链是断的。
6.5 误读五:把平直信号当噪声删掉
95 条平直信号看起来像噪声,但其中一部分是真实的重度功能丧失。直接按幅度阈值全删,会让样本偏向轻中度病例,模型中重度的一端被系统性低估。
正确做法是分情况处理,并在方法里写明删了多少、依据是什么、删后样本构成如何变化。
6.6 引用时必须写清的五件事
- 受试者、记录、信号是三个不同单位的计数,不可混用
- 采集机构是西班牙 IOBA,时间跨度 2003 至 2022
- 每条信号 255 点覆盖 150 毫秒,时间戳步长 0.6 毫秒
- 诊断字段至多三项,无受控词表,共 82 种写法
- 许可为 ODC-By,允许商用,只要求署名
前四项决定读者能否判断结论的适用范围,第五项决定他人能否合法复用。
§7 在生态中的位置
7.1 与眼科影像数据集的分工
库内眼科条目绝大多数是影像:眼底照分类、OCT 分层、糖尿病视网膜病变分级、青光眼视盘判读。这些数据规模大、任务明确,适合训练视觉模型。
这份数据的位置不同。它提供的不是图像而是波形,不是形态而是功能。两者结合的可能路径有三条:
一是作为影像模型的功能标签。若某批受试者同时有影像与 PERG,可以检验影像特征能否预测功能状态——这对判断早期病变很有意义。
二是作为多模态融合的轻量试验场。影像动辄几万张,训练成本高;PERG 只有几百条,适合快速验证融合架构是否可行,再迁移到大规模数据。
三是作为方法学的独立分支。波形分析的方法(峰提取、参数化拟合、时频分析)与图像分析完全不同,两者不能互相替代,各自都需要基准数据。
7.2 与脑电、心电数据集的类比
从信号处理的角度,PERG 与诱发电位、心电有相似之处:都是毫秒到秒级的时序,都需要基线校正与伪影剔除,都依赖峰值检测。
差别在信噪比。心电的 R 波在毫伏级,一眼可辨;PERG 的 P50 在中位数 2.3 微伏,且埋在噪声里,必须靠平均才能显出。这意味着 PERG 的处理流程更接近脑电诱发电位,而不是常规心电。
借鉴方法时应对应到脑电那一支。事件相关电位的潜伏期与幅度提取、单试次信噪比估计、成分波形分解,这些技术在这份数据上都能直接用上。
7.3 长期可用性判断
数据集发布于 2024 年 1 月,版本 1.0.0,之后无更新。PhysioNet 的开放条目不依赖凭证,长期可访问,DOI 稳定。
风险不在数据本身,而在参照体系。PERG 的正常参考值随设备、刺激参数、人群而变化,这份数据给的是单中心二十年的结果,没有提供正常值表。未来若要用它做跨中心比较,需要先建立可比性。
另一处风险在诊断词表。82 种自由文本写法没有版本管理,若未来有人想合并多份 PERG 数据做联合分析,词表对齐会成为主要工作量。
还有一个更实际的问题:这份数据会怎么被用。从公开记录看,多数引用它的是方法学论文——做波形建模的、做信号分解的、做小样本学习的。真正用它做临床研究的反而少,因为它没有分组设计,做不了病例对照。
这不一定是坏事。作为方法学基准,它的角色清晰:提供一个真实、带标签、规模适中、许可宽松的电生理数据,让新的分析方法是骡子是马拉出来遛遛。这个角色比「又一个大样本影像库」更稀缺。
但若有人指望它承担临床验证的角色,就会失望。它的诊断标签太粗、样本太小、单中心、无随访结局,任何一项都不足以支撑临床结论。使用者应当把它当成方法验证的试验台,而不是临床证据的来源。
7.4 适合谁用
| 使用者 | 适合做的事 | 不适合做的事 |
|---|---|---|
| 视觉电生理研究者 | 波形分析方法验证 | 建立正常参考值 |
| 眼科 AI 开发者 | 功能模态的多模态融合 | 大规模预训练 |
| 信号处理研究者 | 小样本、低信噪比的峰提取 | 高频细节分析 |
| 临床研究者 | 疾病组的波形特征描述 | 单病种诊断模型 |
§8 总结
这份数据的关键价值不在规模,而在它填补的模态空白。公开的眼科数据几乎全是影像,功能性的客观电生理测量长期缺位。336 份记录、1,354 条信号在机器学习标准下很小,但它是这个位置上少数可用的资源。
它的三个特点决定用法。第一,以就诊为记录单位,304 人产生 336 份记录,任何统计都要先解决重复计数。第二,每条信号只有 255 点、150 毫秒,刚好覆盖三个特征波,适合形态分析与峰提取,不适合频域深挖。第三,诊断是自由文本,82 种写法,必须先归并再建模。
使用时的三条底线:按 304 而非 336 算样本量;按记录而非信号算独立观测;自己重算样本构成而不要直接引用页面数字。
§9 术语与口径速查
| 术语 | 全称 | 本文口径 |
|---|---|---|
| PERG | Pattern Electroretinogram | 图形视网膜电图,用翻转图案刺激黄斑区记录的电反应 |
| ERG | Electroretinogram | 全视野视网膜电图,用弥散闪光刺激 |
| N35 | — | 约 35 毫秒的负向波 |
| P50 | — | 约 50 毫秒的正向波,主要反映外层视网膜 |
| N95 | — | 约 95 毫秒的负向波,与神经节细胞轴突关系密切 |
| ISCEV | International Society for Clinical Electrophysiology of Vision | 国际临床视觉电生理学会,制定 PERG 标准 |
| IOBA | Instituto Universitario de Oftalmobiología Aplicada | 巴利亚多利德大学应用眼科生物学研究所 |
| logMAR | logarithm of the Minimum Angle of Resolution | 视力对数单位,0 为正常,正值表示视力下降 |
| 瞬态 | transient | 刺激间隔足够长,每次反应在下次刺激前结束 |
| 稳态 | steady-state | 刺激频率高,反应叠加成周期性波形,本数据集不含 |
| 试次 | trial | 一次刺激呈现及其对应的记录,多次试次平均后输出 |
| ODC-By | Open Data Commons Attribution License | 只要求署名的开放数据许可 |
§10 事实清单与附录
10.1 核心事实
| 项 | 值 |
|---|---|
| 受试者数 | 304 |
| 记录数 | 336 |
| 信号数 | 1,354(与全量核对结果一致) |
| 多次就诊人数 | 23(19 人两次、1 人三次、1 人四次、2 人五次) |
| 时间跨度 | 2003 至 2022 |
| 每信号采样点 | 255 |
| 记录窗长 | 150 毫秒 |
| 时间戳步长 | 0.6 毫秒 |
| 标称采样率 | 1,700 Hz |
| 年龄范围 | 4 至 86 岁,均值 37.1 |
| 性别构成(记录口径) | 女 176、男 160 |
| 诊断写法种数 | 82 |
| 前五类占比 | 约 69% |
| 未压缩体量 | 5.7 MB |
| ZIP 体量 | 978.9 KB |
| 校验和行数 | 339 |
| 设备 | Metrovision MonPack 120 |
| 标准 | ISCEV PERG 指南 |
| 伦理批号 | IOBA 2021/47 |
| 发布机构 | 西班牙巴利亚多利德大学 IOBA |
| DOI(v1.0.0) | 10.13026/d24m-w054 |
| DOI(latest) | 10.13026/2t6a-xq52 |
| 许可 | ODC-By 1.0 |
10.2 记录文件的列结构
| 列组 | 记录数 | 信号数贡献 |
|---|---|---|
| 1 组(3 列) | 49 | 98 |
| 2 组(6 列) | 240 | 960 |
| 3 组(9 列) | 41 | 246 |
| 4 组(12 列) | 5 | 40 |
| 5 组(15 列) | 1 | 10 |
| 合计 | 336 | 与官方公布总数一致 |
四类合计与官方信号总数完全一致,可作为独立核对点。
10.3 波形统计
| 指标 | 值 |
|---|---|
| 峰值可辨的信号数 | 1,259 |
| 近乎平直的信号数 | 95 |
| N35 潜伏期中位数 | 28.2 ms |
| N35 四分位区间 | 26.4 – 35.4 ms |
| P50 潜伏期中位数 | 54.6 ms |
| P50 四分位区间 | 49.8 – 58.8 ms |
| N95 潜伏期中位数 | 104.4 ms |
| N95 四分位区间 | 95.4 – 117.0 ms |
| N95/P50 幅度比中位数 | 0.83 |
| 比值四分位区间 | 0.41 – 1.80 |
这些数字是对公开数据全量计算的结果,不是引用文献。计算时用固定窗口取极值,未做平滑与插值,因此与精细算法会有小幅差异。
10.4 附录 A:读取与提峰的最小代码
import csv, glob
import numpy as np
def load_record(path):
"""读一份记录,返回 (时间轴ms, {列名: 幅值数组})"""
with open(path, encoding='utf-8') as f:
rows = list(csv.DictReader(f))
cols = rows[0].keys()
t = np.array([parse_ms(r['TIME_1']) for r in rows])
sig = {c: np.array([float(r[c]) for r in rows])
for c in cols if c.startswith(('RE_', 'LE_'))}
return t, sig
def parse_ms(s):
"""把 YYYY-MM-DD hh:mm:ss.ffff 转成相对首点的毫秒"""
d, frac = s.split('.')
hh, mm, ss = d.split(' ')[1].split(':')
return ((int(hh)*3600 + int(mm)*60 + int(ss))*1000
+ int(frac)/1e4)
def peaks(t, v):
"""三窗口提峰,返回 (N35, P50, N95, P50幅值, 比值)"""
def win(a, b):
return (t >= a) & (t <= b)
m1, m2, m3 = win(20, 45), win(45, 70), win(70, 130)
n35 = t[m1][np.argmin(v[m1])]
p50 = t[m2][np.argmax(v[m2])]
n95 = t[m3][np.argmin(v[m3])]
a50 = v[m2].max()
a95 = abs(v[m3].min())
return n35, p50, n95, a50, (a95 / a50 if a50 > 0.1 else np.nan)
逐记录展开全部信号列
for path in sorted(glob.glob('csv/[0-9][0-9][0-9][0-9].csv')):
t, sig = load_record(path)
for name, v in sig.items():
if len(v) != 255:
print('长度异常', path, name, len(v))
continue
n35, p50, n95, a50, ratio = peaks(t, v)
print(path, name, round(n35,1), round(p50,1), round(n95,1), round(ratio,2))
这段代码有三处值得注意。parse_ms 必须手工解析,因为标准库的时间解析对四位小数秒支持不好,直接用 strptime 会丢精度。长度检查不能省,虽然目前全部为 255,但读入异常时报错比静默产出错误结果好。提峰用固定窗口,对儿童数据应放宽下界。
10.5 附录 B:六个可立即验证的疑问
- 官方所称「100 名正常受试者」与 106 条 Normal 记录,差异来自人去重还是版本差?
- 性别 155 与 176 的差额,能否由 23 名多次就诊者的性别构成解释?
- 95 条平直信号中,有多少来自诊断明确提示严重功能丧失的记录?
- 二十年里,P50 潜伏期中位数是否存在随年份的漂移?
rep_record中填了四个编号的那一行,四个记录之间的真实时间关系是什么?- 同一份记录内,右眼与左眼的信号相关性有多高?这决定了能否把双眼当独立样本。
这六个问题都需要下载数据后自行核对。第六个对建模影响最大——若双眼高度相关,把每条信号当独立样本会严重高估有效样本量。
10.6 附录 C:证据链
本文的硬数字分两类。
来自官方页面的是:受试者数、记录数、信号总数(详见事实清单)、2003 至 2022 年、23 名多次就诊者的构成(19/1/1/2)、年龄 4 至 86 岁与均值 37.1、官方声称的正常 100 名与女性 155 名、设备型号 Metrovision MonPack 120、标称采样率 1,700 Hz、窗长 150 毫秒、255 个采样点、翻转频率 1 至 2 Hz、三个特征波的大致时刻、伦理批号 2021/47、5.7 MB 与 978.9 KB、ODC-By 许可、两个 DOI。
由本次全量计算得出的是:记录编号 0001 至 0336 连续无断号、主表 336 行 12 列及其实际列名、性别分布 176/160、诊断 82 种写法与前十五位计数、视力列 38 个空缺单元、rep_record 55 行、unilateral 8 行、列组分布 49/240/41/5/1、时间戳步长 0.6 毫秒与跨度 149.9 毫秒、全库幅值统计、三峰潜伏期中位数与四分位区间、N95/P50 比值分布、95 条平直信号。
两类数字在正文中已分别标注。凡与官方描述不一致处,均以文件内容为准并说明可能的解释,未据此否定官方数字。
编辑说明
核验时点:2026 年 10 月 19 日,依据 PhysioNet 条目页 v1.0.0 与对该版本全部 336 份记录文件的实测。
核验方式:官方页面逐段读;随后下载整包 978.9 KB,解压后对 336 份记录与主表做全量统计,核对记录数、信号数、行数、列结构、时间戳步长、幅值分布与三峰位置。凡官方给出而文件内容不同的数字(正常受试者数、女性数、字段名),两方并列呈现并说明可能的解释,不单方面采信任一方。
口径处理:受试者、记录、信号三个计数单位在全文严格区分,不混用。官方未说明统计口径处,本文一律采用记录口径并显式标注。诊断分布的统计按记录行计,同一记录的三项诊断分别计入,因此各类之和大于记录数。
未覆盖内容:未与原始检查报告或外部病历对照,因此无法判断诊断标签的准确性。未做年份分层分析,故二十年跨度的质控漂移只能提出检查方法而不能给出结论。未使用参数化拟合,波形统计仅基于固定窗口取极值这一最简单方法。
相关数据集导航
以下为站内 AI-Ready 数据集百科中与本词条共享多个主题标签的相关数据集,按相关度降序排列:
- ou-dataset-t1d — 共享标签:生理信号 / 时序数据 / 真实世界数据
- uwhvf — 共享标签:眼科影像 / 时序数据 / 真实世界数据
- d1namo — 共享标签:生理信号 / 时序数据 / 真实世界数据
- shanghai-t1dm-t2dm-cgm — 共享标签:生理信号 / 时序数据 / 真实世界数据
- ptb-xl-plus — 共享标签:生理信号 / 时序数据 / 真实世界数据
- mimic-iv-waveform-legacy — 共享标签:生理信号 / 时序数据
- sleep-edf — 共享标签:生理信号 / 时序数据
- sicdb — 共享标签:生理信号 / 时序数据
- mhealth — 共享标签:生理信号 / 时序数据
- mass — 共享标签:生理信号 / 时序数据
导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。

