• 跳至主要導覽
  • 跳至主要內容
  • 跳至主要資訊欄
Office 指南

Office 指南

辦公室工作實用教學

  • Excel
  • Word
  • PowerPoint
  • Windows
  • PowerShell
  • R

CTP DICOM Filter 影像條件篩選教學與範例

介紹如何透過 CTP DICOM Filter 的語法,撰寫影像篩選條件的指令稿,檢查與過濾 DICOM 影像資料。

CTP DICOM Filter

CTP DICOM Filter 是 CTP 處理流程中的一個處理步驟(stages),可透過指令稿所定義的篩選條件,從處理流程中挑出不符合條件的 DICOM 影像,存放於指定的隔離目錄下。

CTP DICOM Filter 指令稿語法

CTP DICOM Filter 指令稿是由一個或多個判斷條件所組成的,判斷條件的基本結構如下:

identifier.method("string")

其中 identifier 為 DICOM 的標籤,而 method("string") 則為匹配方法。

DICOM 標籤表示法

DICOM 的標籤可以使用 dcm4che 所定義的名稱或十六進位代碼來表示,例如:

  • SOPInstanceUID
  • [0008,0018]

若要表示 DICOM 的巢狀結構,可以使用雙冒號(::)分隔各層的 DICOM 標籤,例如:

  • SeqOfUltrasoundRegions::RegionLocationMinY0
  • [0018,6011]::[0018,601A]
  • SeqOfUltrasoundRegions::[0018,601A]

對於 DICOM 影像中的私有標籤(Private Data Elements),可以使用標準的十六進位代碼來表示,或是採用 Private Creator Data Element 的內容來表示。假設 [0029,0011] 這個 Private Creator Data Element 內容為 XYZ CT HEADER,則 [0029,1140] 這個私有標籤則可用以下兩種方式表示:

  • [0029,1140]
  • [0029[XYZ CT HEADER]40]

私有標籤構成的巢狀結構,也是同樣以雙冒號分隔各層的標籤,例如:

  • [0029[XYZ CT HEADER]40]::[0017[ALIGNMENT HEADER]42]

匹配方法

在 CTP DICOM Filter 的指令稿中可以使用以下幾種匹配方法,對 DICOM 標籤內容進行比對,若比對成功則傳回 true,否則傳回 false:

方法 說明
equals("string") 完全等於 string。
equalsIgnoreCase("string") 完全等於 string,不分大小寫。
equals("regex") 符合 regex 所指定的正規表示法。
contains("string") 包含 string。
containsIgnoreCase("string") 包含 string,不分大小寫。
startsWith("string") 以 string 開頭。
startsWithIgnoreCase("string") 以 string 開頭,不分大小寫。
endsWith("string") 以 string 結尾。
endsWithIgnoreCase("string") 以 string 結尾,不分大小寫。
isLessThan("value") 數值小於 value。
isGreaterThan("value") 數值大於 value。

如果在對 DICOM 影像進行標籤內容比對時,若指定的 DICOM 標籤不存在,則會視為空字串("")。

isLessThan 與 isGreaterThan 在進行比對之前,會對 DICOM 標籤內容與指定參數進行前處理,將所有非數值的字元去除,將資料轉為雙精度浮點數(double precision floating point values)之後,再進行比對,若轉換失敗則傳回 false。

註解

所有雙斜線(//)之後到結尾的內容都會被視為註解,例如:

// 這是註解
PatientName.equals("xyz") // 這也是註解

邏輯運算子與括號

若要結合多種不同的判斷條件,可以使用邏輯運算子以及括號:

運算子 說明
+ OR 運算子。
* AND 運算子。
! NOT 運算子。
() 優先運算。

以下是使用邏輯運算子的範例:

// ImageType 包含 SECONDARY 或 DERIVED
ImageType.contains("SECONDARY") + ImageType.contains("DERIVED")

// ImageType 不包含 SECONDARY 或 DERIVED
!(ImageType.contains("SECONDARY") + ImageType.contains("DERIVED"))

// ImageType 不包含 SECONDARY 或 DERIVED
!ImageType.contains("SECONDARY") * !ImageType.contains("DERIVED")

分類:免費工具 標籤:DICOM, RSNA MIRC Clinical Trials Processor(CTP)

主要資訊欄

搜尋

近期文章

  • Python 使用 PyAutoGUI 自動操作滑鼠與鍵盤
  • Ubuntu Linux 以 WireGuard 架設 VPN 伺服器教學與範例
  • Linux 網路設定 ip 指令用法教學與範例
  • Windows 使用 TPM 虛擬智慧卡保護 SSH 金鑰教學與範例
  • Linux 以 Shamir’s Secret Sharing 分割保存金鑰教學與範例
  • Linux 以 Cryptsetup、LUKS 加密 USB 隨身碟教學與範例
  • Linux 以 Cryptsetup 與 LUKS 加密磁碟教學與範例
  • Linux 使用 age 簡潔的加密、解密工具使用教學與範例

推薦網站

  • Udemy 線上教學課程
  • Coursera 線上教學課程

關注本站

  • 電子郵件
  • Facebook

公益

  • 家扶基金會
  • 台灣世界展望會
  • Yahoo 奇摩公益
  • igiving 公益網
  • 兒福聯盟

Copyright © 2021 · Office Guide