本發(fā)明實施例涉及圖像處理技術,尤其涉及一種CT三維重建方法及系統(tǒng)。
背景技術:
相比于傳統(tǒng)的CT技術,平板探測器由于有更高的圖像分辨率和更大的視場角,應用平板探測器技術的錐束CT在成像質量與成像效率上均具有優(yōu)勢,因此如何在錐束CT模型下快速、準確地進行CT三維重建成為十分重要的問題。
現(xiàn)有的基于FDK算法的三維重建,F(xiàn)DK算法作為濾波反投影累算法,雖然計算速度較快,對系統(tǒng)資源要求低,但重建圖像質量差,存在偽影,影響可視化效果和醫(yī)生診斷。而代數(shù)迭代算法ART,雖然可以解決濾波反投影算法的圖像質量問題,但是算法需要計算投影矩陣,計算量大,計算效率較低,在對投影矩陣進行保存時對存儲硬件要求也較高,限制了其在臨床上的應用。
技術實現(xiàn)要素:
本發(fā)明實施例提供一種CT三維重建方法及系統(tǒng),以實現(xiàn)對CT三維圖像的重建。
第一方面,本發(fā)明實施例提供了一種CT三維重建方法,該方法包括:
將CT在至少兩個旋轉角度下獲取的二維投影圖像發(fā)送至至少兩個下位機;
控制各所述下位機計算接收到的所述二維投影圖像中各像素點的投影矩陣,并將計算結果存儲于各所述下位機的內(nèi)存中;
控制各所述下位機根據(jù)所述投影矩陣,以及待重建三維體數(shù)據(jù)的當前迭代狀態(tài),計算與各所述二維投影圖像對應的迭代衰減分量并返回;
根據(jù)各所述下位機返回的所述迭代衰減分量,更新所述待重建三維體數(shù)據(jù)的當前迭代狀態(tài);
返回執(zhí)行控制各所述下位機根據(jù)內(nèi)存中存儲的投影矩陣,以及待重建三維體數(shù)據(jù)的當前迭代狀態(tài),計算與接收到的二維投影圖像對應的迭代衰減分量并返回的操作,直至滿足預設的迭代終止條件;
將迭代終止后所述待重建三維體數(shù)據(jù)的當前迭代狀態(tài),作為所述CT針對所述二維投影圖像的三維重現(xiàn)結果。
進一步地,控制各所述下位機計算接收到的所述二維投影圖像中各像素點的投影矩陣包括:
控制各所述下位機根據(jù)與接收到的二維投影圖像對應的旋轉角度,構造X光源與所述二維投影圖像中各像素點的連線方程;
控制各所述下位機判斷各像素點的連線方程與待重建的三維體數(shù)據(jù)中每一個體素是否相交;若是,則獲取所述像素點在所述體素內(nèi)的長度值;否則,確定所述像素點在所述體素內(nèi)的長度值為0;
控制各所述下位機根據(jù)相交判斷結果,計算所述二維投影圖像中各像素點的投影矩陣。
進一步地,控制各所述下位機計算接收到的所述二維投影圖像中各像素點的投影矩陣進一步包括:
控制各所述下位機為接收到的所述二維投影圖像中的每個像素點分別分配一個線程,以通過各線程分布式的計算所述二維投影圖像中各像素點的投影矩陣。
進一步地,控制各所述下位機根據(jù)所述投影矩陣,以及待重建三維體數(shù)據(jù)的當前迭代狀態(tài),計算與各所述二維投影圖像對應的迭代衰減分量并返回,包括:
控制各所述下位機根據(jù)公式:計算與各所述二維投影圖像bi對應的迭代衰減分量Ti;
其中,i∈[1,N],N為所述二維投影圖像的幀數(shù);M為所述二維投影圖像中包括的像素點總數(shù);Aij為第i個二維投影圖像幀中第j個像素點的投影矩陣;bij為第i個二維投影圖像幀中第j個像素點的像素值;xn為第n次迭代中待重建三維體數(shù)據(jù)的當前迭代狀態(tài)。
進一步地,根據(jù)各所述下位機返回的所述迭代衰減分量,更新所述待重建三維體數(shù)據(jù)的當前迭代狀態(tài),包括:
將與各所述二維投影圖像對應的迭代衰減分量Ti的累加求和結果,作為第n次迭代中,所述待重建三維體數(shù)據(jù)的當前迭代狀態(tài)與各所述二維投影圖像之間的迭代衰減總量AT(Axn-b);
根據(jù)公式:更新所述待重建三維體數(shù)據(jù)的當前迭代狀態(tài)為xn+1;
其中,xn+1為第n+1次迭代中待重建三維體數(shù)據(jù)的當前迭代狀態(tài);所述γ、λ為預設權重值;所述R(·)為預設約束項方程;為求梯度運算。
進一步地,將CT在至少兩個旋轉角度下獲取的二維投影圖像發(fā)送至至少兩個下位機,包括:
將不同的二維投影圖像分別發(fā)送至不同的下位機中。
第二方面,本發(fā)明實施例還提供了一種CT三維重建系統(tǒng),該系統(tǒng)包括:
圖像獲取模塊,用于將CT在至少兩個旋轉角度下獲取的二維投影圖像發(fā)送至至少兩個下位機;
投影矩陣接收模塊,用于控制各所述下位機計算接收到的所述二維投影圖像中各像素點的投影矩陣,并將計算結果存儲于各所述下位機的內(nèi)存中;
分量計算模塊,用于控制各所述下位機根據(jù)所述投影矩陣,以及待重建三維體數(shù)據(jù)的當前迭代狀態(tài),計算與各所述二維投影圖像對應的迭代衰減分量并返回;
迭代狀態(tài)更新模塊,用于根據(jù)各所述下位機返回的所述迭代衰減分量,更新所述待重建三維體數(shù)據(jù)的當前迭代狀態(tài);
迭代返回模塊,用于返回執(zhí)行控制各所述下位機根據(jù)內(nèi)存中存儲的投影矩陣,以及待重建三維體數(shù)據(jù)的當前迭代狀態(tài),計算與接收到的二維投影圖像對應的迭代衰減分量并返回的操作,直至滿足預設的迭代終止條件;
重現(xiàn)結果確定模塊,用于將迭代終止后所述待重建三維體數(shù)據(jù)的當前迭代狀態(tài),作為所述CT針對所述二維投影圖像的三維重現(xiàn)結果。
進一步地,所述投影矩陣接收模塊具體用于:
控制各所述下位機根據(jù)與接收到的二維投影圖像對應的旋轉角度,構造X光源與所述二維投影圖像中各像素點的連線方程;
控制各所述下位機判斷各像素點的連線方程與待重建的三維體數(shù)據(jù)中每一個體素是否相交;若是,則獲取所述像素點在所述體素內(nèi)的長度值;否則,確定所述像素點在所述體素內(nèi)的長度值為0;
控制各所述下位機根據(jù)相交判斷結果,計算所述二維投影圖像中各像素點的投影矩陣。
進一步地,所述投影矩陣接收模塊具體用于:
控制各所述下位機為接收到的所述二維投影圖像中的每個像素點分別分配一個線程,以通過各線程分布式的計算所述二維投影圖像中各像素點的投影矩陣。
進一步地,所述分量計算模塊具體用于:
控制各所述下位機根據(jù)公式:計算與各所述二維投影圖像bi對應的迭代衰減分量Ti;
其中,i∈[1,N],N為所述二維投影圖像的幀數(shù);M為所述二維投影圖像中包括的像素點總數(shù);Aij為第i個二維投影圖像幀中第j個像素點的投影矩陣;bij為第i個二維投影圖像幀中第j個像素點的像素值;xn為第n次迭代中待重建三維體數(shù)據(jù)的當前迭代狀態(tài)。
進一步地,所述迭代狀態(tài)更新模塊,具體用于:
將與各所述二維投影圖像對應的迭代衰減分量Ti的累加求和結果,作為第n次迭代中,所述待重建三維體數(shù)據(jù)的當前迭代狀態(tài)與各所述二維投影圖像之間的迭代衰減總量AT(Axn-b);
根據(jù)公式:更新所述待重建三維體數(shù)據(jù)的當前迭代狀態(tài)為xn+1;
其中,xn+1為第n+1次迭代中待重建三維體數(shù)據(jù)的當前迭代狀態(tài);所述γ、λ為預設權重值;所述R(·)為預設約束項方程;為求梯度運算。
進一步地,所述圖像獲取模塊具體用于:
將不同的二維投影圖像分別發(fā)送至不同的下位機中。
第三方面,本發(fā)明實施例還提供了一種電子設備,包括:
一個或多個處理器;
存儲器,用于存儲一個或多個程序,
當所述一個或多個程序被所述一個或多個處理器執(zhí)行,使得所述一個或多個處理器實現(xiàn)本發(fā)明實施例所述的CT三維重建方法。
本實施例的技術方案,基于分布式技術,通過多個下位機計算二維投影圖像中各像素點的投影矩陣和迭代衰減分量,進而更新待重建三維體數(shù)據(jù)的當前迭代狀態(tài),將迭代終止后待重建三維體數(shù)據(jù)的當前迭代狀態(tài)作為CT針對二維投影圖像的三維重現(xiàn)結果。解決了算法計算量大、計算效率低以及計算結果可重用性差等問題,保證了三維重建圖像質量。
附圖說明
圖1為本發(fā)明實施例一提供的一種CT三維重建方法的流程圖;
圖2是本發(fā)明實施例提供的一種CT三維重建方法中的錐束CT掃描示意圖;
圖3是本發(fā)明實施例提供的一種CT三維重建方法中的三維體數(shù)據(jù)坐標系和投影數(shù)據(jù)坐標系示意圖;
圖4是本發(fā)明實施例二提供的一種CT三維重建方法的流程圖;
圖5是本發(fā)明實施例三提供的一種CT三維重建方法的流程圖;
圖6是本發(fā)明實施例四提供的一種CT三維重建方法的流程圖;
圖7是本發(fā)明實施例五提供的一種CT三維重建方法的流程圖;
圖8是本發(fā)明實施例六提供的一種CT三維重建系統(tǒng)示意圖;
圖9是本發(fā)明實施例八中的一種電子設備的硬件結構示意圖。
具體實施方式
下面結合附圖和實施例對本發(fā)明作進一步的詳細說明??梢岳斫獾氖牵颂幩枋龅木唧w實施例僅僅用于解釋本發(fā)明,而非對本發(fā)明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與本發(fā)明相關的部分而非全部結構。
實施例一
圖1為本發(fā)明實施例一提供的一種CT三維重建方法的流程圖,本實施例可適用于在錐束CT模型下進行三維重建的情況,該方法可以由CT三維重建系統(tǒng)來執(zhí)行,該系統(tǒng)可由軟件和/或硬件來實現(xiàn),該系統(tǒng)可集成于計算機等設備中,該方法具體包括如下步驟:
S110、將CT在至少兩個旋轉角度下獲取的二維投影圖像發(fā)送至至少兩個下位機。
其中,CT即電子計算機斷層成像技術,可分為傳統(tǒng)CT、螺旋CT以及錐束CT,錐束CT的掃描速度快、圖像分辨率高且輻射利用率高,作一次圓周掃描即可完成傳統(tǒng)CT及螺旋CT的數(shù)百個斷層掃描,且其X、Y、Z方向的分辨率一致,能明顯減少傳統(tǒng)CT及螺旋CT檢測中常見的容積效應。本發(fā)明實施例以錐束CT為例,解決如何在錐束CT模型下快速、準確地進行三維重建。圖2是本發(fā)明實施例提供的一種CT三維重建方法中的錐束CT掃描示意圖,其中射線I、J、K及L是由X光源210發(fā)出并穿過被測物體220的射線,穿越被測物的X射線錐束被探測器230接收,所得數(shù)據(jù)即為該旋轉角度下的二維投影圖像,X光源每轉過一個角度,進行相同的操作,直至完成多個角度的掃描,旋轉角度的大小及選取個數(shù)可根據(jù)實際需求進行確定。投影數(shù)據(jù)以unsigned short類型數(shù)據(jù)保存在N*H*W三維數(shù)組中。其中N為投影數(shù)據(jù)幀數(shù),H為投影數(shù)據(jù)高度,W為投影數(shù)據(jù)寬度。圖3是本發(fā)明實施例提供的一種CT三維重建方法中的三維體數(shù)據(jù)坐標系和投影數(shù)據(jù)坐標系示意圖,為方便描述,假設光源繞X軸進行旋轉。得到各旋轉角度下獲取的二維投影圖像發(fā)送至多個下位機當中,對于下位機的數(shù)量在此不進行限定,發(fā)送方式可以是單個旋轉角度對應的二維投影圖像與下位機一一對應的方式,也可以是幾個旋轉角度對應的二維投影圖像發(fā)送至同一個下位機的形式,適當增加下位機的數(shù)量可提高數(shù)據(jù)處理速度。
S120、控制各所述下位機計算接收到的所述二維投影圖像中各像素點的投影矩陣,并將計算結果存儲于各所述下位機的內(nèi)存中。
其中,采用ART類算法的基本方法是首先確定一個合適的目標函數(shù),例如可以是F=|(Ax-b)|2+λR(x)。其中A是投影矩陣,x是待重建三維體數(shù)據(jù),b為投影圖像,R(·)為預設約束項方程,λ為預設權重值。迭代尋找x,令目標函數(shù)F取最小值,確定待重建三維體數(shù)據(jù)x。限制ART算法在錐束CT中應用的因素,一方面是投影矩陣A的計算復雜,另一方面是要保存每一幀投影內(nèi)所有射線與三維體數(shù)據(jù)體素間的位置關系數(shù)據(jù),數(shù)據(jù)量大,對存儲硬件要求高,限制了計算結果的可重用性,本發(fā)明實施例中在初次計算后將投影矩陣A存儲在各下位機中,后續(xù)的循環(huán)中可直接用于計算,各臺下位機可以同時進行計算,將結果返回上位機進行累加,能大大加快投影矩陣的計算效率。
S130、控制各所述下位機根據(jù)所述投影矩陣,以及待重建三維體數(shù)據(jù)的當前迭代狀態(tài),計算與各所述二維投影圖像對應的迭代衰減分量并返回。
其中,迭代衰減分量可以是指當前迭代狀態(tài)與二維投影圖像之間的差值。其中,初始的當前迭代狀態(tài)可以為0,也可以是通過FDK算法初步確定的當前迭代狀態(tài)值。
S140、根據(jù)各所述下位機返回的所述迭代衰減分量,更新所述待重建三維體數(shù)據(jù)的當前迭代狀態(tài)。
其中,利用返回的迭代衰減分量,與第n次迭代狀態(tài),更新第n+1次迭代中待重建三維體數(shù)據(jù)的當前迭代狀態(tài)。
S150、返回執(zhí)行控制各所述下位機根據(jù)內(nèi)存中存儲的投影矩陣,以及待重建三維體數(shù)據(jù)的當前迭代狀態(tài),計算與接收到的二維投影圖像對應的迭代衰減分量并返回的操作,直至滿足預設的迭代終止條件。
其中,迭代終止條件可以是對迭代次數(shù)的限定,也可以是對前后兩次當前迭代狀態(tài)的差值的限定等。
S160、將迭代終止后所述待重建三維體數(shù)據(jù)的當前迭代狀態(tài),作為所述CT針對所述二維投影圖像的三維重現(xiàn)結果。
其中,迭代終止后待重建三維體數(shù)據(jù)的當前迭代狀態(tài)能夠滿足使目標函數(shù)達到最大值,將此時的當前迭代狀態(tài)確定為二維投影圖像的三維重現(xiàn)結果。
本實施例的技術方案,基于分布式技術,通過多個下位機計算二維投影圖像中各像素點的投影矩陣和迭代衰減分量,進而更新待重建三維體數(shù)據(jù)的當前迭代狀態(tài),將迭代終止后待重建三維體數(shù)據(jù)的當前迭代狀態(tài)作為CT針對二維投影圖像的三維重現(xiàn)結果。解決了算法計算量大、計算效率低以及計算結果可重用性差等問題,達到了保證三維重建圖像質量的效果。
實施例二
圖4是本發(fā)明實施例二提供的一種CT三維重建方法的流程圖,本發(fā)明實施例是在上述實施例的基礎上進行了優(yōu)化,對“控制各所述下位機計算接收到的所述二維投影圖像中各像素點的投影矩陣”進行了進一步細化,該方法包括:
S410、將CT在至少兩個旋轉角度下獲取的二維投影圖像發(fā)送至至少兩個下位機。
S420、控制各所述下位機根據(jù)與接收到的二維投影圖像對應的旋轉角度,構造X光源與所述二維投影圖像中各像素點的連線方程。
S430、控制各所述下位機判斷各像素點的連線方程與待重建的三維體數(shù)據(jù)中每一個體素是否相交;若是,則獲取所述像素點在所述體素內(nèi)的長度值;否則,確定所述像素點在所述體素內(nèi)的長度值為0。
S440、控制各所述下位機根據(jù)相交判斷結果,計算所述二維投影圖像中各像素點的投影矩陣,并將計算結果存儲于各所述下位機的內(nèi)存中。
其中,體素是體積元素的簡稱,用于三維成像與醫(yī)學影像等領域,概念上類似于二維空間的最小單位像素,體素本身并不含有空間中位置的數(shù)據(jù)(即坐標),體素用恒定的標量或者向量表示一個立體的區(qū)域,體素的邊界在于相鄰晶格的中間位置。對每一幀圖像,若是第一次循環(huán)迭代過程,計算該幀圖像對應的X光光源與該像素點的連線方程。判斷該連線與待重建的三維體數(shù)據(jù)中的每一個體素是否有相交,若有相交,則計算該連線在該體素內(nèi)的部分的長度值,并記錄該體素在三維體數(shù)據(jù)中的三維位置(x,y,z)。若無相交,可認為長度值為0。各長度值即構成當前幀圖像的所有像素點的投影矩陣,將投影矩陣存儲于各下位機的內(nèi)存中。投影矩陣只需計算一次,后續(xù)的循環(huán)迭代過程中可以直接使用,因此若不是第一次循環(huán)迭代過程,則跳過上述步驟。
S450、控制各所述下位機根據(jù)所述投影矩陣,以及待重建三維體數(shù)據(jù)的當前迭代狀態(tài),計算與各所述二維投影圖像對應的迭代衰減分量并返回。
S460、根據(jù)各所述下位機返回的所述迭代衰減分量,更新所述待重建三維體數(shù)據(jù)的當前迭代狀態(tài)。
S470、返回執(zhí)行控制各所述下位機根據(jù)內(nèi)存中存儲的投影矩陣,以及待重建三維體數(shù)據(jù)的當前迭代狀態(tài),計算與接收到的二維投影圖像對應的迭代衰減分量并返回的操作,直至滿足預設的迭代終止條件。
S480、將迭代終止后所述待重建三維體數(shù)據(jù)的當前迭代狀態(tài),作為所述CT針對所述二維投影圖像的三維重現(xiàn)結果。
本發(fā)明實施例的技術方案,通過計算該幀圖像對應的X光光源與該像素點的連線方程,根據(jù)該連線與待重建的三維體數(shù)據(jù)中的每一個體素相交部分的長度值計算所有像素點的投影矩陣,只需計算一次投影矩陣,將初次計算后投影矩陣保存在內(nèi)存中,后續(xù)循環(huán)中直接使用,簡化了投影矩陣的計算過程,加快了投影矩陣的計算效率。
優(yōu)選地,在上述實施例的基礎上,控制各所述下位機計算接收到的所述二維投影圖像中各像素點的投影矩陣進一步包括:
控制各所述下位機為接收到的所述二維投影圖像中的每個像素點分別分配一個線程,以通過各線程分布式的計算所述二維投影圖像中各像素點的投影矩陣。
其中,設每一幀圖像共有M個像素點,下位機為每個像素點分配一個線程,通過各線程分布式的計算各像素點的投影矩陣,當所有線程執(zhí)行完成時,即可得到對應當前幀圖像的所有像素點的投影矩陣。采用多線程分布式的計算方式可以提高計算速度,加快投影矩陣的計算效率。
實施例三
圖5是本發(fā)明實施例三提供的一種CT三維重建方法的流程圖,本發(fā)明實施例是在上述實施例的基礎上進行了優(yōu)化,對“控制各所述下位機根據(jù)所述投影矩陣,以及待重建三維體數(shù)據(jù)的當前迭代狀態(tài),計算與各所述二維投影圖像對應的迭代衰減分量并返回”進行了進一步細化,該方法包括:
S510、將CT在至少兩個旋轉角度下獲取的二維投影圖像發(fā)送至至少兩個下位機。
S520、控制各所述下位機計算接收到的所述二維投影圖像中各像素點的投影矩陣,并將計算結果存儲于各所述下位機的內(nèi)存中。
S530、控制各所述下位機根據(jù)公式:計算與各所述二維投影圖像bi對應的迭代衰減分量Ti。
其中,i∈[1,N],N為所述二維投影圖像的幀數(shù);M為所述二維投影圖像中包括的像素點總數(shù);Aij為第i個二維投影圖像幀中第j個像素點的投影矩陣;bij為第i個二維投影圖像幀中第j個像素點的像素值;xn為第n次迭代中待重建三維體數(shù)據(jù)的當前迭代狀態(tài)。
S540、根據(jù)各所述下位機返回的所述迭代衰減分量,更新所述待重建三維體數(shù)據(jù)的當前迭代狀態(tài)。
S550、返回執(zhí)行控制各所述下位機根據(jù)內(nèi)存中存儲的投影矩陣,以及待重建三維體數(shù)據(jù)的當前迭代狀態(tài),計算與接收到的二維投影圖像對應的迭代衰減分量并返回的操作,直至滿足預設的迭代終止條件。
S560、將迭代終止后所述待重建三維體數(shù)據(jù)的當前迭代狀態(tài),作為所述CT針對所述二維投影圖像的三維重現(xiàn)結果。
本實施例的技術方案,基于分布式技術,通過多個下位機計算二維投影圖像中各像素點的投影矩陣和迭代衰減分量,進而更新待重建三維體數(shù)據(jù)的當前迭代狀態(tài),將迭代終止后待重建三維體數(shù)據(jù)的當前迭代狀態(tài)作為CT針對二維投影圖像的三維重現(xiàn)結果。解決了算法計算量大、計算效率低以及計算結果可重用性差等問題,達到了保證三維重建圖像質量的效果。
實施例四
圖6是本發(fā)明實施例四提供的一種CT三維重建方法的流程圖,本發(fā)明實施例是在上述實施例的基礎上進行了優(yōu)化,對“根據(jù)各所述下位機返回的所述迭代衰減分量,更新所述待重建三維體數(shù)據(jù)的當前迭代狀態(tài)”進行了進一步細化,該方法包括:
S610、將CT在至少兩個旋轉角度下獲取的二維投影圖像發(fā)送至至少兩個下位機。
S620、控制各所述下位機計算接收到的所述二維投影圖像中各像素點的投影矩陣,并將計算結果存儲于各所述下位機的內(nèi)存中。
S630、控制各所述下位機根據(jù)公式:計算與各所述二維投影圖像bi對應的迭代衰減分量Ti。
S640、將與各所述二維投影圖像對應的迭代衰減分量Ti的累加求和結果,作為第n次迭代中,所述待重建三維體數(shù)據(jù)的當前迭代狀態(tài)與各所述二維投影圖像之間的迭代衰減總量AT(Axn-b)。
其中,下位機將迭代衰減分量Ti發(fā)送回上位機,上位機累加每一幀對應的迭代衰減分量Ti,得到迭代衰減總量AT(Axn-b)。
S650、根據(jù)公式:更新所述待重建三維體數(shù)據(jù)的當前迭代狀態(tài)為xn+1。
其中,xn+1為第n+1次迭代中待重建三維體數(shù)據(jù)的當前迭代狀態(tài);所述γ、λ為預設權重值;所述R(·)為預設約束項方程;為求梯度運算。
S660、返回執(zhí)行控制各所述下位機根據(jù)內(nèi)存中存儲的投影矩陣,以及待重建三維體數(shù)據(jù)的當前迭代狀態(tài),計算與接收到的二維投影圖像對應的迭代衰減分量并返回的操作,直至滿足預設的迭代終止條件。
S670、將迭代終止后所述待重建三維體數(shù)據(jù)的當前迭代狀態(tài),作為所述CT針對所述二維投影圖像的三維重現(xiàn)結果。
本實施例的技術方案,基于分布式技術,通過多個下位機計算二維投影圖像中各像素點的投影矩陣和迭代衰減分量,進而更新待重建三維體數(shù)據(jù)的當前迭代狀態(tài),將迭代終止后待重建三維體數(shù)據(jù)的當前迭代狀態(tài)作為CT針對二維投影圖像的三維重現(xiàn)結果,解決了算法計算量大、計算效率低以及計算結果可重用性差等問題,達到了保證三維重建圖像質量的效果。
實施例五
圖7是本發(fā)明實施例五提供的一種CT三維重建方法的流程圖,本發(fā)明實施例是在上述實施例的基礎上進行了優(yōu)化,對“將CT在至少兩個旋轉角度下獲取的二維投影圖像發(fā)送至至少兩個下位機”進行了進一步細化,該方法包括:
S710、將不同的二維投影圖像分別發(fā)送至不同的下位機中。
其中,將不同的二維投影圖像分別發(fā)送至不同的下位機中,采用分布式系統(tǒng),每臺下位機使用圖形處理器(Graphics Processing Unit,GPU)并行計算,僅處理一幀圖像的計算。
S720、控制各所述下位機計算接收到的所述二維投影圖像中各像素點的投影矩陣,并將計算結果存儲于各所述下位機的內(nèi)存中。
S730、控制各所述下位機根據(jù)所述投影矩陣,以及待重建三維體數(shù)據(jù)的當前迭代狀態(tài),計算與各所述二維投影圖像對應的迭代衰減分量并返回。
S740、根據(jù)各所述下位機返回的所述迭代衰減分量,更新所述待重建三維體數(shù)據(jù)的當前迭代狀態(tài)。
S750、返回執(zhí)行控制各所述下位機根據(jù)內(nèi)存中存儲的投影矩陣,以及待重建三維體數(shù)據(jù)的當前迭代狀態(tài),計算與接收到的二維投影圖像對應的迭代衰減分量并返回的操作,直至滿足預設的迭代終止條件。
S760、將迭代終止后所述待重建三維體數(shù)據(jù)的當前迭代狀態(tài),作為所述CT針對所述二維投影圖像的三維重現(xiàn)結果。
本發(fā)明實施例的技術方案,每臺下位機使用GPU并行計算,僅處理一幀圖像的計算,減少了計算量和數(shù)據(jù)量,提高了計算效率。
實施例六
圖8是本發(fā)明實施例六提供的一種CT三維重建系統(tǒng)示意圖,該系統(tǒng)包括:
圖像獲取模塊810,用于將CT在至少兩個旋轉角度下獲取的二維投影圖像發(fā)送至至少兩個下位機;
投影矩陣接收模塊820,用于控制各所述下位機計算接收到的所述二維投影圖像中各像素點的投影矩陣,并將計算結果存儲于各所述下位機的內(nèi)存中;
分量計算模塊830,用于控制各所述下位機根據(jù)所述投影矩陣,以及待重建三維體數(shù)據(jù)的當前迭代狀態(tài),計算與各所述二維投影圖像對應的迭代衰減分量并返回;
迭代狀態(tài)更新模塊840,用于根據(jù)各所述下位機返回的所述迭代衰減分量,更新所述待重建三維體數(shù)據(jù)的當前迭代狀態(tài);
迭代返回模塊850,用于返回執(zhí)行控制各所述下位機根據(jù)內(nèi)存中存儲的投影矩陣,以及待重建三維體數(shù)據(jù)的當前迭代狀態(tài),計算與接收到的二維投影圖像對應的迭代衰減分量并返回的操作,直至滿足預設的迭代終止條件;
重現(xiàn)結果確定模塊860,用于將迭代終止后所述待重建三維體數(shù)據(jù)的當前迭代狀態(tài),作為所述CT針對所述二維投影圖像的三維重現(xiàn)結果。
進一步地,所述投影矩陣接收模塊820具體用于:
控制各所述下位機根據(jù)與接收到的二維投影圖像對應的旋轉角度,構造X光源與所述二維投影圖像中各像素點的連線方程;
控制各所述下位機判斷各像素點的連線方程與待重建的三維體數(shù)據(jù)中每一個體素是否相交;若是,則獲取所述像素點在所述體素內(nèi)的長度值;否則,確定所述像素點在所述體素內(nèi)的長度值為0;
控制各所述下位機根據(jù)相交判斷結果,計算所述二維投影圖像中各像素點的投影矩陣。
進一步地,所述投影矩陣接收模塊820具體用于:
控制各所述下位機為接收到的所述二維投影圖像中的每個像素點分別分配一個線程,以通過各線程分布式的計算所述二維投影圖像中各像素點的投影矩陣。
進一步地,所述分量計算模塊830具體用于:
控制各所述下位機根據(jù)公式:計算與各所述二維投影圖像bi對應的迭代衰減分量Ti;
其中,i∈[1,N],N為所述二維投影圖像的幀數(shù);M為所述二維投影圖像中包括的像素點總數(shù);Aij為第i個二維投影圖像幀中第j個像素點的投影矩陣;bij為第i個二維投影圖像幀中第j個像素點的像素值;xn為第n次迭代中待重建三維體數(shù)據(jù)的當前迭代狀態(tài)。
進一步地,所述迭代狀態(tài)更新模塊850,具體用于:
將與各所述二維投影圖像對應的迭代衰減分量Ti的累加求和結果,作為第n次迭代中,所述待重建三維體數(shù)據(jù)的當前迭代狀態(tài)與各所述二維投影圖像之間的迭代衰減總量AT(Axn-b);
根據(jù)公式:更新所述待重建三維體數(shù)據(jù)的當前迭代狀態(tài)為xn+1;
其中,xn+1為第n+1次迭代中待重建三維體數(shù)據(jù)的當前迭代狀態(tài);所述γ、λ為預設權重值;所述R(·)為預設約束項方程;為求梯度運算。
進一步地,所述圖像獲取模塊810具體用于:
將不同的二維投影圖像分別發(fā)送至不同的下位機中。
上述CT三維重建系統(tǒng)可執(zhí)行本發(fā)明任意實施例所提供的CT三維重建方法,具備執(zhí)行CT三維重建方法相應的功能模塊和有益效果。
實施例7
本發(fā)明實施例還提供一種包含計算機可執(zhí)行指令的存儲介質,所述計算機可執(zhí)行指令在由計算機處理器執(zhí)行時用于執(zhí)行一種CT三維重建方法,該方法包括:
將CT在至少兩個旋轉角度下獲取的二維投影圖像發(fā)送至至少兩個下位機;
控制各所述下位機計算接收到的所述二維投影圖像中各像素點的投影矩陣,并將計算結果存儲于各所述下位機的內(nèi)存中;
控制各所述下位機根據(jù)所述投影矩陣,以及待重建三維體數(shù)據(jù)的當前迭代狀態(tài),計算與各所述二維投影圖像對應的迭代衰減分量并返回;
根據(jù)各所述下位機返回的所述迭代衰減分量,更新所述待重建三維體數(shù)據(jù)的當前迭代狀態(tài);
返回執(zhí)行控制各所述下位機根據(jù)內(nèi)存中存儲的投影矩陣,以及待重建三維體數(shù)據(jù)的當前迭代狀態(tài),計算與接收到的二維投影圖像對應的迭代衰減分量并返回的操作,直至滿足預設的迭代終止條件;
將迭代終止后所述待重建三維體數(shù)據(jù)的當前迭代狀態(tài),作為所述CT針對所述二維投影圖像的三維重現(xiàn)結果。
可選的,該計算機可執(zhí)行指令在由計算機處理器執(zhí)行時還可以用于執(zhí)行本發(fā)明任意實施例所提供的CT三維重建方法的技術方案。
通過以上關于實施方式的描述,所屬領域的技術人員可以清楚地了解到,本發(fā)明可借助軟件及必需的通用硬件來實現(xiàn),當然也可以通過硬件實現(xiàn),但很多情況下前者是更佳的實施方式。基于這樣的理解,本發(fā)明的技術方案本質上或者說對現(xiàn)有技術做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品可以存儲在計算機可讀存儲介質中,如計算機的軟盤、只讀存儲器(Read-Only Memory,ROM)、隨機存取存儲器(Random Access Memory,RAM)、閃存(FLASH)、硬盤或光盤等,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各個實施例所述的方法。
實施例8
圖9是本發(fā)明實施例八中的一種電子設備的硬件結構示意圖,如圖9所示,該電子設備包括:
一個或多個處理器910,圖9中以一個處理器910為例;
存儲器920;
所述電子設備還可以包括:輸入裝置930和輸出裝置940。
所述電子設備中的處理器910、存儲器920、輸入裝置930和輸出裝置940可以通過總線或者其他方式連接,圖9中以通過總線連接為例。
存儲器920作為一種非暫態(tài)計算機可讀存儲介質,可用于存儲軟件程序、計算機可執(zhí)行程序以及模塊,如本申請實施例中的CT三維重建方法對應的程序指令/模塊(例如,附圖8所示的圖像獲取模塊810、投影矩陣接收模塊820、分量計算模塊830、迭代狀態(tài)更新模塊840、迭代返回模塊850及重現(xiàn)結果確定模塊860)。處理器910通過運行存儲在存儲器920中的軟件程序、指令以及模塊,從而執(zhí)行服務器的各種功能應用以及數(shù)據(jù)處理,即實現(xiàn)上述方法實施例的CT三維重建方法。
存儲器920可以包括存儲程序區(qū)和存儲數(shù)據(jù)區(qū),其中,存儲程序區(qū)可存儲操作系統(tǒng)、至少一個功能所需要的應用程序;存儲數(shù)據(jù)區(qū)可存儲根據(jù)電子設備的使用所創(chuàng)建的數(shù)據(jù)等。此外,存儲器920可以包括高速隨機存取存儲器,還可以包括非暫態(tài)性存儲器,例如至少一個磁盤存儲器件、閃存器件、或其他非暫態(tài)性固態(tài)存儲器件。在一些實施例中,存儲器920可選包括相對于處理器910遠程設置的存儲器,這些遠程存儲器可以通過網(wǎng)絡連接至終端設備。上述網(wǎng)絡的實例包括但不限于互聯(lián)網(wǎng)、企業(yè)內(nèi)部網(wǎng)、局域網(wǎng)、移動通信網(wǎng)及其組合。
輸入裝置930可用于接收輸入的數(shù)字或字符信息,以及產(chǎn)生與電子設備的用戶設置以及功能控制有關的鍵信號輸入。輸出裝置940可包括顯示屏等顯示設備。
注意,上述僅為本發(fā)明的較佳實施例及所運用技術原理。本領域技術人員會理解,本發(fā)明不限于這里所述的特定實施例,對本領域技術人員來說能夠進行各種明顯的變化、重新調整和替代而不會脫離本發(fā)明的保護范圍。因此,雖然通過以上實施例對本發(fā)明進行了較為詳細的說明,但是本發(fā)明不僅僅限于以上實施例,在不脫離本發(fā)明構思的情況下,還可以包括更多其他等效實施例,而本發(fā)明的范圍由所附的權利要求范圍決定。