# 患者感知层：采集、盲评与评分协议

v0.4.0-patient-draft · 2026-10-27 · **研究设计与可运行开发工具，尚无实际招募、临床验证或有效性认证。**

## 1. 这个层能回答什么

目标是检验：在给定眼部测量和光源条件后，Agent 的预测是否接近患者报告的存在性、形态、位置和变化。患者报告是感知观测，具有测量误差，不能自动代表视网膜光强，也不能独立证明中央孔、光学区边缘或某一光路就是现象原因。

分别报告已有的物理数值分、机制对照分和本层感知一致性分。不把三者简单加权成“已理解ICL”的临床结论。本层输出 `clinical_score=null`、`mechanistic_understanding_score=null`、`validated_instrument=false`。即使输入标记为research，研究资质、真实同意和设备条件也只能由研究方确认，网页不能验证。

## 2. 采集流程

1. 研究人员完成正式同意和去标识，分配稳定patient_id；双眼、各条件和随访保持同一患者分组。不收集姓名、联系方式、具体手术日期或完整病历。
2. 记录外部光源协议、实际源亮度cd/m²、环境lux、适应分钟、源距离与直径、观察眼和术后天数。光谱、注视角、瞳孔、ICL型号/光学区/度数、vault、角膜像差、残余屈光和泪膜等可由独立测量文件经optical_state_id关联；未知不可补成厂家参数或典型值。
3. 按[问卷](questionnaire.md)先自由描述，再作结构化选择。默认不展示模型图、参考环或上一轮答案。**没有、不确定、未回答分别编码**。
4. 在[交互界面](index.html)标出灯芯和形态。支持1–4光源，每条记录最多8个圆环、椭圆、弧段或自由轮廓。一个光源可以对应多层；不能归因时勾选源不确定。先检查中心、尺寸、带宽、弧范围与光源归属，再逐个确认。
5. 同一患者/访视/眼/条件建议3次独立重复，开发最低2次。点击“下一次独立重复”清空前次形态和回答；研究员预先随机化条件顺序、安排间隔，保留所有重复。前后P01重复可用于时间效应检查。
6. 复核并保存，再导出JSON。完成不等于主评分合格：未标定、回忆、屏幕匹配等仍可保存，评分器会列明排除原因。默认只存在页面内存；本机草稿需主动勾选。页面没有上传、网络或远程存储；导出的文件由研究方管理。

界面采用+ x向右、+ y向上、注视点为原点，所有位置/半径/宽度用度。输入的是感知空间坐标，不要直接使用倒置的视网膜坐标。源位置应由协议输入；P03还需保管世界源和凝视方向，不能仅移动画面伪造条件。OU单列，不能当成两个单眼光场的算术平均。

形态带宽是**报告可见带宽**，不是FWHM。自由轮廓是开口折线，不强制闭合，也不拟合一个假圆心；需要闭合时参与者自行连接终点与起点。自由轮廓宽度同样需要确认。8方位亮度是全局角方向的主观等级0–4，不当作光子数，未知留null。

## 3. 几何、显示与二次成像

用实体尺测量页面200 CSS px标尺实际长度L mm，记录眼到屏幕距离D mm。屏幕中心为原点，水平映射为：

`x_css = W/2 + (200/L) × D × tan(theta_x)`，垂直轴反向；反函数为atan。角坐标使用两轴投影角，原型限制每轴±15°。这只记录几何，**未标定屏幕亮度、gamma、色彩、感知阈值或患者头位**。改变设备、窗口、缩放、观察距离或重新载入记录后，重新实测并确认。

在标准外部光源观察后使用低亮度图形记录，与把屏幕上的亮点/渲染当作刺激做视觉匹配，是两个不同程序。后者会让显示结果再次经过患者术后眼光学系统，本协议不做反卷积，也不将它升级为标准光源主参考。即使前者也可能受到显示反馈、记忆、学习及二次成像偏差影响；标尺核对不能消除这些偏差。实际研究应固定图形亮度与观察/记录间隔，并用独立描画、低亮度辅助记录或其他心理物理测量检验偏差后再谈效度。

研究光源强度、适应程序、时长和停止规则由负责临床研究团队审定。当前页面只记录，不产生经校准的光刺激，也不提供临床干预方案。

## 4. 七类具体观察任务

详见问卷P01–P07。每个条件预先规定控制量和改变项，建立独立condition_id。

| 任务 | 主要预测 | 附加检查 |
|---|---|---|
| P01 中央单光源 | 存在概率、环层数、中心偏移、尺寸、带宽、弧段 | 无现象是合法报告，不强迫画圈 |
| P02 源亮度变化 | 可见度/出现概率及形态是否变化 | 不把源亮度与环境照度混为一个量 |
| P03 固定世界光源，改变注视 | 灯芯与环中心的相对位移、偏心与弧方向 | 保留世界、注视、感知坐标变换 |
| P04 两光源 | 每个源对应的结构、重叠区 | 不能确定源归因时保留不确定，不强配 |
| P05 源角尺寸变化 | 环带展宽/平滑/重叠 | 明确保持源亮度或总能量中的哪一项 |
| P06 环境照明/适应变化 | 出现性、可见范围、形态变化 | 瞳孔与神经适应共同变化，不能直接当成纯瞳孔因果实验 |
| P07 首尾复测P01 | 对时间/重复波动的分布预测 | 不是增加独立患者数，也不要求消失 |

## 5. 输入输出与防泄漏

参考数据外层为 `{"schema_version":"0.4.0-patient-draft","records":[...]}`。每次重复单独一条记录，target_id为 `patient_id|visit_id|eye|condition_id`。ID中禁用`|`。一位Agent对每个target交一份预测，所有重复均用于对照，不能挑选最相似的那次。

预测示例：

```json
{"predictions":[{
  "target_id":"SYN-001|V1|OD|P01",
  "presence_probability":0.9,
  "features":[{"id":"F1","source_id":"L1","kind":"circle",
    "cx_deg":0.1,"cy_deg":0.0,"rx_deg":1.2,"ry_deg":1.2,
    "rotation_deg":0,"width_deg":0.2,"radius_interval_deg":[1.1,1.3],
    "brightness8":[4,3,2,1,1,2,3,4]}],
  "symptoms":{"visibility":6,"bother":3}
}]}
```

可选ellipse使用rx/ry及rotation；arc使用rx、start_deg、sweep_deg，角从+x逆时针；freehand用points_deg取代中心半径。源id必须存在。presence_probability<0.5时按无可见结构评分，但仍校验已提交特征是否合法。用于预测**重复报告分布**的圆环半径区间为名义80%，不是物理参数置信区间。

Agent仅获得独立眼部测量、刺激协议、坐标/源和允许的训练数据；不获得本次主诉、形态或参考渲染。若给了主诉再让Agent复刻，这是重建辅助轨道，需要独立命名，不能计作盲预测。训练/验证/测试按患者整体划分，双眼、重复和随访不能跨集合；设备/中心/术后时间等域外测试另报。规则、权重和容差在看测试结果前冻结。

本仓库`patient-demo`生成的是虚构形态与抖动，只测试格式、归因及评分；public中的optical_state_id没有真实眼部数据，**不能视为可运行临床光学预测任务**。真实任务必须补齐相应的实测输入及独立验证。

## 6. 主评分及独立诊断项

这些是**待试验验证的开发权重和尺度**，没有临床合格阈值。

每份报告：`S = 100 × [0.20(1−Brier) + 0.40 IoU + 0.20 C + 0.20 F]`。

| 量 | 可计算定义 |
|---|---|
| Brier | (预测存在概率p − 患者存在标签y)²；不确定报告不设y=0 |
| IoU | 在同一固定角坐标框内，将每个轮廓按报告带宽扩成环带/折线带，计算预测和参考的并集交并比；不先对齐、平移或缩放，不用像素RGB作真值 |
| 匹配 | 最多8个形态，精确最小代价匹配；不同source_id不能匹配；配对代价1−单特征IoU，漏报/多报各付1代价 |
| C | 每对轮廓的对称平均最近点距离d（度），得exp(−d/0.25°)，对匹配对求和后除以max(预测数,参考数)；漏报多报为0，双方为空取1 |
| F | 同源匹配数量的F1 = 2m/(预测数+参考数)；双方为空取1。此项衡量数量/归因，几何另由IoU与C判断 |

0.25°是原型敏感度尺度，非临床最小可觉差。默认256²角栅格（可64–512），圆/弧用解析距离、椭圆用128点闭合折线、自由轮廓用原始折线扩带。Chamfer距离：曲线128个点，圆/弧/椭圆按参数角取样，自由轮廓按弧长重采样；细带、极小结构及椭圆高偏心率应做256/512加密检查。参考形态无栅格像素的记录单列排除，不能把空掩膜当完美匹配。分数受这些离散近似影响。

额外输出：中心/相对灯芯偏移误差、半径x/y和带宽误差（度）、每对轮廓误差、匹配数量，以及8方位相对亮度归一化MAE与有效覆盖率。形态不规则时不强算圆心。光强不可辨识时不用亮度等级拟合物理能量。

圆环半径的名义80%区间单列：覆盖率、平均宽度和proper interval score，`IS = (u−l)+10 max(l−r,0)+10 max(r−u,0)`，越小越好；点估计须在区间内。它衡量对重复报告的覆盖，不能用超宽区间刷高主分；不提交区间不假装已评估不确定度。

可见度、困扰度、过去7天影响的0–10绝对误差另报，不加入几何主分；主观等级不是等距物理量，MAE仅作约定的开发摘要。颜色和自由文本不自动做词义打分。

## 7. 重复、统计与排除

先平均同一target的所有合格重复，再平均同一患者的targets，最后对患者等权宏平均。缺交或无效预测的合格target计0，不缩小分母。记录原点、角框、源或刺激元数据不一致，条件组排除并列原因。相同target+repeat重复ID直接拒绝，防止重复灌入。

附患者内各重复两两感知一致性作为上下文，不把它当作理论分数上限、自动权重或硬性门槛。95%区间采用患者为簇的2000次bootstrap（固定种子20261027）；少于2个患者返回null。小样本区间只能反映输入样本的重采样波动，不保证代表临床人群。

主开发分需：完成且确认形态、明确同意、标准外部光源方式、明确存在/不存在、完整实测刺激字段、独立几何/光度确认、标注几何核对、≥2次重复。草稿、回忆、屏幕匹配、不确定、源归因不确定、范围裁切、校准变化、未测数据单列排除；自动检测形态超出角框和源不在框内。**真实局部弧段可评分，因视场裁切的弧段不能擅自补成全环。** 当前不支持裁切似然评分，这部分资料仍应保存供后续专门轨道。

合成与research必须分两次运行，不能混合汇总。被排除者不是“没有光圈”，必须同时报告合格人数/targets/重复数、排除原因和缺交数，并检查是否因排除造成选择偏差。

## 8. 接入真实研究前的验证

由眼科、视觉光学和心理物理研究人员复核用词、标准光源与测量程序；先用认知访谈检查患者是否理解问题，再估计重测一致性、描画方法偏差、访视稳定性及与独立测量的关系。B/C项是不同维度，不能仅凭一个内部一致性系数宣称量表有效。

预注册观察条件、终点、排除规则、主次指标和分层方案；估计患者间/患者内变异后再定样本量与评分容差。用恒定环、错位环、无光圈、忽略眼部测量等负控检查区分度，并在隐藏患者上评估。观察一致只支持现象预测；还需通过既有物理不变量、光路与独立机制对照，才能判断模型是否理解ICL。

当前浏览核验未成功：外部文献站点被浏览环境的DNS安全检查阻断。因此本轮没有声称引用或采用已验证临床量表，也没有借用其名称或认证。
