介紹如何使用 CTP DICOM Pixel Anonymizer 影像去識別化工具,抹除烙印(burned-in)在影像上的個人資料。
CTP DICOM Pixel Anonymizer
CTP DICOM Pixel Anonymizer 是 CTP 處理流程中的一個處理步驟(stages),可依據指令稿所定義的判斷條件,將烙印在 DICOM 影像內的個人資料抹除。
CTP DICOM Pixel Anonymizer 指令稿語法
CTP DICOM Pixel Anonymizer 指令稿包含了一個或多個判斷條件
與抹除區塊
組合,每個組合的結構如下:
{判斷條件} (抹除區塊1) (抹除區塊2) ...
判斷條件
固定寫在大括號之內,隨後緊接著一個或多個以小括號包住的抹除區塊
。
在 CTP DICOM Pixel Anonymizer 的指令稿中,所有不在大括號或小括號內的文字內容,都會被視為註解。
判斷條件
CTP DICOM Pixel Anonymizer 寫在大括號內的判斷條件的語法跟 CTP DICOM Filter 的語法相同,請參考 CTP DICOM Filter 影像條件篩選教學與範例。
抹除區塊
抹除區塊的結構為 (x,y,w,h)
,其意義如下:
x
:區塊左上角 X 座標值,也代表區塊左側的空白寬度。y
:區塊左上角 Y 座標值,也代表區塊上方的空白寬度。w
:區塊寬度。h
:區塊高度。
而在影像的座標系統中,原點位於影像的左上角,X 軸正向往右,Y 軸正向往下。
舉例來說,(20,30,100,50)
代表左上角座標為 (20,30)
,寬度為 100
像素,高度為 50
像素的區塊。
如果 x
值為負值,則會由影像的右側算起;同理如果 y
值為負值,則會由影像的下方算起。例如 (-50,-60,40,50)
就代表一個寬度 40
像素、高度 50
像素的區塊,右側與下方距離影像邊界都是 10
像素的區塊。
實際範例
以下是從 TCIA 的 Pseudo-PHI-DICOM-Data 資料集中取出的一張含有個資烙印的影像。
透過觀察此 DICOM 影像的後設資料,發現以下幾個 DICOM 標籤可能可以做為辨識是否含有烙印個資的依據:
(0008,0060) Modality CT (0008,0070) Manufacturer TOSHIBA (0018,1030) Protocol Name PE CHEST
假設我們希望當 DICOM 影像同時符合以下三條件時,將影像的 (0,0,230,30)
區域抹除:
Manufacturer
標籤含有TOSHIBA
關鍵字(不分大小寫)。Modality
為CT
。ProtocolName
含有PE CHEST
關鍵字(不分大小寫)。
判斷條件與抹除區塊組合就可以這樣寫:
TOSHIBA 設備產生的 CT 影像 { Manufacturer.containsIgnoreCase("TOSHIBA") * Modality.equals("CT") * ProtocolName.containsIgnoreCase("PE CHEST") } (0,0,230,30)
將這段判斷條件與抹除區塊組合加入至 CTP DICOM Pixel Anonymizer 的指令稿中,或是將這段組合儲存為一個新的指令稿,並修改 CTP DICOM Pixel Anonymizer 的指令稿設定。
由於在判斷 DICOM 影像是否含有烙印的個人資料時,會使用到 DICOM 標籤的內容,所以在 CTP 的 pipeline 中建議將 DICOM Pixel Anonymizer 放置在 DICOM Anonymizer 之前,避免需要的標籤內容被 DICOM Anonymizer 先抹除。
在測試時可以將 CTP DICOM Pixel Anonymizer 的 test
選項打開,可以比較容易看出 CTP 有沒有實際執行區塊抹除。
若開啟 test
選項,CTP DICOM Pixel Anonymizer 就會以淺色的方式覆蓋掉指定的區塊,抹除之後的影像會像這樣:
若測試沒問題,即可將 test
選項關閉,讓 CTP DICOM Pixel Anonymizer 以黑色覆蓋指定區塊。