跳轉至內容

MINC/工具/emma/emma-demo2

來自 Wikibooks,開放世界的開放書籍

高階 EMMA 影像處理

[編輯 | 編輯原始碼]

本教程涵蓋了使用 MATLAB 和 EMMA 工具包進行高階影像處理。它假設讀者已經熟悉 EMMA 和基本的影像處理。

建立和使用蒙版

[編輯 | 編輯原始碼]

讓我們首先假設我們已經將動態 PET 研究的一個切片中的 21 幀載入到名為PET的變數中。我們希望建立一個蒙版,其中大腦所在的位置為 1,其他位置為 0。如果這是一個氧氣研究,一種簡單的方法是隨時間對影像進行積分,然後使用閾值選擇蒙版畫素的值。假設一個名為ftimes的變數包含幀的中幀時間

img = ntrapz(ftimes,PET')';

是積分影像。我們現在希望為蒙版選擇畫素。MATLAB 能夠對值向量執行布林運算,因此這非常容易

mask = img>(mean(img)*threshold);

在這種情況下,mask中的畫素將被設定為 1,如果積分影像的值大於整個影像的平均值乘以某個閾值。要建立一個蒙版,將除大腦外的所有內容都遮蔽掉,我們通常會選擇一個閾值為 1(積分影像中所有值大於積分影像平均值的畫素都被選中)

mask = img>(mean(img));

這會生成一個看起來像這樣的影像

檔案:Emma2mask.gif

只需將這兩個影像相乘,就可以輕鬆地將此蒙版應用於原始影像

masked_frame = PET(:,17) .* mask;

這將生成第 17 幀的蒙版版本,看起來像

檔案:Emma2masked.gif

對一組影像進行平均

[編輯 | 編輯原始碼]

在執行 PET 研究時,通常會收集來自多個受試者的一組資料。收集完所有資料後,必須將來自各種獨立研究的資料平均在一起。MATLAB 允許以非常直接的方式對影像執行數學運算。假設我們有一組儲存在變數P1, P2, P3, P4中的影像,並且我們希望對這四張影像進行平均,結果很簡單

average_image = (P1 P2 P3 P4)/4;

生成時間活動曲線

[編輯 | 編輯原始碼]

使用 MATLAB 生成時間活動曲線非常簡單。EMMA 提供了一個名為maketac的函式,該函式根據給定的點的 x 和 y 座標以及一組動態 PET 影像,將返回基於 5 畫素正方形感興趣區域 (ROI) 的時間活動曲線。在maketac函式中使用的方法可以擴充套件到任何大小/形狀的 ROI。其使用的一個示例是

viewimage(img);
[x,y]=getpixel(1);
tac = maketac(x,y,PET);
figure;
plot(ftimes,tac);

第一行顯示積分影像(之前計算的),第二行提示使用者在影像中單擊一個點(返回該點的 x 和 y 座標),第三行建立時間活動曲線並將其儲存在變數tac中,最後兩行建立曲線的圖(請記住,ftimes包含之前檢索的中幀時間)。生成的繪圖可能如下所示

檔案:Emma2tac.gif

華夏公益教科書