
推 文 概 览
此前,我们介绍了Pathology-CoT研究(AI病理文摘|Nature Biomedical Engineering:把阅片轨迹变成训练数据,病理AI开始学习医生如何找到答案)。这项研究将病理医生阅片时的缩放、平移、停留和倍率切换转化为结构化数据,让AI不仅学习最终的诊断答案,也开始学习医生寻找诊断证据的过程。
推文发布后,有读者在后台推荐了近期发表的另一项研究PathInteract。研究者公开了一套代码,可从病理医生的阅片录屏中提取鼠标轨迹、视野平移与缩放以及语音信息,为既有阅片视频的再利用提供了新的工具。
更进一步,如果结合免费的数字病理软件QuPath,我们甚至不必完全依赖视频反推轨迹。本期AI病理工具箱就来看看,如何利用这些免费工具,以较低成本搭建一套病理医生阅片轨迹采集与解析方案。

正文精彩继续
一、PathInteract:把既有阅片视频重新变成数据
PathInteract研究发表于Scientific Reports, 其目标是从病理医生的屏幕录像中提取三类信息:

鼠标轨迹:使用YOLOv8检测每一帧中的鼠标位置。作者通过将鼠标图标随机叠加到病理图像上,生成2万张合成图像训练检测模型。

视野操作:利用相邻视频帧之间的光流变化,识别向左、向右、向上、向下平移,以及放大和缩小操作。

语音内容:使用Whisper将医生的口述转换为文本,再根据时间戳与视频画面对应起来。
在此基础上,作者还尝试识别医生用鼠标圈画区域的行为,并将口述中的组织学描述与对应视频帧组成图文对。

这意味着,大量已经存在的教学视频、会诊录像和病例讨论视频,都有可能被重新整理为:视频帧+鼠标轨迹+视野动作+医生口述。
不过,PathInteract仍是一套研究原型。它能够判断“鼠标在视频画面的哪里”“什么时候发生了缩放或平移”,但通常不能直接恢复鼠标和视野在原始WSI中的准确坐标。
如果能够重新采集数据,还有一种更简单、更准确的选择:QuPath View Tracker。
二、QuPath已经自带免费的阅片轨迹记录功能
PathInteract论文用于验证视频算法的“真实轨迹”,并不是作者自行开发的工具,而是来自QuPath自带的View Tracker。
QuPath是一款免费的开源数字病理软件。View Tracker可以直接从图像浏览器内部记录:
• 医生当前看到的WSI区域;
• 视野在原始切片中的坐标;
• 当前下采样倍数;
• 可选的鼠标位置;
• 可选的当前操作工具;
• 每次操作的时间戳。
这些数据不需要从录像中反推,已经位于原始WSI坐标系中。因此,如果研究者能够安排医生使用QuPath阅片,直接记录View Tracker TSV,应当作为首选方案。
最推荐的低成本组合是:QuPath View Tracker TSV+屏幕录像+可选口述音频。
其中,TSV负责准确记录空间轨迹,屏幕录像负责复核操作情境,音频则用于补充医生看到了什么、为什么关注这个区域。
三、如何用QuPath记录一次阅片过程?
第一步:建立QuPath Project
当前版本的View Tracker要求图像位于QuPath Project中,因为记录文件会自动保存在项目目录内。
建议提前为每张WSI建立唯一的病例编号和切片编号,并单独登记医生编号、阅片任务、最终诊断和QuPath版本。
第二步:打开View Tracker
在QuPath顶部菜单中选择:View → Show view tracker
随后点击View Tracker窗口中的“三点”选项,建议同时启用:
Mouse tracking
Active tool tracking
前者记录鼠标在WSI中的坐标,后者记录医生当时使用的是移动、画笔还是其他工具。

第三步:开始和停止记录
点击录制按钮后,医生按照日常习惯浏览切片即可。停止记录后,QuPath会自动将轨迹保存为TSV文件。
需要注意,一次记录只能绑定一个Viewer。录制过程中切换到其他Viewer,会导致当前记录停止。因此,最好让一份TSV只对应一张WSI和一次连续阅片。
第四步:回放和生成热图
QuPath可以直接回放记录,也可以:
• 跳转到指定时间点;
• 查看每个记录帧;
• 按时间范围筛选;
• 按Downsample范围筛选倍率;
• 生成基于停留时间的覆盖热图;
• 将热图导出为TIF。

如果只是希望比较不同医生重点观察了哪些区域,QuPath自身的回放和热图功能已经可以满足基础分析需求。
四、导出的TSV包含什么?
QuPath View Tracker导出的TSV主要包括:
Timestamp:从开始记录起经过的时间,单位为毫秒。
X、Y、Width、Height:当前可见区域在原始WSI中的位置和大小。
Canvas width、Canvas height:QuPath显示画布的屏幕尺寸。
Downsample factor:相对于WSI最高分辨率的下采样倍数。
Rotation:当前视野的旋转角度。
启用鼠标和工具追踪后,还会增加:
Cursor X、Cursor Y:鼠标对应的WSI坐标,而不是电脑屏幕坐标。
Active tool:当前使用的QuPath工具。
例如:
Timestamp 1342
X 23890
Y 28956
Width 2395
Height 1571
Downsample factor 1.993
Cursor X 24783.71
Cursor Y 29562.17
Active tool Move
这表示在开始记录约1.342秒后,医生正在观察WSI中横坐标23890~26285、纵坐标28956~30527的区域,鼠标位于坐标24783.71、29562.17附近。
此外,TSV相邻两行的时间间隔不一定固定。某个视野的停留时间,应使用下一行减去当前行的时间戳计算,不能直接用记录行数代替。
五、使用PathInteract代码解析TSV
PathInteract仓库在qupath_rec目录中提供了QuPath日志解析示例:
qupath_rec/utils.py
qupath_rec/process_qupath_view_tracking.ipynb
qupath_rec/qupath_demo_tracking.csv
最基础的读取方式是:
import pandas as pd
df=pd.read_csv("view_tracking.tsv", sep="\t")
df["time_s"]=df["Timestamp"] / 1000
作者随后根据X、Y的变化判断视野平移,根据Downsample factor的变化判断放大和缩小,并生成:qp_ground_truth_actions.csv
输出包括六类动作:
Pan Left
Pan Right
Pan Up
Pan Down
Zoom In
Zoom Out
Notebook还可以绘制视野位置、倍率变化、缩放事件和平移事件的时间曲线。
不过,正式使用时建议做两处修正。
第一,不要因为Cursor X/Y=-1就删除整行。鼠标位置无效,并不代表这一时刻的视野和倍率记录无效。应保留全部数据,单独增加cursor_valid字段。
第二,要校正缩放方向:
Downsample factor减小 → Zoom In
Downsample factor增大 → Zoom Out
六、如何对应此前的Pathology-CoT研究?
此前的Pathology-CoT将连续阅片日志进一步压缩为两类行为:
Inspect:在某个区域相对完整地观察;
Peek:短暂切换到高倍,确认局部细节。
QuPath View Tracker能够提供构建这些行为所需的核心数据:
时间戳+视野坐标+视野大小+下采样倍数+鼠标位置。
PathInteract则可以进一步提供视频中的操作识别和语音转录。
因此,一条低成本复现路线可以是:
QuPath记录原始轨迹
→ PathInteract代码解析平移和缩放
→ 根据停留时间识别Inspect与Peek
→ 将视野坐标映射回WSI
→ 提取相应ROI
→ 与口述内容和最终诊断对齐。
最终,每个训练单元可以包含:
当前视野+观察倍率+停留时间+鼠标位置+对应WSI区域+医生口述+最终诊断。
这已经非常接近“让AI学习病理医生如何寻找答案”所需要的基础数据结构。
七、两种情况下,应该怎样选择?
如果可以重新组织医生阅片,优先选择:
QuPath View Tracker TSV+屏幕录像+可选口述音频。
这是最准确、成本最低,也最容易回写到原始WSI的方案。
如果手中只有历史教学视频或会诊录像,则可以使用PathInteract提取鼠标、平移、缩放和语音。但如果没有原始WSI和View Tracker TSV,通常只能获得相对操作轨迹,很难准确恢复每个视野在原始切片中的绝对位置。
还需要说明的是,QuPath是成熟的免费开源软件;PathInteract虽然代码公开,核心模块也可以在本地运行,但目前仍是研究原型,并非下载安装后即可批量使用的一键式工具。
不过,对于准备开展病理医生阅片行为、病理Agent或视觉搜索策略研究的团队,这套方案已经足以低成本完成第一批数据采集。
八、总 结
使用免费的QuPath软件就可以直接记录医生看过哪些区域、使用什么倍率、停留多久以及鼠标位于哪里;PathInteract则可以进一步从视频中提取鼠标、缩放、平移和语音信息。
它们记录的并不是医生脑中完整的“思维链”,也不能替代真正的眼动数据。但它们已经能够把医生阅片过程中原本被忽略的操作日志,转化为可分析、可回放、可与WSI对齐的数据,为病理AI的研发提供新的训练数据。
相关资料
PathInteract论文: https://doi.org/10.1038/s41598-026-61758-2
PathInteract代码: https://github.com/smujiang/PathInteract
QuPath View Tracker官方说明:https://qupath.readthedocs.io/en/stable/docs/advanced/view_tracker.html

· 往期推荐
夜雨聆风