跳轉到內容

MINC/工具/N3

來自華夏公益教科書

N3 包實現了用於校正 MRI 資料中強度不均勻性的非引數方法。

MRI 中經常看到的一種偽影是訊號強度在影像中平滑變化。它被稱為 RF 不均勻性、陰影偽影或 B0 強度不均勻性,通常歸因於諸如射頻 (RF) 場均勻性差、場梯度切換驅動的渦流以及視野內外的患者解剖結構等因素。

nu_correct 實施了一種方法來校正 MR 資料中的強度不均勻性,該方法無需監督即可實現高效能。透過對資料做出相對較少的假設,該方法可以在自動化資料分析的早期階段應用,在獲得組織強度或幾何模型之前。該方法被稱為非引數非均勻強度歸一化 (N3),它獨立於脈衝序列,並且對可能違反模型假設的病理資料不敏感。

為了消除場估計對解剖結構的依賴,使用迭代方法來估計乘法偏差場和真實組織強度的分佈。使用 N3 對 MR 資料進行預處理已被證明可以顯著提高解剖分析技術的準確性,例如組織分類、配準和皮層表面提取。

N3 包的內容

[編輯 | 編輯原始碼]

N3 包中包含許多指令碼和工具。您將使用的主要指令碼是 nu_correct。每個指令碼或可執行檔案都有自己的幫助頁面,可以透過以下方式訪問

   nu_correct -help 

nu_correct 使用了許多其他二進位制檔案和指令碼,這些指令碼本身也很有用。它們的功能總結如下

 nu_correct     estimates and removes intensity non-uniformity from a volume.
 
 nu_estimate    estimates the intensity non-uniformity in a volume, 
                storing the result in a compact format referred to as an .imp file.
 
 nu_evaluate    corrects the intensity non-uniformity in a volume using the given .imp file.
 
 imp2field      expands an .imp file into a MINC volume representation of the correction field.
 
 field2imp      converts a MINC volume representation of a correction field into an .imp file.
 
 spline_smooth  smooths a volume using tensor cubic B splines or thin plate splines.

N3 的功能和使用方法

[編輯 | 編輯原始碼]

僅透過檢視影像而沒有經過精心選擇的顏色圖的幫助,很難檢測到 B0 不均勻性。在我們的測試用例中,我們將從來自 1.5T 西門子掃描器的簡單 T1 MPRAGE 影像開始。

上面的影像和此處的所有影像都是使用類似於下面的方式使用 mincpik 建立的。

  mincpik -scale 2 original.mnc -slice 150 -image_range 10 80 original.png

請注意,如果您不仔細檢視影像下部白質的強度,很難在影像中選擇不均勻性。為了校正此影像,我們使用預設引數執行 nu_correct。

  nu_correct original.mnc out.mnc

這將產生兩個輸出檔案

  out.mnc - the corrected minc file
  
  out.imp - the intensity correction field

現在,我們可以檢視校正後的檔案 (out.mnc)

由於很難選擇原始版本和校正版本之間的差異,我們可以建立一個場影像來視覺化差異。

  imp2field -like out.mnc out.imp field.mnc

然後使用光譜顏色圖生成影像

  mincpik -scale 2 field.mnc -slice 150 -lookup -spectral field.png

然後為了完整起見,這裡使用光譜顏色圖顯示了原始影像和校正影像,以更好地視覺化變化。請注意,在第二個(校正後的)影像中,白質的強度更加均勻(紅色部分)。

關於 MNI N3 的常見問題解答

[編輯 | 編輯原始碼]

如何將原始資料轉換為 N3 使用的格式?

N3 使用 MINC 檔案格式的資料。minc 包提供了兩個程式 rawtominc 和 minctoraw,分別用於將原始資料轉換為 minc 格式和從 minc 格式轉換。使用這些程式的示例如下。假設資料是包含 24 個 256x256 切片的無符號短整型。如果此資料來自生成 12 位資料的 MRI 掃描器,並且其位元組序與執行 rawtominc 的機器不同,則可以按如下方式進行轉換

  dd conv=swab if=mydata.raw | rawtominc -transverse -short -unsigned \
     -xstep -1 -ystep -1 -zstep 5.5 -mri -origin 0 0 0 \
     -range 0 4095 -real_range 0 4095 -clobber mydata.mnc 24 256 256 

並將資料轉換回原始格式,如下所示

   minctoraw -range 0 1800 -normalize somedata.mnc | dd conv=swab of=somedata.raw 

當我指定掩碼體積時,N3 產生錯誤訊息。怎麼了?

N3 的掩碼區域定義為任何大於零的體素。但是,程式 extracttag 將掩碼重新取樣到工作解析度,它有一些特殊之處,會導致錯誤。問題在於 extracttag 對資料集的真實範圍很挑剔。在 minc 格式中,原始二進位制資料(稱為體素值)與其作為實數的解釋(稱為實值)之間的對映是任意選擇的。

預設情況下,rawtominc 將對映設定為將體素值的整個範圍對映到範圍 [0, 1]。可以透過給出 -range 和 -real_range 選項來覆蓋此設定。例如,對於 12 位 MR 資料,可以選擇 -range 0 4095 -real_range 0 4095。無論如何,我不完全清楚 extracttag 期望什麼,也不期望什麼。但是,我發現以下命令

   mincmath -gt -const 0 old_mask.mnc new_mask.mnc 

解決了問題。

順便說一下,關於真實範圍和體素範圍,請記住,N3 將小於 1 的值視為背景的一部分。因此,使用 rawtominc 建立的資料集(沒有範圍規範)將產生一個體積,該體積在 N3 的眼中是空的。

N3 可以用於單切片資料嗎?

是的,它可以很好地用於單切片資料。但是,請注意,1.02 版中的一個錯誤可能會導致僅包含幾個切片的體積出現不規則結果。此問題已在 1.04 版中修復。

我可以將 N3 用於表面線圈資料嗎?

是的,但是預設設定並非最佳。由於表面線圈資料中的非均勻性非常嚴重,N3 通常會在校正完成之前達到其迭代限制。嘗試使用 nu_correct 執行該程式,並新增選項 -iterations 150。如果這沒有幫助,請嘗試減少停止閾值,方法是新增選項 -stop 0.0001。

為什麼我第二次執行 N3 時會得到不同的結果?

對於非均勻性特別嚴重的體積,N3 會在演算法收斂之前達到其迭代限制。在這些情況下,第二次執行演算法應該可以改進結果。但是,使用 -iterations 和 -stop 選項調整停止條件更加直接,分別設定最大迭代次數和場估計的最小變化。例如,嘗試選項 '-iteration 150'。

參考文獻

[編輯 | 編輯原始碼]
  1. J. G. Sled、A. P. Zijdenbos 和 A. C. Evans,``一種用於自動校正 MRI 資料中強度不均勻性的非引數方法, IEEE 醫學影像學報,第 17 卷,第 87-97 頁,1998 年 2 月。
  2. J. G. Sled、A. P. Zijdenbos 和 A. C. Evans,``用於 MRI 的回顧性強度不均勻性校正方法的比較, 在醫學影像資訊處理中,第 459-464 頁,1997 年。
  3. J. G. Sled,``一種用於自動校正 MRI 資料中強度不均勻性的非引數方法, 碩士學位論文,麥吉爾大學,蒙特利爾,QC,1997 年 5 月。

更多資訊和問題

[編輯 | 編輯原始碼]

使用 minc-users 郵件列表

華夏公益教科書