
本發(fā)明涉及成像
技術(shù)領(lǐng)域:
,特別是涉及一種基于可分離足跡函數(shù)技術(shù)的投影方法、裝置及系統(tǒng)。
背景技術(shù):
:正向投影(ForwardProjection)和反向投影(BackProjection)是成像領(lǐng)域常用的投影方法。正向投影是利用系統(tǒng)模型矩陣與被成像系統(tǒng)掃描的人體或物體的乘積生成正向投影值,反向投影是正向投影的共軛運算。以X-CT(X射線電子計算機斷層掃描成像技術(shù))為例,利用精確準直的X線束對人體器官作斷面掃描,采用靈敏度極高的探測器接收掃描的三維圖像在探測器單元的正向投影值。根據(jù)探測器的每個探測器單元所采集的測量值,利用反向投影獲得三維圖像中每個坐標位置的反向投影值。但是,由于X-CT成像的空間分辨率很高,系統(tǒng)模型矩陣的維度可達109*109左右,導致利用現(xiàn)有的正向投影和反向投影技術(shù)獲得三維圖像所需的時間很長,投影方法效率低。技術(shù)實現(xiàn)要素:本發(fā)明解決的技術(shù)問題在于提供一種基于可分離足跡函數(shù)技術(shù)的投影方法、裝置及系統(tǒng),從而能夠縮短正向投影或反向投影所需的時間。為此,本發(fā)明解決技術(shù)問題的技術(shù)方案是:一種基于可分離足跡函數(shù)技術(shù)的投影方法,所述方法包括:獲取三維圖像中每個坐標位置的三維體素的像素值;在所述三維圖像的橫截面上并行計算所述三維體素投影到探測器的水平方向上的模糊足跡函數(shù),所述水平方向是所述三維圖像的橫截面在所述探測器的投影方向;根據(jù)所述像素值在所述探測器的軸方向上并行計算所述探測器的軸方向上的投影值,所述軸方向上的投影值是所述探測器的軸方向的模糊足跡函數(shù)與所述像素值的乘積在所述三維圖像的軸方向的和;在所述探測器的平面上并行計算所述水平方向上的模糊足跡函數(shù)與所述軸方向上的投影值的乘積獲得所述探測器的平面每個探測器單元的投影值。可選的,計算每個探測器單元的投影值包括:獲取所述三維圖像中每個坐標位置的三維體素在探測器的水平方向上的投影范圍;查找對探測器單元所有有貢獻的投影范圍,所述有貢獻的投影范圍包括所述探測器單元的水平坐標值;獲取所有有貢獻的投影范圍所對應(yīng)的三維體素作為有貢獻的三維體素;利用所述有貢獻的三維體素的水平方向上的模糊足跡函數(shù)和軸方向上的投影值的乘積獲得所述探測器單元的投影值??蛇x的,所述方法還包括:獲取探測器平面上每個探測器單元的測量值;根據(jù)所述水平方向上的模糊足跡函數(shù),所述軸方向上的模糊足跡函數(shù)以及所述探測器平面上每個探測器單元的測量值在所述三維圖像的每個坐標位置上并行計算所述三維圖像中每個坐標位置的反向投影值??蛇x的,所述根據(jù)探測器平面的測量值在所述三維圖像的每個坐標位置上并行計算所述三維圖像中每個坐標位置的反向投影值包括:根據(jù)所述水平方向上的模糊足跡函數(shù)以及所述探測器平面上每個探測器單元的測量值在所述三維圖像的橫截面上并行計算所述三維圖像的三維體素的投影值,所述三維圖像的三維體素的投影值是水平方向上的模糊足跡函數(shù)與所述探測器平面的測量值的乘積在所述三維圖像的橫截面的三維體素上的和;根據(jù)所述軸方向上的模糊足跡函數(shù)以及所述橫截面上三維體素的投影值在所述三維圖像的每個坐標位置并行計算所述三維圖像中每個坐標位置的投影值,所述投影值為所述橫截面上三維體素的投影值與所述軸方向上的模糊足跡函數(shù)的乘積在所述三維圖像的坐標位置的和??蛇x的,所述水平方向上的模糊足跡函數(shù)是梯形函數(shù)或矩形函數(shù)。可選的,所述軸方向上的模糊足跡函數(shù)是梯形函數(shù)或矩形函數(shù)。一種多GPU實現(xiàn)的投影方法,所述方法包括:GPU獲取系統(tǒng)中GPU的個數(shù),根據(jù)所述GPU的個數(shù)將投影角度平均劃分成多個投影角度范圍,所述投影角度范圍的個數(shù)與GPU個數(shù)相同;GPU獲取所述GPU的設(shè)備編號,根據(jù)所述設(shè)備編號獲取屬于所述GPU的投影角度范圍;GPU獲取三維圖像中每個坐標位置的像素值;GPU根據(jù)所述像素值按照上述基于可分離足跡函數(shù)技術(shù)的正向投影方法并行計算所述投影角度范圍下探測器的平面探測器單元的投影值??蛇x的,所述方法還包括:GPU根據(jù)所述GPU的個數(shù)將所述三維圖像的橫坐標或縱坐標平均劃分成多個坐標范圍,所述坐標范圍的個數(shù)與GPU的個數(shù)相同;GPU獲取所述GPU的設(shè)備編號,根據(jù)所述設(shè)備編號獲取屬于所述GPU的坐標范圍;GPU獲取探測器的平面中每個探測器單元的測量值;GPU根據(jù)屬于所述坐標范圍的所有測量值按照上述基于可分離足跡函數(shù)技術(shù)的反向投影方法并行計算所述坐標范圍下所述三維圖像中三維體素的反向投影值。一種基于可分離足跡函數(shù)技術(shù)的投影裝置,所述裝置包括:第一獲取模塊,用于獲取三維圖像中每個坐標位置的三維體素的像素值;第一計算模塊,用于在所述三維圖像的橫截面上并行計算所述三維體素投影到探測器的水平方向上的模糊足跡函數(shù),所述水平方向是所述三維圖像的橫截面在所述探測器的投影方向;第二計算模塊,用于根據(jù)所述像素值在所述探測器的軸方向上并行計算所述探測器的軸方向上的投影值,所述軸方向上的投影值是所述探測器的軸方向的模糊足跡函數(shù)與所述像素值的乘積在所述三維圖像的軸方向的和;第三計算模塊,用于在所述探測器的平面上并行計算所述水平方向上的模糊足跡函數(shù)與所述軸方向上的投影值的乘積獲得所述探測器的平面每個探測器單元的投影值??蛇x的,所述第三模塊包括多個第四單元,所述第四單元的個數(shù)與所述探測器的平面上探測器單元的個數(shù)相同;每個所述第四單元包括:第一獲取子單元,用于獲取所述三維圖像中每個坐標位置的三維體素在探測器的水平方向上的投影范圍;查找子單元,用于查找對探測器單元所有有貢獻的投影范圍,所述有貢獻的投影范圍包括所述探測器單元的水平坐標值;第二獲取子單元,用于獲取所有有貢獻的投影范圍所對應(yīng)的三維體素作為有貢獻的三維體素;第一計算子單元,用于利用所述有貢獻的三維體素的水平方向上的模糊足跡函數(shù)和軸方向上的投影值的乘積計算所述探測器單元的投影值。可選的,所述裝置還包括:第二獲取模塊,用于獲取探測器平面上每個探測器單元的測量值;第四計算模塊,用于根據(jù)所述水平方向上的模糊足跡函數(shù),所述軸方向上的模糊足跡函數(shù)以及所述探測器平面上每個探測器單元的測量值在所述三維圖像的每個坐標位置上并行計算所述三維圖像中每個坐標位置的反向投影值??蛇x的,所述第四計算模塊包括多個第二計算子單元和多個第三計算子單元,所述第二子單元的個數(shù)與所述三維圖像的橫截面上三維體素的個數(shù)相同,所述第三計算子單元與所述三維圖像的三維體素的個數(shù)相同;所述第二計算子單元,用于根據(jù)所述水平方向上的模糊足跡函數(shù)以及所述探測器平面上每個探測器單元的測量值在所述三維圖像的橫截面上并行計算所述三維圖像的三維體素的投影值,所述三維圖像的三維體素的投影值是水平方向上的模糊足跡函數(shù)與所述探測器平面的測量值的乘積在所述三維圖像的橫截面的三維體素上的和;所述第三子單元,用于根據(jù)所述軸方向上的模糊足跡函數(shù)以及所述橫截面上三維體素的投影值在所述三維圖像的每個坐標位置并行計算所述三維圖像中每個坐標位置的投影值,所述投影值為所述橫截面上三維體素的投影值與所述軸方向上的模糊足跡函數(shù)的乘積在所述三維圖像的坐標位置的和。一種GPU,所述GPU包括:第一劃分模塊,用于獲取系統(tǒng)中GPU的個數(shù),根據(jù)所述GPU的個數(shù)將投影角度平均劃分成多個投影角度范圍,所述投影角度范圍的個數(shù)與GPU個數(shù)相同;第一獲取模塊,用于獲取所述GPU的設(shè)備編號,根據(jù)所述設(shè)備編號獲取屬于所述GPU的投影角度范圍;第二獲取模塊,用于獲取三維圖像中每個坐標位置的像素值;第一計算模塊,用于根據(jù)所述像素值按照基于可分離足跡函數(shù)技術(shù)的正向投影方法并行計算所述投影角度范圍下探測器的平面探測器單元的投影值??蛇x的,所述GPU還包括:第二劃分模塊,用于根據(jù)所述GPU的個數(shù)將所述三維圖像的橫坐標或縱坐標平均劃分成多個坐標范圍,所述坐標范圍的個數(shù)與GPU的個數(shù)相同;第三獲取模塊,用于獲取所述GPU的設(shè)備編號,根據(jù)所述設(shè)備編號獲取屬于所述GPU的坐標范圍;第四獲取模塊,用于獲取探測器的平面中每個探測器單元的測量值;第二計算模塊,用于根據(jù)屬于所述坐標范圍的所有測量值按照基于可分離足跡函數(shù)技術(shù)的反向投影方法并行計算所述坐標范圍下所述三維圖像中三維體素的投影值。一種系統(tǒng),所述系統(tǒng)包括:多個上述的GPU。通過上述技術(shù)方案可知,本發(fā)明有如下有益效果:本發(fā)明實施提供了基于可分離足跡函數(shù)技術(shù)的投影方法、裝置及系統(tǒng),獲取三維圖像中每個坐標位置的三維體素的像素值;在所述三維圖像的橫截面上并行計算所述三維體素投影到探測器的水平方向上的模糊足跡函數(shù);根據(jù)所述像素值在所述探測器的軸方向上并行計算所述探測器的軸方向上的投影值;在所述探測器的平面上并行計算所述水平方向上的模糊足跡函數(shù)與所述軸方向上的投影值的乘積獲得所述探測器的平面每個探測器單元的投影值。采用并行計算水平方向上的模糊足跡函數(shù),并行計算軸方向上的投影值以及并行計算每個探測器單元的投影值,縮短前向投影所需的時間,提高前向投影和反向投影的效率。附圖說明為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明實施例提供的基于可分離足跡函數(shù)技術(shù)的投影方法流程圖;圖2為本發(fā)明實施例提供的掃描設(shè)備照射三維成像體在探測器上投影的示意圖;圖3為本發(fā)明實施例提供的多GPU實現(xiàn)的投影方法流程圖;圖4為本發(fā)明實施例提供的基于可分離足跡函數(shù)技術(shù)的投影裝置結(jié)構(gòu)示意圖;圖5為本發(fā)明實施例提供的一種GPU結(jié)構(gòu)示意圖;圖6為本發(fā)明實施例提供的基于可分離足跡函數(shù)技術(shù)的投影系統(tǒng)結(jié)構(gòu)示意圖;圖7為本發(fā)明實施例提供的基于可分離足跡函數(shù)技術(shù)的投影裝置硬件結(jié)構(gòu)示意圖;圖8為本發(fā)明實施例提供的一種GPU硬件結(jié)構(gòu)示意圖;圖9為本發(fā)明實施例提供的基于可分離足跡函數(shù)技術(shù)的投影系統(tǒng)硬件結(jié)構(gòu)示意圖。具體實施方式為了給出縮短投影方法所需的時間的實現(xiàn)方案,本發(fā)明實施例提供了一種基于可分離足跡函數(shù)技術(shù)的投影方法、裝置及系統(tǒng),以下結(jié)合說明書附圖對本發(fā)明的優(yōu)選實施例進行說明。實施例一正向投影可以采用公式(1)表示:g(s,t,β)=Σx,y,za(s,t,β;x,y,z)f(x,y,z)---(1);]]>其中,f(x,y,z)為三維圖像中坐標位置為(x,y,z)的三維體素的像素值;g(s,t,β)為探測器平面上探測器單元的投影值,β為三維圖像的投影角度,s為探測器平面上的橫坐標,t為探測器平面上的縱坐標,t方向與z方向(三維圖像的軸方向)平行,a(s,t,β;x,y,z)為模糊足跡函數(shù)。a(s,t,β;x,y,z)可以用公式(2)表示:a(s,t,β;x,y,z)=u(β;x,y)v(s,t,β)F1(s,β;x,y)F2(t,β;x,y,z)(2);其中,u為第一振幅函數(shù),v為第二振幅函數(shù),F(xiàn)1為水平方向上的模糊足跡函數(shù),F(xiàn)2為軸方向的模糊足跡函數(shù)。由公式(1)和公式(2)可知,正向投影采用公式(3)表示:g(s,t,β)=v(s,t,β)Σ(x,y)F1(s,β;x,y)[ΣzF2(t,β;x,y,z)f(x,y,z)]u(β;x,y)---(3).]]>圖1為本發(fā)明實施例提供的基于可分離足跡函數(shù)技術(shù)的投影方法流程圖,包括:101:獲取三維圖像中每個坐標位置的三維體素的像素值。圖2為掃描設(shè)備照射三維成像體在探測器上投影的示意圖。其中,z方向為三維圖像的軸方向,即掃描設(shè)備的軸方向;(x,y)平面即為掃描設(shè)備中掃描射線源的照射平面,即三維成像體垂直于軸方向的橫斷面;虛線是探測設(shè)備中掃描射線源的運動軌跡;s方向為(x,y)平面在探測器平面的投影。掃描設(shè)備照射三維成像體獲得一個三維圖像,可以獲得三維圖像的每個坐標位置的三維體素的像素值,即獲得每個(x,y,z)坐標位置的三維體素的像素值。102:在所述三維圖像的橫截面上并行計算所述三維體素投影到探測器的水平方向上的模糊足跡函數(shù),所述水平方向是所述三維圖像的橫截面在所述探測器的投影方向。并行計算水平方向上的模糊足跡函數(shù),是在三維圖像的橫截面上利用x×y個線程進行并行計算。舉例說明,如圖2所示,在三維圖像的(x,y)平面上,采用x×y個線程同時計算每個三維體素的水平方向上的模糊足跡函數(shù)F1(s,β;x,y)。對于每個線程來說,一個線程對應(yīng)三維圖像中的一列三維體素,即同一個線程所要計算的的三維體素的坐標位置的(x,y)相同,但是z不同。相同(x,y),不同z的坐標位置的三維體素的水平方向上的模糊足跡函數(shù)相同。。其中,水平方向上的模糊足跡函數(shù)F1(s,β;x,y)可以是梯形函數(shù),也可以是矩形函數(shù)。具體的計算方式參照專利號為US8913805B2的專利,這里不再進行贅述。103:根據(jù)所述像素值在所述探測器的軸方向上并行計算所述探測器的軸方向上的投影值,所述軸方向上的投影值是所述探測器的軸方向的模糊足跡函數(shù)與所述像素值的乘積在所述三維圖像的軸方向的和。并行計算探測器的軸方向上的投影值,利用t個線程在探測器的軸方向上進行并行計算。舉例說明,如圖2所示,在探測器的t方向上,利用t個線程并行計算探測器軸方向上的投影值。對于一個線程來說,一個線程對應(yīng)于探測器的軸方向上的一個t值,即一個線程所要計算的三維體素的z坐標投影到探測器軸方向上的t值相同。預先計算三維圖像中每個三維體素的模糊足跡函數(shù)F2(t,β;x,y,z),每個線程計算該線程所有三維體素的模糊足跡函數(shù)F2(t,β;x,y,z)與該三維體素的像素值f(x,y,z)乘積的和作為該線程所計算的軸方向上的投影值p1(t,β;x,y)。其中,軸方向上的模糊足跡函數(shù)F2(t,β;x,y,z)可以是梯形函數(shù),也可以是矩形函數(shù)。具體的計算方式參照專利號為US8913805B2的專利,這里不再贅述。舉例說明,對于每個線程來說,采用公式(4)計算該線程所要計算的軸方向上的投影值p1(t,β;x,y):p1(t,β;x,y)=ΣzF2(t,β;x,y,z)f(x,y,z)---(4).]]>在另一個例子中,若軸方向上的投影值p1(t,β;x,y)為無振幅的投影值時,采用公式(5)計算軸方向上的有振幅的投影值p2(t,β;x,y):p2(t,β;x,y)=p1(t,β;x,y)u(β;x,y)(5);其中,u(β;x,y)為第一振幅函數(shù)。104:在所述探測器的平面上并行計算所述水平方向上的模糊足跡函數(shù)與所述軸方向上的投影值的乘積獲得所述探測器的平面每個探測器單元的投影值。并行計算每個探測器單元的投影值,是在探測器平面上,利用多線程并行計算,所采用的線程的個數(shù)與探測器平面上探測器單元的個數(shù)相同。舉例說明,如圖2所示,在探測器平面上利用s×t個線程進行并行計算,每個線程計算探測器平面上一個探測器單元的投影值g(s,t,β)。在一個例子中,對于一個線程來說,每個線程按照下述方法計算探測器平面上一個探測器單元的投影值g(s,t,β):獲取所述三維圖像中每個坐標位置的三維體素在探測器的水平方向上的投影范圍;查找對探測器單元所有有貢獻的投影范圍,所述有貢獻的投影范圍包括所述探測器單元的水平坐標值;獲取所有有貢獻的投影范圍所對應(yīng)的三維體素作為有貢獻的三維體素;利用所述有貢獻的三維體素的水平方向上的模糊足跡函數(shù)和軸方向上的投影值的乘積獲得所述探測器單元的投影值。如圖2所示,三維圖像投影在探測器平面的水平方向s上,對于三維圖像的同一個三維體素來說,三維圖像的投影角度β不同,該三維體素在探測器平面的s方向上的投影位置不同。三維圖像中每個三維體素在探測器平面的s方向上都有一個投影范圍(smin,smax)。在一個例子中,每個三維體素在探測器平面的s方向上的投影范圍是預先算好的,所采用的計算方法為:并行計算每個三維體素的投影范圍,計算每個三維體素在不同三維圖像的投影角度β下在探測器平面上的投影的位置坐標,查找所得的位置坐標中最大的橫坐標smax和最小的橫坐標smin,則該三維體素在探測器水平方向上的投影范圍為(smin,smax)。對于探測器平面上每個探測器單元來說,若該探測器單元的橫坐標s位于三維圖像中一個三維體素的投影范圍(smin,smax)內(nèi),則該三維體素是對該探測器單元有貢獻的三維體素。舉例說明,若探測器單元的橫坐標為5,若三維圖像的一個三維體素的投影范圍是(3,7),則該三維體素是對該探測器單元有貢獻的三維體素;若三維圖像的一個三維體素的投影范圍是(6,10),則該三維體素是對該探測器單元沒有貢獻的三維體素。獲得所有對該線程所計算的探測器平面上的探測器單元有貢獻的的三維體素,利用所述有貢獻的三維體素的水平方向上的模糊足跡函數(shù)和軸方向上的投影值的乘積獲得所述探測器單元的投影值。在一個例子中,每個線程按照公式(6)計算該線程對應(yīng)的探測器單元的投影值:g′(s,t,β)=Σ(x,y)F1(s,β;x,y)p2(t,β;x,y)---(6);]]>其中,g'(s,t,β)為探測器單元的投影值,F(xiàn)1(s,β;x,y)為對該線程對應(yīng)的探測器單元有貢獻的三維體素的水平方向上的模糊足跡函數(shù),p2(t,β;x,y)為對該線程對應(yīng)的探測器單元有貢獻的三維體素的軸方向上的投影值,s的取值范圍為s∈[smin,smax]。在一個例子中,g'(s,t,β)為有振幅的投影值時,可以直接作為探測器單元的投影值g(s,t,β)。在另一個例子中,g'(s,t,β)為無振幅的投影值時,采用公式(7)計算有振幅的投影值g(s,t,β):g(s,t,β)=v(s,t,β)g'(s,t,β)(7);其中,v(s,t,β)為第二振幅函數(shù)。舉例說明:本發(fā)明上述正向投影方法與現(xiàn)有技術(shù)的正向投影方法分別應(yīng)用在軸位CT以及8圈螺旋CT的測試結(jié)果。本申請中的現(xiàn)有技術(shù)參照2011年的放射和核醫(yī)學三維圖像重建國際會議論文集56-59頁,論文名稱為"X射線CT圖像重建中基于可分離足跡函數(shù)法的三維正反向投影的GPU加速算法",作者為吳濛,杰弗里A.費斯勒的論文。該論文描述的是S-Fprojector的GPU加速算法。(現(xiàn)有技術(shù)參照:WuMeng,andJeffreyA.Fessler.“GPUaccelerationof3DforwardandbackwardprojectionusingseparablefootprintsforX-rayCTimagereconstruction.”Proc.Intl.Mtg.onFully3DImageRecon.inRad.andNuc.Med.2011)。表1軸位CT的運行時間和準確率比較運行時間(s)NRMS誤差(%)現(xiàn)有技術(shù)11.640.000074本發(fā)明7.920.000055表28圈螺旋CT的運行時間和準確率比較運行時間(s)NRMS誤差(%)現(xiàn)有技術(shù)71.270.000205本發(fā)明57.230.000199由上述數(shù)據(jù)可以看出,本發(fā)明所采用的正向投影方法與現(xiàn)有技術(shù)所采用的正向投影的方法相比,耗時短,正確率高。由上述內(nèi)容可知,本發(fā)明有如下有益效果:在所述三維圖像的橫截面上并行計算所述三維體素投影到探測器的水平方向上的模糊足跡函數(shù);根據(jù)所述像素值在所述探測器的軸方向上并行計算所述探測器的軸方向上的投影值;在所述探測器的平面上并行計算所述水平方向上的模糊足跡函數(shù)與所述軸方向上的投影值的乘積獲得所述探測器的平面每個探測器單元的投影值。采用并行計算水平方向上的模糊足跡函數(shù),并行計算軸方向上的投影值以及并行計算每個探測器單元的投影值,縮短前向投影所需的時間,提高投影方法的效率。上述是對投影方法中正向投影的具體描述。投影方法還包括反向投影技術(shù)。反向投影可以用公式(8)表示:b(x,y,z)=Σs,t,βa(s,t,β;x,y,z)g(s,t,β)---(8).]]>其中,b(x,y,z)為三維圖像中每個坐標位置的反向投影值。由于a(s,t,β;x,y,z)可以用公式(2)表示,根據(jù)公式(2)和公式(8)可知,反向投影可以用公式(9)表示:b(x,y,z)=ΣβΣtF2(t,β;x,y,z)[ΣsF1(s,β;x,y)g(s,t,β)v(s,t,β)]u(β;x,y)---(9).]]>則在一個例子中,所述方法還包括:獲取探測器平面上每個探測器單元的測量值;根據(jù)所述水平方向上的模糊足跡函數(shù),所述軸方向上的模糊足跡函數(shù)以及所述探測器平面上每個探測器單元的測量值在所述三維圖像的每個坐標位置上并行計算所述三維圖像中每個坐標位置的反向投影值。在投影方法過程中,可以只包含上述計算每個探測器單元的透明值的正向投影過程,也可以只包含計算三維圖像中每個坐標位置的反向投影值的反向投影過程,還可以既包含正向投影過程也包含反向投影過程。下面對反向投影過程進行詳細說明。所述在所述三維圖像的每個坐標位置上并行計算所述三維圖像中每個坐標位置的反向投影值包含兩個并行計算的過程,如下:根據(jù)所述水平方向上的模糊足跡函數(shù)以及所述探測器平面上每個探測器單元的測量值在所述三維圖像的橫截面上并行計算所述三維圖像的三維體素的投影值,所述三維圖像的三維體素的投影值是水平方向上的模糊足跡函數(shù)與所述探測器平面的測量值的乘積在所述三維圖像的橫截面的三維體素上的和;根據(jù)所述軸方向上的模糊足跡函數(shù)以及所述橫截面上三維體素的投影值在所述三維圖像的每個坐標位置并行計算所述三維圖像中每個坐標位置的投影值,所述投影值為所述橫截面上三維體素的投影值與所述軸方向上的模糊足跡函數(shù)的乘積在所述三維圖像的坐標位置的和。并行計算所述三維圖像的三維體素的投影值,是在所述三維圖像的橫截面上并行計算,利用x×y×t個線程進行并行計算,一個線程計算的三維圖像中的三維體素的z坐標投影到探測器軸方向上的t值相同。舉例說明:如圖2所示,采用x×y×t個線程同時計算三維體素的投影值,同一個線程所計算的三維體素的坐標位置的z坐標投影到探測軸方向上的t值相同,同一個線程所計算的所有三維體素的投影值都相同。在一個例子中,每個線程采用公式(10)計算每個三維體素的投影值:b1(t,β;x,y)=ΣsF1(s,β;x,y)g(s,t,β)v(s,t,β)---(10).]]>其中,s的取值范圍為s∈[smin,smax]。在另一個例子中,b1(t,β;x,y)若是有振幅的投影值,則b1(t,β;x,y)即為所述三維圖像的三維體素的投影值,若b1(t,β;x,y)為無振幅的投影值,則采用公式(11)計算所述三維圖像的三維體素的投影值b2(t,β;x,y):b2(t,β;x,y)=b1(t,β;x,y)u(β;x,y)(11)。并行計算三維圖像中每個坐標位置的投影值,是在三維圖像的每個三維體素上并行計算,利用多個線程進行并行計算,線程的個數(shù)與三維圖像中的三維體素的個數(shù)相同,每個線程計算一個三維體素的反向投影值。舉例說明:如圖2所示,利用x×y×z個線程計算三維體素的反向投影值,每個線程計算一個坐標位置(x,y,z)的三維體素的反向投影值。每個線程在計算一個三維體素的反向投影值時,利用公式(12)進行計算:b(x,y,z)=ΣβΣtb2(t,β;x,y)F2(t,β;x,y,z)---(12);]]>其中,b(x,y,z)為所述三維圖像中三維體素的反向投影值,z的取值范圍為z∈[zmin(t,β;x,y,z),zmax(t,β;x,y,z)]。由上述內(nèi)容可知,本發(fā)明還有如下有益效果:本發(fā)明所提供的反向投影的方法,并行計算三維圖像中每個坐標位置的反向投影值,縮短反向投影所需的時間,提高投影方法的速度。舉例說明:本發(fā)明反向投影方法與現(xiàn)有技術(shù)的反向投影方法分別應(yīng)用在軸位CT以及8圈螺旋CT的測試結(jié)果:表3軸位CT的運行時間和準確率比較運行時間(s)NRMS誤差(%)現(xiàn)有技術(shù)16.340.457756本發(fā)明5.620.0246058表48圈螺旋CT的運行時間和準確率比較運行時間(s)NRMS誤差(%)現(xiàn)有技術(shù)129.683.08本發(fā)明38.670.0264由上述數(shù)據(jù)可以看出,本發(fā)明所采用的反向投影方法與現(xiàn)有技術(shù)所采用的反向投影的方法相比,耗時短,正確率高。實施例二圖3為本發(fā)明實施例提供的多GPU實現(xiàn)的投影方法流程圖,包括:301:GPU獲取系統(tǒng)中GPU的個數(shù),根據(jù)所述GPU的個數(shù)將投影角度平均劃分成多個投影角度范圍,所述投影角度范圍的個數(shù)與GPU個數(shù)相同。302:GPU獲取所述GPU的設(shè)備編號,根據(jù)所述設(shè)備編號獲取屬于所述GPU的投影角度范圍。303:GPU獲取三維圖像中每個坐標位置的像素值。304:GPU根據(jù)所述像素值按照實施例一所述的正向投影的方法并行計算所述投影角度范圍下探測器的平面探測器單元的投影值。為了進一步提高投影方法中正向投影的速度,可以采用多個圖形處理器(GraphicsProcessingUnit,GPU)同時并行處理。將三維圖像的投影角度β按照GPU的個數(shù)平均分成多個投影角度范圍,投影角度范圍的個數(shù)與GPU的個數(shù)相同。每個GPU處理該GPU對應(yīng)的投影角度范圍的三維圖像中的三維體素,計算該投影角度范圍下的探測器的平面探測器單元的投影值。舉例說明:若采用3個GPU并行計算,三維圖像的投影角度β為360°,將投影角度β平均分成三份,其中,一個GPU處理投影角度β為0~120°的坐標位置的三維體素,一個GPU處理投影角度β為121°~240°坐標位置的三維體素,一個GPU處理投影角度β為241°~360°坐標位置的三維體素。這里需要說明的是,上述實例僅是為了更好的理解本發(fā)明的實施方式,不僅限于上述實例的描述,具體實現(xiàn)時還可以采用其他個數(shù)的GPU進行并行處理,實現(xiàn)方法類似,這里不再贅述。每個GPU計算探測器的平面探測器單元的投影值的方法(正向投影的方法)與圖1所示的方法中的正向投影的方法類似,僅僅是每個GPU處理不同投影角度β的坐標位置的三維體素,參考圖1所示的計算探測器的平面探測器單元的投影值的方法,這里不再贅述。在一個例子中,還包括:GPU根據(jù)所述GPU的個數(shù)將所述三維圖像的橫坐標或縱坐標平均劃分成多個坐標范圍,所述坐標范圍的個數(shù)與GPU的個數(shù)相同;GPU獲取所述GPU的設(shè)備編號,根據(jù)所述設(shè)備編號獲取屬于所述GPU的坐標范圍;GPU獲取探測器的平面中每個探測器單元的測量值;GPU根據(jù)屬于所述坐標范圍的所有測量值按照上述反向投影的方法并行計算所述坐標范圍下所述三維圖像中三維體素的反向投影值。為了進一步提高投影方法中反向投影的速度,可以采用多個GPU同時并行處理。將三維圖像的橫坐標x或縱坐標y平均劃分成多個坐標范圍,所述坐標范圍的個數(shù)與GPU的個數(shù)相同。每個GPU處理該GPU對應(yīng)的坐標范圍的三維圖像中的三維體素,計算該坐標范圍下的三維圖像中三維體素的反向投影值。舉例說明:若采用3個GPU并行計算,三維圖像的橫坐標x的范圍為(-6,6),將橫坐標x平均分成三份,其中,一個GPU處理橫坐標x為(-6,-2)的坐標位置的三維體素,一個GPU處理橫坐標x為(-2,2)坐標位置的三維體素,一個GPU處理橫坐標x為(2,6)坐標位置的三維體素。舉例說明:若采用2個GPU并行計算,三維圖像的橫坐標y的范圍為(-2,2),將橫坐標y平均分成兩份,其中,一個GPU處理橫坐標x為(-2,0)的坐標位置的三維體素,另一個GPU處理橫坐標x為(0,2)坐標位置的三維體素。這里需要說明的是,上述實例僅是為了更好的理解本發(fā)明的實施方式,不僅限于上述實例的描述,具體實現(xiàn)時還可以采用其他個數(shù)的GPU進行并行處理,實現(xiàn)方法類似,這里不再贅述。每個GPU計算三維圖像中三維體素的反向投影值的方法(反向投影的方法)與圖1所示的方法中反向投影的方法類似,僅僅是每個GPU處理不同坐標位置的三維體素,參考圖1所示的計算三維圖像中三維體素的反向投影值的方法,這里不再贅述。舉例說明:采用不同個數(shù)的GPU進行正向投影和反向投影計算時,所需的時間的比較,如表5和表6所示。表5軸位CT運行時間比較正向投影時間(s)反向投影時間(s)一個GPU7.925.62二個GPU4.032.89三個GPU2.781.94表68圈螺旋CT運行時間比較正向投影時間(s)反向投影時間(s)一個GPU57.2338.67二個GPU28.9819.52三個GPU20.1013.42由上述數(shù)據(jù)可以看出,所采用的GPU個數(shù)越多,進行前向投影和后向投影計算所需的時間越短。實施例三圖4為本發(fā)明實施例提供的基于可分離足跡函數(shù)技術(shù)的投影裝置結(jié)構(gòu)示意圖,包括:第一獲取模塊401,用于獲取三維圖像中每個坐標位置的三維體素的像素值。第一計算模塊402,用于在所述三維圖像的橫截面上并行計算所述三維體素投影到探測器的水平方向上的模糊足跡函數(shù),所述水平方向是所述三維圖像的橫截面在所述探測器的投影方向。第二計算模塊403,用于根據(jù)所述像素值在所述探測器的軸方向上并行計算所述探測器的軸方向上的投影值,所述軸方向上的投影值是所述探測器的軸方向的模糊足跡函數(shù)與所述像素值的乘積在所述三維圖像的軸方向的和。第三計算模塊404,用于在所述探測器的平面上并行計算所述水平方向上的模糊足跡函數(shù)與所述軸方向上的投影值的乘積獲得所述探測器的平面每個探測器單元的投影值。在一個例子中,所述第三模塊包括多個第四單元,所述第四單元的個數(shù)與所述探測器的平面上探測器單元的個數(shù)相同;每個所述第四單元包括:第一獲取子單元,用于獲取所述三維圖像中每個坐標位置的三維體素在探測器的水平方向上的投影范圍;查找子單元,用于查找對探測器單元所有有貢獻的投影范圍,所述有貢獻的投影范圍包括所述探測器單元的水平坐標值;第二獲取子單元,用于獲取所有有貢獻的投影范圍所對應(yīng)的三維體素作為有貢獻的三維體素;第一計算子單元,用于利用所述有貢獻的三維體素的水平方向上的模糊足跡函數(shù)和軸方向上的投影值的乘積計算所述探測器單元的投影值。在一個例子中,所述裝置還包括:第二獲取模塊,用于獲取探測器平面上每個探測器單元的測量值;第四計算模塊,用于根據(jù)所述水平方向上的模糊足跡函數(shù),所述軸方向上的模糊足跡函數(shù)以及所述探測器平面上每個探測器單元的測量值在所述三維圖像的每個坐標位置上并行計算所述三維圖像中每個坐標位置的反向投影值。在一個例子中,所述第四計算模塊包括多個第二計算子單元和多個第三計算子單元,所述第二子單元的個數(shù)與所述三維圖像的橫截面上三維體素的個數(shù)相同,所述第三計算子單元與所述三維圖像的三維體素的個數(shù)相同;所述第二計算子單元,用于根據(jù)所述水平方向上的模糊足跡函數(shù)以及所述探測器平面上每個探測器單元的測量值在所述三維圖像的橫截面上并行計算所述三維圖像的三維體素的投影值,所述三維圖像的三維體素的投影值是水平方向上的模糊足跡函數(shù)與所述探測器平面的測量值的乘積在所述三維圖像的橫截面的三維體素上的和;所述第三子單元,用于根據(jù)所述軸方向上的模糊足跡函數(shù)以及所述橫截面上三維體素的投影值在所述三維圖像的每個坐標位置并行計算所述三維圖像中每個坐標位置的投影值,所述投影值為所述橫截面上三維體素的投影值與所述軸方向上的模糊足跡函數(shù)的乘積在所述三維圖像的坐標位置的和。圖5為本發(fā)明實施例提供的一種GPU結(jié)構(gòu)示意圖,圖5所示的GPU應(yīng)用于多GPU的系統(tǒng)中,該系統(tǒng)中每個GPU都與圖5所示的GPU相同,包括:第一劃分模塊501,用于獲取系統(tǒng)中GPU的個數(shù),根據(jù)所述GPU的個數(shù)將投影角度平均劃分成多個投影角度范圍,所述投影角度范圍的個數(shù)與GPU個數(shù)相同。第一獲取模塊502,用于獲取所述GPU的設(shè)備編號,根據(jù)所述設(shè)備編號獲取屬于所述GPU的投影角度范圍。第二獲取模塊503,用于獲取三維圖像中每個坐標位置的像素值。第一計算模塊504,用于根據(jù)所述像素值按照實施例一中所述的正向投影的方法并行計算所述投影角度范圍下探測器的平面探測器單元的投影值。在一個例子中,所述GPU還包括:第二劃分模塊,用于根據(jù)所述GPU的個數(shù)將所述三維圖像的橫坐標或縱坐標平均劃分成多個坐標范圍,所述坐標范圍的個數(shù)與GPU的個數(shù)相同;第三獲取模塊,用于獲取所述GPU的設(shè)備編號,根據(jù)所述設(shè)備編號獲取屬于所述GPU的坐標范圍;第四獲取模塊,用于獲取探測器的平面中每個探測器單元的測量值;第二計算模塊,用于根據(jù)屬于所述坐標范圍的所有測量值按照實施例一中反向投影所述的方法并行計算所述坐標范圍下所述三維圖像中三維體素的投影值。圖6為本發(fā)明實施例提供的基于可分離足跡函數(shù)技術(shù)的投影系統(tǒng)結(jié)構(gòu)示意圖,包括:至少兩個圖5所示的GPU。實施例四圖7為本發(fā)明實施例提供的基于可分離足跡函數(shù)技術(shù)的投影裝置硬件結(jié)構(gòu)示意圖,包括:存儲器701,以及與所述存儲器701相連的處理器702;所述存儲器701被配置于存儲指令,所述處理器702被配置于從所述存儲器701中調(diào)用所述指令執(zhí)行,所述指令包括:獲取三維圖像中每個坐標位置的三維體素的像素值;在所述三維圖像的橫截面上并行計算所述三維體素投影到探測器的水平方向上的模糊足跡函數(shù),所述水平方向是所述三維圖像的橫截面在所述探測器的投影方向;根據(jù)所述像素值在所述探測器的軸方向上并行計算所述探測器的軸方向上的投影值,所述軸方向上的投影值是所述探測器的軸方向的模糊足跡函數(shù)與所述像素值的乘積在所述三維圖像的軸方向的和;在所述探測器的平面上并行計算所述水平方向上的模糊足跡函數(shù)與所述軸方向上的投影值的乘積獲得所述探測器的平面每個探測器單元的投影值。在一個例子中,所述計算每個探測器單元的投影值的指令包括:獲取所述三維圖像中每個坐標位置的三維體素在探測器的水平方向上的投影范圍;查找對探測器單元所有有貢獻的投影范圍,所述有貢獻的投影范圍包括所述探測器單元的水平坐標值;獲取所有有貢獻的投影范圍所對應(yīng)的三維體素作為有貢獻的三維體素;利用所述有貢獻的三維體素的水平方向上的模糊足跡函數(shù)和軸方向上的投影值的乘積獲得所述探測器單元的投影值。在一個例子中,所述指令還包括:獲取探測器平面上每個探測器單元的測量值;根據(jù)所述水平方向上的模糊足跡函數(shù),所述軸方向上的模糊足跡函數(shù)以及所述探測器平面上每個探測器單元的測量值在所述三維圖像的每個坐標位置上并行計算所述三維圖像中每個坐標位置的反向投影值。在上述例子中,所述根據(jù)探測器平面的測量值在所述三維圖像的每個坐標位置上并行計算所述三維圖像中每個坐標位置的反向投影值的指令包括:根據(jù)所述水平方向上的模糊足跡函數(shù)以及所述探測器平面上每個探測器單元的測量值在所述三維圖像的橫截面上并行計算所述三維圖像的三維體素的投影值,所述三維圖像的三維體素的投影值是水平方向上的模糊足跡函數(shù)與所述探測器平面的測量值的乘積在所述三維圖像的橫截面的三維體素上的和;根據(jù)所述軸方向上的模糊足跡函數(shù)以及所述橫截面上三維體素的投影值在所述三維圖像的每個坐標位置并行計算所述三維圖像中每個坐標位置的投影值,所述投影值為所述橫截面上三維體素的投影值與所述軸方向上的模糊足跡函數(shù)的乘積在所述三維圖像的坐標位置的和。其中,所述水平方向上的模糊足跡函數(shù)是梯形函數(shù)或矩形函數(shù)。其中,所述軸方向上的模糊足跡函數(shù)是梯形函數(shù)或矩形函數(shù)。圖8為本發(fā)明實施例提供的一種GPU硬件結(jié)構(gòu)示意圖,圖8所示的GPU應(yīng)用于多GPU的系統(tǒng)中,該系統(tǒng)中每個GPU都與圖8所示的GPU相同,包括:存儲器801,以及與所述存儲器801相連的處理器802;所述存儲器801被配置于存儲指令,所述處理器802被配置于從所述存儲器801中調(diào)用指令執(zhí)行,所述指令包括:獲取系統(tǒng)中GPU的個數(shù),根據(jù)所述GPU的個數(shù)將投影角度平均劃分成多個投影角度范圍,所述投影角度范圍的個數(shù)與GPU個數(shù)相同;獲取所述GPU的設(shè)備編號,根據(jù)所述設(shè)備編號獲取屬于所述GPU的投影角度范圍;獲取三維圖像中每個坐標位置的像素值;根據(jù)所述像素值按照實施例一所述的正向投影的方法并行計算所述投影角度范圍下探測器的平面探測器單元的投影值。在一個例子中,所述指令還包括:根據(jù)所述GPU的個數(shù)將所述三維圖像的橫坐標或縱坐標平均劃分成多個坐標范圍,所述坐標范圍的個數(shù)與GPU的個數(shù)相同;獲取所述GPU的設(shè)備編號,根據(jù)所述設(shè)備編號獲取屬于所述GPU的坐標范圍;獲取探測器的平面中每個探測器單元的測量值;根據(jù)屬于所述坐標范圍的所有測量值按照實施例一所述的反向投影的方法并行計算所述坐標范圍下所述三維圖像中三維體素的反向投影值。圖9為本發(fā)明實施例提供的基于可分離足跡函數(shù)技術(shù)的投影系統(tǒng)硬件結(jié)構(gòu)示意圖,包括:至少兩個圖8所示的GPU。以上所述僅是本發(fā)明的優(yōu)選實施方式,應(yīng)當指出,對于本
技術(shù)領(lǐng)域:
的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以作出若干改進和潤飾,這些改進和潤飾也應(yīng)視為本發(fā)明的保護范圍。當前第1頁1 2 3