2016年3月5日 星期六

Automatic Lung CAD

Low dose chest CT漸漸成為趨勢,幾乎是chest X-ray般的輻射劑量,卻提供超多細節,以及chest radiologist的工作量 T_____T

本院chest CT檢查量就像物價一樣漲個不停,打起來最爽快的莫過於cancer follow up,爽點包括:
  • 已經有診斷、有治療,定期追蹤看有沒有復發、轉移,大部 分都是post-op changes, non-specific changes,以及一些雜魚tiny stable nodules。
  • 有前人打的報告,copy & paste再做些修改。
  • 之後會繼續來追蹤,有nodule沒看到,下次總會有機會再看到。
  • Multiple bilateral lung metastases最為#無痛,而且可以#秒殺,因為就已經是一堆nodules了啊!
相反地,low dose chest CT可怕之處在於:
  • 通常是較健康的人(例如健檢),只有非常少、非常小的nodule
  • 因為是健康的人,氣吸很飽,肺變得很大,守備範圍加大…
  • 這個檢查要看細切影像(1mm),動輒兩三百張,非常耗神耗眼…
  • 萬一沒找到lesion,下次回診時可能已經真的有cancer了,雖然不一定有相關性,但被告的機率感覺比較高,#怕怕der
  • 因為low dose,soft tissue看不清楚,liver到底有沒有tumor只能瞎猜

當LDCT成為事實,CAD就是義務!


目前部內的架構是:
  • 做完CT → 細切傳至部內RAID(Osirix, iMac)
               ↘ 粗切傳至醫院資訊室PACS

為了自動化CAD,幻想中的流程是
CT → 某台強大電腦運算CAD  ← user query
  • 可惜本人image processing很弱,只看paper無法自己拼成可用的程式
  • 也是有別人寫好的現成的matlab code,但效果沒有很好…

於是規劃了複雜的流程
CT → RAID → Workstation (CAD) → Orthanc server   ← user query

細節如下
  • 做CT,series name需要改為「LungCARE」,傳至部內RAID
  • Osirix設定auto-routing,有「LungCARE」的series會自動傳至#S牌工作站
  • 工作站設定「LungCARE」的study自動apply為MM Oncology,而且會在背景先做CAD
  • AutoHotkey程式,每天早上三點(所謂三更半夜四下無人)會執行
    • 登入
    • 篩選「昨天」的「LungCARE」
    • 打開study
    • Show lung CAD results
    • Accept all candidates(本來是要醫師自己到場accept或reject每一個candidate)
    • Complete and archive:result會存成一個新的series
  • 工作站設定result的series再自動re-routing到自己架的server(Orthanc

主要的考量包括:
  • S牌工作站
    • 可以找GGN,accuracy還算OK
    • 軟體介面是AutoHotkey可以access到的
    • 向工程師要到某種帳號,可以做進階設定
    • CAD可以pre-processing,不用現場等,前提是一定要命名為LungCARE
  • 其他工作站:
    • G牌:本部最舊的,很久沒更新;軟體只能一次處理一個case,無法批次處理;用linux系統,不熟…
    • P牌:CAD很弱...
    • T牌:介面無法用AutoHotkey抓,不能找GGN或是4mm以下的nodule
  • RAID轉運站
    • 每一台CT都會傳到RAID,而且Osirix可以設定auto-routing,就不再麻煩放射師要另外傳到工作站
    • 缺點是主機老舊,硬碟容量小,其實就是一個外接硬碟而已,還要常常手動更換,和「RAID」完全沾不上邊…
  • Orthanc server
    • 支援web介面查詢、瀏覽series、基本影像操作(亮度/對比)
    • 支援REST API,可以用http request配合json查詢、抓影像

使用者端(chest radiologist們)則用另一個AutoHotkey程式,將下列動作綁在一個hotkey:
  • 抓RIS目前報告的病歷號
  • 用http request去查自架server是否有符合的result,有的話…
  • 在已開啟/新開啟的firefox或chrome打開連結,直接連到web viewer的頁面

目前要再做一個server,針對非LDCT,可以丟一個病歷號過去,然後:
  • 從RAID拉影像(用dcm4che)
  • 修改series name為「LungCARE」(用ExifTool,或是出動Python)
  • 將dicom傳到工作站,等CAD
  • 登入工作站,accept candidates,export result
  • 回傳通知CAD已完成
雖然很複雜,但目前能力只能做到這樣,希望以後有更好的流程~

沒有留言:

張貼留言