MINC/工具/emma/emma-標籤
MATLAB 非常適合分析透過使用顯示程式收集的資料。此演示頁面簡要概述了可以對這些資料執行的一些分析。
這是一個使用 MATLAB 分析油漆(標籤)資料的演示。首先,我們必須選擇要分析的研究。這可以透過 EMMAopenimage函式來完成,該函式返回對研究的控制代碼
h=openimage('/data/disk2/wolforth/minc/farduharson_leslie_tal.mnc');
我們還可以從標籤檔案(由顯示).
tags = loadtagfile('/data/disk2/wolforth/minc/farduharson_right44.tag');
從標籤檔案中讀取的點座標以與它們派生的體積相同的空間表示。因此,如果體積儲存在 Talairach 空間中(在本例中),標籤檔案中的座標將位於 Talairach 空間中。為了識別哪些體素被標記,我們必須從體積的世界空間(在本例中為 Talairach 空間)轉換為體素空間。這可以透過world2voxel函式來完成
[x,y,z] = world2voxel(h,tags(:,1),tags(:,2),tags(:,3));
由於我們使用的體積儲存為橫向切片,我們可以透過簡單地檢查z座標來找出哪些切片對我們來說很有趣
>> min(z)
ans =
44
>> max(z)
ans =
85
透過檢查z座標,我們看到切片 65 位於有繪製點的切片中。我們可以使用 EMMA 載入此影像並將其顯示出來getimages和viewimage函式
MRI = getimages(h,65); viewimage(MRI);
現在,讓我們製作一個掩碼,其中繪製的畫素設定為某個非零值,而未繪製的畫素設定為零。我們首先將掩碼初始化為全零
mask = zeros(256,256);
接下來,找到所有位於切片 65(我們感興趣的切片)內的點
index=find(z==65); xi=x(index); yi=y(index);
最後,將掩碼中繪製的體素設定為某個方便的值
for i=1:length(xi);
mask(xi(i),yi(i)) = max(MRI) 500;
end
現在我們有了掩碼,我們可以檢視疊加在基礎結構上的繪製圖像。請注意,在將掩碼新增到變數之前,我們必須重新調整掩碼的形狀MRI因為MRI是一個列向量影像,而掩碼是一個方形矩陣。
viewimage (reshape(mask,length(MRI),1) MRI);
我們還可以獲取標記畫素的強度直方圖
[no,xo] = gettaggedhist(h,tags);
此直方圖可以使用 MATLAB 條形函式檢視。我們排除第一個箱,因為它包含了掩碼中的所有零
figure; bar (xo(2:length(xo)), no(2:length(xo)));
我們還可以為整個影像上的畫素強度生成直方圖(這需要一些時間)。在這裡,我們指定要一個包含 50 個箱的直方圖
[n1,x1] = getvolumehist (h,50);
此直方圖也可以使用 MATLABbar函式來完成
figure; bar (x1, n1);