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 檔案不會對外提供下載。
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。
延伸閱讀
- 醫學影像與臨床文本標註工具對比:3D Slicer、QuPath、MONAI Label、V7、Encord 與 Potato 的比較
- 氣隙與離線部署:Potato 在本地提供哪些內容
- SSO 與 OAuth 認證:讓標註者通過機構的身份提供方登入
- 本站的相鄰領域:生命科學和NLP 與文本