要得到T1和T2分布圖,首先要得到食品樣品成像的原始數據圖。而在現有的國產的成像設備(實驗采用的是0.3T核磁共振成像係統)圖像數據是經過歸一化處理的數據。因此,首先要得到原始的K空間數據(K space data),進行傅立葉變換後,得到原始的圖像數據,再進一步計算才能得到T1或T2的分布圖。所謂K空間數據是指數據采集完成後得到的一個完整的數據矩陣,此為原始數據。一般看到的圖像是對這個數據矩陣進行快速傅立葉變換後,歸一化處理得到的重建圖像數據,其值代表圖像的灰度值。這個灰度值隻是真實數據的一個比值,不能用於計算T1/T2。在上一章中已經討論了如何通過參數調整來得到一幅清晰的圖像,以及采用不同的成像序列對樣品進行T1/T2 加權成像的方法。得到NMRI成像圖,隻是完成了第一步,在成像圖的基礎上采用數學處理的方法,得到T1/T2分布圖才是成像實驗的目的。而要計算T1/T2分布圖,首先要理解成像數據的結構,即MRI設備具體的數據采集過程和數據排列格式。
MRI信號的數字化過程叫采樣,經采樣後的模擬信號就轉化為數字信號。MRI采樣是等間隔采樣,兩次相繼采樣間的時間叫采樣時間。采樣數為2的整數次冪,這樣才能繼續傅立葉變換。所謂傅立葉變換(Fourier Transform,FT),是一種將複雜的信號波形分解為許多單一頻率分量的數學方法。目前我們試驗用的NMR/MRI成像儀所得到的是波形信號文件,即FID文件。從信號產生和變換的角度看,磁共振成像過程可分為三個步驟:(1)是在激勵脈衝(RF)和梯度磁場的作用下使自旋質子產生NMR信號(FID、自旋回波或梯度回波等);(2)是采集NMR信號並將采樣數據填入K空間的適當位置;(3)是對采樣數據進行傅立葉反變換的信號寫入過程。K空間寫入的方式、路徑就是所謂K空間軌跡(trajectory of K space),它取決於掃描序列中梯度脈衝的時序。在我們應用的MRI成像儀中數據排列方式是這樣的:當第一個相位編碼梯度作用後,橫向磁化矢量有一個相位,然後在采集數據時加上一個頻率編碼梯度,就可以采集到一個正弦波形。為了便於計算機處理,必須將正弦函數離散成Nx個數據點,這類Nx個數據點填充在一行線上。在第一行數據采集完成後,改變一個相位編碼梯度這又導致另外一個相位角,但是由於頻率編碼梯度保持恒定,采集到的信號具有相同的頻率,唯一不同的是相位,這次采集到的數據點填充在第二行中。如此反複下去,每次相位編碼梯度都是線性遞增下去,導致一個線性遞增的相位角,采集到的數據點則排列在相應的行上,當Ny個波形信號采集好後,我們就得到一組兩維Nx×Ny的數據矩陣,這種原始數據采集空間就被稱為K空間,K空間的每個數據點是圖像上所有像素的信息組合。
在成像係統中,每個像素的幅值都經過了歸一化處理。因此,需要我們自行通過編程來獲取K空間數據,並進一步計算T1/T2 mapping圖。
這部分工作主要通過編程來完成。首先將FID格式的信號數據文件讀入計算機,再進行傅立葉變換,轉換為圖像數據文件,但不進行歸一化處理,將其存貯為TXT的數據文檔。在取得K空間數據後,就可以進一步計算T1/T2值。T1的計算公式推導如下。
采用最小二乘法來進行指數曲線擬合。
二元函數最小點偏導數為零
采用最小二乘曲線擬合,可尋求有限測量數據及其伴隨誤差的變化規律。曲線擬合先確定擬合模型,再確定函數的所屬類。計算出T1 值後采用Matlab軟件數據進行三維顯示。
在實驗中,進行T1分布圖測量時,每改變一次TI,預掃描參數之一中心頻率必須重新調整,否則選擇層麵和圖像位置就會位移,從而影響測量的準確性;但是預掃描參數其他參數如發射機增益(Transmitter gain,TG)和接收機增益(Receiver gain,RG)則不能改變。因為,TG和RG為信號放大倍數,直接關係到像素信號值的大小。
在一係列的成像實驗中,隨著TI值的由小變大,成像圖對比度會出現一個由小到大的過程。這是由於在IRSE序列中,激發脈衝為180°反轉脈衝,其激發後Mz被激發到-Z軸方向,但在取信號時實際上取的是絕對值。因此,隨著TI的增大,會有一個信號值減小的過程,當TI值設置在實驗樣品組織的拐點上,絕對值重建的IR圖像對比度就會最低。因此,要避免在TI拐點處成像。在實際的成像實驗中,可采用以下方法。先調用IR-SE 序列,將相位編碼梯度A3置0,其他參數不變,隻改變TI值,采用重複掃描GS,觀察回波信號,可以看到回波信號的積分值隨著TI值的由小變大,出現一個由大變小,再由小變大的過程。記下TI的最小值TImin,在以後的係列成像實驗中,就從TI1>TImin 開始,這樣就可以有效的避免情況發生,計算的T1值就更準確。
對於T2的計算可以采用SE序列成像計算方法。
以下是根據以上原理應用Delphi7.0進行編程,將FID數據文件讀出並進行傅立葉變換,並將變換後的數據文件在歸一化處理前寫入當前目錄下default.txt文件,由此可以得到原始數據文件,再通過編程計算可以得到T2 mapping圖。
unit MainForm;
//以下為程序的界麵部分,定義程序的界麵
interface
uses
Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,
Dialogs,NmrType_U,ExtCtrls,Gauges,StdCtrls,Buttons,ComCtrls,openfile;
type
TMainFrm =class(TForm)
Panel1:TPanel;
Panel2:TPanel;
Panel3:TPanel;
Panel4:TPanel;
btnStart:TSpeedButton;
btnAbout:TSpeedButton;
Panel5:TPanel;
btnExit:TSpeedButton;
Imagel:TImage;
Label1:TLabel;
Label2:TLabel;
Minvalue:TEdit;
Maxvalue:TEdit;
Editl:TEdit;
Label3:TLabel;
Loadfile:TButton;
procedure FormCreate(Sender:TObject);
procedure FormDestroy(Sender:TObject);
procedure btnStartClick(Sender:TObject);
procedure btnAboutClick(Sender:TObject);
procedure btnExitClick(Sender:TObject);
procedure LoadfileClick(Sender:TObject);
private
FImageBitmap:TBitmap;
FRawData:T2DComplexArr;
FCount1:integer;
FCount2:integer;
//調用 LoadRawData函數和GenerateImage過程。函數及過程定義見後
function LoadRawData(AFileName:string):boolean;
procedure GenerateImage(var AData:T2DSingleArr; n1,n2:integer; AImageBitmap:TBitMap);