Skip to content
医疗健康与临床

用 Potato 做医疗健康与临床标注

标注临床记录,分割 DICOM 和 NIfTI 体数据,标注病理切片,每个病例分配多名评阅者,全部运行在你所在机构控制的服务器上。

Potato 让临床医生在临床记录中标注实体和关系,对来自 DICOM 或 NIfTI 的 CT 和 MR 体数据做分割,并在全切片病理图像上绘制标注;每个病例可分配多名评阅者,并测量他们的一致性。Potato 免费开源,运行在你自己的服务器上,临床记录和图像始终留在你的机构内部。

临床标注项目往往有两个共同要求。数据不能交给云服务,所以工具必须运行在机构自己的基础设施上;标注者是稀缺的专家,他们的标签需要相互核对。Potato 在你安装它的任何地方都能运行,包括设置完成后没有对外路由的网络。Potato 把病例分配给标注者,保留每名标注者的标签,并为每一种标签报告一致性。

Potato 中的临床标注任务

每一行是 Potato 2.12 自带的一种标注类型或显示类型,链接页面给出了它的配置。

任务Potato 的做法文档
临床 NER 与关系为问题、治疗、检查或健康社会决定因素打片段标签,并在它们之间建立链接片段标注
概念规范化把提及链接到 UMLS 概念、Wikidata,或通过 REST API 提供的术语服务实体链接
医学编码分类体系从文件加载的层级选项,例如某个编码系统的子集层级多选
CT 和 MR 分割volume_annotation 以轴位、冠状位和矢状位视图显示 DICOM 序列或 NIfTI 文件,支持用画笔或多边形绘制掩码、层间插值;边界框作为独立形状保存在掩码之外导出格式
病理切片通过 openslide 读取全切片图像(.svs、.ndpi、.mrxs 等),在任意缩放级别下都能标注深度缩放
胸部 X 光及其他图像在图像上打标签、画边界框和多边形,并计算边界框上的一致性计算机视觉
问卷在任务之前或之后施测 PHQ-9 和 GAD-7 等经过验证的量表调查工具

DICOM 头中的患者信息

DICOM 头通常包含患者姓名、ID、出生日期和所在机构,因此体数据查看器只向标注者显示你在 display_tags 中列出的头字段。DICOM 去标识化基本规范会删除的字段,例如 PatientName 或 PatientID,只有同时列在 allow_identifying_tags 中才会显示。这份列表由服务器强制执行,浏览器无法请求其他字段。除非你开启下载,原始 DICOM 和 NIfTI 文件不会对外提供下载。

yaml
annotation_schemes:
  - annotation_type: volume_annotation
    name: ct_segmentation
    description: Outline the lesion and the bone ring
    source_field: volume
    labels:
      - {name: Lesion, color: "#e6553a", key_value: "1"}
      - {name: Bone, color: "#3a8ee6", key_value: "2"}
    default_window: Soft tissue
    display_tags: [Modality, BodyPartExamined, SliceThickness]

这层过滤无法覆盖所有情况。文件名和目录名会传到浏览器,而 PACS 导出常以患者名字命名文件夹,所以请使用 case_001/ 这样的假名。被标记为含有烧录标注的序列会被拒绝,但其他序列中的像素不会被检查,磁盘上的文件也保持上传时的原样。如果运行服务器的人也不能看到身份信息,请在上传前对文件做去标识化处理。体数据支持需要 pip install 'potato-annotation[volumes]',全切片图像需要 wsi 扩展。

一致性与导出

volume_annotation 的掩码按标签在每对标注者之间计算三维 Dice;如果某一对标注者都没有绘制某个标签,这一对在该标签上不计入,而不是算作一致。掩码可以导出为保持源几何结构的 NIfTI 标签体(volume_nifti),或引用源序列的 DICOM SEG 对象(dicom_seg)。文本标注可导出为 JSONL、CSV、CoNLL 或 Parquet,每名标注者的标签都会保留,供裁定使用。

与 3D Slicer、MedCAT 和 REDCap 的分工

3D Slicer 是用于医学图像分析和单人精细分割的桌面平台,MedCATtrainer 是用于训练生物医学概念识别与链接模型的界面。当同一批病例要通过浏览器交给多名阅片者,并且你需要他们的一致性时,Potato 更合适。Potato 不是临床数据采集系统,也没有 REDCap 为受监管研究提供的那种审计追踪,所以可识别身份的健康记录应保存在专门为此设计的系统中,Potato 只用于标注。

常见问题

能否在我们自己的服务器上标注含有 PHI 的临床记录?

Potato 运行在你控制的服务器上,并把标注写入这些服务器的磁盘。除非你配置了外部服务,例如托管的 AI 端点,否则 Potato 不会向任何外部服务发送数据。某个部署能否存放受保护的健康信息,要由你所在机构的隐私与安全部门决定,他们会审查服务器和应用层面的访问控制、登录、加密和日志记录。

自托管的标注工具能让项目符合 HIPAA 吗?

没有哪个工具能单凭自身让项目合规。合规取决于系统如何部署和运营,包括访问控制、协议和服务器上的防护措施。Potato 能在两方面提供帮助:第一,安装完成后,Potato 可以在机构网络内部运行,不需要任何外部连接;第二,体数据查看器会限制标注者能看到哪些 DICOM 头字段。

Potato 能打开 DICOM 或 NIfTI 图像吗?掩码导出为什么格式?

能,从 2.12 版开始。volume_annotation 方案在三个联动视图中打开 DICOM 序列或 .nii、.nii.gz 文件,条目上的 RTSTRUCT 可以提供初始掩码。掩码可导出为 NIfTI 标签体,或引用源序列的 DICOM SEG 对象。不支持四维体数据、PET/CT 融合图像和斜位重建。

如何在阅片者之间分配影像病例并测量他们的一致性?

用 num_annotators_per_item 设置每个病例由多少名阅片者查看,Potato 会分配病例并保留每名阅片者的掩码。一致性报告给出同一病例上每对阅片者按标签计算的三维 Dice。

延伸阅读

从这里开始

示例设计

每个设计都是可以下载并直接运行的 Potato 配置。

i2b2 Clinical Named Entity RecognitionNamed entity recognition and assertion classification for clinical notes, based on the i2b2/VA 2010 challenge (Uzuner et al., JAMIA 2011). Annotators identify clinical entities such as problems, treatments, tests, medications, and their assertion status in de-identified medical text.RadGraph-XL: Radiology Entity and Relation ExtractionEntity and relation extraction from radiology reports. Annotators identify clinical entities (Anatomy and Observation, each marked definitely present, uncertain, or definitely absent) and label relations between them (located_at, suggestive_of, modify).MedNLI: Clinical Natural Language InferenceNatural language inference for clinical text. Annotators determine whether a clinical hypothesis is entailed by, contradicted by, or neutral with respect to a premise sentence from clinical notes. Based on the MedNLI dataset derived from MIMIC-III clinical notes.n2c2 2022: Social Determinants of Health ExtractionExtract social determinants of health (SDOH) from clinical notes. Annotators identify SDOH entities (Employment, Housing, Substance Use, etc.) and their attributes (status, type, temporal information). Based on the n2c2 2022 Track 2 shared task for SDOH extraction from clinical narratives.CheXpert Chest X-Ray ClassificationMulti-label classification of chest radiographs for 14 observations (Irvin et al., AAAI 2019). Annotate chest X-rays with pathology labels including uncertainty handling for clinical findings.Camelyon17 - Breast Cancer Metastasis Detection in PathologyPathology slide annotation for breast cancer metastasis detection. Based on the CAMELYON grand challenge (Ehteshami Bejnordi et al., JAMA 2017), annotators delineate tumor regions in whole-slide histopathology images and classify slides as positive or negative for metastasis.

其他领域

全部应用场景