本申請一般涉及醫(yī)學圖像領域,尤其涉及醫(yī)學圖像三維可視化領域。
背景技術:
醫(yī)學圖像三維可視化一般指對醫(yī)學影像數(shù)據(jù)進行處理以將其轉換成具有三維立體效果的圖像。醫(yī)學圖像三維可視化技術通??梢苑譃槊胬L制和體繪制兩大類。面繪制涉及對體表面的重建,而體繪制則直接對體數(shù)據(jù),即離散的三維數(shù)據(jù)場進行處理以得到具有三維效果的對應二維圖像。體繪制保留了三維醫(yī)學圖像的細節(jié)信息,從而能從所產生的圖像中觀察到三維數(shù)據(jù)場的整體和全貌,但其計算量很大。
在醫(yī)學圖像三維可視化領域,直接體繪制技術因可以提供豐富的物體內部細節(jié)信息而被廣泛應用。光線投射算法是一種最經典的高質量圖像為序直接體繪制算法,其原理是從圖像的每一個像素沿視線方向發(fā)射一條光線,光線穿越整個體數(shù)據(jù)過程中,對體數(shù)據(jù)進行采樣獲取采樣點顏色信息,同時對顏色值進行累加,直至光線穿越整個圖像序列,最后得到的顏色值就是渲染圖像的顏色。由于該技術需要對整個體數(shù)據(jù)進行采樣累加計算,所以計算量通常比較大,雖然已有很多對該算法進行改進優(yōu)化的方法,但對于某些對圖像質量和交互實時性要求較高的場合仍然難以滿足要求。
另一方面,隨著互聯(lián)網和移動醫(yī)療技術的迅猛發(fā)展,臨床診斷醫(yī)生可以通過網頁端或者移動客戶端來在不同場所實現(xiàn)對病人影像數(shù)據(jù)的交互操作和診斷,以提高醫(yī)生工作效率或實現(xiàn)遠程會診。此時多用戶并發(fā)操作在所難免,那么如何保證每個用戶在獲得高清醫(yī)學圖像的同時靈活地執(zhí)行各種交互操作顯得尤為重要。
現(xiàn)階段有很多種提高光線投射算法繪制速度的策略,主要包括借助圖形顯卡進行硬件加速和對算法進行改進的軟件加速方法。圖形硬件加速策略即借助GPU強大的并行計算能力實現(xiàn)光線投射算法的各種復雜計算,對算法進行改進的研究則更為廣泛,包括光線提前終止、空域跳轉、降低采樣頻率、遮擋剔除、延遲渲染、MIPMapping等等。這些改進方法里部分是以犧牲圖像質量為代價以換取速度的提升,另一部分雖然都能在保證圖像質量的基礎上提高算法性能,但單獨作用時提高速度的規(guī)模都非常有限。J.Krüger等人提出了一種基于GPU的體繪制加速技術(Kruger J,Westermann R.Acceleration techniques for GPU-based volume rendering[C]//Proceedings of the 14th IEEE Visualization 2003(VIS'03).IEEE Computer Society,2003:38),該技術通過將光線遍歷采樣分為固定長度的多段進行,并通過結合光線提前終止和透明區(qū)域跳躍等技術來實現(xiàn)算法加速,多種加速策略的綜合使用使得該算法性能獲得了大幅提升。但該算法的前后表面是直接與體數(shù)據(jù)求交計算得到,實際應用中待顯示目標物體通常只是整個體數(shù)據(jù)的一部分,在目標周圍經常分散著一些諸如空氣或醫(yī)生不關心的組織,如果可以充分利用醫(yī)生感興趣區(qū)域特征過濾掉非感興趣區(qū)域,無疑又可以對算法進行大幅優(yōu)化;另一方面,該算法光線遍歷分固定長度的多段進行,這個固定長度的選取對GPU資源的利用效率有著重要影響,實際中每個醫(yī)學體數(shù)據(jù)大小不一,各個方向上維度大小也不盡相同,對于不同大小或從不同方向上觀看的體數(shù)據(jù),如何確定一個合適的分段長度亦是一個難題。
本發(fā)明通過結合多種加速策略并將體數(shù)據(jù)自適應拆分為多通道進行渲染來達到在保證光線投射算法優(yōu)質圖像質量的同時提高繪制速度和降低GPU負載雙重目的。
技術實現(xiàn)要素:
本公開的一方面涉及醫(yī)學圖像繪制的方法,包括拆分待繪制的醫(yī)學圖像體數(shù)據(jù)以形成所述醫(yī)學圖像體數(shù)據(jù)的各子數(shù)據(jù)塊;確定所述子數(shù)據(jù)塊中的目標區(qū)域;基于光線投射算法計算每條光線關于所述目標區(qū)域的起點和終點;以及根據(jù)所述目標區(qū)域的起點和終點進行計算并沿光線累加以根據(jù)各光線的累加結果完成醫(yī)學圖像的繪制。
在該方法方面的一示例實現(xiàn)中,所述確定所述子數(shù)據(jù)塊中的目標區(qū)域進一步包括基于灰度閾值來確定所述目標區(qū)域。
在該方法方面的另一示例實現(xiàn)中,所述目標區(qū)域是圖像繪制關注的感興趣區(qū)域。
在該方法方面的又一示例實現(xiàn)中,所述確定所述子數(shù)據(jù)塊中的目標區(qū)域還包括根據(jù)組織的標記信息來確定所述目標區(qū)域。
在該方法方面的進一步示例實現(xiàn)中,所述組織包括以下至少一者:左肺、右肺、血管、腫瘤、結石。
在該方法方面的再一示例實現(xiàn)中,根據(jù)所述目標區(qū)域的起點和終點進行計算并沿光線累加以根據(jù)各光線的累加結果完成醫(yī)學圖像的繪制包括在光線方向上所述目標區(qū)域為不連續(xù)的目標區(qū)域,根據(jù)所述每段目標區(qū)域的起點和終點進行計算并沿光線累加,根據(jù)各光線的累加結果完成醫(yī)學圖像的繪制。
在該方法方面的一示例實現(xiàn)中,所述根據(jù)所述目標區(qū)域的起點和終點進行計算包括對顏色或灰度值進行計算。
在該方法方面的另一示例實現(xiàn)中,所述拆分待繪制的醫(yī)學圖像體數(shù)據(jù)形成的是大小為16*16*16或32*32*32的子數(shù)據(jù)塊。
在該方法方面的又一示例實現(xiàn)中,根據(jù)目標區(qū)域的起點和終點進行計算并沿光線累加時進一步包括當累加結果符合光線終止條件時計算終止。
本公開的另一方面涉及醫(yī)學圖像繪制的設備,包括拆分單元,用于拆分待繪制的醫(yī)學圖像體數(shù)據(jù)以形成所述醫(yī)學圖像體數(shù)據(jù)的各子數(shù)據(jù)塊;確定單元,用于確定所述子數(shù)據(jù)塊中的目標區(qū)域;第一計算單元,用于基于光線投射算法計算每條光線關于所述目標區(qū)域的起點和終點;第二計算單元,用于根據(jù)所述目標區(qū)域的起點和終點進行計算并沿光線累加以根據(jù)各光線的累加結果完成醫(yī)學圖像的繪制。
本發(fā)明的技術方案通過結合多種加速策略并將體數(shù)據(jù)自適應拆分為多通道進行渲染,能夠達到在保證光線投射算法優(yōu)質圖像質量的同時提高繪制速度。
附圖說明
圖1是根據(jù)本發(fā)明一示例性實施例的醫(yī)學圖像自適應多通道顯示方法的示例性流程圖;
圖2A是根據(jù)現(xiàn)有技術的光線投射的示意圖;
圖2B是根據(jù)本發(fā)明一示例性實施例的光線投射的示意圖;
圖3A是現(xiàn)有技術的光線投射的示例效果;
圖3B是根據(jù)本發(fā)明一示例的濾除非目標對象之后的光線投射的示例效果;
圖4是根據(jù)本發(fā)明一進一步示例性實施例的自適應多通道繪制的示例性流程圖;
圖5是根據(jù)本發(fā)明一示例性實施例的將體數(shù)據(jù)自適應拆分為多個通道的原理示圖;
圖6是根據(jù)本發(fā)明一示例性實施例的醫(yī)學圖像繪制的設備的框圖。
具體實施方式
現(xiàn)在參照附圖描述各個方面。在以下描述中,出于解釋目的闡述了眾多具體細節(jié)以提供對一個或多個方面的透徹理解。然而,明顯的是,沒有這些具體細節(jié)也可實踐此種(類)方面。
本發(fā)明在至少一個方面包括以下步驟中的至少一者或多者:通過分析待顯示目標數(shù)據(jù)特征來對體數(shù)據(jù)表層進行初步過濾,從而得到緊湊的包圍盒;在緊湊包圍盒內對體數(shù)據(jù)使用空域跳躍加速策略,從而得到一系列非連續(xù)的子目標區(qū)域;以及將每個子目標區(qū)域作為一個通道進行渲染,并在每個通道檢測是否達到光線提前終止條件,直至所有子目標區(qū)域渲染完成或已達到光線提前終止條件。本發(fā)明通過多種加速策略的合理結合并將體數(shù)據(jù)自適應拆分為多通道進行渲染,最終實現(xiàn)在保證光線投射算法優(yōu)質圖像質量的同時提高繪制速度和降低GPU負載雙重目的。
圖1是根據(jù)本發(fā)明一示例性實施例的醫(yī)學圖像自適應多通道顯示方法100的示例性流程圖。該示例性方法100可包括例如首先將體數(shù)據(jù)拆分為多個小盒子并計算每個小盒子的統(tǒng)計信息(101)。這些小盒子可以是固定體數(shù)據(jù)大小的小盒子。例如,這些小盒子可以是固定體素數(shù)目的小盒子,例如為16*16*16或32*32*32,但本發(fā)明并不受此限定。例如,本發(fā)明可以采用可變大小的盒子。又如,盒子的大小不限于上述示例中給出的具體數(shù)值。在示例性實施例中,小盒子的統(tǒng)計信息可包括但不限于例如:最大值和/或最小值。在有多個組織分割結果作為輸入的復雜場景下,還可以計算每個盒子里包含哪些組織,可以把組織的標記(例如標為肌肉、血管、肺、肝臟等)也作為統(tǒng)計信息。這主要是為后續(xù)緊湊前后表面和光線累積過程中非目標區(qū)域跳轉做準備。
方法100可進一步包括例如計算緊湊的包圍盒(102)。在光線投射算法中,第一步是計算光線的起點、終點和光線方向。傳統(tǒng)的實現(xiàn)中利用光線和體數(shù)據(jù)求交點得到起終點,如圖2A中所示。在圖2A中rn代表光線,fn和ln分別代表起點和終點。但實際大部分場景中醫(yī)生感興趣的組織只是整個體數(shù)據(jù)的一部分,例如某些情況下醫(yī)生只想專注看骨頭(目標),此時表面皮膚或其他組織則是醫(yī)生不感興趣的(非目標)。由于骨頭和皮膚在體數(shù)據(jù)中灰度值差別很大,比如對于CT數(shù)據(jù),骨頭的CT值通常在400HU以上,而肌肉的CT值通常在40~55HU范圍區(qū)間內。所以在此類情形中,可利用例如骨頭專用窗寬窗位過濾器(例如窗寬400HU,窗位400HU)或灰度閾值(大于300HU)來除掉至少一些非目標對象(肌肉和一些軟組織),從而得到緊湊環(huán)繞在骨頭周圍的前后表面,如圖2B中所示。在圖2B中,小方格例示出此類小盒子。在相應地濾除掉非目標對象后所剩下的小盒子的輪廓線即為緊湊包圍盒。例如,在此過濾中可以利用之前所獲得的每個盒子的統(tǒng)計信息等。這可大大減少不必要的累加計算,提升光線遍歷效率。在某些有多個分割組織結果的場景下,可以直接利用盒子里組織的標記作為統(tǒng)計信息進行跳躍加速。具體可以是指可以根據(jù)前期對圖像體素的標記(可以是通過一些分割算法、計算機輔助檢測方法),標記具體內容可以是例如解剖學的標記(左肺、右肺、血管等),或者功能性標記(腫瘤、結石等),根據(jù)標記來進行計算的跳躍加速,計算時省略掉不感興趣的非目標區(qū)域。圖3A和3B分別示出了現(xiàn)有技術和本發(fā)明的光線投射的示例效果。如所可見,圖3A的現(xiàn)有技術中,整個體數(shù)據(jù)被遍歷采樣累加來渲染圖像,計算量非常大。而圖3B中,通過利用本發(fā)明的方案從體數(shù)據(jù)中濾除非目標對象,僅保留由較為緊湊地包圍感興趣的目標(在此示例中為例如骨骼)的包圍盒構成的體數(shù)據(jù)子集,大大地降低了計算量并提高了繪制速度。
方法100可進一步包括遍歷光線以尋找包圍盒子內子目標區(qū)域(103)子目標區(qū)域可以是關注的區(qū)域。例如,這可包括根據(jù)例如目標灰度、或根據(jù)標記、或根據(jù)其組合等來尋找子目標區(qū)域。
在尋找到子目標區(qū)域后,方法100可進一步包括自適應多通道繪制(104),這將在下文參照圖4來進一步描述。
在自適應多通道繪制后,方法100結束(105)。
圖4給出了根據(jù)本發(fā)明一進一步示例性實施例的自適應多通道繪制的示例性流程圖。該自適應多通道繪制的示例性流程可以被用于圖1的步驟104。在一示例性實施例中,該流程可包括首先確定包圍盒遍歷是否結束(111)。若已結束,則跳出該流程。例如,可直接跳至圖1的方法100的結束(106)。
若步驟111判斷包圍盒遍歷未結束,則該流程判斷是否找到子目標區(qū)域(112)。若未找到,則可執(zhí)行空區(qū)域跳躍(114)然后回到判斷框111。若找到子目標區(qū)域,則判斷是否符合光線終止條件(113)。若符合光線終止條件,則光線終止(117),并且可例如轉至圖1的步驟105。若不符合光線終止條件,則輸出該子目標區(qū)域的前后表面(115),并對子目標區(qū)域進行采樣點顏色累加計算(116)。
例如,基于步驟102得到的緊湊前后表面,可沿著光線方向按照給定的采樣率對緊湊包圍盒里的數(shù)據(jù)做采樣和累加運算。此步驟中,可借助GPU強大的并行計算能力來實現(xiàn)每條光線上采樣點顏色累加運算。如果按照傳統(tǒng)單通道方式從光線起點一路累加到光線終點,受視線方向及緊湊包圍盒結果的影響,每條緊湊的光線長短不一,導致GPU中并行執(zhí)行的各個線程處理不同光線耗時差別很大,耗時短的線程執(zhí)行完自己的任務之后無法立刻釋放,必須等待所有線程執(zhí)行完畢之后才能開始新的處理任務。資源沒有合理利用將直接導致算法性能下降且GPU負載偏高。與此形成對比的是,本發(fā)明可將體數(shù)據(jù)自適應拆分為多個通道進行繪制,拆分原理如圖5中所示。
例如,在光線穿透緊湊前后表面時,可以得到光線的起點(Ray Entry)和終點(Ray Exit)。圖1的步驟102中過濾掉了體數(shù)據(jù)表面的一些非目標區(qū)域。在緊湊包圍盒內,仍然還可能有部分非目標區(qū)域。例如醫(yī)生在看胸骨的時候肺和肺里的空氣則是醫(yī)生不感興趣的。因此,這部分區(qū)域仍可以利用空區(qū)域跳轉的策略進行加速。為充分利用GPU資源,避免同時做是否空區(qū)域的判斷和光線累積的計算,這里,可以提取緊湊的包圍盒(步驟102)中的子目標區(qū)域(步驟112)的前后表面(步驟115),然后讓GPU資源專職做顏色累加(步驟116)。在光線累積計算之前,先從光線的起點開始按盒子大小為步長進行遍歷,可快速定位出第一個子目標區(qū)域的終點(End1),然后將這兩個點之間的光線作為Pass1的起點(Start1)和終點(End1)沿光線做合成累加計算,得到Pass1的顏色輸出,以此類推,直到該方向上的所有子目標區(qū)域遍歷完畢。因為有上一個子目標區(qū)域的渲染結果作為輸入,所以在計算每個子目標區(qū)域前后表面的過程中,可以加入提前光線終止策略。即,如果上一個子目標區(qū)域的輸出顏色的不透明度值已經超過預設的閾值,則光線立即終止,后續(xù)光線上即是有子目標區(qū)域也不會進行累加計算。另外,在當前計算出的前表面等于后表面或已超過Ray Exit時,光線也會立即終止。這里每個子目標區(qū)域在沿光線方向進行累加計算時所用的方法和傳統(tǒng)光線投射法相同,均需要在光線穿過子目標區(qū)域的起點和終點之間進行采樣,對各采樣點進行顏色值計算并累加,以得到該子目標區(qū)域段光線方向的累加結果。
圖6示出了根據(jù)本發(fā)明一示例性實施例的醫(yī)學圖像繪制的設備600的框圖。該示例性醫(yī)學圖像繪制的設備600例如可包括拆分單元601,用于拆分待繪制的醫(yī)學圖像體數(shù)據(jù)以形成所述醫(yī)學圖像體數(shù)據(jù)的各子數(shù)據(jù)塊;確定單元602,用于確定所述子數(shù)據(jù)塊中的目標區(qū)域;第一計算單元603,用于基于光線投射算法計算每條光線關于所述目標區(qū)域的起點和終點;以及第二計算單元604,用于根據(jù)所述目標區(qū)域的起點和終點進行計算并沿光線累加以根據(jù)各光線的累加結果完成醫(yī)學圖像的繪制。如本領域普通技術人員所可明了,該示例性醫(yī)學圖像繪制的設備600可以根據(jù)設計和/或需要執(zhí)行以上結合圖1、圖2B、圖4和/或圖5所描述的任何功能、算法、和/或特征或其任何組合。圖6對每個框的功能劃分僅為示例性而非限定性。例如,如本領域普通技術人員所可明了,可由一個計算單元來合并實現(xiàn)第一和第二計算單元的功能,也可將每個計算單元的功能劃分給多個子計算單元。對于拆分單元和確定單元同樣如此。根據(jù)設計和/或需要,以上結合圖1、圖2B、圖4和/或圖5所描述的任何功能、算法、和/或特征或其任何組合可在合適的單元內實現(xiàn),也可由單元的組合來實現(xiàn),和/或可添加新的單元來實現(xiàn),甚至可在遠程實現(xiàn)并被發(fā)送給本地設備600。
通過結合多種加速策略并將體數(shù)據(jù)自適應拆分為多通道進行渲染,本發(fā)明能夠達到在保證光線投射算法優(yōu)質圖像質量的同時提高繪制速度和降低GPU負載雙重目的。
本領域普通技術人員應理解,本公開的有益效果并非由任何單個實施例來全部實現(xiàn)。各種組合、修改和替換均為本領域普通技術人員在本公開的基礎上所明了。
此外,術語“或”旨在表示包含性“或”而非排他性“或”。即,除非另外指明或從上下文能清楚地看出,否則短語“X采用A或B”旨在表示任何自然的可兼排列。即,短語“X采用A或B”藉由以下實例中任何實例得到滿足:X采用A;X采用B;或X采用A和B兩者。另外,本申請和所附權利要求書中所用的冠詞“一”和“某”一般應當被理解成表示“一個或多個”,除非另外聲明或者可從上下文中清楚看出是指單數(shù)形式。
各個方面或特征將以可包括數(shù)個設備、組件、模塊、及類似物的系統(tǒng)的形式來呈現(xiàn)。應理解和領會,各種系統(tǒng)可包括附加設備、組件、模塊等,和/或可以并不包括結合附圖所討論的全部設備、組件、模塊等。也可以使用這些辦法的組合。
結合本文所公開的實施例描述的各種說明性邏輯、邏輯塊、模塊、和電路可用通用處理器、數(shù)字信號處理器(DSP)、專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)或其它可編程邏輯器件、分立的門或晶體管邏輯、分立的硬件組件、或其設計成執(zhí)行本文所描述功能的任何組合來實現(xiàn)或執(zhí)行。通用處理器可以是微處理器,但在替換方案中,處理器可以是任何常規(guī)的處理器、控制器、微控制器、或狀態(tài)機。處理器還可以被實現(xiàn)為計算設備的組合,例如DSP與微處理器的組合、多個微處理器、與DSP核心協(xié)同的一個或多個微處理器、或任何其它此類配置。此外,至少一個處理器可包括可作用于執(zhí)行以上描述的一個或多個步驟和/或動作的一個或多個模塊。
此外,結合本文中所公開的方面描述的方法或算法的步驟和/或動作可直接在硬件中、在由處理器執(zhí)行的軟件模塊中、或在這兩者的組合中實施。
本公開中通篇描述的各種方面的要素為本領域普通技術人員當前或今后所知的所有結構上和功能上的等效方案通過引述被明確納入于此,且意在被權利要求書所涵蓋。此外,本文所公開的任何內容都并非旨在貢獻給公眾——無論這樣的公開是否在權利要求書中被顯式地敘述。