一、CT圖像重建原理
在CT成像中,物體對(duì)X射線的吸收起主要作用咏雌,在均勻物體中换薄,X射線的衰減服從指數(shù)規(guī)律。在X射線穿透人體器官或組織時(shí),由于人體器官或組織是由多種物質(zhì)成分和不同的密度構(gòu)成的,所以各點(diǎn)對(duì)X射線的吸收系數(shù)是不同的。將沿著X射線束通過(guò)的物體分割成許多小單元體(體素)稀轨,令每個(gè)體素的厚度均為L(zhǎng)。設(shè)L足夠小岸军,使得每個(gè)體素均勻奋刽,每個(gè)體素的吸收系數(shù)為常值,如果X射線的入射強(qiáng)度I0艰赞、透射強(qiáng)度I和物體體素的厚度L均為已知佣谐,沿著X射線通過(guò)路徑上的吸收系數(shù)之和μ1+μ2+……+μn就可計(jì)算出來(lái)。
為了建立CT圖像方妖,必須先求出每個(gè)體素的吸收系數(shù)μ1狭魂、μ2、μ3……μn。為求出n個(gè)吸收系數(shù)雌澄,需要建立如上式那樣n個(gè)或n個(gè)以上的獨(dú)立方程斋泄。CT成像裝置從不同方向上進(jìn)行多次掃描,來(lái)獲取足夠的數(shù)據(jù)建立求解吸收系數(shù)的方程镐牺。
吸收系數(shù)是一個(gè)物理量炫掐,它是CT影像中每個(gè)像素所對(duì)應(yīng)的物質(zhì)對(duì)X射線線性平均衰減量大小的表示。再將圖像面上各像素的CT值轉(zhuǎn)換為灰度睬涧,就得到圖像面上的灰度分布募胃,就是CT影像。
CT重建過(guò)程可以采用直接反投影和卷積反投影來(lái)實(shí)現(xiàn)畦浓。卷積反投影重建圖像時(shí)痹束,先把由檢測(cè)器上獲得的原始數(shù)據(jù)與一個(gè)濾波函數(shù)進(jìn)行了卷積運(yùn)算,得到各方向卷積的投影函數(shù)宅粥;然后再把它們從各方向進(jìn)行反投影参袱,即按其原路徑平均分配到每一矩陣元上,進(jìn)行疊加后得到每一矩陣元的CT值秽梅;再經(jīng)過(guò)適當(dāng)處理后就可以得到被掃描物體的斷層圖像,卷積反投影可消除單純的反投影產(chǎn)生的邊緣失銳效應(yīng)剿牺,補(bǔ)償投影中的高頻成分和降低投影中心密度企垦,并保證重建圖像邊緣清晰和內(nèi)部分布均勻。
二晒来、利用MATLAB2016a進(jìn)行CT圖像重建
1钞诡、仿真頭部模型數(shù)據(jù)的獲取
利用MATLAB中P = phantom(def, n)函數(shù)可以方便地直接獲取Shepp-Logan頭模型,其中字符型參數(shù)def在X射線斷層掃描中研究者主要采用'Shepp-Logan'以及默認(rèn)情況為'Modified Shepp-Logan' (default)湃崩,標(biāo)量參數(shù)n指明矩陣P的行列數(shù)目荧降,默認(rèn)情況下為256。這樣我們很容易獲取模型的數(shù)據(jù)從而避免了利用C++等其他程序語(yǔ)言進(jìn)行數(shù)據(jù)獲取方式的不便攒读。C++獲取SheepLogan函數(shù)的思路為遍歷圖像朵诫,檢測(cè)圖像的每一個(gè)像素點(diǎn)是否依次在某一橢圓中,若在橢圓外薄扁,則置為背景色剪返,在其他任何橢圓中,則置為該橢圓對(duì)應(yīng)的灰度值邓梅。
P =phantom('Modified Shepp-Logan',200);
2脱盲、利用反投影法進(jìn)行圖像重建
圖像重建的算法采取的是濾波反投影法,先通過(guò)X射線束在體層的各個(gè)方向上對(duì)各體素進(jìn)行掃描日缨,測(cè)得一系列的投影值钱反,然后,把各個(gè)方向的投影值沿原路徑反方向投影回與原體素空間位置一樣的體素上,得到該體素在各方向上反投影值的總和面哥,通過(guò)計(jì)算機(jī)運(yùn)算哎壳,求出各體素值,實(shí)現(xiàn)圖像的重建幢竹。
利用radon變換函數(shù)進(jìn)行各個(gè)角度所獲取的Shepp-Logan頭像投影耳峦,也就是將圖像在某一個(gè)方向上做線性積分(或累計(jì)求和)。如果將圖像看成是二維函數(shù)f(x, y)焕毫,那么其投影就是在特定方向的線性積分蹲坷,比如f(x, y)在垂直方向的線性積分就是其在x軸上的投影。函數(shù)R = radon(I, theta)中參數(shù)I為上節(jié)獲取的灰度圖像邑飒,theta為指定的投影角度循签。
theta0=0:36:144;
[R0,xp] = radon(P,theta0);%5個(gè)投影角度;
theta1=0:18:162;
[R1,xp] = radon(P,theta1);%10個(gè)投影角度;
theta2 = 0:10:170;
[R2,xp] = radon(P,theta2);%18個(gè)投影角度;
theta3 = 0:5:175;
[R3,xp] = radon(P,theta3);%36個(gè)投影角度;
theta4 = 0:2:178;
[R4,xp] = radon(P,theta4);%90個(gè)投影角度;
I0=iradon(R0,36);
I1=iradon(R1,18);
I2=iradon(R2,10);
I3=iradon(R3,5);
I4=iradon(R4,2);
3、濾波反投影圖像重建過(guò)程
利用MATLAB中的iradon函數(shù)對(duì)上步獲得的投影數(shù)據(jù)進(jìn)行濾波反投影重建疙咸,獲得Shepp-Logan模型的重建圖像县匠。
figure;
subplot(3,2,1),imshow(P)
title('(a)Shepp-Logan head phantom image')
subplot(3,2,2),imshow(I0)
title('(b)Backprojection from 5 projections');
subplot(3,2,3),imshow(I1)
title('(c)Backprojection from 10 projections');
subplot(3,2,4),imshow(I2)
title('(d)Backprojection from 18 projections');
subplot(3,2,5),imshow(I3)
title('(e)Backprojection from 36 projections');
subplot(3,2,6),imshow(I4)
title('(f)Backprojection from 90 projections');
三、X-CT圖像重建MATLAB仿真結(jié)果