專利名稱:實(shí)現(xiàn)gpu運(yùn)算提高dr圖像處理速度的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及醫(yī)學(xué)影像處理技術(shù)領(lǐng)域,尤其涉及一種實(shí)現(xiàn)GPU運(yùn)算提高DR圖像處理速度的方法。
背景技術(shù):
在醫(yī)學(xué)圖像處理領(lǐng)域,目前利用Console軟件進(jìn)行DR(DigitalRadiography,直接數(shù)字化X射線攝影)醫(yī)學(xué)圖像處理的技術(shù)主要有Gain校正、腰椎均衡校正、usm銳化、輕度平滑、中度平滑處理等。 上述DR醫(yī)學(xué)圖像處理一般采用微機(jī)的CPU來處理,CPU中運(yùn)行的Console軟件,其大多數(shù)圖像處理技術(shù)都使用了巻積算子處理,巻積算子小的有3*3、5*5、39*39、 101*101等等,另外這些空域巻積算子都可以通過FFT(快速傅立葉變換)在頻率域?yàn)V波實(shí)現(xiàn)。通過優(yōu)化算法流程、優(yōu)化程序代碼、將二維巻積算子用一維巻積算子替代,可減少處理時間,但由于console后處理較多,整體處理速度仍太慢。從Pentium4時代開始,CPU時鐘頻率的提升遭遇瓶頸,一直停留在2GHz至3GHz左右。因此,利用GPU (Gr即hic Processing Unit,圖形處理電路)代替或配合CPU進(jìn)行醫(yī)學(xué)圖像處理的技術(shù)也逐漸出現(xiàn),如
2006年5月24日公開的中國發(fā)明專利申請第200510110665. 9號所揭露的一種醫(yī)學(xué)圖像中基于GPU硬件加速的體繪制方法,包括以下步驟(l)對體數(shù)據(jù)進(jìn)行預(yù)處理后存儲為紋理;(2)為GPU計(jì)算生成和提供參數(shù)①基準(zhǔn)切面的生成;②在光線投射過程中,紋理的增長量和總共光線需要前進(jìn)的步數(shù);③在GPU處理中將冗余點(diǎn)對應(yīng)的冗余部門去掉;(3)GPU計(jì)算,生成圖像像素渲染是光線投射計(jì)算部分,包括確定光線兩端和顏色混合。該專利申請技術(shù)是結(jié)合傳統(tǒng)CPU實(shí)現(xiàn)的光線投射算法、傳統(tǒng)的紋理體繪制算法為一體,使用GPU來完成光線投射過程,使用顏色混合方法生成圖像,然后發(fā)送到顏色緩沖區(qū)中。其基本思路是用圖形卡硬件對圖形繪制進(jìn)行加速計(jì)算,保持圖像質(zhì)量的同時獲得實(shí)時的繪制速度,滿足數(shù)字醫(yī)療系統(tǒng)的需要。 為克服上述第200510110665. 9號專利申請未記載具體措施實(shí)現(xiàn)利用GPU加速的技術(shù)問題,2009年9月2日公開了第200910131429. 3號中國發(fā)明專利申請,該申請揭露一種利用GPU加速CR/DR/CT圖像顯示及圖像處理的方法及專用設(shè)備,其包括PC電腦一臺,CR/DR工作站或者PACS服務(wù)器。其中PC電腦鏈接著CR/DR工作站或者PACS服務(wù)器,利用新型GPU的通用計(jì)算能力,實(shí)現(xiàn)CR/DR/CT圖像的快速顯示,圖像的顯示和圖像處理功能均利用GPU完成,提出將圖像分割拼合的處理方法,對以往PACS使用的GDI二維加速不同,本方法基本思路是利用GPU的通用計(jì)算能力,將CPU從圖像處理的繁重計(jì)算中解放出來,專心于數(shù)據(jù)通訊及數(shù)據(jù)安全的處理,以提高系統(tǒng)效率。 為克服上述第200910131429. 3號專利申請必須使用圖形工作站進(jìn)行GPU加速而導(dǎo)致結(jié)構(gòu)復(fù)雜成本高的技術(shù)問題,2009年12月2日公開的中國發(fā)明專利申請第200910059864. X號所揭露的一種基于GPU加速的三維醫(yī)學(xué)圖像顯示方法,該方法是將醫(yī)學(xué)DICOM圖像序列文件以體數(shù)據(jù)的方式保存到系統(tǒng)內(nèi)存;然后利用OPENGL或者DIRECTX的三維圖形庫編程擴(kuò)展接口函數(shù)API,將體數(shù)據(jù)加載入GPU顯存;再計(jì)算生成代理幾何體,并對代理幾何體中的多邊形切片逐像素進(jìn)行光照計(jì)算和顏色計(jì)算;最后通過ALPHA混合將代理幾何體中所有的多邊形切片合成三維醫(yī)學(xué)圖像。該方法基本思路是利用特定編程接口,在普通消費(fèi)級別大眾PC上實(shí)現(xiàn)實(shí)時交互式顯示而無須使用圖形工作站,以降低成本。
但是,上述第200910059864. X號專利申請技術(shù)利用0PENGL或者DIRECTX的三維圖形庫編程擴(kuò)展接口函數(shù)API,將醫(yī)學(xué)DICOM圖像序列文件的體數(shù)據(jù)加載入GPU顯存的方法僅適合于三維圖像處理。該方法需要定制的程序或電路,過程較為復(fù)雜,而且要求非常熟悉計(jì)算機(jī)軟件技術(shù)、硬件技術(shù)的研發(fā)人員進(jìn)行設(shè)計(jì)和研發(fā),研發(fā)成本較高、效率較低、穩(wěn)定性難以保證、且出現(xiàn)故障時不方便維護(hù)。
發(fā)明內(nèi)容
本發(fā)明主要解決的技術(shù)問題是提供一種實(shí)現(xiàn)GPU運(yùn)算提高DR圖像處理速度的方法,能夠簡易、低成本地在普通消費(fèi)級別大眾PC上實(shí)現(xiàn)直接調(diào)用GPU進(jìn)行醫(yī)學(xué)影像處理的功能。 為解決上述技術(shù)問題,本發(fā)明采用的一個技術(shù)方案是提供一種實(shí)現(xiàn)GPU運(yùn)算提高DR圖像處理速度的方法,包括讀取原始醫(yī)學(xué)圖像數(shù)據(jù),用圖像邊緣像素對所述原始醫(yī)學(xué)圖像進(jìn)行擴(kuò)展和補(bǔ)齊,其中設(shè)所述原始圖像尺寸為imageWXimageH,巻積核尺寸為kernelWXkernelH,補(bǔ)齊后圖像尺寸為fftWXfftH,其中fftW = imageW+kernelW-l, fftH=imageH+kernelH-1 ;采用計(jì)算統(tǒng)一設(shè)備架構(gòu)編程模型CUDA編寫的快速傅里葉變換FFT程序直接調(diào)用GPU的計(jì)算資源,對所述擴(kuò)展和補(bǔ)齊后的原始醫(yī)學(xué)圖像數(shù)據(jù)以及巻積核分別進(jìn)行FFT運(yùn)算,相應(yīng)得到第一 FFT結(jié)果和第二 FFT結(jié)果;采用計(jì)算統(tǒng)一設(shè)備架構(gòu)編程模型CUDA編寫的巻積程序,直接調(diào)用GPU的計(jì)算資源對所述第一 FFT結(jié)果和第二 FFT結(jié)果在頻域求乘法,得到相乘結(jié)果;采用計(jì)算統(tǒng)一設(shè)備架構(gòu)編程模型CUDA編寫的逆FFT程序,直接調(diào)用GPU的計(jì)算資源對所述相乘結(jié)果進(jìn)行逆FFT運(yùn)算。 其中,所述用圖像邊緣像素對所述原始醫(yī)學(xué)圖像進(jìn)行擴(kuò)展和補(bǔ)齊的步驟中,將補(bǔ)齊后圖像尺寸設(shè)定為小于或等于1024的2n數(shù)或最近的512的倍數(shù)。 其中,所述FFT運(yùn)算包括 一 次imageWX imageH尺寸二維FFT運(yùn)算、 一 次fftWX fftH尺寸二維FFT運(yùn)算,所述求乘法包括一次imageWX imageH尺寸和fftWX fftH尺寸的頻域相乘運(yùn)算,所述逆FFT運(yùn)算包括一次fftWX fftH尺寸二維逆FFT運(yùn)算。
其中,所述對所述擴(kuò)展和補(bǔ)齊后的原始醫(yī)學(xué)圖像數(shù)據(jù)以及巻積核分別進(jìn)行FFT運(yùn)算的步驟中,選用nVidia開發(fā)的CUFFT庫進(jìn)行所述FFT運(yùn)算。 本發(fā)明的有益效果是區(qū)別于現(xiàn)有技術(shù)需要定制的程序或電路進(jìn)行GPU圖像處理而使得設(shè)計(jì)過程較為復(fù)雜、要求較高、成本較高等情況,本發(fā)明采用計(jì)算統(tǒng)一設(shè)備架構(gòu)編程模型CUDA來編寫進(jìn)行醫(yī)學(xué)圖像處理的各種程序,這些CUDA開發(fā)的程序在處理圖像時可以直接調(diào)用GPU的計(jì)算資源進(jìn)行圖像處理,關(guān)鍵是能夠在廉價(jià)的個人計(jì)算機(jī)上編寫和運(yùn)行醫(yī)學(xué)處理相關(guān)的并行運(yùn)算程序,不需要搭建復(fù)雜的平臺,不需要專門的硬件設(shè)備或軟件,使得實(shí)現(xiàn)起來非常簡單和低成本;同時,CUDA是一種并行編程模型和軟件環(huán)境,通過CUDA,用戶可以利用GPU進(jìn)行通用計(jì)算,其采用擴(kuò)展的C語言開發(fā),除可以直接調(diào)用GPU的計(jì)算資源外,運(yùn)算效率更高;本發(fā)明針對醫(yī)學(xué)圖像需要進(jìn)行圖像邊緣像素處理的特點(diǎn),用圖像邊緣像素對所述原始醫(yī)學(xué)圖像進(jìn)行擴(kuò)展和補(bǔ)齊,與前述采用CUDA技術(shù)一起實(shí)施,共同的作用是使得不需要較高水平的計(jì)算機(jī)研發(fā)操作人員、不需要專門的平臺和設(shè)備,就可以進(jìn)行所述醫(yī)學(xué)圖像處理,因此,本發(fā)明能夠簡易、低成本地在普通消費(fèi)級別大眾PC上實(shí)現(xiàn)直接調(diào)用GPU進(jìn)行醫(yī)學(xué)影像處理的功能。
圖1是本發(fā)明實(shí)現(xiàn)GPU運(yùn)算提高DR圖像處理速度的方法實(shí)施例的流程圖。
具體實(shí)施例方式
為詳細(xì)說明本發(fā)明的技術(shù)內(nèi)容、構(gòu)造特征、所實(shí)現(xiàn)目的及效果,以下結(jié)合實(shí)施方式并配合附圖詳予說明。 請參閱圖1,本發(fā)明實(shí)現(xiàn)GPU運(yùn)算提高DR圖像處理速度的方法實(shí)施例主要包括步驟 步驟101 :讀取原始醫(yī)學(xué)圖像數(shù)據(jù),用圖像邊緣像素對所述原始醫(yī)學(xué)圖像進(jìn)行擴(kuò)展和補(bǔ)齊,其中設(shè)所述原始圖像尺寸為imageWXimageH,巻積核尺寸為kernelWXkernelH,補(bǔ)齊后圖像尺寸為fftWXfftH,其中fftW = imageW+kernelW-l, fftH=imageH+kernelH—l ; 步驟102 :采用計(jì)算統(tǒng)一設(shè)備架構(gòu)編程模型CUDA編寫的快速傅里葉變換FFT程序直接調(diào)用GPU的計(jì)算資源,對所述擴(kuò)展和補(bǔ)齊后的原始醫(yī)學(xué)圖像數(shù)據(jù)以及巻積核分別進(jìn)行FFT運(yùn)算,相應(yīng)得到第一 FFT結(jié)果和第二 FFT結(jié)果; 步驟103 :采用計(jì)算統(tǒng)一設(shè)備架構(gòu)編程模型CUDA編寫的巻積程序,直接調(diào)用GPU的計(jì)算資源對所述第一 FFT結(jié)果和第二 FFT結(jié)果在頻域求乘法,得到相乘結(jié)果;
步驟104 :采用計(jì)算統(tǒng)一設(shè)備架構(gòu)編程模型CUDA編寫的逆FFT程序,直接調(diào)用GPU的計(jì)算資源對所述相乘結(jié)果進(jìn)行逆FFT運(yùn)算。 以上可以看出,本發(fā)明采用計(jì)算統(tǒng)一設(shè)備架構(gòu)編程模型CUDA來編寫進(jìn)行醫(yī)學(xué)圖像處理的各種程序,這些CUDA開發(fā)的程序在處理圖像時可以直接調(diào)用GPU的計(jì)算資源進(jìn)行圖像處理,關(guān)鍵是能夠在廉價(jià)的個人計(jì)算機(jī)上編寫和運(yùn)行醫(yī)學(xué)處理相關(guān)的并行運(yùn)算程序,不需要搭建復(fù)雜的平臺,不需要專門的硬件設(shè)備或軟件,使得實(shí)現(xiàn)起來非常簡單和低成本;同時,CUDA是一種并行編程模型和軟件環(huán)境,通過CUDA,用戶可以利用GPU進(jìn)行通用計(jì)算,其采用擴(kuò)展的C語言開發(fā),除可以直接調(diào)用GPU的計(jì)算資源外,運(yùn)算效率更高;本發(fā)明針對醫(yī)學(xué)圖像需要進(jìn)行圖像邊緣像素處理的特點(diǎn),用圖像邊緣像素對所述原始醫(yī)學(xué)圖像進(jìn)行擴(kuò)展和補(bǔ)齊,與前述采用CUDA技術(shù)一起實(shí)施,共同的作用是使得不需要較高水平的計(jì)算機(jī)研發(fā)操作人員、不需要專門的平臺和設(shè)備,就可以進(jìn)行所述醫(yī)學(xué)圖像處理,因此,本發(fā)明能夠簡易、低成本地在普通消費(fèi)級別大眾PC上實(shí)現(xiàn)直接調(diào)用GPU進(jìn)行醫(yī)學(xué)影像處理的功能。
此外,本發(fā)明還可以實(shí)現(xiàn)以下技術(shù)效果 1)本發(fā)明可以充分利用GPU的強(qiáng)大計(jì)算能力,如GT200能達(dá)到接近1Tflops/s甚至更高; 2)GPU具有高存儲器帶寬,圖像計(jì)算效率更高;
3)同等計(jì)算能力下,GPU比CPU更為廉價(jià);
4)基于CUDA技術(shù),能夠在廉價(jià)的個人計(jì)算機(jī)上編寫和運(yùn)行并行程序。相對于MPI
技術(shù)的基于工作站網(wǎng)絡(luò)和集群的并行計(jì)算環(huán)境,本發(fā)明具有顯著的成本優(yōu)勢。 為便于GPU運(yùn)算和節(jié)約帶寬,所述用圖像邊緣像素對所述原始醫(yī)學(xué)圖像進(jìn)行擴(kuò)展
和補(bǔ)齊的步驟中,將補(bǔ)齊后圖像尺寸設(shè)定為小于或等于1024的2n數(shù)或最近的512的倍數(shù)。
比如,原圖像尺寸為1220X 120,巻積核尺寸為7X7,算得fftW和fffH分別為1226和126,
則最終參與運(yùn)算的圖像尺寸fftWXfftH需補(bǔ)足為1536X 128。 本發(fā)明實(shí)施例中的圖像運(yùn)算,如所述FFT運(yùn)算包括一次imageWX imageH尺寸二維FFT運(yùn)算、一次fftWX fftH尺寸二維FFT運(yùn)算,所述求乘法包括一次imageWX imageH尺寸和fftWX fftH尺寸的頻域相乘運(yùn)算,所述逆FFT運(yùn)算包括一次fftWX fftH尺寸二維逆FFT運(yùn)算。 其中,所述對所述擴(kuò)展和補(bǔ)齊后的原始醫(yī)學(xué)圖像數(shù)據(jù)以及巻積核分別進(jìn)行FFT運(yùn)算的步驟中,選用nVidia開發(fā)的CUFFT庫進(jìn)行所述FFT運(yùn)算。 以上所述僅為本發(fā)明的實(shí)施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。
權(quán)利要求
一種實(shí)現(xiàn)GPU運(yùn)算提高DR圖像處理速度的方法,其特征在于,包括讀取原始醫(yī)學(xué)圖像數(shù)據(jù),用圖像邊緣像素對所述原始醫(yī)學(xué)圖像進(jìn)行擴(kuò)展和補(bǔ)齊,其中設(shè)所述原始圖像尺寸為imageW×imageH,卷積核尺寸為kernelW×kernelH,補(bǔ)齊后圖像尺寸為fftW×fftH,其中fftW=imageW+kernelW-1,fftH=imageH+kernelH-1;采用計(jì)算統(tǒng)一設(shè)備架構(gòu)編程模型CUDA編寫的快速傅里葉變換FFT程序直接調(diào)用GPU的計(jì)算資源,對所述擴(kuò)展和補(bǔ)齊后的原始醫(yī)學(xué)圖像數(shù)據(jù)以及卷積核分別進(jìn)行FFT運(yùn)算,相應(yīng)得到第一FFT結(jié)果和第二FFT結(jié)果;采用計(jì)算統(tǒng)一設(shè)備架構(gòu)編程模型CUDA編寫的卷積程序,直接調(diào)用GPU的計(jì)算資源對所述第一FFT結(jié)果和第二FFT結(jié)果在頻域求乘法,得到相乘結(jié)果;采用計(jì)算統(tǒng)一設(shè)備架構(gòu)編程模型CUDA編寫的逆FFT程序,直接調(diào)用GPU的計(jì)算資源對所述相乘結(jié)果進(jìn)行逆FFT運(yùn)算。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于所述用圖像邊緣像素對所述原始醫(yī)學(xué)圖像進(jìn)行擴(kuò)展和補(bǔ)齊的步驟中,將補(bǔ)齊后圖像尺寸設(shè)定為小于或等于1024的2n數(shù)或最近的512的倍數(shù)。
3. 根據(jù)權(quán)利要求2所述的方法,其特征在于所述FFT運(yùn)算包括一次imageWX imageH尺寸二維FFT運(yùn)算、 一 次fftWX fffH尺寸二維FFT運(yùn)算,所述求乘法包括 一 次imageW X imageH尺寸和fftW X fftH尺寸的頻域相乘運(yùn)算,所述逆FFT運(yùn)算包括 一 次fftWXfftH尺寸二維逆FFT運(yùn)算。
4. 根據(jù)權(quán)利要求3所述的方法,其特征在于所述對所述擴(kuò)展和補(bǔ)齊后的原始醫(yī)學(xué)圖像數(shù)據(jù)以及巻積核分別進(jìn)行FFT運(yùn)算的步驟中,選用nVidia開發(fā)的CUFFT庫進(jìn)行所述FFT運(yùn)算。
全文摘要
本發(fā)明公開了一種實(shí)現(xiàn)GPU運(yùn)算提高DR圖像處理速度的方法,包括讀取原始醫(yī)學(xué)圖像數(shù)據(jù),用圖像邊緣像素對所述原始醫(yī)學(xué)圖像進(jìn)行擴(kuò)展和補(bǔ)齊;采用CUDA編寫的快速傅里葉變換FFT程序直接調(diào)用GPU的計(jì)算資源,對所述擴(kuò)展和補(bǔ)齊后的原始醫(yī)學(xué)圖像數(shù)據(jù)以及卷積核分別進(jìn)行FFT運(yùn)算,相應(yīng)得到第一FFT結(jié)果和第二FFT結(jié)果;采用CUDA編寫的卷積程序,直接調(diào)用GPU的計(jì)算資源對所述第一FFT結(jié)果和第二FFT結(jié)果在頻域求乘法,得到相乘結(jié)果;采用CUDA編寫的逆FFT程序,直接調(diào)用GPU的計(jì)算資源對所述相乘結(jié)果進(jìn)行逆FFT運(yùn)算。本發(fā)明能夠簡易、低成本地在普通消費(fèi)級別大眾PC上實(shí)現(xiàn)利用GPU進(jìn)行醫(yī)學(xué)影像處理的目的。
文檔編號G06T3/00GK101783021SQ20101010731
公開日2010年7月21日 申請日期2010年2月2日 優(yōu)先權(quán)日2010年2月2日
發(fā)明者萬洪曉, 杜碧, 杜靜, 陳永灑 申請人:深圳市安健科技有限公司