專利名稱:一種利用gpu加速cr/dr/ct圖像顯示及圖像處理的方法及專用設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于醫(yī)學(xué)圖像顯示領(lǐng)域,是一種用于PACS客戶端利用圖形處理器 GPU (graphics processing unit)的加速CR/DR/CT圖像顯示及處理的方法及專 用設(shè)備。
背景技術(shù):
現(xiàn)有PACS系統(tǒng),因?yàn)閳D像顯示采用的是早期的圖形設(shè)備接口 GDI(Graghic Deice Interface),由于GDI在功能上有限制,無(wú)法實(shí)現(xiàn)在PACS客戶端上醫(yī) 生常用的圖像操作的硬件加速;在原先CR/DR/CT圖像顯示及圖像處理技術(shù) 中,使用PC的CPU進(jìn)行圖像處理,然后傳送的顯存,等待顯示,但由于CPU 同時(shí)還負(fù)擔(dān)其他進(jìn)程的運(yùn)行,而醫(yī)生常用的CR/DR圖像數(shù)據(jù)量較大,CPU因 此處于滿負(fù)荷運(yùn)作,降低了出片的速率,影響醫(yī)生的工作效率;另外,原先 技術(shù)中的系統(tǒng)固定管線所默認(rèn)的光照處理,顯示速度較慢,對(duì)醫(yī)生閱片會(huì)產(chǎn) 生負(fù)面干擾;原先技術(shù)中的顯示體位置設(shè)置,缺乏靈活性,且不利于后期擴(kuò) 展自定義操作。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是提供一種利用GPU加速CR/DR/CT圖像顯示及 圖像處理的方法及專用設(shè)備,利用GPU的處理能力,加速CR/DR圖像的顯示, 利用GPU完成CR/DR圖像的縮放、旋轉(zhuǎn)、局部放大、窗寬窗位調(diào)整等處理工 作,達(dá)到加速處理日常閱片工作的目的;同時(shí),提供相應(yīng)的接口,讓自行編寫 的處理程序能夠應(yīng)用在已顯示圖像上,達(dá)到高速實(shí)驗(yàn)圖像分割、配準(zhǔn)等函數(shù)功 能的目的。為了解決上述技術(shù)問題,本發(fā)明提供提供一種利用GPU加速CR/DR/CT圖 像顯示及圖像處理的方法,包括以下步驟
a) 從PACS系統(tǒng)的圖像服務(wù)器或者CR/DR/CT的工作站獲取10位無(wú)符號(hào)的 DIC0M醫(yī)學(xué)圖像數(shù)據(jù);
b) 將獲取的10位無(wú)符號(hào)的DICOM醫(yī)學(xué)圖像數(shù)據(jù),轉(zhuǎn)換為GPU所使用的 R10G10B10A2—UINT格式16位圖像紋理數(shù)據(jù);
c) 判斷圖像紋理數(shù)據(jù)的大小是否為2n倍,如果是,則不調(diào)整圖像;否 則,將圖像大小調(diào)整為大于原始尺寸的最小2n倍圖像;
d) 判斷當(dāng)前系統(tǒng)DIRECTX版本,如果小于DIRECTX 10版本, 一張紋理不 能存儲(chǔ)CR/DR的圖像,將紋理切分為多塊小紋理陣列,根據(jù)切分的紋理陣列, 設(shè)置面片陣列,將小紋理切片分別貼于對(duì)應(yīng)的面片上;如果是DIRECTX 10或 者DIRECTX IO以上版本, 一張紋理能夠存儲(chǔ)CR/DR的圖像,設(shè)置單塊面片, 將圖像紋理貼于表面;
e) 根據(jù)GPU的處理能力,具體顯示體的設(shè)置,對(duì)紋理圖像數(shù)據(jù)用基于GPU 的像素處理程序進(jìn)行實(shí)現(xiàn)醫(yī)學(xué)圖像窗寬窗位的設(shè)置,醫(yī)學(xué)圖像的負(fù)片處理;或 者對(duì)現(xiàn)實(shí)的醫(yī)學(xué)圖像,利用基于GPU的頂點(diǎn)處理程序?qū)崿F(xiàn)醫(yī)學(xué)圖像的移動(dòng)、 醫(yī)學(xué)圖像的縮放、醫(yī)學(xué)圖像的旋轉(zhuǎn)、醫(yī)學(xué)圖像的翻轉(zhuǎn)。
為實(shí)現(xiàn)上述方法,需要專門的設(shè)備,包括a) PC電腦一臺(tái),安裝有支持 DX10標(biāo)準(zhǔn)的顯卡及驅(qū)動(dòng),WindowsXP操作系統(tǒng)或者WindowsVista Professional版本操作系統(tǒng),具備DX10功能;軟件部分包括有醫(yī)學(xué)圖像數(shù) 據(jù)讀取模塊,基于GPU的數(shù)據(jù)圖像預(yù)處理模塊,顯示體設(shè)置模塊,基于GPU 的圖像濾波模塊,基于GPU的圖像紋理設(shè)置模塊,基于GPU的圖像處理模塊; b) CR/DR工作站或者PACS服務(wù)器;其中,PC電腦鏈接著CR/DR工作站或者 PACS服務(wù)器。
采用上述這種利用GPU加速CR/DR/CT圖像顯示及圖像處理的方法,由于 PC電腦軟件中,包括了醫(yī)學(xué)圖像數(shù)據(jù)讀取模塊,基于GPU的數(shù)據(jù)圖像預(yù)處理模塊,顯示體設(shè)置模塊,基于GPU的圖像濾波模塊,基于GPU的圖像紋理設(shè) 置模塊,基于GPU的圖像處理模塊;其中,GPU (Graphic Processing Unit, 圖形處理器)是相對(duì)于CPU的一個(gè)概念,在現(xiàn)代的計(jì)算機(jī)中,特別是在圖像 工作站,部分游戲的發(fā)燒友的家用電腦中,圖形的處理變得越來(lái)越重要,需 要一個(gè)專門的圖形的核心處理器。GPU是顯示卡的"心臟",也就相當(dāng)于CPU 在電腦運(yùn)行中的核心作用,它決定了該顯卡的檔次和大部分性能,同時(shí)也是 2D顯示卡和3D顯示卡的區(qū)別依據(jù);2D顯示芯片在處理3D圖像和特效時(shí)主要 依賴CPU的處理能力,稱為"軟加速";3D顯示芯片是將三維圖像和特效處 理功能集中在顯示芯片內(nèi),也即所謂的"硬件加速"功能,初期的GPU只是 硬件上簡(jiǎn)單支持T&L (Transform and Lighting,多邊形轉(zhuǎn)換與光源處理) 的顯示芯片,隨著顯示技術(shù)的飛速發(fā)展,GPU的功能己經(jīng)不再是固定管線, shader概念的提出,讓GPU可以依據(jù)制定的程序?qū)旤c(diǎn)和像素進(jìn)行處理,而 發(fā)展到SM4.0 (shader model)規(guī)格的DX10級(jí)別的顯卡,更是以統(tǒng)一渲染架 構(gòu)將頂點(diǎn)渲染器和像素渲染器整合在一起,對(duì)程序指令的最大數(shù)目從512條 增加到了 64000條;暫存器數(shù)量也從原先的32個(gè)增加到t^人的4096個(gè),讓 GPU可以處理更多原本需要CPU處理的程序,也讓軟件工程師能夠以更便利 的方式利用GPU處理非圖形數(shù)據(jù)。而對(duì)紋理的支持也達(dá)到了最大8096*8096, 己經(jīng)超過了 CR/DR圖形的尺寸,使得以一張紋理存儲(chǔ)CR/DR的圖像成為可能。 為了便于操縱GPU的特殊指令,出現(xiàn)了一些列的高級(jí)描影語(yǔ)言,這些語(yǔ) 言工具能夠讓用戶編寫類似C的代碼,隨后編譯轉(zhuǎn)換成GPU的shader指令。 這些工具整合了可以直接映射到GPU的簡(jiǎn)單數(shù)據(jù)并行編程構(gòu)造;經(jīng)GPU存儲(chǔ) 和操作的數(shù)據(jù)被形象地比喻成"流"(stream),類似于標(biāo)準(zhǔn)C中的數(shù)組;核 心(Kernel)是在流上操作的函數(shù),在一系列輸入流上調(diào)用一個(gè)核心函數(shù)意 味著在流元素上實(shí)施了隱含的循環(huán),即對(duì)每一個(gè)流元素調(diào)用核心體。在線性 代數(shù)求解、快速傅立葉轉(zhuǎn)換、光線追蹤這些問題的處理上,利用GPU的處理 能力,在相同高速緩存、相同CPU指令優(yōu)化條件下,速度提升高達(dá)7倍之多。本發(fā)明的實(shí)施,取代了傳統(tǒng)的CPU對(duì)圖像數(shù)據(jù)的操作,通過將CR圖像數(shù)據(jù) 直接傳送給GPU,使GPU能更有效的處理數(shù)據(jù).本發(fā)明的實(shí)施減少了總線通信 量CPU的負(fù)載,縮短了 CR圖像顯示級(jí)變換操作呈現(xiàn)的時(shí)間。
其中,限定具體的圖像數(shù)據(jù)以及轉(zhuǎn)換的紋理數(shù)據(jù)的具體要求,是將10位 無(wú)符號(hào)的DIC0M圖像數(shù)據(jù),轉(zhuǎn)換為GPU所使用的R10G10B10A2—UINT格式紋理 數(shù)據(jù),因?yàn)獒t(yī)學(xué)圖像的特殊性,數(shù)據(jù)以10位無(wú)符號(hào)數(shù)存儲(chǔ),為了保證其細(xì)節(jié) 不被遺漏,在上述方案中,所有數(shù)據(jù)均存儲(chǔ)為DXGI一FORMAT一R10G10B10A2一UINT 格式紋理,通過上述具體的限制,能保證圖像數(shù)據(jù)的合理轉(zhuǎn)換。
圖像紋理的組織是采取單張紋理存儲(chǔ)圖像或多張紋理分別存儲(chǔ)部分圖像 的方式,并同時(shí)決定圖像紋理所依附的方形面片數(shù)量及其組織,能保證圖像 紋理不被系統(tǒng)默認(rèn)的采樣函數(shù)誤處理,在程序的運(yùn)行過程中,均拋棄固定管 線中的投影變換、矩陣變換和光照變換,采用自定義的vertex shader和pixel shader對(duì)圖像移動(dòng)、縮放、旋轉(zhuǎn)、反轉(zhuǎn)操作所需的頂點(diǎn)變換和窗寬窗位調(diào)整、 負(fù)片調(diào)整等操作所需的像素處理進(jìn)行處理。
自定義的像素處理程序(pixel shader),對(duì)圖像的窗寬窗位,負(fù)片操作 進(jìn)行處理,能加快顯示速度,同時(shí)取代系統(tǒng)固定管線所默認(rèn)的光照處理,防 止對(duì)醫(yī)生閱片產(chǎn)生負(fù)面干擾,用pixel shader取代了傳統(tǒng)的基于GDI顯示的方 案中負(fù)責(zé)處理圖像數(shù)據(jù)的CPU的工作,有利于提高系統(tǒng)整體效率。
具體顯示體的設(shè)置,使用的是自定義的頂點(diǎn)處理程序(vertex shader) 處理醫(yī)學(xué)圖像的移動(dòng)、縮放、旋轉(zhuǎn)、翻轉(zhuǎn)等常見操作;因?yàn)椴捎昧烁叨褥`活 的shader程序,可以后期擴(kuò)展入更多自定義的操作,如圖像邊緣強(qiáng)化,圖像 區(qū)域分割,圖像偽彩色顯示等功能,可以作為擴(kuò)充函數(shù)的實(shí)驗(yàn)平臺(tái)。
下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明技術(shù)方案進(jìn)一步說明
圖1是本發(fā)明一種利用GPU加速CR/DR/CT圖像顯示及圖像處理的方法的具體流程圖2是本發(fā)明一種利用GPU加速CR/DR/CT圖像顯示及圖像處理的方法需 要的專門設(shè)備的具體布置圖。
具體實(shí)施例方式
如圖l、圖2所示,本發(fā)明一種利用GPU加速CR/DR/CT圖像顯示及圖像 處理的方法需要的專門設(shè)備,包括a) PC電腦1一臺(tái),PC電腦1具有顯示 屏幕11, PC電腦1中安裝有支持DX10標(biāo)準(zhǔn)的顯卡及驅(qū)動(dòng),WindowsXP操作 系統(tǒng)或者WindowsVista Professional版本操作系統(tǒng),具備DXIO功能;軟件 部分包括有醫(yī)學(xué)圖像數(shù)據(jù)讀取模塊,基于GPU的數(shù)據(jù)圖像預(yù)處理模塊,顯示 體設(shè)置模塊,基于GPU的圖像濾波模塊,基于GPU的圖像紋理設(shè)置模塊,基 于GPU的圖像處理模塊;b) CR/DR工作站21、 22或者PACS服務(wù)器31、 32、 33;其中,PC電腦1連接著CR/DR工作站21、 22或者PACS |艮務(wù)器31、 32、 33。
利用GPU加速CR/DR/CT圖像顯示及圖像處理的方法,通過如下步驟實(shí)現(xiàn)
a) 從PACS系統(tǒng)的圖像服務(wù)器或者CR/DR/CT的工作站獲取10位無(wú)符號(hào)的 DICOM醫(yī)學(xué)圖像數(shù)據(jù);
b) 將獲取的10位無(wú)符號(hào)的DICOM醫(yī)學(xué)圖像數(shù)據(jù),轉(zhuǎn)換為GPU所使用的 R10G10B10A2—UINT格式16位圖像紋理數(shù)據(jù);
c) 判斷圖像紋理數(shù)據(jù)的大小是否為2n倍,如果是,則不調(diào)整圖像;否 則,將圖像大小調(diào)整為大于原始尺寸的最小2n倍圖像;
d) 判斷當(dāng)前系統(tǒng)DIRECTX版本,如果小于DIRECTX 10版本, 一張紋理不 能存儲(chǔ)CR/DR的圖像,將紋理切分為多塊小紋理陣列,根據(jù)切分的紋理陣列, 設(shè)置面片陣列,將小紋理切片分別貼于對(duì)應(yīng)的面片上;如果是DIRECTX 10或 者DIRECTX IO以上版本, 一張紋理能夠存儲(chǔ)CR/DR的圖像,設(shè)置單塊面片, 將圖像紋理貼于表面;e)根據(jù)GPU的處理能力,具體顯示體的設(shè)置,對(duì)紋理圖像數(shù)據(jù)用基于GPU 的像素處理程序進(jìn)行實(shí)現(xiàn)醫(yī)學(xué)圖像窗寬窗位的設(shè)置,醫(yī)學(xué)圖像的負(fù)片處理;或 者對(duì)現(xiàn)實(shí)的醫(yī)學(xué)圖像,利用基于GPU的頂點(diǎn)處理程序?qū)崿F(xiàn)醫(yī)學(xué)圖像的移動(dòng)、 醫(yī)學(xué)圖像的縮放、醫(yī)學(xué)圖像的旋轉(zhuǎn)、醫(yī)學(xué)圖像的翻轉(zhuǎn)。
下面將按模塊更為詳細(xì)的描述本發(fā)明的技術(shù)方案
數(shù)據(jù)預(yù)處理模塊
讀取DICOM數(shù)據(jù)到內(nèi)存,pDICOMImage[ilmagelndex]為指向存儲(chǔ)圖像內(nèi) 容的指針數(shù)組,ilmagelndex為圖像索引,取值為0到圖像數(shù)目-1。當(dāng)顯示圖 像為CR/DR時(shí),ilmagelndex取0值,因?yàn)橥ǔR/DR—個(gè)序列只有一副圖 像。ilmageHeight, ilmageWidth為當(dāng)前顯示圖像的高度及寬度。
調(diào)用DirectX的IDirect3DDevice9: :GetDeviceCaps ( D3DCAPS9 * pCaps)函數(shù)獲取當(dāng)前GPU設(shè)備的最大材質(zhì)尺寸。函數(shù)參數(shù)為指向D3DCAPS9 結(jié)構(gòu)的指針。結(jié)構(gòu)中的MaxTextureWidth和MaxTextureHeight成員變量為 當(dāng)前設(shè)備支持的材質(zhì)的最大尺寸。
比較條件 1 : ilmageWidth〈MaxTextureWidth , 條件 2 iImageHe i ght <MaxTextureHe i ght 。
條件1,條件2為真,真時(shí)調(diào)用CreateTexture2D建立大小為 MaxTextureWidth *MaxfextureHeight的2D紋理,其中每個(gè)紋理像素的RGB 分量均為DICOM文件的值,ALPHA分量為0。紋理圖像大于DICOM部分以0填 充。同時(shí)建立1個(gè)四邊形面片(RectPatch)。
條件1,條件2為真,假時(shí)調(diào)用CreateTexture2D建立大小為 MaxTextureWidth *MaxTextureHeight 的 2D 紋理,紋理數(shù)量為 ilmageheight/MaxTextureHeight+l, 同 時(shí) 建 立
ilmageheight/MaxTextureHeight +1四邊形面片,面片縱向排列。編號(hào)為i 的子紋理塊與編號(hào)為i的面片對(duì)應(yīng)。I取值為0到 ilmageheight/MaxTextureHeight。條件1,條件2為假,真時(shí)調(diào)用CreateTexture2D建立大小為 MaxTextureWidth *MaxTextureHeight 的 2D 紋理,紋理數(shù)量為 ilmageWidth/MaxTextureWidth+l, 同 時(shí) 建 立
ilmageWidth/MaxTextureWidth+l四邊形面片,面片橫向排列。編號(hào)為j的子 紋理塊與編號(hào)為j的面片對(duì)應(yīng)。J取值為0到ilmageWidth/MaxTextureWidth。
條件1,條件2為假,假時(shí)調(diào)用CreateTexture2D建立大小為 MaxTextureWidth *MaxTextureHeight 的 2D 紋理,紋理數(shù)量為 ( ilmageWidth/MaxTextureWidth+l ) *
( ilmageheight/MaxTextureHeight+l ) , 同 時(shí) 建 立 (ilmageWidth/MaxTextureWidth+l)氺(ilmageheight/MaxTextureHeight+l 四邊形面片,面片呈網(wǎng)格排列。編號(hào)為(j, i)的紋理與編號(hào)為(j, i)的面 片對(duì)應(yīng)。J取值為0到ilmageWidth/MaxTextureWidth。 I取值為0到 iImagehe i ght/MaxTextureHe i ght 。
顯示環(huán)境準(zhǔn)備初始設(shè)置WorldMatrix世界變換矩陣,ViewMatirx視口 變換矩陣,ProjectMatrix透視變換矩陣,TransMatrix物體變換矩陣。建立 攝像機(jī)gCamera,其中g(shù)Camera. focus為攝像機(jī)初始位置,gCamera. Minfocus 和gCamera. Maxfocus分別為攝像機(jī)在攝像機(jī)方向上的最小位置和最大位置。 攝像機(jī)指向與面片法線方向相反。關(guān)閉固定管線的光照處理。設(shè)置 sampler—state的MipFilter = D3DTEXF—NONE; MinFilter = D3DTEXF—POINT; MagFilter = D3DTEXF_P0INT;
渲染場(chǎng)景,從系統(tǒng)讀取用戶輸入,根據(jù)輸入調(diào)用相應(yīng)的功能函數(shù)。
旋轉(zhuǎn)圖像的實(shí)現(xiàn)圖像旋轉(zhuǎn)通過以下verex shader指令段實(shí)現(xiàn)
oPos = mul( Pos, TransMatrix);
oPos= mul( oPos, WorldMatrix);
oPos二 mul( oPos, ViewMatrix);
oPos二 mul( oPos, ProjectMatrix);oTex = Tex;
其中oPos為Vertex shader輸出的頂點(diǎn)位置信息,其中oTex為Vertex shader輸出的材質(zhì)坐標(biāo)信息,旋轉(zhuǎn)圖形不改變每個(gè)頂點(diǎn)的材質(zhì)坐標(biāo)。 WorldMatrix為世界變換矩陣,ViewMatirx為視口變換矩陣,ProjectMatrix 為透視變換矩陣,TransMatrix為物體變換矩陣,本發(fā)明中,將2維圖像旋
轉(zhuǎn)映射為面片繞z軸旋轉(zhuǎn),其格式為kose, sine, o, o; -sine, cose,
0, 0; 0, 0, 1, 0; 0, 0, 0, 1}
縮放圖像的實(shí)現(xiàn)圖像旋轉(zhuǎn)通過以下verex shader指令段實(shí)現(xiàn)
oPos 二 mul( Pos, TransMatrix);
oPos二 mul( oPos, WorldMatrix);
oPos= mul( oPos, ViewMatrix);
oPos= mul( oPos, ProjectMatrix);
oTex 二 Tex;
其中oPos為Vertex shader輸出的頂點(diǎn)位置信息,其中oTex為Vertex shader輸出的材質(zhì)坐標(biāo)信息,旋轉(zhuǎn)圖形不改變每個(gè)頂點(diǎn)的材質(zhì)坐標(biāo)。 WorldMatrix為世界變換矩陣,ViewMatirx為視口變換矩陣,ProjectMatrix 為透視變換矩陣,TransMatrix為物體變換矩陣,本發(fā)明中,將2維圖像旋 轉(zhuǎn)映射為攝像機(jī)在朝向上的移動(dòng),其移動(dòng)量為AD,再將其轉(zhuǎn)換為面片的變 換矩陣,因?yàn)樵诒痉桨钢?,位移只發(fā)生在Z軸方向,TransMatrix格式為U, 0, 0, 0; 0, 1, 0, 0; 0, 0, 1, 0; 0, 0, -AD, 1}
窗寬窗位調(diào)整的實(shí)現(xiàn)
窗寬窗位的概念窗寬窗位技術(shù)是針對(duì)人眼對(duì)灰階的分辨力有限這個(gè)缺
點(diǎn),在實(shí)際工作中將不同的的放射強(qiáng)度(Raiodensity)重新映射到256種不同 程度的灰價(jià),這些不同的灰價(jià)可以依窗寬的不同范圍來(lái)重新定義衰減值。
用pixel shader實(shí)現(xiàn)調(diào)整窗寬窗位操作
Float fErr=0. 000005;Float4 r;
R=tex2D(samTexture, Tex ); If
((r. x+fErr<(WinLev—WinW/2))||(r. x-fErr<(WinLev—WinW/2)) )return {0, 0, 0, 0};
If ((r. x+fErr>(WinLev+WinW/2))||( r. x-fErr〈(WinLev-WinW/2)) return {256. 0, 256. 0, 256. 0, 0}; R=(r. xyz-(WinLev-WinW/2))*256. 0/WinW; Return r
其中ferr控制浮點(diǎn)預(yù)算中的誤差;samTexture為采樣的貼圖,即設(shè)置為 紋理貼圖的CR圖像;R為對(duì)圖像紋理的采樣結(jié)果,即設(shè)置為紋理貼圖的CR 圖像中的一個(gè)像素值。
負(fù)片處理的實(shí)現(xiàn)
負(fù)片處理是交換圖像中像素點(diǎn)的灰階值。本發(fā)明中,遵照256級(jí)灰度的 規(guī)定,用調(diào)整后的像素值與256求補(bǔ)的方法進(jìn)行負(fù)片操作。 首先用pixel shader實(shí)現(xiàn)窗寬窗位調(diào)整操作 具體處理過程同上。 負(fù)片的操作 R*-1+256;
其中R為操作6里面處理過的像素值。
對(duì)數(shù)學(xué)實(shí)驗(yàn)的支持本方案開放了程序內(nèi)部使用的渲染參數(shù)變量值,讓 使用者可以使用HLSL語(yǔ)言編寫相應(yīng)的shader程序,本方案內(nèi)部通過 D3DXCreateEffectFromFile編譯入使用這提供的shader程序,并通過將方 案內(nèi)部的變量通過ID3DXBaseEffect::Se討系列函數(shù)將狀態(tài)值傳遞給shader 程序,從而實(shí)現(xiàn)對(duì)使用者快速驗(yàn)證GPU算法的需要。
權(quán)利要求
1. 一種利用GPU加速CR/DR/CT圖像顯示及圖像處理的方法,其特征在于包括以下步驟a)從PACS系統(tǒng)的圖像服務(wù)器或者CR/DR/CT的工作站獲取10位無(wú)符號(hào)的DICOM醫(yī)學(xué)圖像數(shù)據(jù);b)將獲取的10位無(wú)符號(hào)的DICOM醫(yī)學(xué)圖像數(shù)據(jù),轉(zhuǎn)換為GPU所使用的R10G10B10A2_UINT格式16位圖像紋理數(shù)據(jù);c)判斷圖像紋理數(shù)據(jù)的大小是否為2n倍,如果是,則不調(diào)整圖像;否則,將圖像大小調(diào)整為大于原始尺寸的最小2n倍圖像;d)判斷當(dāng)前系統(tǒng)DIRECTX版本,如果小于DIRECTX10版本,一張紋理不能存儲(chǔ)CR/DR的圖像,將紋理切分為多塊小紋理陣列,根據(jù)切分的紋理陣列,設(shè)置面片陣列,將小紋理切片分別貼于對(duì)應(yīng)的面片上;如果是DIRECTX10或者DIRECTX10以上版本,一張紋理能夠存儲(chǔ)CR/DR的圖像,設(shè)置單塊面片,將圖像紋理貼于表面;e)根據(jù)GPU的處理能力,具體顯示體的設(shè)置,對(duì)紋理圖像數(shù)據(jù)用基于GPU的像素處理程序進(jìn)行實(shí)現(xiàn)醫(yī)學(xué)圖像窗寬窗位的設(shè)置,醫(yī)學(xué)圖像的負(fù)片處理;或者對(duì)現(xiàn)實(shí)的醫(yī)學(xué)圖像,利用基于GPU的頂點(diǎn)處理程序?qū)崿F(xiàn)醫(yī)學(xué)圖像的移動(dòng)、醫(yī)學(xué)圖像的縮放、醫(yī)學(xué)圖像的旋轉(zhuǎn)、醫(yī)學(xué)圖像的翻轉(zhuǎn)。
2. —種利用GPU加速CR/DR/CT圖像顯示及圖像處理的方法的專門設(shè)備,其特征在于,包括a) PC電腦一臺(tái),安裝有支持DXIO標(biāo)準(zhǔn)的顯卡及驅(qū)動(dòng),WindowsXP操作系統(tǒng)或者WindowsVista Professional版本操作系統(tǒng),具備DX10功能;軟件部分包括有醫(yī)學(xué)圖像數(shù)據(jù)讀取模塊,基于GPU的數(shù)據(jù)圖像預(yù)處理模塊,顯示體設(shè)置模塊,基于GPU的圖像濾波模塊,基于GPU的圖像紋理設(shè)置模塊,基于GPU的圖像處理模塊;b) CR/DR工作站或者PACS服務(wù)器;其中,PC電腦鏈接著CR/DR工作站或者PACS服務(wù)器。
全文摘要
本發(fā)明屬于醫(yī)學(xué)圖像顯示領(lǐng)域,是一種利用GPU加速CR/DR/CT圖像顯示及圖像處理的方法及專用設(shè)備,包括PC電腦一臺(tái),CR/DR工作站或者PACS服務(wù)器,其中,PC電腦鏈接著CR/DR工作站或者PACS服務(wù)器,利用了新型GPU的通用計(jì)算能力,實(shí)現(xiàn)了CR/DR/CT圖像的快速顯示,圖像的顯示和圖像處理功能均利用GPU完成,提出了將圖像分割拼合的處理方法,對(duì)以往PACS使用的GDI二維加速不同,本方法充分利用了GPU的通用計(jì)算能力,從而將CPU從圖像處理的繁重計(jì)算中解放出來(lái),專心于數(shù)據(jù)通訊及數(shù)據(jù)安全的處理,提高了系統(tǒng)效率。
文檔編號(hào)G06T1/00GK101520900SQ200910131429
公開日2009年9月2日 申請(qǐng)日期2009年3月30日 優(yōu)先權(quán)日2009年3月30日
發(fā)明者何中市, 李志超, 健 王 申請(qǐng)人:中國(guó)人民解放軍第三軍醫(yī)大學(xué)第一附屬醫(yī)院