亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

分析和顯示計(jì)算機(jī)體層攝影術(shù)數(shù)據(jù)的系統(tǒng)和方法

文檔序號(hào):6406802閱讀:208來(lái)源:國(guó)知局
專利名稱:分析和顯示計(jì)算機(jī)體層攝影術(shù)數(shù)據(jù)的系統(tǒng)和方法
技術(shù)領(lǐng)域
本發(fā)明一般地涉及分析和顯示利用計(jì)算機(jī)體層攝影術(shù)所獲得的數(shù)據(jù),計(jì)算機(jī)體層攝影術(shù)可表現(xiàn)人體的各種器官。更具體地,本發(fā)明涉及一個(gè)計(jì)算機(jī)化的系統(tǒng),用于分析從人體的管狀結(jié)構(gòu),例如結(jié)腸或胃腸管道所獲得的數(shù)據(jù),和以一定方式顯示該數(shù)據(jù),以快速評(píng)價(jià)管狀結(jié)構(gòu)的組織結(jié)構(gòu)和準(zhǔn)確確定任何異常的存在。
背景技術(shù)
在工業(yè)化國(guó)家,結(jié)腸直腸癌是第二位主要的惡性腫瘤死亡的原因。在美國(guó),每年確診差不多15萬(wàn)人患有結(jié)腸癌。不幸的是,結(jié)腸癌每年又導(dǎo)致約6萬(wàn)人死亡,在美國(guó)人口中只有肺癌可引起更多的死亡。使這些統(tǒng)計(jì)數(shù)據(jù)真正不幸的是,結(jié)腸癌也許是最能夠預(yù)防的癌癥之一,因?yàn)樗鼈円话汩_(kāi)始時(shí)只是良性的息肉,經(jīng)過(guò)5到10年的緩慢發(fā)展后,轉(zhuǎn)變?yōu)榘H绻@些息肉被檢測(cè)到和移除,發(fā)展成結(jié)腸癌的危險(xiǎn)性就極大地降低了。
遺憾的是,廣泛的結(jié)腸直腸檢查和預(yù)防措施由于多個(gè)實(shí)際的障礙而受到妨礙,這包括有限的資源、方法的不足、和病人的低接受度導(dǎo)致的低順從度。另外,排泄物的潛隱血測(cè)試(FOBT)不能檢測(cè)出大多數(shù)的癌和前期癌性的息肉。由于S狀結(jié)腸鏡只能檢查結(jié)腸的一部分,它也不能覺(jué)察許多的息肉。鋇灌腸劑的準(zhǔn)確性在多個(gè)中心之間是不同的,因此常常是不可靠的。
因此,需要一種新的測(cè)試,可被用于檢查前期癌性的息肉,以及其它異常,如其它手段可能不能發(fā)現(xiàn)的由瘤所引起的結(jié)腸直腸壁的增厚。同所有檢查性的測(cè)試一樣,這種新的測(cè)試必須是相對(duì)便宜、最小限度地入侵和高度特效的。
利用螺旋狀(也稱為螺旋形)的計(jì)算機(jī)體層攝影術(shù)(CT)來(lái)創(chuàng)建計(jì)算機(jī)模擬的穿過(guò)結(jié)腸內(nèi)腔的飛行技術(shù),由Vining D J、Shifrin R Y、Grishaw E K、Liu K、Gelfand D W在《Radiology Scientific Prgm》1994;193(P)446的“Virtual colonoscopy(虛擬結(jié)腸鏡檢查)”摘要中提出,作為檢測(cè)結(jié)腸直腸贅生物的一種新方法。該技術(shù)首次由Vining等人描述,發(fā)表在Vining D J和Gelfand DW的較早的論文摘要中,題目為“Noninvasive colonoscopy using helical CT scanning,3D reconstruction,and virtual reality”(利用螺旋狀CT掃描、3D重構(gòu)和虛擬現(xiàn)實(shí)的非入侵的結(jié)腸鏡檢查)(《SGR Scientific Program》,1994年)。該技術(shù),即稱為“虛擬結(jié)腸鏡檢查”,需要一個(gè)注入空氣的潔凈結(jié)腸,約30~60秒的螺旋狀CT掃描,和專業(yè)的三維(3D)成像軟件,以提取和顯示粘膜表面。從CT掃描數(shù)據(jù)所產(chǎn)生的腔內(nèi)圖像被顯示給醫(yī)療人員用于診斷。
重新格式化與結(jié)腸中線垂直的2D橫截面的技術(shù)也描述在1995年10月17日出版的美國(guó)第5458111號(hào)專利中。然而,直接解釋橫截面的圖像是困難的,因?yàn)榻Y(jié)腸的掃描包括幾百?gòu)堓S向X線體層照片。沒(méi)有先進(jìn)的圖像處理工具,僅僅解釋從這些橫截面得到的結(jié)腸的復(fù)雜三維形狀,對(duì)于醫(yī)療人員來(lái)說(shuō)是十分困難的。
提高準(zhǔn)確性的一種方法包括在橫截面和與結(jié)腸中線正交的角度上產(chǎn)生重新格式化的2D圖像。當(dāng)觀察相應(yīng)的腔內(nèi)的3D圖像時(shí),這些重新格式化的2D圖像可以提供有用的診斷信息。利用創(chuàng)新的3D繪制(rendering)技術(shù),可以在低價(jià)格的計(jì)算機(jī)硬件上進(jìn)行快速、交互式的評(píng)價(jià),這樣提高了診斷效率。
盡管這些技術(shù)已經(jīng)推動(dòng)了利用CT掃描來(lái)協(xié)助診斷結(jié)腸直腸癌以及其它疾病,但先有技術(shù)典型地要求大的計(jì)算能力和專業(yè)化的工作站。此外,先有技術(shù)還被局限于提供結(jié)腸直腸路徑的視圖,該結(jié)腸直腸路徑可能遮蔽息肉的出現(xiàn),并且不提供有關(guān)結(jié)腸直腸路徑或被分析的其它管狀結(jié)構(gòu)的表面下形態(tài)的任何信息。典型地,提供給醫(yī)師或技師查看數(shù)據(jù)顯示的僅有視圖是被評(píng)價(jià)的管狀結(jié)構(gòu)的二維和三維腔內(nèi)、冠狀、矢狀和軸向視圖。
一般地,一臺(tái)CT掃描器和計(jì)算機(jī)工作站被用于人體的管狀結(jié)構(gòu)的成像,如活人的消化管道的成像。該CT掃描器產(chǎn)生人的結(jié)腸的橫截面軸向圖像,然后這些圖像被傳遞到該計(jì)算機(jī)工作站。結(jié)腸中線被定義為沿著結(jié)腸的內(nèi)腔。通過(guò)產(chǎn)生和顯示重新格式化的橫截面圖像、體積繪制粗查情況和腔內(nèi)視圖,該計(jì)算機(jī)工作站支持結(jié)腸中線的界定。半自動(dòng)的中線定義工具也可以包括進(jìn)來(lái)。在定義中線之后,顯示圖像的組合用于診斷的目的。這些圖像包括軸截面、腔橫截面(transluminalcross section)和腔內(nèi)體積繪制圖像。
半自動(dòng)方法通過(guò)識(shí)別結(jié)腸近似的中線,被用于描繪結(jié)腸的三維形狀。這是由顯示冠狀、矢狀和軸向視圖,以及與中線正交的軸外平面支持的。沿中線拉直的彎曲截面和來(lái)自中線末端的一個(gè)繪制視圖也被顯示。在這些視圖的任何一個(gè)中編輯中線將典型地引起其它視圖相應(yīng)地更新。在描繪結(jié)腸的中線之后,提取數(shù)據(jù),這樣可以高效地檢查結(jié)腸。
在使用上述設(shè)備的一般實(shí)踐中,醫(yī)療人員,如一位放射線學(xué)者通過(guò)沿著已描繪的中線移動(dòng)虛擬視點(diǎn),可以檢查病人的管狀結(jié)構(gòu),如病人的結(jié)腸。可以顯示三維正交軸外橫截面、體積繪制的腔外粗查情況(volume rendered extraluminal scouts)或原始軸向的2D圖像,和結(jié)腸內(nèi)表面的高分辨率透視圖(perspective rendering),這樣使醫(yī)生可以觀察到被分析的管狀結(jié)構(gòu)的組織結(jié)構(gòu)。透視圖可以典型地在任何方向重新定向。也可以顯示沿結(jié)腸中線的可旋轉(zhuǎn)的縱向切片。這個(gè)視圖可以沿結(jié)腸的整個(gè)長(zhǎng)度推進(jìn),它增進(jìn)了沿3D圖像向前或向后的路徑導(dǎo)航和3D圖像的解釋。
經(jīng)驗(yàn)已經(jīng)顯示,同時(shí)顯示橫截面和繪制的視圖比單獨(dú)的橫截面或腔內(nèi)視圖更能增強(qiáng)CT數(shù)據(jù)的診斷解釋。CT數(shù)據(jù)的體積繪制由常規(guī)的算法來(lái)執(zhí)行,常規(guī)算法利用紋理(texture)的預(yù)計(jì)算和其它技術(shù),以在中等價(jià)位的工作站上實(shí)現(xiàn)交互性能。
通常,如上文所述的至少兩個(gè)產(chǎn)生的三維圖像視圖被顯示給醫(yī)師。第一個(gè)視圖典型地是一個(gè)前向腔內(nèi)視圖,它包括結(jié)腸的一個(gè)視圖,視點(diǎn)是朝遠(yuǎn)離結(jié)腸的終點(diǎn)位置,如肛門邊緣看過(guò)去。第二個(gè)視圖可以是一個(gè)后向腔內(nèi)視圖,它包括結(jié)腸的一個(gè)視圖,視點(diǎn)是向結(jié)腸的終點(diǎn)位置,如肛門邊緣看過(guò)來(lái)。顯示兩個(gè)視圖減小一個(gè)可能性,即由于結(jié)腸的布局而看不清楚感興趣的特征。
通過(guò)把光標(biāo)指針指向圖像并同時(shí)按鍵或向計(jì)算機(jī)工作站發(fā)出適當(dāng)?shù)闹噶?,醫(yī)師可以移動(dòng)視點(diǎn)離開(kāi)先前定義的中線,且包括2D重格式化圖像、3D腔內(nèi)圖像、2D軸向圖像的所有圖像可以被更新為對(duì)應(yīng)于指定位置的視圖。醫(yī)師通過(guò)使用這個(gè)指示設(shè)備可以隨機(jī)地移動(dòng)視點(diǎn),或返回到預(yù)定中線上的最近點(diǎn)。
為協(xié)助診斷,打開(kāi)或展開(kāi)的結(jié)腸視圖也可以顯示給觀察者。結(jié)腸的展開(kāi)視圖對(duì)應(yīng)于整個(gè)結(jié)腸的一個(gè)視圖,就好象它已經(jīng)被實(shí)際地分割和展開(kāi)用于檢查,如同把一個(gè)橡膠軟管沿其縱向軸切成兩半,保持結(jié)腸的彎曲。然而,這種“打開(kāi)”技術(shù)只允許查看管狀結(jié)構(gòu)或結(jié)腸的內(nèi)部結(jié)構(gòu),而不提供結(jié)腸內(nèi)壁的一個(gè)真正“展平”的視圖,其中結(jié)腸固有的彎曲被“展平”,因此允許從結(jié)腸的內(nèi)壁伸出的結(jié)構(gòu),如結(jié)腸袋脊背(Haustral ridges)隱藏如小息肉這樣的結(jié)構(gòu)或其它異常物,使醫(yī)生不能看到。
此外,當(dāng)前沒(méi)有系統(tǒng)、方法或技術(shù)被認(rèn)為能夠提供管狀結(jié)構(gòu)壁的評(píng)價(jià)。例如,一些結(jié)腸直腸癌不由息肉發(fā)展而來(lái),但出現(xiàn)在結(jié)腸壁內(nèi)。這樣的癌不能利用上述的方法觀察到,因?yàn)檫@些方法沒(méi)有一種能夠?qū)軤罱Y(jié)構(gòu)壁的厚度或密度進(jìn)行分析。
所需要的、而迄今還沒(méi)有的是,提供高效的和準(zhǔn)確的CT數(shù)據(jù)表現(xiàn)的技術(shù),CT數(shù)據(jù)提供管狀結(jié)構(gòu)的展平視圖,展平的視圖防止在管狀結(jié)構(gòu)內(nèi)的結(jié)構(gòu)隱藏結(jié)腸內(nèi)如息肉的異常物的視圖。而且,這些技術(shù)應(yīng)該能夠有效地和快速地運(yùn)行在常用的計(jì)算機(jī)平臺(tái)上,如Apple或IBM所制造的系列計(jì)算機(jī)上。另外,這樣的系統(tǒng)也應(yīng)該能夠分析在管狀結(jié)構(gòu)壁中出現(xiàn)的異常,如壁厚度或密度的變化,它們可指示出瘤的生長(zhǎng)或其它疾病的存在。本發(fā)明滿足這些和其它的一些要求。

發(fā)明內(nèi)容
在最主要的方面,本發(fā)明具體化為繪制三維圖像的一種系統(tǒng)和方法,給用戶提供掃描人體的選擇部分所產(chǎn)生的數(shù)據(jù)的視圖,設(shè)計(jì)這些視圖是為了幫助該用戶或另一個(gè)人,如一位外科醫(yī)生或內(nèi)科醫(yī)生診斷疾病情況和提出針對(duì)這些情況的治療方案。本發(fā)明還公開(kāi)的是,利用適當(dāng)?shù)哪J阶R(shí)別和分析軟件,進(jìn)一步處理三維體積數(shù)據(jù)的一種系統(tǒng)和方法,以識(shí)別在成像的身體結(jié)構(gòu)中,尤其是在諸如結(jié)腸的身體管狀結(jié)構(gòu)中的異常。
一方面,本發(fā)明具體化為管狀身體結(jié)構(gòu)的成像方法,管狀身體結(jié)構(gòu)具有由壁圍繞的內(nèi)腔,該方法包括的步驟是,提供包含數(shù)據(jù)的數(shù)據(jù)組,這些數(shù)據(jù)表示沿管狀體的縱向軸的身體管狀結(jié)構(gòu)的多個(gè)橫截面圖像,處理數(shù)據(jù)組以重構(gòu)管狀體的三維圖像,識(shí)別通過(guò)該三維圖像的內(nèi)腔的中心路徑,沿該中心路徑選擇一個(gè)起點(diǎn),處理始于該起點(diǎn)和繼續(xù)沿結(jié)腸的該三維圖像的縱向長(zhǎng)度的數(shù)據(jù),和繪制該三維圖像的一個(gè)展平視圖,在圖像緩沖器中存儲(chǔ)代表該展平視圖的數(shù)據(jù),以及顯示圖像的展平視圖。
另一方面,本發(fā)明具體化為一種方法,它進(jìn)一步包括沿中心路徑選擇一點(diǎn),處理在該選擇點(diǎn)的數(shù)據(jù),在該選擇點(diǎn)繪制管狀結(jié)構(gòu)壁的橫截面的圖像,以及顯示該管狀結(jié)構(gòu)壁的橫截面的圖像。
在本發(fā)明的另一方面,本發(fā)明包括,處理數(shù)據(jù)和繪制展平的圖像,投射一條從起點(diǎn)到壁的射線,該射線的方向?qū)?yīng)于視圖的角度,以及將三維像素(voxel)值添加到圖像緩沖器中。在一個(gè)替代方案中,所述方法還可包括,把視圖的角度偏移一度,和投射另一條從起點(diǎn)到壁的射線,如果視圖的角度還沒(méi)有從初始起點(diǎn)偏移總共360度,則該射線的方向?qū)?yīng)于視圖的偏移角度。在另一替代方案中,所述方法還包括,如果視圖的角度已經(jīng)從初始起點(diǎn)偏移了總共360度,則沿內(nèi)腔的縱向軸推進(jìn)起點(diǎn)一個(gè)選定值,以及重復(fù)投射射線和將三維像素值存儲(chǔ)在圖像緩沖器中的步驟,直到內(nèi)腔的整個(gè)長(zhǎng)度已經(jīng)被處理為止。
在另一實(shí)施例中,本發(fā)明包括一種生成身體的管狀結(jié)構(gòu)壁的內(nèi)部視圖的方法,該視圖包括鄰近所述壁外部的組織,該方法包括(a)提供一個(gè)包含數(shù)據(jù)的數(shù)據(jù)組,該數(shù)據(jù)表示一個(gè)三維體積,該三維體積表示沿管狀體的縱向軸的身體管狀結(jié)構(gòu),該管狀體具有由壁界定的一個(gè)內(nèi)腔;(b)沿中心路徑選擇一個(gè)起點(diǎn),該中心路徑的布置沿著所述管狀體的縱向軸;(c)向所述壁以一個(gè)選定的距離投射一條射線,通過(guò)從所述起點(diǎn)沿所述射線移向所述壁;(d)在所述射線的每步位置處計(jì)算三維像素值;(e)將所述三維像素值添加到圖像緩沖器中;(f)把所述射線的角投射增加一度;(g)確定自從選擇所述起點(diǎn)之后,所述射線的角投射是否已經(jīng)增加了360度;(h)向所述壁投射一條具有增加的角度的射線;(i)重復(fù)步驟(d)到(h),直到所述射線的角投射已經(jīng)增加了360度為止;和(j)顯示下表面體積圖像。
在另一實(shí)施例中,本發(fā)明包括,把三維體積數(shù)據(jù)組與代表預(yù)定異常物的幾何模式的一個(gè)庫(kù)進(jìn)行比較,及如果確定一個(gè)結(jié)構(gòu)匹配預(yù)定容差內(nèi)的至少一個(gè)幾何模式庫(kù),就將包含在所述三維體積數(shù)據(jù)組中的該結(jié)構(gòu)識(shí)別為異常的。在一個(gè)替代實(shí)施例中,本發(fā)明包括,進(jìn)一步處理所識(shí)別的異常結(jié)構(gòu),以確定識(shí)別的結(jié)構(gòu)是否不是異常的。
在又一方面,本發(fā)明具體化為一臺(tái)計(jì)算機(jī),它具有一個(gè)處理器,一個(gè)程序存儲(chǔ)器,和一個(gè)半永久性儲(chǔ)存存儲(chǔ)器。該處理器被一個(gè)軟件程序編程,該軟件程序被設(shè)計(jì)為接收由掃描器生成的數(shù)據(jù)組,處理其存儲(chǔ)器中的數(shù)據(jù)組中的數(shù)據(jù),以繪制所掃描的數(shù)據(jù)的三維視圖,以及還繪制所掃描的數(shù)據(jù)的展平視圖??商娲兀幚砥魈幚頀呙璧臄?shù)據(jù),以繪制感興趣結(jié)構(gòu)的表面下的視圖。
根據(jù)隨后的詳細(xì)描述,結(jié)合附圖,本發(fā)明的其它特點(diǎn)和優(yōu)點(diǎn)將變得顯而易見(jiàn),這些附圖以示例的方式示出本發(fā)明的特點(diǎn),。


圖1是根據(jù)本發(fā)明實(shí)施例的系統(tǒng)的一個(gè)圖形表示,該系統(tǒng)用于給病人做CT掃描,包括向遠(yuǎn)程計(jì)算機(jī)傳送CT掃描數(shù)據(jù)以進(jìn)行處理和顯示的通信裝置;圖2是一個(gè)示意利用本發(fā)明的實(shí)施例來(lái)診斷的一般過(guò)程的塊圖;
圖3是病人結(jié)腸的二維圖像的視圖,顯示線(wire)飛行路徑的內(nèi)腔中心點(diǎn)的標(biāo)識(shí);圖4是代表性顯示的視圖,表示利用本發(fā)明的方法從CT掃描數(shù)據(jù)導(dǎo)出的病人結(jié)腸的各種視圖;圖5是一個(gè)示意圖,表示結(jié)合本發(fā)明的方法的軟件程序的一般過(guò)程;圖6是根據(jù)本發(fā)明的方法,繪制的病人結(jié)腸的二維圖像的視圖;圖7是結(jié)腸的一個(gè)截面的示意圖,表示從內(nèi)腔中心點(diǎn)到結(jié)腸壁的射線的圖;圖8是圖7的結(jié)腸截面的展平截面的側(cè)圖;圖9是一個(gè)圖形顯示,表示結(jié)腸截面的展平截面和俯視圖的關(guān)系;圖10是一個(gè)流程圖,代表在展平結(jié)腸截面的三維圖像中包括的步驟;圖11是結(jié)腸的橫截面視圖的一個(gè)組合視圖,包括代表從內(nèi)腔中心點(diǎn)到達(dá)和通過(guò)結(jié)腸壁的射線的步進(jìn)點(diǎn),配合利用本發(fā)明方法繪制的圖像的顯示的兩個(gè)代表視圖;圖12是一個(gè)流程圖,代表在計(jì)算和顯示結(jié)腸壁截面的表面下視圖中包括的步驟;圖13是一個(gè)代表本發(fā)明實(shí)施例的流程圖,包括計(jì)算機(jī)輔助診斷,它利用存儲(chǔ)數(shù)據(jù)的模式識(shí)別軟件分析來(lái)執(zhí)行,所存儲(chǔ)的數(shù)據(jù)是利用本發(fā)明的各個(gè)方面產(chǎn)生的;圖14是利用本發(fā)明的系統(tǒng)和方法可能產(chǎn)生的報(bào)告的一個(gè)實(shí)施例的圖形化表示;圖15是利用本發(fā)明的系統(tǒng)和方法產(chǎn)生的報(bào)告的另一個(gè)實(shí)施例的圖形化表示,其與圖14的實(shí)施例相配合。
具體實(shí)施例方式
本發(fā)明一般涉及產(chǎn)生和顯示代表人體結(jié)構(gòu)的交互性二維和三維圖形的一種方法和系統(tǒng)。三維結(jié)構(gòu)是人體的選擇區(qū)域的一般形式,尤其是具有中空內(nèi)腔的人體器官,如結(jié)腸、氣管支氣管的通氣孔、血管等等。根據(jù)本發(fā)明的方法和系統(tǒng),一個(gè)選擇的人體器官的交互性三維繪制圖像是產(chǎn)生于一系列獲得的二維圖像,這些二維圖像產(chǎn)生于由計(jì)算機(jī)化體層攝影掃描器或CAT掃描所獲得的數(shù)據(jù)。CAT掃描技術(shù)的最新進(jìn)展,即著名的螺旋狀或螺旋形CAT掃描器使用的到來(lái),已使人體結(jié)構(gòu)掃描發(fā)生革命性的變化,因?yàn)樗鼈冊(cè)试S在相對(duì)短的時(shí)間段內(nèi)收集特別大量的數(shù)據(jù)。例如,一個(gè)完全的結(jié)腸直腸掃描可以在病人屏住呼吸的時(shí)間內(nèi)完成,但是,正如本領(lǐng)域技術(shù)人員了解的是,任何類型的數(shù)字圖像可以利用本發(fā)明的系統(tǒng)和方法進(jìn)行處理,這些數(shù)字圖像是從掃描器產(chǎn)生的數(shù)據(jù)組得到的,例如由CAT掃描器、磁共振(MRI)、電子發(fā)射體層攝影術(shù)掃描器(PET)、超聲波設(shè)備等等產(chǎn)生的那些數(shù)據(jù)組。
典型地,一位病人位于掃描器內(nèi),且該病人的身體所期望的部分被掃描。用適當(dāng)?shù)淖R(shí)別信息提取和存儲(chǔ)代表病人的掃描情況的數(shù)據(jù)組。該數(shù)據(jù)組然后可被傳送到計(jì)算機(jī)工作站用于分析。本領(lǐng)域所公知的是,掃描數(shù)據(jù)可被壓縮,以使之能夠通過(guò)各種手段傳輸?shù)椒治稣军c(diǎn)。例如,本發(fā)明特別適合在基于個(gè)人計(jì)算機(jī)的計(jì)算機(jī)工作站上使用,如一臺(tái)Macintosh計(jì)算機(jī)或IBM系列的計(jì)算機(jī),它們具有適當(dāng)量的工作內(nèi)存、處理能力和硬驅(qū)動(dòng)存儲(chǔ)容量。本發(fā)明人已在蘋(píng)果公司的Macintosh G4以及其它計(jì)算機(jī)上操作體現(xiàn)本發(fā)明的軟件。
因?yàn)楸景l(fā)明的系統(tǒng)和方法不需要專業(yè)化的工作站,如先前用于減少CT掃描數(shù)據(jù)和產(chǎn)生三維圖像的方法,所以CT掃描數(shù)據(jù)可通過(guò)因特網(wǎng)、局域網(wǎng)或電話線,使用本領(lǐng)域已公知的適當(dāng)通信設(shè)備和技術(shù)被傳送到遠(yuǎn)離掃描器的計(jì)算機(jī)和工作站,在結(jié)合本發(fā)明內(nèi)容的軟件的控制下操作,以進(jìn)行進(jìn)一步處理和分析。
通過(guò)清潔病人的結(jié)腸,病人為成像做最初的準(zhǔn)備。清潔程序的目的是從結(jié)腸清除排泄物。在CT掃描之前,所希望的最好是完全干凈的結(jié)腸,因?yàn)榱粝碌呐判刮锖腕w液可以模仿或屏蔽小的息肉。
一旦結(jié)腸清潔完畢,向結(jié)腸內(nèi)吹入氣體來(lái)擴(kuò)張結(jié)腸。擴(kuò)張結(jié)腸保證結(jié)腸的內(nèi)表面將在最后的圖像顯示中是清晰可見(jiàn)的。插入一個(gè)直腸導(dǎo)管,即直徑為半英寸(1.27cm)的一個(gè)標(biāo)準(zhǔn)鋇灌腸劑導(dǎo)管,通過(guò)它把氣體導(dǎo)入結(jié)腸。以不連續(xù)的噴氣或以一固定的流速導(dǎo)入氣體,結(jié)腸被填充至一個(gè)預(yù)定的壓力或體積。盡管可以使用空氣,但最好是二氧化碳CO2,因?yàn)镃O2通過(guò)結(jié)腸粘膜進(jìn)入到血流中,隨后可被呼出,因此減少了膨脹量和病人在檢查后所經(jīng)受的腹痛。不同于傳統(tǒng)的結(jié)腸鏡檢查,這個(gè)程序不需要給病人服用鎮(zhèn)靜劑。
吹入氣體后,可用例如一臺(tái)螺旋狀CT掃描器掃描結(jié)腸,以產(chǎn)生結(jié)腸的一系列二維圖像。圖像中的圖像元素或像素表示有關(guān)結(jié)腸的至少一個(gè)物理特征。例如,物理特征可以是結(jié)腸壁的X射線衰減或在結(jié)腸內(nèi)氣柱的X射線衰減。這些圖像通常是在遍及病人腹部區(qū)域的有規(guī)律的間隔位置拍照的。連續(xù)圖像之間的間隔越小,最后顯示的圖像上的分辨率越高。連續(xù)圖像之間的間隔最好是1毫米,以產(chǎn)生各向同性三維像素,因?yàn)槊總€(gè)三維像素的X維和Y維是每個(gè)約1毫米。
在結(jié)腸膨脹之后,立即掃描腹部,例如,使用GE的HispeedAdvantage Helical CT掃描器,在約30~50秒內(nèi)完成的單次屏住呼吸的時(shí)間內(nèi)進(jìn)行掃描。掃描參數(shù)可以包括,例如,0.20英寸(5毫米)X射線束視準(zhǔn),提供2∶1傾斜度的0.4英寸/秒(10毫米/秒)的工作臺(tái)速度,和0.04英寸(1毫米)圖像重構(gòu)間隔。X射線束視準(zhǔn)是確立CT切片厚度和Z軸空間分辨率的X射線束的寬度。傾斜度是由視準(zhǔn)除CT工作臺(tái)速度。圖像重構(gòu)間隔反映重構(gòu)二維圖像時(shí)的間隔。利用5毫米的X射線波束視準(zhǔn),選擇的1毫米的重構(gòu)間隔,在1毫米間隔處產(chǎn)生反映5毫米CT切片厚度的圖像。結(jié)果,在1毫米重構(gòu)間隔處的連續(xù)的5毫米厚度圖像之間具有4毫米的重疊。
在Z軸方向上以10毫米/秒的工作臺(tái)速度的一個(gè)50秒掃描,可以創(chuàng)建Z軸長(zhǎng)度為500毫米的體積數(shù)據(jù)。在體積數(shù)據(jù)的Z軸長(zhǎng)度上利用1毫米的重構(gòu)間隔產(chǎn)生500張圖像,每個(gè)圖像表示沿Z軸的5毫米厚的截面。典型地,掃描要進(jìn)行兩次,一次是病人在俯臥的位置,另一次是病人在仰臥的位置,這樣產(chǎn)生約1000張圖像。較新的多切片CT系統(tǒng),包括那些具有4個(gè)和16個(gè)通道的數(shù)據(jù)獲取帶寬的CT系統(tǒng),可以在約30~40秒內(nèi)每隔2毫米得到5毫米厚的切片,產(chǎn)生具有200~250張圖像的數(shù)據(jù)組。每隔1.0毫米掃描2.5毫米厚的切片將把該數(shù)目增加到每個(gè)數(shù)據(jù)組400~500張圖像。完成CT掃描之后,移去直腸導(dǎo)管,排除氣體,病人就可以離開(kāi)了。
圖1一般描述根據(jù)本發(fā)明的主要內(nèi)容的可用于繪制圖像的一個(gè)系統(tǒng)。系統(tǒng)10包括連接到一臺(tái)計(jì)算機(jī)14的一臺(tái)掃描器12。計(jì)算機(jī)14用于控制掃描器12的操作,也用于獲得掃描器12產(chǎn)生的數(shù)據(jù)。計(jì)算機(jī)14可以是任何具有充分的計(jì)算能力、存儲(chǔ)量和內(nèi)存的計(jì)算機(jī),這樣,它能夠運(yùn)行控制掃描器的常規(guī)軟件,獲得和存儲(chǔ)掃描器在掃描病人的身體或選擇的病人的一部分身體過(guò)程中產(chǎn)生的數(shù)據(jù)。除了能夠運(yùn)行常規(guī)軟件的處理器或微處理器之外,計(jì)算機(jī)14還包括可以是隨機(jī)存取存儲(chǔ)器或只讀存儲(chǔ)器的一個(gè)存儲(chǔ)器18,和合適的存儲(chǔ)介質(zhì)20,介質(zhì)20可包括,例如硬盤(pán)驅(qū)動(dòng)器、CD或DVD驅(qū)動(dòng)器、或適于存儲(chǔ)掃描器產(chǎn)生的數(shù)據(jù)的其它存儲(chǔ)介質(zhì)。顯示器16連接到計(jì)算機(jī)14,以允許操作者查看數(shù)據(jù)的顯示和操作掃描器的參數(shù),以及掃描器產(chǎn)生的數(shù)據(jù)所繪制的圖像。另外,盡管圖上沒(méi)有標(biāo)出,計(jì)算機(jī)14也將可操作地連接到允許掃描器的用戶輸入命令的設(shè)備。這樣的輸入設(shè)備包括鼠標(biāo)或其他定點(diǎn)設(shè)備、鍵盤(pán)、條形碼掃描器或其它設(shè)備。
計(jì)算機(jī)14也將可操作地連接到調(diào)制解調(diào)器或其它通信設(shè)備,以允許提供到通信裝置22,如電話線、電纜、DSL連接、局域網(wǎng)、因特網(wǎng)或無(wú)線網(wǎng)絡(luò)的連接。這允許計(jì)算機(jī)14與其它被適當(dāng)編程的計(jì)算機(jī)系統(tǒng)或工作站24通信,傳輸掃描器產(chǎn)生的數(shù)據(jù),到達(dá)其它計(jì)算機(jī)系統(tǒng)或工作站24。
計(jì)算機(jī)或工作站24是類似的配備以通過(guò)通信裝置22與計(jì)算機(jī)14通信,把計(jì)算機(jī)24所產(chǎn)生的分析和報(bào)告?zhèn)魉偷接?jì)算機(jī)14的用戶。計(jì)算機(jī)24也包括處理器或微處理器、存儲(chǔ)器26和存儲(chǔ)介質(zhì)26。另外,一個(gè)鼠標(biāo)或其它定點(diǎn)設(shè)備32也可以通過(guò)有線或無(wú)線接入而被連接,以允許輸入命令到運(yùn)行在計(jì)算機(jī)24上的軟件程序中,控制軟件程序的操作。計(jì)算機(jī)24的處理器典型地以結(jié)合本發(fā)明方法的常規(guī)軟件來(lái)編程,以提供在顯示器30上顯示的掃描產(chǎn)生的數(shù)據(jù)的各種視圖。盡管本發(fā)明方法將在下文描述,就好像根據(jù)這些方法運(yùn)行的軟件控制計(jì)算機(jī)24,但本領(lǐng)域技術(shù)人員可以理解的是,相同的軟件可以操作和控制計(jì)算機(jī)14,給計(jì)算機(jī)14的用戶提供計(jì)算機(jī)24產(chǎn)生的同樣的分析、視圖和報(bào)告,而不需要把掃描病人的過(guò)程中所產(chǎn)生的數(shù)據(jù)傳輸?shù)揭粋€(gè)遠(yuǎn)端位置。
現(xiàn)在參考圖2,它描述一個(gè)通用的流程圖,說(shuō)明通過(guò)系統(tǒng)的數(shù)據(jù)流,該系統(tǒng)運(yùn)行編程的軟件以執(zhí)行本發(fā)明方法。通過(guò)有線或無(wú)線通信系統(tǒng)來(lái)接收包含CT掃描數(shù)據(jù)的數(shù)據(jù)庫(kù),就得到這個(gè)數(shù)據(jù)庫(kù)??商娲?,該數(shù)據(jù)庫(kù)可以人工提供給系統(tǒng),如通過(guò)利用便攜式硬盤(pán)驅(qū)動(dòng)器、ZIP盤(pán)、CD或DVD或者其他具有足夠容量的便攜式存儲(chǔ)介質(zhì)。
掃描數(shù)據(jù)典型地包括一系列表示切片的二維圖像,切片取自作為掃描對(duì)象的結(jié)構(gòu)。這些二維圖像被轉(zhuǎn)換為或變?yōu)橐粋€(gè)三維圖像。這些二維圖像可以典型地從計(jì)算機(jī)控制臺(tái)操作的螺旋狀CT掃描器得到。例如,該掃描器可以是General Electric HiSpeed Advantage螺旋狀CT掃描器,它連接到可選的General Electric Independent計(jì)算機(jī)控制臺(tái)或醫(yī)師的控制臺(tái)。然而,所述計(jì)算機(jī)控制臺(tái)可以是螺旋狀CT掃描器的一個(gè)集成部分,而不是分離的獨(dú)立式控制臺(tái)。所述二維圖像也可以從超聲波、正電子發(fā)射體層攝影術(shù)、發(fā)射計(jì)算機(jī)體層攝影術(shù)和磁共振成像得到。測(cè)量的物理特征直接與產(chǎn)生二維圖像所使用的掃描技術(shù)有關(guān)。對(duì)于CT圖像來(lái)說(shuō),測(cè)量的物理特征典型的是X射線衰減,而對(duì)于磁共振圖像(MRI)來(lái)說(shuō),測(cè)量的物理特征通常涉及各種特征,如質(zhì)子密度。
每個(gè)單獨(dú)的二維圖像定義一個(gè)圖像元素或像素的二維(X-Y)矩陣,每個(gè)像素代表關(guān)聯(lián)三維結(jié)構(gòu)或三維結(jié)構(gòu)中特定位置的器官的預(yù)定身體特征。在貫穿三維結(jié)構(gòu)的第三維方向(Z)上,連續(xù)的二維圖像是有間隔的。
典型地,通過(guò)堆疊連續(xù)的二維圖像以形成一個(gè)三維體積13,而繼續(xù)分析,由此定義一個(gè)三維矩陣(X、Y和Z軸),其代表至少一個(gè)物理特征,所述物理特征與位于在三維體積內(nèi)定位的坐標(biāo)上的三維結(jié)構(gòu)相關(guān)。該三維矩陣包括三維體積元素或三維像素,其類似于二維像素。從該三維體積,可以選擇目標(biāo)體積用于三維繪制。例如,目標(biāo)體積可以包括選擇的器官或感興趣的區(qū)域,它可以從原來(lái)的三維體積中分離出來(lái)。目標(biāo)體積可以包括一個(gè)完全的器官,或者包括在器官內(nèi)或器官的內(nèi)腔內(nèi)的空氣柱或空氣容積。
代表原始三維體積的一個(gè)數(shù)據(jù)組可以選擇性地經(jīng)歷數(shù)據(jù)組減小過(guò)程,以降低圖像或空間分辨率或分割原來(lái)的體積為較小的數(shù)據(jù)子體積,這是在隔離目標(biāo)體積之前。數(shù)據(jù)組減小和/或子體積選擇只有在圖形計(jì)算機(jī)的能力不足以為了有效和高效的三維繪制處理全部的三維體積時(shí)是必須的。為了得到實(shí)時(shí)的三維構(gòu)建,可能必須減小表示三維圖像體積的數(shù)據(jù)組的大小。例如,原始三維體積的數(shù)據(jù)組可能需要從原來(lái)的100~250兆字節(jié)減少到約5~10兆字節(jié)。但是,如果有的話,減少的量可以變化,這根據(jù)原來(lái)數(shù)據(jù)組的大小、用于進(jìn)行三維繪制的計(jì)算機(jī)的處理速度和容量來(lái)決定。
數(shù)據(jù)組減小之后,器官或感興趣區(qū)域的三維圖像可從體積數(shù)據(jù)中隔離或分離。取決于測(cè)量的物理特征,例如,X射線衰減的組織值的范圍可以進(jìn)行選擇以指定器官或感興趣的區(qū)域。然后,所述器官或感興趣的區(qū)域從體積數(shù)據(jù)中分離出來(lái)。例如,感興趣的區(qū)域可以是包含結(jié)腸或氣管支氣管通氣孔的空氣柱,或身體的一些其它部分,它們的內(nèi)腔充滿同質(zhì)的物質(zhì),如空氣、血液、尿、造影劑等等??商娲?,感興趣的區(qū)域可以是部分的骨骼。
例如,通過(guò)指定由閾限值約束的物理特征值的范圍,可以實(shí)現(xiàn)分割過(guò)程,閾限值的作用是指定感興趣的器官。對(duì)于選擇的體積或子體積來(lái)說(shuō),落在選擇的閾值范圍內(nèi)的三維像素被分配一個(gè)單一的值,例如,255被提供給白色,而落在選擇的閾值范圍外的三維像素被分配一個(gè)不同的單一值,例如,0被提供給黑色。因此,選擇的體積是通過(guò)比較選擇體積內(nèi)的每個(gè)三維像素與閾限值而確定界限,并通過(guò)分配適當(dāng)?shù)纳手?或255給每個(gè)這樣的三維像素,這取決于每個(gè)這樣的三維像素是落在閾限值所定義的閾值范圍之內(nèi)還是之外。通過(guò)對(duì)選擇的體積限定閾值,形成具有相同三維像素值的目標(biāo)體積。更特殊的是,產(chǎn)生白色的目標(biāo)器官,同時(shí)也產(chǎn)生在閾限值之外的所有體積,其具有黑色。除了可以利用圖像處理技術(shù)而消除的各種人造物之外,只有限定閾值的目標(biāo)器官被染成白色,其它的一切被染成黑色。
再回到圖2,一旦在邏輯框50中得到CT數(shù)據(jù),該數(shù)據(jù)可被輸入到分割數(shù)據(jù)的子程序中,放射線學(xué)者或技師則對(duì)該數(shù)據(jù)組加以說(shuō)明,并準(zhǔn)備一個(gè)全面的報(bào)告,如同邏輯框55所表示的。這一步驟是可選的,可以省略而不偏離本發(fā)明的本質(zhì)。
不管數(shù)據(jù)是否由邏輯框55的方法處理,掃描數(shù)據(jù)被修改和作為二維圖像輸出,并存儲(chǔ)在一個(gè)預(yù)定的存儲(chǔ)位置,如以相關(guān)的病人身份信息標(biāo)識(shí)的一個(gè)文件夾,并以合適的文件格式表示,例如“pict”文件。本領(lǐng)域技術(shù)人員可以理解的是,也可以使用其它文件格式,特別是能夠存儲(chǔ)圖像數(shù)據(jù)的格式,它們可保持原始軸向圖像的完全位深(bitdepth),并可不必以受損的方式剪裁或壓縮圖像。
一旦數(shù)據(jù)存儲(chǔ)在一系列的二維圖像中,那么所述數(shù)據(jù)可被輸入到一個(gè)子程序,該子程序允許如以上所述的方法那樣處理數(shù)據(jù)并繪制成三維圖像,如邏輯框60所示??梢允褂玫某绦蛞呀?jīng)被本發(fā)明者開(kāi)發(fā),且名稱為VISUALIZE,盡管可以使用任何可以把二維圖像轉(zhuǎn)變或轉(zhuǎn)換為具有適當(dāng)分辨率的三維圖像的繪制程序。例如,繪制過(guò)程可以使用通用目的的體積顯像程序來(lái)完成,如IRIS ExplorerTM。
三維對(duì)象如結(jié)腸的管狀結(jié)構(gòu)的圖像,被投影到二維屏幕坐標(biāo),以顯示數(shù)據(jù)給使用射線搜索技術(shù)的觀察者。從用戶視點(diǎn)發(fā)出的虛構(gòu)射線通過(guò)觀察的平面,定位到用戶的監(jiān)視器屏幕,并進(jìn)入該對(duì)象。如果一條射線與對(duì)象相交,相對(duì)應(yīng)的觀察平面像素被染上不同于背景色的一種顏色。如果沒(méi)有發(fā)現(xiàn)相交,則像素被染成和背景同樣的顏色。用于停止射線的標(biāo)準(zhǔn)決定哪個(gè)值被投影到觀察的平面像素上。這個(gè)過(guò)程不同于表面繪制,表面繪制典型地利用多邊形繪制來(lái)產(chǎn)生圖像;相反,體積繪制沿一條射線投影所有三維像素的加權(quán)平均值,以產(chǎn)生一個(gè)圖像。
現(xiàn)在三維圖像可以在監(jiān)視器上顯示,其形式是給用戶提供“飛行”通過(guò)管狀結(jié)構(gòu)例如結(jié)腸的能力。為了方便飛行,也為了允許更先進(jìn)的三維圖像分析和顯示,在邏輯框65中確定穿過(guò)結(jié)腸的一個(gè)中心路徑。這個(gè)步驟將在下文中更詳細(xì)地討論。
一旦在邏輯框65確定線飛行的路徑,可在邏輯框70進(jìn)一步地處理數(shù)據(jù),以提供結(jié)腸的一個(gè)展平視圖。結(jié)腸的展平視圖提供了好比是仔細(xì)切割結(jié)腸并在板上展開(kāi)結(jié)腸的一個(gè)視圖,以使彎曲的結(jié)腸壁不再隱藏諸如息肉那樣的結(jié)構(gòu),而當(dāng)利用更加傳統(tǒng)的多平面視圖觀察時(shí)這些結(jié)構(gòu)可能就被隱藏起來(lái)。另外,可以進(jìn)行數(shù)據(jù)的進(jìn)一步處理,以產(chǎn)生結(jié)腸壁的表面下視圖,同步使用展平視圖,以助于診斷結(jié)腸壁的異常,如扁平瘤或壁壓縮物,而當(dāng)僅觀察展平的圖像時(shí),這些可能是不明顯的。
一旦完成所有希望的圖像處理,就存儲(chǔ)包含處理的圖像數(shù)據(jù)的數(shù)據(jù)組。可以理解的是,這些數(shù)據(jù)組包含的數(shù)據(jù),其排列形式允許用戶查看數(shù)據(jù)組中的圖像,如同數(shù)據(jù)組是一部電影。這種排列允許醫(yī)師在評(píng)價(jià)掃描的數(shù)據(jù)時(shí),以任何方向飛過(guò)結(jié)腸,跳躍到已經(jīng)檢查出異常的結(jié)腸的選擇部分,并做出標(biāo)記用于以后的分析。
在本發(fā)明的一個(gè)實(shí)施例中,數(shù)據(jù)組可以被傳送給放射線學(xué)者,他接收展平的體積視圖、3D體積和表面下的視圖數(shù)據(jù)用于分析,如在邏輯框75中所指出的。該放射線學(xué)者然后觀察數(shù)據(jù),在邏輯框80中繪制他的診斷病例。在邏輯框85中,診斷報(bào)告然后被傳給外科醫(yī)生和/或病人的內(nèi)科醫(yī)師。
關(guān)于圖2中一般描述的系統(tǒng)的各個(gè)方面,現(xiàn)在將更加詳細(xì)地描述?,F(xiàn)在參考圖3,描述結(jié)腸中的中心路徑的確定。如圖所示,一部分結(jié)腸,這里是一個(gè)S形結(jié)腸被識(shí)別為感興趣的區(qū)域。利用專業(yè)軟件,或由一位適當(dāng)訓(xùn)練的技師人工標(biāo)識(shí)沿結(jié)腸內(nèi)腔的中心點(diǎn)100。盡管可以使用自動(dòng)化的中心“沿線飛行”路徑生成,但常常是人工確定方法更有優(yōu)勢(shì),以保證得到準(zhǔn)確的路徑,準(zhǔn)確路徑通過(guò)的是有時(shí)曲折、收縮或折疊的路徑。如圖3所示,技師可在結(jié)腸的中心內(nèi)腔內(nèi)標(biāo)識(shí)一系列的點(diǎn)。這些點(diǎn)是通過(guò)滾動(dòng)穿過(guò)結(jié)腸的二維多平面表示,在希望的位置定位鼠標(biāo)或其它適當(dāng)?shù)脑O(shè)備,并點(diǎn)擊來(lái)標(biāo)識(shí)的,以標(biāo)記數(shù)據(jù)庫(kù)中代表所希望的中心點(diǎn)的點(diǎn)。軟件存儲(chǔ)這個(gè)位置,并把它與其它這樣確定的中心點(diǎn)連接以確定線飛行路徑。
結(jié)腸的中心線可以以多種方式之一來(lái)確定。例如,在確定通過(guò)結(jié)腸內(nèi)腔的中心路徑的一個(gè)方法中,選擇的第一點(diǎn)是,位于結(jié)腸內(nèi)腔中的一個(gè)所希望的起始位置。確定具有最小橫截面區(qū)域的通過(guò)起點(diǎn)的平面,并標(biāo)記這種區(qū)域的中心。然后選擇一個(gè)新的點(diǎn),例如在相對(duì)于平面的表面區(qū)域垂直方向上的位于離中心點(diǎn)1厘米的位置。新平面的最小區(qū)域被確定,該區(qū)域切開(kāi)結(jié)腸并通過(guò)這個(gè)新的點(diǎn),且該新區(qū)域的相應(yīng)的中心被標(biāo)記。重復(fù)這一過(guò)程,直到確定了連接中心點(diǎn)的一條中心路徑。如上所述,這只是用于確定通過(guò)結(jié)腸內(nèi)腔的中心路徑的多種方法中的一種,且并不是為了限制。
一旦確定了線飛行路徑,就可以實(shí)時(shí)地處理數(shù)據(jù),以提供象電影似的飛行,飛過(guò)整個(gè)結(jié)腸,或結(jié)腸的選擇部分。而且,本發(fā)明的系統(tǒng)和方法允許數(shù)據(jù)的顯示在用戶希望的任何時(shí)候暫停,用戶可使用適當(dāng)?shù)氖髽?biāo)點(diǎn)擊或鍵盤(pán)命令來(lái)暫停。這允許當(dāng)用戶觀察到需要更近距離評(píng)價(jià)的結(jié)腸的一個(gè)區(qū)域,如存在息肉或瘤時(shí),用戶可以暫停飛行。如下文將更加詳細(xì)描述的,結(jié)腸內(nèi)由用戶識(shí)別出異常物的位置,可以采用多種方式顯示給用戶。
三維對(duì)象動(dòng)畫(huà),如上文所描述的“飛行”,是通過(guò)快速地顯示體積的多個(gè)三維視圖實(shí)現(xiàn)的。使用當(dāng)前可用的計(jì)算機(jī)平臺(tái)的表面繪制計(jì)算快得足以允許交互性地處理體積。另外,繪制軟件典型地包括一些模塊,它們提供了增強(qiáng)對(duì)象特征的能力,這是通過(guò)改變每個(gè)觀察的平面像素的顏色深淺實(shí)現(xiàn)的。例如,“陰暗的表面”圖像通過(guò)使像素的色彩接近具有較亮圖案陰影的相機(jī)視點(diǎn)來(lái)添加立體感效應(yīng)。在陰暗表面圖像中的像素反映了介于動(dòng)畫(huà)結(jié)構(gòu)和用戶的視點(diǎn)之間的距離。用戶和虛擬光源的相對(duì)“位置”的信息,連同關(guān)于所繪制結(jié)構(gòu)的信息被用于適當(dāng)?shù)卣诒嗡L制的體積,以產(chǎn)生解剖的真實(shí)印象。
如上所述,繪制或會(huì)聚步驟60快速且交互地發(fā)生,這樣給了用戶“飛行”通過(guò)體積數(shù)據(jù)的能力。“飛行”的方向是通過(guò)利用鼠標(biāo)或鍵盤(pán)輸入的命令,通過(guò)光標(biāo)的方向指示來(lái)控制的,速度(前進(jìn)和后退)也可以通過(guò)點(diǎn)擊鼠標(biāo)或鍵盤(pán)上的按鈕來(lái)控制。交互性的三維繪制的速度產(chǎn)生一個(gè)“虛擬現(xiàn)實(shí)”環(huán)境,且允許用戶檢查圖像數(shù)據(jù),檢查方式類似于實(shí)際的內(nèi)窺鏡檢查法。
每次模擬飛行的路線,無(wú)論是穿過(guò)整個(gè)結(jié)腸或結(jié)腸的一個(gè)主要部分的較短、局部飛行還是長(zhǎng)距離的飛行,都可以被記錄,并用在“回放”模式中以回描飛行路線。單個(gè)的三維情景也可以象照片一樣存儲(chǔ)在計(jì)算機(jī)上。如果想要的話,穿過(guò)結(jié)腸的每次模擬“飛行”可以被記錄在錄象機(jī)的VHS錄象帶上,或其它合適的存儲(chǔ)介質(zhì)上用于存檔。另外,數(shù)據(jù)可以被存儲(chǔ),以使它可以傳送給腸胃病專家和外科醫(yī)生以進(jìn)行進(jìn)一步的評(píng)論和分析。
為達(dá)到足夠的繪制速度,同時(shí)保存原始CT數(shù)據(jù)體積的解剖細(xì)節(jié),有可能導(dǎo)航或“飛行”通過(guò)從減小的數(shù)據(jù)組體積建立的減小的三維圖像。當(dāng)運(yùn)動(dòng)停止時(shí),利用原始的CT圖像體積,三維場(chǎng)面可以以可能最高的分辨率重新顯示。
另外,顯示其它圖像是有用的,如飛行過(guò)程中的軸向圖像,和多平面正交軸向、矢狀與冠狀圖像,以幫助用戶分析結(jié)腸的形態(tài)。這種顯示的示例在圖4中描述。
圖4顯示使用本發(fā)明方法繪制的結(jié)腸的六個(gè)單獨(dú)的同步視圖。如圖所示,基準(zhǔn)線210指向結(jié)腸內(nèi)的特定位置,該位置在飛行過(guò)程中已經(jīng)被識(shí)別出具有需要進(jìn)一步評(píng)價(jià)的結(jié)構(gòu)。在這一操作的模式中,用戶飛行穿過(guò)結(jié)腸,利用鼠標(biāo)來(lái)控制飛行的速度和方向。通過(guò)點(diǎn)擊該基準(zhǔn)線,圖像可以前進(jìn)或后退,允許用戶向上和向下飛行。當(dāng)用戶飛行通過(guò)結(jié)腸時(shí),該基準(zhǔn)線在名為“可變寬度的展平視圖”圖象上移動(dòng),下文對(duì)此將更詳盡地描述。每個(gè)其它視圖,如磁軸向(Mag Axial)、磁矢狀(Mag Sagittal)(MPR)、腔內(nèi)和磁冠狀(Endoluminal and Mag Coronal)(MPR)視圖是和該基準(zhǔn)線同步的,允許操作者從各種視點(diǎn)研究異常的結(jié)構(gòu)。
另外,圖4中所示的顯示包括一個(gè)表面下視圖,下文予以更詳細(xì)地描述。該視圖允許醫(yī)師或經(jīng)過(guò)培訓(xùn)的技師也可檢查結(jié)腸壁的異常。同步顯示結(jié)腸壁厚度的能力允許診斷腫瘤或可能不表現(xiàn)為息肉或結(jié)腸內(nèi)表面上可見(jiàn)的其它異常結(jié)構(gòu)的其它疾病。如在表面下視圖中的“*”220所示,以及其它視圖中的十字準(zhǔn)線,所有的視圖已經(jīng)與增厚的結(jié)腸壁區(qū)域同步,給用戶提供多種視圖以評(píng)價(jià)結(jié)腸壁,并使壁厚度與結(jié)腸的任何其它結(jié)構(gòu)的異常相互關(guān)聯(lián)。
下表面視圖能夠被“開(kāi)窗口”,就是說(shuō),用于產(chǎn)生視圖的參數(shù)可以如用戶所希望的那樣改變。例如,現(xiàn)有的對(duì)比度限制可以進(jìn)行調(diào)整,以優(yōu)化小異常物的顯示,或者可以調(diào)節(jié)視圖的分辨率??商娲?,對(duì)參數(shù)調(diào)節(jié)或開(kāi)窗術(shù)(windowing)的程度限制可編程為軟件,以防止在二維軸向、矢狀與冠狀息肉搜索中常用的高對(duì)比度、狹窄的“肺狀(lung)”設(shè)定。如果所用的“肺狀”窗口太狹窄,觀察二維多平面視圖的用戶就可能觀察不到收縮的瘤,如果該用戶不能調(diào)節(jié)開(kāi)窗口的參數(shù)以估計(jì)結(jié)腸壁的厚度的話。
一般系統(tǒng)描述圖5是一個(gè)流程圖,它總體上闡明通過(guò)本發(fā)明方法和系統(tǒng)的分級(jí)結(jié)構(gòu)和信息流。系統(tǒng)300的開(kāi)始,如典型的軟件程序一樣,在邏輯框310中是通過(guò)調(diào)用和初始化各種變量、對(duì)象,查找表和用戶可定義的其它子程序。在邏輯框310中完成初始化之后,監(jiān)視器在步驟320顯示一個(gè)默認(rèn)的窗口布局。主循環(huán)(main loop)330然后可以被初始化,等待用戶的輸入,以確定待顯示圖像的哪些部分在監(jiān)視器上繪制。如前所述,一旦給用戶呈現(xiàn)結(jié)腸的開(kāi)始部分的一個(gè)概圖,用戶可以利用鼠標(biāo)或鍵盤(pán)命令,或另外的定位設(shè)備,發(fā)出指令指導(dǎo)運(yùn)行軟件的計(jì)算機(jī),以滾動(dòng)通過(guò)堆疊的三維圖像,這些三維圖像形成待顯示的三維體積。隨著用戶輸入命令到計(jì)算機(jī)中以滾動(dòng)通過(guò)數(shù)據(jù),各種子程序被初始化,比如子程序350,它在步驟360中打開(kāi)三維體積,并提供一個(gè)預(yù)先展平的大的軸向多平面窗口布局。在本發(fā)明的一個(gè)實(shí)施例中,該步驟提供二維多平面圖像的快速繪制,這可由用戶用來(lái)人工指定腔內(nèi)圖像的中心點(diǎn)。可替代地,利用設(shè)計(jì)的軟件可以分析包括這些視圖的數(shù)據(jù),自動(dòng)地確定和指定腔內(nèi)的中心點(diǎn),自動(dòng)地一個(gè)切片一個(gè)切片地前進(jìn),通過(guò)整個(gè)結(jié)腸圖像,或通過(guò)結(jié)腸圖像的指定部分,以確定穿過(guò)結(jié)腸的線飛行路徑。
另外,如由邏輯框370所指出的,和參考在圖4中描述的多個(gè)視圖顯示的說(shuō)明內(nèi)容,體現(xiàn)本發(fā)明的軟件進(jìn)行必要的計(jì)算,以展平被繪制的部分管狀結(jié)構(gòu),及在邏輯框380中創(chuàng)建展平的體積,然后在步驟390顯示該展平的視圖。盡管各種視圖都可以計(jì)算,但結(jié)腸的概圖也可在步驟400到420產(chǎn)生,與各種其它視圖一起顯示。
一旦完成穿過(guò)結(jié)腸的滾動(dòng)或飛行,邏輯框430提供對(duì)展平視圖的進(jìn)一步分析以識(shí)別出結(jié)腸中的異常物。例如,當(dāng)用戶在結(jié)腸的特定展平段觀察到異常物時(shí),該異常物被標(biāo)記,如同在邏輯框440中那樣,并被測(cè)量,如同邏輯框450中那樣。另外,對(duì)懷疑的異常物做局部三維像素密度測(cè)量,以試圖區(qū)別所懷疑的異常物,例如,區(qū)別于排泄物或充氣的支囊。這些測(cè)量可以被記錄,用于進(jìn)一步分析,在邏輯框440標(biāo)記異常物的所在位置也可被存儲(chǔ),或以標(biāo)記的異常物菜單的形式提供,或由用戶打印出來(lái),進(jìn)行進(jìn)一步分析。
圖5還描述了在圖4中顯示的多平面(MPR)視圖可以采取的各種子程序。例如,如果觀察到一個(gè)特定MPR視圖中的一個(gè)異常物,它可如在邏輯框470中那樣被標(biāo)記。另外,隨著通過(guò)結(jié)腸的飛行的行進(jìn),該異常物可被跟蹤,以確定其范圍和總的形狀,如在邏輯框480中指出的那樣。提供給用戶的圖像基本上包括一個(gè)內(nèi)腔的影片,這是沿線飛行的路徑創(chuàng)建的,從結(jié)腸的一端,例如直腸,到結(jié)腸的另一端,盲腸。影片也可以反方向移動(dòng),以允許從盲腸到直腸的飛行。在本發(fā)明產(chǎn)生的內(nèi)腔視圖中,飛行包括可以由用戶鎖定異常位置的一個(gè)指示器,并允許為了顯示異常物的各個(gè)方面而播放影片,幫助定位、識(shí)別、觀察和診斷異常物。
各種MPR視圖還給用戶提供改變視圖窗口的能力,即調(diào)節(jié)窗口的大小,以使各種大小的異常物或感興趣的特征可以包括在一個(gè)窗口中,使用某種縮小和放大的功能,如在邏輯框490中那樣。而且,在有必要時(shí),可以調(diào)節(jié)多平面視圖的位置,確保視圖盡可能延伸,將可以看到可能被諸如結(jié)腸袋脊背這樣的結(jié)構(gòu)隱藏的異常物,如邏輯框500所指出的。MPR視圖還可以包括顯示結(jié)腸的3-D視圖的能力,如邏輯框510所指出的,可以為對(duì)比度調(diào)節(jié)而建立窗口,及可以用于啟動(dòng)局部影片上的飛行,如上所述,以定位選擇的異常物的視圖。
展平模塊本發(fā)明包括“展平”代表管狀結(jié)構(gòu)的繪制體積的方法。提供展平視圖的先前嘗試已經(jīng)利用各種方法來(lái)顯示結(jié)腸的縱向截面,如通過(guò)切割管索(chord of the tube)得到圖像。這些方法的不足之處是,結(jié)腸的整個(gè)視圖保持彎曲,除非使用截面的小索直徑,以至提供無(wú)用的數(shù)據(jù)。相反,本發(fā)明人已研發(fā)出真正展平結(jié)腸圖像的一種方法,其方式可能類似于,通過(guò)結(jié)腸壁做出單個(gè)切片,打開(kāi)結(jié)腸的管狀結(jié)構(gòu)直到結(jié)腸展平。以這種方式展平結(jié)腸,表面的異常物凸顯出來(lái),可以被看到,即使異常物原先被結(jié)腸的結(jié)構(gòu)隱藏,如被結(jié)腸袋脊背隱藏。
圖6描述結(jié)腸600的視圖,表示通過(guò)結(jié)腸605的內(nèi)腔中心的線飛行路徑。結(jié)腸區(qū)段610和620也顯示在圖6中,分別代表結(jié)腸的薄切片,它們根據(jù)本發(fā)明的原理從三維管狀結(jié)構(gòu)轉(zhuǎn)換成展平的視圖。
圖7~9表示展平過(guò)程的一般原理。如圖7中所示,結(jié)腸650是具有由壁限定的內(nèi)部和外部的管狀結(jié)構(gòu)。為方便解釋,結(jié)腸的管狀結(jié)構(gòu)可以被認(rèn)為是這樣的一個(gè)壁,它從正零度(未標(biāo)出)開(kāi)始按順時(shí)針?lè)较蛟趫D7中旋轉(zhuǎn)360度。
圖8描述在所希望的位置得到的結(jié)腸壁655的一個(gè)切片。如圖8所示,展平的結(jié)腸壁從0度到360度;通過(guò)打開(kāi)結(jié)腸壁(圖7)形成展平的圖像。切片655的寬度可以是用戶所希望的任意寬度,但典型地是代表1毫米寬的結(jié)腸截面。
圖9更詳盡地表示這種關(guān)系。結(jié)腸的切片680被轉(zhuǎn)換成展平的圖像685。息肉“P”的邊緣侵入切片685,可從視圖上看到這一點(diǎn),觀察者的視點(diǎn)直接設(shè)定為俯視。這允許觀察到更小的結(jié)構(gòu),如息肉或其它異常物,它們?cè)瓉?lái)隱藏在諸如結(jié)腸袋脊背的突起結(jié)構(gòu)中。
現(xiàn)在參考圖7~10描述用來(lái)繪制展平的結(jié)腸切片的過(guò)程。如前所述,整個(gè)顯示過(guò)程的第一步是加載一個(gè)三維體積或用于產(chǎn)生三維體積的一系列二維圖像到計(jì)算機(jī)的存儲(chǔ)器或根據(jù)體現(xiàn)本發(fā)明原理的軟件程序運(yùn)行的處理器中。如以上圖3所描述的,使用所述程序顯示的數(shù)據(jù)組的多平面視圖,程序的用戶確定沿結(jié)腸伸長(zhǎng)的路徑的一個(gè)起點(diǎn),典型的是靠近肛門或直腸區(qū)域,該起點(diǎn)確定通過(guò)結(jié)腸內(nèi)腔中心的線飛行路徑。被標(biāo)識(shí)的點(diǎn)也可用于識(shí)別關(guān)鍵幀,關(guān)鍵幀可以被堆疊形成三維體積。在一些實(shí)施例中,所述程序包括一個(gè)子程序或多個(gè)子程序,它們自動(dòng)定義方向矢量和點(diǎn)之間的彎曲路徑。在另外一些實(shí)施例中,所述程序提供給用戶自動(dòng)確定通過(guò)線點(diǎn)飛行的中心和自動(dòng)沿線飛行路徑推進(jìn)位置的能力。一旦沿線路徑的飛行已經(jīng)完成和保存,可進(jìn)一步處理同樣的數(shù)據(jù),創(chuàng)建一個(gè)展平的體積??商娲?,可以進(jìn)行數(shù)據(jù)的額外處理以微調(diào)、優(yōu)化和/或平滑線飛行路徑。
展平程序典型地開(kāi)始于數(shù)據(jù)的預(yù)取樣分析,以確定線飛行路徑的長(zhǎng)度,由此,展平圖像的高度也可被確定。這個(gè)預(yù)取樣過(guò)程不是絕對(duì)必須的,在不背離本發(fā)明原理的情況下可以省略。預(yù)取樣過(guò)程沿線飛行路徑移動(dòng)相機(jī)/用戶視點(diǎn)。在沿該路徑的每一點(diǎn)或步上,相機(jī)繞Y軸旋轉(zhuǎn)90度以面向結(jié)腸壁。下面,樣本繞Z軸旋轉(zhuǎn)360度,典型地在旋轉(zhuǎn)預(yù)取樣的過(guò)程中每次增加5度,以減少分析時(shí)間。在旋轉(zhuǎn)的每一步,投射射線穿過(guò)結(jié)腸壁,并測(cè)量到壁的距離。測(cè)得的平均距離用于確定在線飛行路徑中的一個(gè)特定點(diǎn)的結(jié)腸半徑。然后增加沿線飛行路徑的距離,并重復(fù)這一過(guò)程。
在預(yù)取樣分析之后,可以創(chuàng)建圖像緩沖器。圖像緩沖器的高度由通過(guò)結(jié)腸的沿線飛行路徑的長(zhǎng)度決定。圖像緩沖器的寬度典型的是360,以解決用于回描結(jié)腸壁的全部360度的旋轉(zhuǎn)。
在創(chuàng)建圖像緩沖器之后,繼續(xù)這個(gè)過(guò)程以產(chǎn)生最后的展平圖像。通過(guò)再次步進(jìn)線飛行路徑創(chuàng)建展平的最后圖像。在沿線飛行路徑的每一步,相機(jī)繞Y軸旋轉(zhuǎn)90度以面向結(jié)腸壁。然后,相機(jī)(或虛擬的觀察者的視點(diǎn))繞原始的Z軸旋轉(zhuǎn)180度,在產(chǎn)生最后的展平圖像的過(guò)程中每次增加1度。在每次旋轉(zhuǎn),一條射線被投射到結(jié)腸壁。射線追蹤或投射過(guò)程是通過(guò)沿著朝向內(nèi)腔壁的Z矢量,逐步改變相機(jī)的位置約1個(gè)三維像素。盡管這里描述的是1個(gè)三維像素步長(zhǎng),但也可以使用其它長(zhǎng)度,或多個(gè)三維像素的步長(zhǎng)。在每一步,給定三維像素的暗度是通過(guò)比較在該步位置發(fā)現(xiàn)的三維像素值與用戶定義的暗度表確定的??諝庠诎刀缺碇械湫偷囟x為0,如果步進(jìn)通過(guò)的三維像素不是空氣,,那么基于其暗度權(quán)重,其值被加到的一個(gè)三維像素值計(jì)數(shù)器,相對(duì)于一個(gè)預(yù)定的容限。可以理解的是,盡管一些三維像素是透明的,這影響圖像,但它們只有非常小的相對(duì)權(quán)重。預(yù)定的容限是由用戶依靠分辨率和對(duì)比度,或?yàn)閮?yōu)化圖像而選擇的其它窗口參數(shù)確定的,一旦超出了預(yù)定的容限,累積的三維像素值被寫(xiě)入展平圖像的緩沖器。
典型地,繪制的第一個(gè)三維像素利用在展平圖像緩沖器中最后的垂直線。在這種情況下,圖像緩沖器的y偏移量是展平圖像緩沖器的高度減去1。圖像緩沖器的x偏移量將是180。如圖9所示,展平的圖像被繪進(jìn)圖像緩沖器中實(shí)際是開(kāi)始于0度,并旋轉(zhuǎn)到180度。當(dāng)已經(jīng)完成180度的旋轉(zhuǎn)時(shí),相機(jī)被重新設(shè)定為其最初的面向結(jié)腸壁的視點(diǎn),通過(guò)向相反的方向旋轉(zhuǎn)相機(jī)180度來(lái)重復(fù)這一過(guò)程。圖像緩沖器的偏移量重新設(shè)定為180,每次旋轉(zhuǎn)時(shí)遞增,這是因?yàn)閳D像的水平線的右側(cè)是首先繪制的。當(dāng)展平圖像緩沖器中的第一條水平線繪制完成,展平的圖像緩沖器的y偏移量遞減,以向下繪制下一行。繼續(xù)這一過(guò)程,逐步沿線飛行路徑推進(jìn),在沿著線飛行路徑的每個(gè)遞增步重復(fù)這一展平過(guò)程,直到繪制完一個(gè)合成的展平視圖。一旦該展平圖像完成,它就被存儲(chǔ)到磁盤(pán),然后可以在單獨(dú)的窗口中顯示,如圖4所示。
圖10提供了一個(gè)通用的流程圖,說(shuō)明上文描述的展平過(guò)程。如上所述,展平過(guò)程的第一步是初始化變量和建立適當(dāng)?shù)木彌_器和該過(guò)程所用的查找表,如邏輯框710中所指出的。在邏輯框710初始化變量的過(guò)程也包括沿線飛行路徑選擇一個(gè)起點(diǎn)。
一旦變量已經(jīng)初始化和線飛行路徑的起點(diǎn)被選擇,該過(guò)程就沿線飛行路徑向前推進(jìn)一步。遞增步的長(zhǎng)度由用戶來(lái)確定,通常的范圍是1.0~2.0毫米。一旦在邏輯框720完成沿線飛行路徑前進(jìn)的第一步,展平的幀子過(guò)程730被執(zhí)行。
如上所述,在邏輯框740中代表用戶視點(diǎn)的相機(jī)旋轉(zhuǎn)1度。在邏輯框750中,一條射線被投射到內(nèi)腔壁,如圖7中射線652所示的一樣(盡管射線652在圖7中顯示指向360度,但指向1度,即第一次遞增的位置的射線為使表示清楚而省略了,但技術(shù)人員會(huì)容易地理解其位置)。一旦射線被投射到內(nèi)腔壁,三維像素值就被添加到一個(gè)展平的圖像緩沖器,如在邏輯框760中那樣。如上所述,處理器測(cè)試沿射線長(zhǎng)度的三維像素的暗度值,直到它確定一個(gè)大于0的暗度值,表明射線已經(jīng)遇到結(jié)腸壁的內(nèi)表面。
如在邏輯框760中那樣,一旦三維像素值被添加到一個(gè)展平的圖像,處理器就確定相機(jī)是否已旋轉(zhuǎn)360度。如果相機(jī)沒(méi)有旋轉(zhuǎn)360度,程序回到邏輯框740,在這里相機(jī)旋轉(zhuǎn)1度,并重復(fù)邏輯框750和760的過(guò)程。如果相機(jī)已旋轉(zhuǎn)360度,展平的幀過(guò)程就已在線飛行路徑上的那個(gè)點(diǎn)完成,程序回到邏輯框780。在邏輯框780,程序確定是否已經(jīng)到達(dá)線飛行路徑的終點(diǎn)。如果沒(méi)有到達(dá)線飛行路徑的終點(diǎn),程序就回到720,其中沿著線飛行路徑的位置遞增一個(gè)單位(例如這可能是1.0毫米)。在每個(gè)遞增步重復(fù)這一過(guò)程,直到已經(jīng)處理了整個(gè)長(zhǎng)度,或選擇的部分,或線飛行的路徑。一旦在邏輯框720執(zhí)行了向前步進(jìn)的步驟,然后程序再次遇到展平的幀子程序730,如有必要重復(fù)這一過(guò)程。如果在邏輯框780中,程序確定已經(jīng)到達(dá)線飛行路徑的終點(diǎn),則在邏輯框790存儲(chǔ)展平的圖像到磁盤(pán)或其它適當(dāng)?shù)拇鎯?chǔ)介質(zhì),然后在邏輯框800顯示該展平的圖像。顯示與結(jié)腸的其它視圖同步的展平圖像的示例表示在圖4中,名稱為“可變寬度的展平視圖”??梢岳斫獾氖?,包含展平視圖數(shù)據(jù)的文件可以象電影一樣播放,即它可以顯示通過(guò)虛擬結(jié)腸的向前或向后飛行,提供給用戶飛過(guò)結(jié)腸表面的感覺(jué),很象是飛機(jī)飛行模擬程序提供的飛過(guò)模擬地形的感覺(jué)。在本發(fā)明的情況下,地形是結(jié)腸的表面。
在展平圖像中的每條水平線被連接到所獲得的結(jié)腸體積數(shù)據(jù)組中的一個(gè)三維位置。由于該展平圖像的創(chuàng)建是通過(guò)沿穿過(guò)體積的線飛行路徑步進(jìn),用戶可以從展平圖像中的給定位置跳回到體積的準(zhǔn)確位置。展平圖像中的垂直位置(從直腸到盲腸)沿線飛行路徑提供結(jié)腸內(nèi)腔中心的三維位置。
利用來(lái)自展平圖像的一個(gè)水平位置,可以獲得內(nèi)腔壁上的一個(gè)三維位置。這個(gè)值可以用于旋轉(zhuǎn)相機(jī)到一個(gè)角度,利用這一角度投射一條射線以在展平圖像中創(chuàng)建該像素。從這一位置,射線的投射正如同在展平過(guò)程中移動(dòng)相機(jī)到三維體積中的實(shí)際位置。以這一方式投射射線,通過(guò)允許射線繼續(xù)穿過(guò)固態(tài)組織進(jìn)入到結(jié)腸壁而可以產(chǎn)生結(jié)腸壁的表面下視圖。
以這一方式產(chǎn)生結(jié)腸壁的表面下視圖,能夠?qū)Ξ惓^(qū)域的黏膜和黏膜下的厚度進(jìn)行評(píng)價(jià)。例如,這樣一個(gè)局部異常物可以是約7%的結(jié)腸直腸癌之一,它不是產(chǎn)生自緩慢生長(zhǎng)的可見(jiàn)息肉,而是來(lái)自任何檢查程序難以檢測(cè)到的快速增長(zhǎng)的進(jìn)攻性扁平腫瘤。此外,以獨(dú)立于原先窗口寬度和窗口水平設(shè)置的方式評(píng)價(jià)壁厚,最小化了遺漏收縮的腫瘤的可能性,只使用三維內(nèi)腔視圖或二維多平面視圖可能忽略這些瘤,這些視圖依靠狹窄的高對(duì)比度窗口設(shè)置以觀察和分析CT圖像數(shù)據(jù)。
當(dāng)觀察到變窄的結(jié)腸段時(shí),原因可能是不充足的空氣充入、痙攣、或組成內(nèi)腔的某些結(jié)構(gòu),要么在結(jié)腸壁內(nèi),如發(fā)炎的腸病或瘤,要么在結(jié)腸外,如一個(gè)臨近的器官或緊靠結(jié)腸周圍附近的物質(zhì)。使用典型的“肺狀”窗口設(shè)定,要確定變窄是否是由于常見(jiàn)的人為因素,如空氣充入不足,還是由于一些潛在的疾病或結(jié)構(gòu)異常,對(duì)于觀察者來(lái)說(shuō)不是沒(méi)有可能,但是非常困難。
參考圖4中描述的可變寬度的展平視圖,可容易地看出本方法的優(yōu)點(diǎn)。這里,基準(zhǔn)線210設(shè)定在被圓形瘤限定的一部分結(jié)腸截面上。讀取圖4中所描述的圖像種類對(duì)本領(lǐng)域技術(shù)人員來(lái)說(shuō)是明顯的,而從圖4中顯示的三維內(nèi)腔視圖不容易看出該圓形瘤。如果圖4中也顯示的磁軸向、磁矢狀、磁冠狀圖像使用傳統(tǒng)的“肺狀”窗口(在圖4中這些圖像被正確地開(kāi)窗口)來(lái)呈現(xiàn),這些收縮的瘤也將被忽略。但是,表面下視圖顯示,增厚的結(jié)腸壁外皮指示出存在一個(gè)晚期的惡性結(jié)腸瘤。
現(xiàn)在參考圖11和12,描述體積數(shù)據(jù)組的表面下視圖的繪制過(guò)程。圖11包括一個(gè)例證,即表面下結(jié)構(gòu)是如何通過(guò)逐步推進(jìn)射線穿過(guò)結(jié)腸壁并進(jìn)入到結(jié)腸周圍的結(jié)構(gòu)來(lái)確定的。圖11中還包括一個(gè)可變寬度的展平視圖,及可變寬度展平視圖的特定段的表面下視圖。該表面下視圖對(duì)于顯示說(shuō)明回描過(guò)程的圖是關(guān)鍵性的。
圖12是一個(gè)通用的流程圖,表示為展平視圖的選擇的掃描線繪制的體積組的表面下視圖所包括的各種步驟。
如在圖11中的箭頭900所指出的,一旦用戶已經(jīng)選擇可變寬度展平視圖內(nèi)的一個(gè)位置,則用來(lái)產(chǎn)生表面下視圖的程序開(kāi)始。如在邏輯框950中,一條射線被投射到內(nèi)腔壁。在投射射線到內(nèi)腔壁時(shí),如在邏輯框970,射線是沿著矢量推進(jìn)x個(gè)三維像素進(jìn)入壁的。然后在邏輯框980中,程序確定投射是否已經(jīng)穿過(guò)x個(gè)像素,x的值是由用戶選擇的。如果投射沒(méi)有穿過(guò)x個(gè)像素,則程序回到邏輯框960,并重復(fù)這個(gè)過(guò)程。如果確定投射已穿過(guò)x個(gè)像素,例如90個(gè)像素,程序則轉(zhuǎn)向邏輯框990,這時(shí),相機(jī)(或視點(diǎn))旋轉(zhuǎn)或變化1度。
這一過(guò)程的圖示示例在圖11中顯示得更好。這里,射線的起點(diǎn)表示為點(diǎn)A,此處沿Y軸的距離y被任意設(shè)定等于0。典型地選擇這個(gè)點(diǎn)為充氣結(jié)腸內(nèi)腔的中心。然后處理器向外朝向結(jié)腸壁投射射線。一般地,射線的投射從中心點(diǎn)經(jīng)過(guò)典型的是90個(gè)像素的距離,盡管其它距離也可以由用戶根據(jù)要進(jìn)行的分析來(lái)選擇。投射射線90個(gè)像素,或其它所希望的更長(zhǎng)的距離,結(jié)果射線投射進(jìn)入結(jié)腸壁內(nèi),允許成像結(jié)腸壁的內(nèi)部結(jié)構(gòu),以及結(jié)腸壁兩個(gè)側(cè)面上的結(jié)構(gòu)。隨著射線投射,在邏輯框990中對(duì)于射線遇到的任何結(jié)構(gòu),基于暗度表計(jì)算三維像素值,并在步驟1000,添加三維像素值到表面下圖像緩沖器。
如圖11中的圖所示,射線繼續(xù)前進(jìn)投射到點(diǎn)B,此處y等于35,然后再到y(tǒng)等于65的點(diǎn)C。應(yīng)該理解的是,y的單位可能不是距離的實(shí)際測(cè)量值,盡管這是可能的??商娲?,y的單位可以表示一個(gè)成比例的步長(zhǎng),這由所希望分析的距離來(lái)確定,它始于中心點(diǎn)并延伸進(jìn)入結(jié)腸壁內(nèi)一段需要的距離。
在y等于65的點(diǎn)C,射線遇到結(jié)腸壁。然后射線被允許進(jìn)一步投射一段距離到點(diǎn)D,此處y等于100,這樣,繪制的圖像不僅包括結(jié)腸壁的厚度,而且包括結(jié)腸周圍鄰近處的一定距離。
這一逐步的過(guò)程在圖11描述的表面下視圖中也是看得見(jiàn)的。在該表面下視圖中,點(diǎn)A代表充氣的結(jié)腸內(nèi)腔中心的起點(diǎn)。點(diǎn)C代表結(jié)腸壁的內(nèi)表面。隨著射線被投射到表面下視圖中的點(diǎn)D,結(jié)腸壁的結(jié)構(gòu)連同一些結(jié)腸周圍的結(jié)構(gòu)是可見(jiàn)的。以這一方式,位于結(jié)腸壁表面的一處異常,如箭頭900所指出的,從展平結(jié)腸的背景中區(qū)分是極其困難的,而在表面下視圖中卻可以容易地看見(jiàn),如箭頭905所指出的。
表面下視圖結(jié)合展平視圖,給用戶提供觀察結(jié)腸的兩種不同方式。展平視圖類似于結(jié)腸的伸展的飛行表面局部解剖圖,包含從結(jié)腸壁延伸的結(jié)構(gòu),如息肉的表面評(píng)估數(shù)據(jù)。相反,表面下視圖提供結(jié)腸壁表面上部和下部結(jié)構(gòu)的視圖。這樣,根據(jù)本發(fā)明的原理的表面下視圖提供給用戶很大的優(yōu)勢(shì),使之觀察到異常物或與人造物有關(guān)的疾病,而它們?cè)诋?dāng)前可用于分析CT掃描數(shù)據(jù)的任何其它視圖中都是不能看到的。
再次回到圖12,在投射穿過(guò)x個(gè)像素之后,程序回到邏輯框990,此時(shí),相機(jī)或用戶的視點(diǎn)旋轉(zhuǎn)1度。然后在邏輯框1000程序確定相機(jī)是否已經(jīng)旋轉(zhuǎn)360次,這樣,旋轉(zhuǎn)結(jié)腸壁的整個(gè)內(nèi)表面。如果相機(jī)已經(jīng)旋轉(zhuǎn)360次,則程序到邏輯框1010,顯示表面下體積。如果相機(jī)沒(méi)有旋轉(zhuǎn)360次,程序自動(dòng)回到邏輯框950,重復(fù)進(jìn)入內(nèi)腔壁的投射,直到繪制整個(gè)圖像。
利用本發(fā)明方法產(chǎn)生的各向同性數(shù)據(jù)組也可以用作計(jì)算機(jī)輔助診斷系統(tǒng)的輸入。在這樣的系統(tǒng)中,利用模式識(shí)別軟件可進(jìn)一步處理數(shù)據(jù)組。在這一方式中,通過(guò)計(jì)算識(shí)別息肉或其它異常結(jié)構(gòu)的三維特征可以識(shí)別異常物。各種技術(shù),諸如二次判別分析、滯后閾值處理(hysteresis thresholding)和模糊群集可以用來(lái)減少發(fā)生異常結(jié)構(gòu)的假陽(yáng)性(false positive)識(shí)別。
圖13是一個(gè)流程圖,描述用于繪制診斷的一般步驟,診斷使用模式識(shí)別來(lái)辨別結(jié)腸中的結(jié)構(gòu)異常。利用上文所述方法,在邏輯框1110處理CT掃描數(shù)據(jù)和產(chǎn)生三維體積數(shù)據(jù)組。表示整個(gè)結(jié)腸或結(jié)腸的一個(gè)選擇部分的數(shù)據(jù)可以從三維體積數(shù)據(jù)組中提取,如在邏輯框1120所指出的。
然后在邏輯框1130處理提取的數(shù)據(jù)組,這利用了所設(shè)計(jì)的模式識(shí)別程序,該模式識(shí)別程序把體積數(shù)據(jù)組的三維特點(diǎn)與一組預(yù)定的幾何形狀相比較,這些預(yù)定的幾何形狀已經(jīng)被確定為代表在結(jié)腸中發(fā)現(xiàn)的異常物如息肉的幾何形狀。該程序產(chǎn)生異常物的列表,包括三維數(shù)據(jù)庫(kù)內(nèi)的異常物所處位置的坐標(biāo),這可用于視覺(jué)上判斷異常物,以確定異常物是否已經(jīng)被正確地識(shí)別出來(lái),或這只是一個(gè)貌似異常物的結(jié)構(gòu)特征,但是是良性的。代表異常物的數(shù)據(jù)也可以從數(shù)據(jù)組提取,并為進(jìn)一步的分析而單獨(dú)保存。
盡管沒(méi)有必要,但如邏輯框1140所指出的,可能仍然希望進(jìn)一步處理三維數(shù)據(jù)組,進(jìn)一步詳細(xì)說(shuō)明異常結(jié)構(gòu)的身份,以減少假陽(yáng)性的發(fā)生,就是說(shuō),結(jié)構(gòu)被標(biāo)為異常的,而實(shí)際上是良性的。進(jìn)一步的處理可以在整個(gè)數(shù)據(jù)組上進(jìn)行,或在提取的包含體積數(shù)據(jù)的數(shù)據(jù)組上進(jìn)行,體積數(shù)據(jù)代表包圍已識(shí)別的異常物的位置的結(jié)腸區(qū)域。這樣的進(jìn)一步處理包括對(duì)數(shù)據(jù)應(yīng)用本領(lǐng)域公知的各種技術(shù),如二次判別分析、滯后閾值處理和模糊群集,以增強(qiáng)異常物的識(shí)別和減少假陽(yáng)性的發(fā)生。
一旦完成所有的處理,在邏輯框1150產(chǎn)生一份報(bào)告,它被傳遞給外科醫(yī)生和/或病人的醫(yī)生。該報(bào)告可包含有關(guān)掃描和掃描過(guò)程中識(shí)別出的異常物的各種信息,目的是幫助醫(yī)師對(duì)病人進(jìn)行診斷和治療。
圖14和15表示這樣一份報(bào)告的示例。圖14描述病人的整個(gè)結(jié)腸的視圖,視圖上具有標(biāo)識(shí)出的特定的區(qū)段。圖15表示與圖14中標(biāo)識(shí)的區(qū)段相連的計(jì)算機(jī)產(chǎn)生的報(bào)告。這些報(bào)告適合醫(yī)師使用,也可以由醫(yī)師直接交給病人,幫助病人理解自己的情況,理解醫(yī)師可能提出的任何治療。
本發(fā)明的各種實(shí)施例的系統(tǒng)和方法的應(yīng)用的一個(gè)特別優(yōu)勢(shì)是能夠自動(dòng)或半自動(dòng)地繪制體積數(shù)據(jù)組,利用相對(duì)便宜的計(jì)算機(jī)和顯示器診斷異常物和產(chǎn)生報(bào)告,也有能力利用從一個(gè)或多個(gè)掃描中心傳到遠(yuǎn)程分析站點(diǎn)的數(shù)據(jù)來(lái)做這些工作。例如,本發(fā)明的一個(gè)實(shí)施例設(shè)計(jì)一個(gè)中央系統(tǒng)或分析傳給一個(gè)中心分析地點(diǎn)的大量CT掃描數(shù)據(jù)。這樣一個(gè)系統(tǒng)將允許掃描中心掃描病人,而不用負(fù)擔(dān)必須也分析數(shù)據(jù)和產(chǎn)生報(bào)告的費(fèi)用。例如,利用本發(fā)明的系統(tǒng)和方法的一個(gè)單個(gè)分析中心將從100個(gè)或更多的掃描中心接收和分析CT掃描數(shù)據(jù)。
一旦數(shù)據(jù)由分析中心接收,數(shù)據(jù)可以由中心處理,或可替代地被傳輸?shù)竭M(jìn)行處理的第二個(gè)中心。如果數(shù)據(jù)被發(fā)送到第二個(gè)中心,第二個(gè)中心產(chǎn)生的報(bào)告和/或處理的體積數(shù)據(jù)組被回送給分析中心,以與原來(lái)的掃描中心通信或與掃描中心識(shí)別的外科醫(yī)生和/或內(nèi)科醫(yī)生通信。這樣的系統(tǒng)還提供數(shù)據(jù)的分析,這是通過(guò)熟練的技師向放射線學(xué)者報(bào)告他們的發(fā)現(xiàn),放射線學(xué)者閱讀掃描數(shù)據(jù)后則可以提交包含他們意見(jiàn)的報(bào)告和他們的治療建議,報(bào)告和建議然后被傳送給適當(dāng)?shù)耐饪漆t(yī)生或內(nèi)科醫(yī)生。
本領(lǐng)域技術(shù)人員可以理解的是,盡管是參照成像病人的結(jié)腸來(lái)描述本發(fā)明的系統(tǒng)和方法,但本發(fā)明的各種實(shí)施例同樣可以適用于身體其它結(jié)構(gòu)的掃描和分析。例如,所描述的展平和表面下方法同樣有助于對(duì)身體的管狀結(jié)構(gòu)成像和分析,這些管狀結(jié)構(gòu)如氣管、食道等等。
盡管說(shuō)明和描述了本發(fā)明的特定實(shí)施例,明顯的是,不偏離本發(fā)明的精神和范圍的前提下可以做出各種改變。因此,所要明確的是,本發(fā)明只由所附的權(quán)利要求來(lái)限定。
<pre listing-type="program-listing"><![CDATA[  /*-------------------------*/  1)Rotate to Coronal Anterior View for start   gCameraViewAngle.x=90;   gCameraViewAngle.y=0;   gCameraViewAngle.z=0;  2)Then rotate 360 degrees about z-axis sampling voxels as we go  3)Next step forward l voxel and repeat step 2  */  char FlattenFrameNEW()  {long maxDegrees,z,i;  long voxelValue;  Point3dDouble tempPosition,startPosition;  Uint32 *zOffsetTable;  Uint32 *yOffsetTable;  Uint8*volBuffer;  Uint8*sliceBuffer;  C3dVolume*volume;  Point3dDoubletempRotAngle,theRotAngle;   if(gUseVariableWidthFlattening)  return FlattenFrameVW();  //Get some globals from the flattened volume   volume=gFlattenedView->f3dVolume;   if(volume?。絅ULL)  {   volBuffer=volume->f3dVolumeBuffer;zOffsetTable=(Uint32*)volume->fZoffsetTable;   yOffsetTable=(Uint32*)volume->fYoffsetTable;   gDestVolIndex.x=359;   //Reset the Vectors;   Point3dLongToDouble(&amp;gxVectorDouble,gxVectorLong);   Point3dLongToDouble(&amp;gyVectorDouble,gyVectorLong);   Point3dLongToDouble(&amp;gzVectorDouble,gzVectorLong);  ///////////   theRotAngle=gzVectorDouble;   gzVectorDouble=gxVectorDouble;   gxVectorDouble=theRotAngle;   theRotAngle.x=-gxVectorDouble.x;   theRotAngle.y=gxVectorDouble.y;   theRotAngle.z=-gxVectorDouble.z;   tempRotAngle=theRotAngle;   maxDegrees=180;   SaveViewVectorsDouble();   gDestVolIndex.x=180;//Start at center for variable width flattening   for(i=0;i<maxDegrees;i+=1)   {Point3dLongToDouble(&amp;startPosition,gCameraPosition);  tempPosition=startPosition;  voxelValue=  SamplePixelFastDouble2(tempPosition,&amp;gzVeetorDouble,gSlopFactor,0);  Update3dVectorsDoubleNEW(theRotAngle);//rotate 360 degrees  about z-axis l degree at a time  gDestVolIndex.x--;}  //**********  RestoreViewVectorsDouble();  theRotAngle.x=-theRotAngle.x;  theRotAngle.y=-theRotAngle.y;  theRotAngle.z=-theRotAngle.z;  gDestVolIndex.x=180;//Start at center for variable width flattening  for(i=0;i<maxDegrees;i+=1)  {   Point3dLongToDouble(&amp;startPosition,gCameraPosition);   tempPosition=startPosition;   voxelValue=  SamplePixelFastDouble2(tempPosition,&amp;gzVectorDouble,gSlopFactor,0);Update3dVectorsDoubleNEW(theRotAngle);//rotate 360 degrees  about z-axis l degree at a time  gDestVolIndex.x++;   }   if(gDestVolIndex.z>=0)   {  *(gFlattenRefLineBuffer+gDestVolIndex.z)=  gCameraPositionDouble;   }   gColonFrameIndex++;   gDestVolIndex.z--;   return TRUE;  }  /*-----------------------*/  long SampleXRayFastDouble2(Point3dDouble tempVectorIndex,Point3dDouble  *vectorStep,short slopFactor,long cpuIndex)  {  Uint8*theBuffer;  long *transparencyValue;  long *opacityValue;  Uint32 *zOffsetTable;  Uint32 *yOffsetTable;  shorttheCount;  shortvoxValue;  Uint32 volOffset;  Uint8theValue;  long transpFactor;  long grossTranspFactor;  Uint32 finalIndexValue;  Uint32 volumeBufferMax;  long volumeOffsetMax;  long xCount,yCount,zCount;  long tempIndex;  Point3dDoubletempVolumeSizeMin,tempVolumeSizeMax;  register double tempVectorStepx,tempVectorStepy,tempVectorStepz;  Uint8*overViewImage;  Point3dDouble tempPosition,startPosition;char firstVoxel=TRUE;  doublevertOverSampling;   finalIndexValue=0;   grossTranspFactor=0;   theBuffer=g3dVolumeBufferPtr;  //////////   zOffsetTable=(Uint32*)gZoffsetTablePtr;   yOffsetTable=(Uint32*)gYoffsetTablePtr;   transparencyValue=(long*)&amp;gTransparencyValue
;   opacityValue=(long*)&amp;gOpacityValue
;  #define VERT_OVERSAMPLE  #ifdef VERT_OVERSAMPLE  ///////////////  //Vertical oversampling   vertOverSampling=(double)gSubSurfaceDepth/128.0;   tempVectorStepx=vectorStep->x*vertOverSampling;   tempVectorStepy=vectorStep->y*vertOverSampling;   tempVectorStepz=vectorStep->z*vertOverSampling;  #else   tempVectorStepx=vectorStep->x;   tempVectorStepy=vectorStep->y;   tempVectorStepz=vectorStep->z;  #endif   volumeBufferMax=gVolumeBufferMax;   volumeOffsetMax=g3dVolumeBufferSize;   tempVolumeSizeMax=gTempVolumeSizeMax;  //////////////////////  //The loop   theCount=min(gViewDepth,200);   startPosition=tempVectorIndex;   do   { tempIndex=tempVectorIndex.z;  volOffset=*(zOffsetTable+(tempIndex));  tempIndex=tempVectorIndex.y;  volOffset+=*(yOffsetTable+(tempIndex));  volOffset+=tempVectorIndex.x;  if(volOffset>=0&amp;&amp;volOffset<volumeOffsetMax)  {   theValue=*(theBuffer+volOffset);   transpFactor=transparencyValue[theValue];   if(transpFactor?。?)   {  {  grossTranspFactor+=transpFactor;  if(grossTranspFactor>=0x1000)  {   if(firstVoxel)   {   tempPosition=tempVectorIndex;   tempPosition.x-=startPosition.x;   tempPosition.y-=startPosition.y;   tempPosition.z-=startPosition.z;   yCount=  quickSquareRoot((tempPosition.x*tempPosition.x)+(tempPosition.y*tempPosition.  y)+(tempPosition.z*tempPosition.z));   firstVoxel=FALSE;   }   else   yCount++;   if(yCount<0||yCount>=128)//  VERT_OVERSAMPLE   {   //DebugThis(4812);  theCount=0;  break;   }   overViewImage=gXRayImage;   overViewImage+=y(tǒng)Count*gXRayRowBytes;   overViewImage+=gDestVolIndex.x;   *overViewImage = theValue;   finalIndexValue=0;grossTranspFactor=0x10000; //just in case  of overflow  }  finalIndexValue+=opacityValue[theValue];  }  }   }   {   tempVectorIndex.x+=tempVectorStepx;   tempVectorIndex.y+=tempVectorStepy;   tempVectorIndex.z+=tempVectorStepz;   }   }while(theCount-->0);   return((long)theValue);  }  /*------------------------*/  /*   Take an″xray″view of a slice from the flattened image  Same code as one flatten sliver(from one FBW center point)  Instead of stopping at surface walls dig below to a certain depth  */  char XRayFrame()  {  long maxDegrees,z,i;  CMainView *oldMainView;  long voxelValue;  Point3dDouble tempPosition,startPosition;  Uint32 *zOffsetTable;  Uint32 *yOffsetTable;  Uint8 *volBuffer;  Uint8 *sliceBuffer;  Uint32 volOffset;  long rayDistance,tempIndex;C3dVolume *volume;  Point3dDouble tempRotAngle,theRotAngle;  SaveViewVectors();  if(!gVirtualColonView->fVCMovie->fPlayMovie)  {  gOverrideAnimUpdate=TRUE;  gMakeFlattenedMovie=10;  gVirtualColonView->fVCMovie-  >FindFrame(*(gFlattenRefLineBuffer+gRefLineNumber));  gMakeFlattenedMovie=FALSE;  gOverrideAnimUpdate=FALSE;   }  //To set view vectors correctly  //////////////  //Get some globals from the flattened volume   volume=gFlattenedView->f3dVolume;   if(volume?。絅ULL)   {  volBuffer=volume->f3dVolumeBuffer;  zOffsetTable=(Uint32*)volume->fZoffsetTable;  yOffsetTable=(Uint32*)volume->fYoffsetTable;   }   gDestVolIndex.x=359;  //////////  //Reset the vectors   Point3dLongToDouble(&amp;gxVectorDouble,gxVectorLong);   Point3dLongToDouble(&amp;gyVectorDouble,gyVectorLong);   Point3dLongToDouble(&amp;gzVectorDouble,gzVectorLong);  ///////////   theRotAngle=gzVectorDouble;   gzVectorDouble=gxVectorDouble;   gxVectorDouble=theRotAngle;   theRotAngle.x=-gxVectorDouble.x;   theRotAngle.y=gxVectorDouble.y;   theRotAngle.z=-gxVectorDouble.z;   tempRotAngle=theRotAngle;Normalize3d(&amp;theRotAngle);  maxDegrees=180;  SaveViewVectorsDouble();  gDestVolIndex.x=180;//Start at center for variable width flattening  for(i=0;i<maxDegrees;i+=1)  {  Point3dLongToDouble(&amp;startPosition,gCameraPosition);  tempPosition=startPosition;  voxelValue=  SampleXRayFastDouble2(tempPosition,&amp;gzVectorDouble,gSlopFactor,0);   Update3dVectorsDoubleNEW(theRotAngle);//rotate 360 degrees  about z-axis l degree at a time   gDestVolIndex.x--;   }  //**********   RestotrViewVectorsDouble();   theRotAngle.x=-theRotAngle.x;   theRotAngle.y=-theRotAngle.y;   theRotAngle.z=-theRotAngle.z;   gDestVolIndex.x=180; //Start at center for variable width flattening   for(i=0;i<maxDegrees;i+=1)   {   Point3dLongToDouble(&amp;startPosition,gCameraPosition);   tempPosition=startPosition;   voxelValue=  SampleXRayFastDouble2(tempPosition,&amp;gzVectorDouble,gSlopFactor,0);   Update3dVectorsDoubleNEW(theRotAngle);//rotate 360 degrees  about z-axis 1 degree at a time   gDestVolIndex.x++;   }   RestoreViewVectors();   return TRUE;  }]]></pre>
權(quán)利要求
1.具有由壁界定的內(nèi)腔的管狀身體結(jié)構(gòu)成像的一種方法,包括提供包含數(shù)據(jù)的一個(gè)數(shù)據(jù)組,所述數(shù)據(jù)表示身體的一個(gè)管狀結(jié)構(gòu)的多個(gè)橫截面圖像,所述圖像是沿所述管狀體的縱向軸拍攝的;處理所述數(shù)據(jù)組,以重構(gòu)所述管狀體的一個(gè)三維圖像;標(biāo)識(shí)通過(guò)所述三維圖像的內(nèi)腔的一條中心路徑;沿所述中心路徑選擇一個(gè)起點(diǎn);處理始于所述起點(diǎn)和繼續(xù)沿結(jié)腸的所述三維圖像的所述縱向軸的數(shù)據(jù),并繪制所述三維圖像的一個(gè)展平視圖;存儲(chǔ)代表所述展平視圖的數(shù)據(jù)到一個(gè)圖像緩沖器中;顯示所述圖像的所述展平視圖。
2.如權(quán)利要求1所述的方法,進(jìn)一步包括沿所述中心路徑選擇一點(diǎn);處理在所述選擇點(diǎn)的數(shù)據(jù),并在所述選擇點(diǎn)繪制所述管狀結(jié)構(gòu)壁的一個(gè)橫截面圖像;和顯示所述管狀結(jié)構(gòu)壁的所述橫截面圖像。
3.如權(quán)利要求1所述的方法,其中所述的處理數(shù)據(jù)和繪制展平的圖像包括從所述起點(diǎn)向所述壁投射一條射線,所述射線的方向?qū)?yīng)于視圖的角度;和添加一個(gè)三維像素值到圖像緩沖器中。
4.如權(quán)利要求3所述的方法,進(jìn)一步包括把所述視圖角度偏移1度;從所述起點(diǎn)向所述壁投射另一條射線,如果所述的視圖角度從所述最初的起點(diǎn)還沒(méi)有偏移總共360度,那么這條射線的方向?qū)?yīng)于所述視圖偏移的角度。
5.如權(quán)利要求4所述的方法,進(jìn)一步包括如果所述的視圖角度從所述最初的起點(diǎn)已偏移總共360度,則沿所述內(nèi)腔的縱向軸推進(jìn)所述起點(diǎn)一個(gè)選擇的值;重復(fù)投射所述射線的步驟,并在一個(gè)圖像緩沖器中存儲(chǔ)三維像素值,直到所述內(nèi)腔的整個(gè)長(zhǎng)度已經(jīng)被處理。
6.如權(quán)利要求4所述的方法,其中所述管狀結(jié)構(gòu)是結(jié)腸。
7.一種生成身體的管狀結(jié)構(gòu)壁的內(nèi)部視圖的方法,所述視圖包括鄰近所述壁外部的組織,所述方法包括多個(gè)步驟(a)提供一個(gè)包含數(shù)據(jù)的數(shù)據(jù)組,所述數(shù)據(jù)表示一個(gè)三維體積,該三維體積表示沿所述管狀體的縱向軸的身體管狀結(jié)構(gòu),所述管狀體具有由壁界定的一個(gè)內(nèi)腔;(b)沿中心路徑選擇一個(gè)起點(diǎn),所述中心路徑沿著所述管狀體的縱向軸布置;(c)向所述壁以選定的距離投射一條射線,通過(guò)從所述起點(diǎn)沿該射線移向所述壁;(d)在所述射線每步的位置處計(jì)算三維像素值;(e)將所述三維像素值添加到一個(gè)圖像緩沖器中;(f)把所述射線的角投射增加一度;(g)確定自選擇所述起點(diǎn)之后,所述射線的角投射是否已經(jīng)增加了360度;(h)向所述壁投射一條具有增加的角度的射線;(i)重復(fù)步驟(d)到(h),直到所述射線的角投射已經(jīng)增加了360度為止;和(j)顯示表面下體積圖像。
8.如權(quán)利要求7所述的方法,其中所述管狀結(jié)構(gòu)是結(jié)腸。
9.如權(quán)利要求1所述的方法,進(jìn)一步包括把所述三維體積數(shù)據(jù)組與代表預(yù)定異常物的幾何模式庫(kù)相比較;把包含在所述三維體積數(shù)據(jù)組內(nèi)的結(jié)構(gòu)識(shí)別為異常的,如果確定所述結(jié)構(gòu)在預(yù)定的容差內(nèi)匹配至少一個(gè)幾何模式庫(kù)。
10.如權(quán)利要求7所述的方法,進(jìn)一步包括把所述三維體積數(shù)據(jù)組與代表預(yù)定異常物的幾何模式庫(kù)相比較;把包含在所述三維體積數(shù)據(jù)組內(nèi)的結(jié)構(gòu)識(shí)別為異常的,如果確定所述結(jié)構(gòu)在預(yù)定的容差內(nèi)匹配至少一個(gè)的幾何模式庫(kù)。
11.如權(quán)利要求9所述的方法,進(jìn)一步包括進(jìn)一步處理所識(shí)別的異常結(jié)構(gòu),以確定該識(shí)別的結(jié)構(gòu)是否不是異常的。
12.如權(quán)利要求10所述的方法,進(jìn)一步包括進(jìn)一步處理所識(shí)別的異常結(jié)構(gòu),以確定該識(shí)別的結(jié)構(gòu)是否不是異常的。
13.一種顯示在掃描病人身體的一部分的過(guò)程中產(chǎn)生的數(shù)據(jù)的視圖的系統(tǒng),包括存儲(chǔ)掃描數(shù)據(jù)的一個(gè)存儲(chǔ)器;能夠進(jìn)行編程以分析掃描數(shù)據(jù)的一個(gè)處理器,所述處理器可連接到所述存儲(chǔ)器,并被配置以處理所述存儲(chǔ)器中的數(shù)據(jù),以繪制三維體積的一個(gè)展平視圖;和用于顯示所述展平視圖的一臺(tái)顯示器。
全文摘要
提供一個(gè)系統(tǒng)(10)和方法,用于分析和顯示從數(shù)據(jù)組繪制的多個(gè)圖像,所述數(shù)據(jù)組來(lái)自于病人的掃描數(shù)據(jù)。顯示的圖像包括病人的解剖組織的選擇部分,例如諸如結(jié)腸這樣的管狀結(jié)構(gòu)的二維和三維視圖。
文檔編號(hào)G06F19/00GK1646059SQ03808795
公開(kāi)日2005年7月27日 申請(qǐng)日期2003年3月14日 優(yōu)先權(quán)日2002年3月14日
發(fā)明者W·V·小格倫, R·肯珀 申請(qǐng)人:Netkisr有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1