碩士三維重建算法研究與軟件系統(tǒng)實(shí)現(xiàn)畢業(yè)論文_第1頁
碩士三維重建算法研究與軟件系統(tǒng)實(shí)現(xiàn)畢業(yè)論文_第2頁
碩士三維重建算法研究與軟件系統(tǒng)實(shí)現(xiàn)畢業(yè)論文_第3頁
碩士三維重建算法研究與軟件系統(tǒng)實(shí)現(xiàn)畢業(yè)論文_第4頁
碩士三維重建算法研究與軟件系統(tǒng)實(shí)現(xiàn)畢業(yè)論文_第5頁
已閱讀5頁,還剩62頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

.

.

67/67

目錄

目錄

1

第一章.緒論

3

1.1.醫(yī)學(xué)影像系統(tǒng)PACS

3

1.1.1.PACS的應(yīng)用圍和功能

4

1.1.2.PACS在國外開發(fā)應(yīng)用情況

5

1.1.3.PACS未來展望

5

1.1.4.DICOM標(biāo)準(zhǔn)

7

1.2.醫(yī)學(xué)圖像三維重建

9

1.2.1.三維重建數(shù)據(jù)流程

10

1.2.2.重建算法

12

1.2.3.三維模型的顯示

13

1.3.本論文所作的工作與組織

13

第二章.醫(yī)學(xué)斷層圖像三維重建算法

15

2.1.等值面抽取算法

15

2.1.1.MarchingCubes(MC)算法

16

2.1.2.DiscretizedMarchingCubes算法

20

2.1.3.MarchingTetrahedra算法和剖分立方體算法

23

2.1.4.輪廓拼接

24

2.2.直接體繪制算法

28

2.2.1.直接體繪制算法的分類

28

2.2.2.光線投射算法

28

2.2.3.體繪制加速算法

29

2.3.小結(jié)

30

第三章.三維重建軟件My3d的實(shí)現(xiàn)

31

3.1.My3d和PACS的關(guān)系

31

3.2.DICOM網(wǎng)關(guān)

32

3.3.二維圖像相關(guān)的軟件設(shè)計(jì)

33

3.3.1.高分辨率圖像的顯示方法

33

3.3.2.簡單圖像處理

35

3.3.3.輪廓線編輯

37

3.4.三維模型渲染方法

38

3.4.1.OpenGL簡介

38

3.4.2.渲染流程

42

3.5.程序類圖

43

3.5.1.CSingleImageView:平面圖像瀏覽窗口

44

3.5.2.CMultiImageView:多幅縮略圖瀏覽窗口

45

3.5.3.CMy3dView:三維模型顯示窗口

46

3.6.小結(jié)

46

第四章.設(shè)計(jì)模式在My3d中的應(yīng)用

48

4.1.設(shè)計(jì)模式的基本要素

48

4.2.設(shè)計(jì)模式的組織與分類

49

4.3.怎樣選擇設(shè)計(jì)模式

50

4.4.設(shè)計(jì)模式使用實(shí)例

51

4.4.1.Command模式

51

4.4.2.Strategy

53

4.4.3.Singleton

55

4.4.4.Adaptor模式

56

4.5.小結(jié)

58

第五章.結(jié)束語

59

5.1.論文工作總結(jié)

59

5.2.未來工作展望

60

參考文獻(xiàn)

61

64

讀研期間發(fā)表的論文

65

緒論

﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡

醫(yī)學(xué)影像系統(tǒng)PACS

三維重建軟件框架簡介

三維重建算法

三維模型顯示技術(shù)

本論文所作的工作和組織

﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡

醫(yī)學(xué)影像系統(tǒng)PACS

倫琴發(fā)現(xiàn)X射線后的一百多年里,醫(yī)學(xué)成像科學(xué)與技術(shù)對(duì)放射診斷學(xué)的主要貢獻(xiàn)是創(chuàng)造了多種成像方式,例如:CT、MRI、SPECT、PET、DSA、NM、US、CR等,這些新的醫(yī)學(xué)成像技術(shù)為臨床提供了豐富的影像學(xué)資料,極方便了醫(yī)生的診斷,但與此同時(shí)所產(chǎn)生的大量的影像資料對(duì)醫(yī)院的管理提出了更高的要求。傳統(tǒng)的膠片備份,人工管理的方法不僅要耗費(fèi)大量的資金、場地和人力,而且存在著丟失資料、查找困難、存儲(chǔ)時(shí)間短等問題。顯然這種方法已經(jīng)遠(yuǎn)遠(yuǎn)不能滿足醫(yī)院迅速增長的業(yè)務(wù)要求,迫切需要一種自動(dòng)化的影像管理系統(tǒng)來代替它,這已成為每一家醫(yī)院面臨的急迫需要解決的問題。

伴隨著高速計(jì)算設(shè)備、網(wǎng)絡(luò)通訊與圖像處理技術(shù)的飛速發(fā)展而產(chǎn)生的“醫(yī)學(xué)影像存取與傳輸系統(tǒng)[26][27]”(PictureArchivingandCommunicationSystem)為以上問題的徹底解決提供了一種先進(jìn)的技術(shù)手段。據(jù)估算,在一家醫(yī)院中放射成像(radiography,即將醫(yī)學(xué)影像成像到傳統(tǒng)的膠片上)的工作,其工作量通常占影像室工作量的60%至70%。PACS系統(tǒng)可以大大降低該工作量的比例,提高影像室的工作效率。PACS系統(tǒng)的使用不但為醫(yī)院達(dá)到無膠片化環(huán)境(filmlessenvironment)提供了解決的方案,而且為今后進(jìn)一步實(shí)現(xiàn)遠(yuǎn)程醫(yī)療、遠(yuǎn)程教學(xué)、遠(yuǎn)程學(xué)術(shù)交流和計(jì)算機(jī)輔助的醫(yī)學(xué)影像診斷提供了支撐環(huán)境。

PACS系統(tǒng)受到了醫(yī)院的廣泛歡迎。PACS的最直接受益者是使用科室。第一,在硬成本方面,可以減少膠片用量,節(jié)省相機(jī)、洗片機(jī)藥水。第二,在管理方面,智能化的診斷報(bào)告系統(tǒng)減少了醫(yī)生的勞動(dòng)強(qiáng)度,數(shù)據(jù)化存儲(chǔ)減少了檔案管理的麻煩。第三,完整保留圖像數(shù)據(jù),對(duì)于科研、教學(xué)和解決未來可能的法律糾紛是最好的保障。PACS對(duì)醫(yī)院管理的益處也是多方面的。建立HIS(醫(yī)院信息管理系統(tǒng))系統(tǒng)是醫(yī)院管理改革的必要步驟。在國外,做為HIS子系統(tǒng)的PACS,其影像的數(shù)據(jù)量達(dá)到HIS信息量的80%,超過其他信息的總和數(shù)倍。醫(yī)療影像的管理對(duì)于提高全院的管理效率是不可或缺的。PACS的影像管理也為遠(yuǎn)程診斷打下基礎(chǔ)。大型醫(yī)院的專家可以通過INTERNET瀏覽偏遠(yuǎn)地區(qū)醫(yī)院送來的圖像并作出會(huì)診,偏遠(yuǎn)地區(qū)的醫(yī)院也可以把圖像輕松地送給指定的專家學(xué)者。數(shù)據(jù)傳遞縮短了時(shí)間和空間。這對(duì)于提高醫(yī)院的醫(yī)療水平,緩解醫(yī)療資源不合理分配,有很大的幫助。

PACS的應(yīng)用圍和功能

PACS可以指任何一種放射醫(yī)學(xué)圖像管理系統(tǒng)。在實(shí)際應(yīng)用中,可以把PACS應(yīng)用劃分為四類:①在整個(gè)醫(yī)院實(shí)施的完整PACS系統(tǒng),目標(biāo)是支持在醫(yī)院部所有關(guān)于圖象的活動(dòng),集成了醫(yī)療設(shè)備、圖象存儲(chǔ)和分發(fā)、數(shù)字圖象在重要診斷和會(huì)診時(shí)的顯示、圖象歸檔已與外部信息系統(tǒng);②在醫(yī)院某個(gè)部分實(shí)施PACS,目標(biāo)是提高部門醫(yī)療設(shè)備的使用效率;③在醫(yī)院部的圖象分發(fā)系統(tǒng),目標(biāo)是幫助醫(yī)院的其他部門,特別是急診室(ER)和監(jiān)護(hù)房(ICU)獲得放射醫(yī)療部分生成的圖象;④遠(yuǎn)程放射醫(yī)療,目標(biāo)是支持遠(yuǎn)程圖象傳輸和顯示。

根據(jù)醫(yī)院的實(shí)際要求,一個(gè)實(shí)際的PACS系統(tǒng)可能包含了上述四類應(yīng)用中的一類或多類。完整的PACS系統(tǒng)應(yīng)該包括圖象獲取、圖象存取與顯示、圖象處理、數(shù)據(jù)庫管理以與用于傳輸?shù)母咚倬钟蚓W(wǎng)絡(luò)和支持遠(yuǎn)程數(shù)據(jù)傳送的廣域網(wǎng)。PACS系統(tǒng)一般具有以下幾方面的功能:

⑴將醫(yī)院中已有的醫(yī)學(xué)圖象設(shè)備產(chǎn)生的圖象通過直接或間接的方式轉(zhuǎn)換為系統(tǒng)能夠存儲(chǔ)和處理的數(shù)字化形式。隨著DICOM標(biāo)準(zhǔn)的逐步應(yīng)用,未來的醫(yī)學(xué)影像設(shè)備將統(tǒng)一使用DICOM標(biāo)準(zhǔn)接口,圖象獲取會(huì)更加方便。

⑵存儲(chǔ)和管理檢查所產(chǎn)生的圖象數(shù)據(jù),這是PACS系統(tǒng)最重要的功能。由于PACS系統(tǒng)中存儲(chǔ)的圖象數(shù)據(jù)量特別巨大,醫(yī)院每天生成的圖像總量可以從幾百M(fèi)到幾十個(gè)G,需要有能夠管理超大規(guī)模數(shù)據(jù)庫的數(shù)據(jù)庫管理系統(tǒng)。當(dāng)前尚無很成熟的產(chǎn)品,受存儲(chǔ)器容量的限制,PACS系統(tǒng)的數(shù)據(jù)通常要分級(jí)存儲(chǔ),常用數(shù)據(jù)存放在再線2設(shè)備上,過期數(shù)據(jù)存放在離線設(shè)備中。為減少存儲(chǔ)容量,還要對(duì)數(shù)據(jù)進(jìn)行壓縮。

⑶圖象顯示和處理,這是醫(yī)生接觸和使用最多的功能。在顯示工作站上的軟件應(yīng)能滿足醫(yī)生最常用的功能,包括查詢數(shù)據(jù)庫中的圖象記錄,顯示圖象并且對(duì)圖象進(jìn)行一些簡單的處理,如放縮、旋轉(zhuǎn)等。同時(shí),醫(yī)生還要在工作站上寫出診斷報(bào)告、注釋等文本信息。

⑷與HIS/RIS的接口。PACS系統(tǒng)在醫(yī)院中不是孤立存在的,為了與其他系統(tǒng)互連,PACS系統(tǒng)應(yīng)當(dāng)遵循一個(gè)信息交換的標(biāo)準(zhǔn)。目前國際上的HL7(HealthLevel7)標(biāo)準(zhǔn)已為多數(shù)廠商認(rèn)可。

PACS在國外開發(fā)應(yīng)用情況

PACS系統(tǒng)是一個(gè)涉與放射醫(yī)學(xué)、影像醫(yī)學(xué)、數(shù)字圖像技術(shù)、計(jì)算機(jī)技術(shù)、通訊技術(shù)、軟件工程、圖形圖像綜合與后處理(三維重建、剖面顯示)技術(shù)等多學(xué)科的高新科技項(xiàng)目,它的開發(fā)與應(yīng)用將對(duì)放射醫(yī)學(xué)、影像醫(yī)學(xué)、現(xiàn)代醫(yī)療技術(shù)、遠(yuǎn)程醫(yī)療、遠(yuǎn)程科研教學(xué)的發(fā)展與醫(yī)院信息化建設(shè)起重大作用。

PACS的出現(xiàn)才短短十幾年時(shí)間,已成為國際醫(yī)學(xué)圖像界研究開發(fā)的熱點(diǎn)。美國ACR(美國放射學(xué)全)與NEMA(國家電子制造商協(xié)會(huì))共同組成的聯(lián)合委員會(huì)于1993年11月發(fā)布了DICOM(醫(yī)學(xué)數(shù)字影像與通訊)3.0標(biāo)準(zhǔn),其中包括了一致性、信息目標(biāo)定義、服務(wù)分類的技術(shù)指標(biāo)、數(shù)據(jù)詞典、信息交換、網(wǎng)絡(luò)通訊、點(diǎn)對(duì)點(diǎn)通訊、文件格式等容。從而,為PACS的研究開發(fā)提供了統(tǒng)一規(guī)和依據(jù)。

目前,在美國和歐洲,數(shù)字化醫(yī)學(xué)圖像通訊技術(shù)己進(jìn)入了高速發(fā)展的實(shí)用階段,許多相關(guān)領(lǐng)域的著名廠家(醫(yī)療影像設(shè)備制造商、計(jì)算機(jī)制造商、影像設(shè)備外設(shè)與膠片生產(chǎn)廠家等)都積極參與了PACS的開發(fā)、生產(chǎn)和推廣。在1994年的北美放射學(xué)會(huì)上,有近40個(gè)廠家展出了PACS技術(shù)和產(chǎn)品,而且,美國1994年P(guān)ACS總銷售額為3.98億美元,1995年為4.73億美元,1999年已達(dá)到10億美元以上的規(guī)模。在美國,PACS已與國家級(jí)的通訊網(wǎng)絡(luò)相結(jié)合,成為美國軍隊(duì)和許多大型醫(yī)院提供影像診斷效率和節(jié)省成本的必備系統(tǒng)。在歐洲,PACS已與醫(yī)院信息管理(HIS)相融合,形成日見擴(kuò)展的醫(yī)學(xué)信息網(wǎng),且應(yīng)用領(lǐng)域逐漸擴(kuò)大。

在我國,PACS的研究開發(fā)尚處于起步階段,與國外的PACS系統(tǒng)相比還有相當(dāng)?shù)木嚯x;國一些醫(yī)院正在考慮建設(shè)PACS,個(gè)別醫(yī)院甚至已經(jīng)在部分試驗(yàn)性地運(yùn)行PACS,但至今還沒有一家醫(yī)院真正建立了完整的PACS,正有待于醫(yī)院信息化建設(shè)的有識(shí)之士,在我國的PACS技術(shù)與應(yīng)用領(lǐng)域開創(chuàng)出一片新天地。

PACS未來展望

目前,企業(yè)圍圖像分發(fā)已經(jīng)在許多部分得到了初步應(yīng)用。在放射醫(yī)療科以外最需要圖像顯示的部門中已經(jīng)采用了足夠的顯示技術(shù),但還不能在任何地點(diǎn)方便地獲得圖像。RIS和PACS的集成允許在工作站顯示診斷報(bào)告。PACS和RIS掌握病人在醫(yī)院中的流動(dòng)也很重要。這有利于圖像和檢查的自動(dòng)預(yù)取、路由和分發(fā)。RIS與PACS的進(jìn)一步集成仍在發(fā)展中。隨著PACS的增長,數(shù)據(jù)庫的高可用性將變得越來越關(guān)鍵。PACS系統(tǒng)的發(fā)展向以下一些技術(shù)提出了挑戰(zhàn):大容量存儲(chǔ)設(shè)備、數(shù)據(jù)庫技術(shù)、用戶界面、壓縮和網(wǎng)絡(luò)。

大容量存儲(chǔ)設(shè)備分為以下四類:磁介質(zhì)、光介質(zhì)、磁帶與其它(如全息存儲(chǔ))讓在發(fā)展中的介質(zhì)。目前PACS使用的歸檔介質(zhì)是DLT磁帶或MOD可反復(fù)讀寫光盤,某些情況下也使用CDR(一次寫光盤)。磁盤容量正在飛速增長,未來的方向是TB級(jí)桌面磁盤。2000年時(shí)價(jià)格下降到3美分/MB,在光學(xué)存儲(chǔ)設(shè)備中,DVD是目前的熱點(diǎn),DVD目前可以作備份介質(zhì),但作為存儲(chǔ)介質(zhì)仍有不足之處,可擦寫的DVD還不成熟,也沒有統(tǒng)一的標(biāo)準(zhǔn)。磁帶的新進(jìn)展包括磁道記錄、磁阻式磁頭和允許隨機(jī)訪問的新型格式等。磁帶的價(jià)格很有吸引力,但不能防潮,也不能接近磁場,對(duì)存放場所的要求比較嚴(yán)格。

數(shù)據(jù)庫的性能、可靠性和容量與PACS系統(tǒng)的性能直接相關(guān)。PACS系統(tǒng)中圖像的每一次流動(dòng)都與數(shù)據(jù)庫有關(guān)。但目前對(duì)PACS的數(shù)據(jù)庫技術(shù)還需要有大量的研究工作。當(dāng)PACS集成到HIS系統(tǒng)中時(shí),其重要性將會(huì)進(jìn)一步體現(xiàn),隨著用戶對(duì)PACS的依賴性增強(qiáng),數(shù)據(jù)庫的高可用性技術(shù)將會(huì)越來越重要,分布式數(shù)據(jù)庫將會(huì)得到廣泛的應(yīng)用。

在用戶端,分析功能的增強(qiáng)和圖象增強(qiáng)技術(shù)的集成非常重要,語音識(shí)別可以將自然語言轉(zhuǎn)換為正文存儲(chǔ)在系統(tǒng)中,對(duì)生成診斷報(bào)告的效率有很大的影響?;诮M件的軟件將會(huì)出現(xiàn),軟件工具(如三維顯示應(yīng)用)可以在應(yīng)用程序和系統(tǒng)之間進(jìn)行拖放操作,這是個(gè)人用戶界面的新發(fā)展,用戶界面和應(yīng)用程序能根據(jù)需要分布。基于Web的顯示方式是其中一例。Web技術(shù)和基于組件的軟件將緩慢集成。

PACS需要告訴通信網(wǎng)絡(luò)支持,尤其是在放射醫(yī)療部門部,而在臨床監(jiān)護(hù)時(shí)可以用低速網(wǎng)絡(luò)。目前的發(fā)展方向之一是使用ATM,但ATM的功能還沒有完全利用起來,特別是ATM傳輸活動(dòng)影像以與影像與靜止圖像同傳的能力。隨著通信技術(shù)和Internet的發(fā)展,遠(yuǎn)程連接可以使用2M/s或更高的帶寬,這將改變PACS的應(yīng)用圍,特別是在家庭領(lǐng)域的應(yīng)用將會(huì)有較大的發(fā)展,在醫(yī)院,將開發(fā)更高的帶寬用于活動(dòng)影像和其他信息的傳輸。

DICOM標(biāo)準(zhǔn)

DICOM是醫(yī)學(xué)數(shù)字圖象通訊標(biāo)準(zhǔn)(DigitalImagingandCommunicationinMedicine)的英文縮寫,是在醫(yī)學(xué)信息領(lǐng)域中有關(guān)醫(yī)學(xué)圖象的事實(shí)上的國際標(biāo)準(zhǔn)。它詳細(xì)描述了醫(yī)學(xué)圖象的存儲(chǔ)格式,與網(wǎng)絡(luò)間圖象傳輸?shù)膮f(xié)議和消息的格式,使醫(yī)學(xué)圖象設(shè)備的制造廠商和用戶可以在標(biāo)準(zhǔn)網(wǎng)絡(luò)上實(shí)現(xiàn)設(shè)備互連,簡化了各種類型的醫(yī)學(xué)圖象系統(tǒng)的開發(fā)和應(yīng)用。目前,大部分知名的醫(yī)學(xué)圖象設(shè)備制造廠商都采用DICOM作為其通訊互連的標(biāo)準(zhǔn)。因此可以說,理解和實(shí)現(xiàn)DICOM標(biāo)準(zhǔn)是實(shí)現(xiàn)PACS系統(tǒng)的基礎(chǔ)。

1.DICOM發(fā)展歷史

醫(yī)學(xué)圖像設(shè)備之間需進(jìn)行圖象與其相關(guān)信息的交換,而圖象與其相關(guān)信息的格式、傳輸句法與通訊協(xié)議等的不一致,將嚴(yán)重阻礙PACS的發(fā)展。為此,美國放射學(xué)會(huì)(AmericanCollegeofRadiology,ACR)和美國的全國電子廠商聯(lián)合會(huì)(NationalElectricalManufacturersAssociation,NEMA)認(rèn)識(shí)到急需建立一種標(biāo)準(zhǔn),以規(guī)圖象與其相關(guān)信息的交換。

因而,美國放射學(xué)大學(xué)(ACR)和國家電子制造商協(xié)會(huì)(NEMA)在1983年形成了一個(gè)聯(lián)合委員會(huì)來發(fā)展標(biāo)準(zhǔn),其目的是:推廣數(shù)字圖象信息的通訊,不分設(shè)備廠商;促進(jìn)PACS的發(fā)展和擴(kuò)展,PACS也可以與其他的醫(yī)院信息系統(tǒng)接口;允許診斷信息數(shù)據(jù)基礎(chǔ)的產(chǎn)生,這些數(shù)據(jù)可以自通地由廣泛的不同的設(shè)備分布的查看。

1984年,JosephGitlin博士第一次組織了有關(guān)醫(yī)學(xué)圖象設(shè)備間接口標(biāo)準(zhǔn)的會(huì)議。隨后,ACR和NEMA聯(lián)合組成新的委員會(huì),在參考了其他國際標(biāo)準(zhǔn)(CNETC251、JIRA、IEEE、HL7、ANSI)的基礎(chǔ)上,著手開發(fā)一個(gè)醫(yī)學(xué)數(shù)字圖象通訊標(biāo)準(zhǔn),其目的在于:提供與制造商無關(guān)的數(shù)字圖象與其相關(guān)信息的通訊;便于發(fā)展PACS,利于PACS和HIS(RIS)接口;便于建立方便查詢的診斷數(shù)據(jù)庫。

1985年,DICOM標(biāo)準(zhǔn)的前身ACR-NEMA標(biāo)準(zhǔn)1.0版本(ACR-NEMAStandardsPublicationsNo.300-1985)推出,它定義了一個(gè)點(diǎn)對(duì)點(diǎn)的連接和數(shù)據(jù)交換協(xié)議:兩臺(tái)成像設(shè)備通過ACR-NEMA接口平面實(shí)現(xiàn)連接。在1.0版本推出以后,ACR-NEMA標(biāo)準(zhǔn)不斷發(fā)展,并于1988年推出了2.0版本(ACR-NEMAStandardsPublicationsNo.300-1988),它包含了1.0版本與其修正版的全部容,并且新增加了支持顯示設(shè)備的命令,引入了層次方法來標(biāo)識(shí)圖象,在描述圖象時(shí)以增加數(shù)據(jù)元素(dataelements)的方式來增加圖象特性。

總的來說,版本1.0和2.0定義了傳輸圖象與其相關(guān)數(shù)據(jù)的硬件接口標(biāo)準(zhǔn)、一個(gè)最小軟件命令集和一個(gè)統(tǒng)一的數(shù)據(jù)格式集。由于它們僅提供點(diǎn)對(duì)點(diǎn)的通訊模式,又缺乏網(wǎng)絡(luò)層,只能通過網(wǎng)絡(luò)接口單元(NIU)與網(wǎng)絡(luò)連接,所以通訊速率較慢,不能利用網(wǎng)絡(luò)技術(shù)的優(yōu)勢。因此,一些專家學(xué)者就紛紛對(duì)其進(jìn)行測試,并撰文提出修改意見。ACR和NEMA也認(rèn)識(shí)到這些版本的不足,于是在1993年又推出了功能強(qiáng)大的DICOM標(biāo)準(zhǔn)3.0。

2.DICOM信息模型

簡單說,DICOM標(biāo)準(zhǔn)定義了醫(yī)學(xué)圖象與其相關(guān)信息的通訊、存儲(chǔ)協(xié)議。與ACR-NEMA的1.0和2.0版本相比,它做了許多重大的改進(jìn),其中最重要的是基本設(shè)計(jì)的改變。ACR-NEMA的1.0和2.0版本是基于放射領(lǐng)域中不明確的信息模型,數(shù)據(jù)元素是根據(jù)設(shè)計(jì)者的經(jīng)驗(yàn)進(jìn)行分組,這樣有可能造成傳送的數(shù)據(jù)不完全,導(dǎo)致某些重要的東西沒有傳送。相反,DICOM是基于明確而詳細(xì)的信息模型,這些模型叫E-R(entity-relationship)模型,它們描述了“事物”(如患者、圖像、診斷報(bào)告等)怎樣參與放射診斷以與它們是怎樣相互關(guān)聯(lián)的,因而也就使醫(yī)療設(shè)備制造廠家和用戶能夠更加清晰地理解DICOM中的數(shù)據(jù)結(jié)構(gòu)。E-R模型是DICOM工作組根據(jù)調(diào)查PACS和HIS/RIS接口所得到的結(jié)論建立的,他們把放射科中的數(shù)據(jù)和操作模型化,并保證HIS/RIS與PACS之間的數(shù)據(jù)需要與操作協(xié)調(diào)。應(yīng)用E-R模型可清楚的表達(dá)描述事物所需的數(shù)據(jù)元素之間的關(guān)系,DICOM標(biāo)準(zhǔn)中廣泛應(yīng)用了這種模型。

DICOM標(biāo)準(zhǔn)中的數(shù)據(jù)結(jié)構(gòu)是基于E-R模型并結(jié)合面向?qū)ο蟮脑O(shè)計(jì)方法,對(duì)現(xiàn)實(shí)世界實(shí)體進(jìn)行抽象分析開發(fā)出來的。面向?qū)ο蟮脑O(shè)計(jì)不僅提供描述信息的方法,而且提供描述對(duì)信息的操作方法。在面向?qū)ο蟮脑O(shè)計(jì)中,對(duì)對(duì)象的操作與對(duì)象緊密相關(guān)。DICOM應(yīng)用了這些概念定義了許多如“存儲(chǔ)圖象”、“獲得患者信息”等的服務(wù)(services),這些服務(wù)應(yīng)用了操作(operation)或通知(notification)的結(jié)構(gòu)。DICOM定義了一系列操作和通知,叫做DICOM消息服務(wù)元素(DICOMmessageserviceelements,DIMSE)。信息對(duì)象與這些服務(wù)的復(fù)合叫做服務(wù)-對(duì)象對(duì)(service-objectpair,SOP),一個(gè)信息對(duì)象可應(yīng)用一系列服務(wù)并復(fù)合成為SOP類。SOP類代表了DICOM定義的基本功能單元。一個(gè)DICOM應(yīng)用必須說明其遵從的SOP類以與其設(shè)備支持的角色,這樣才有可能精確地定義一個(gè)DICOM功能子集,這個(gè)子集包括被交換消息的類型、消息中傳輸?shù)臄?shù)據(jù)和解釋數(shù)據(jù)的句法。對(duì)一個(gè)特定的SOP類,DICOM兼容的設(shè)備可作為兩種角色中的一種:服務(wù)類提供者(ServiceClassProvider,SCP),它提供SOP類的服務(wù);服務(wù)類用戶(ServiceClassUser,SCU),它使用SOP類的服務(wù)。根據(jù)SOP類和角色,DICOM定義了通訊的一些基本原則,如哪種設(shè)備應(yīng)該請(qǐng)求建立連接,哪種設(shè)備應(yīng)該接受建立連接的請(qǐng)求。

3.DICOM標(biāo)準(zhǔn)應(yīng)用

DICOM標(biāo)準(zhǔn)屬于醫(yī)療信息系統(tǒng)領(lǐng)域,它主要用于醫(yī)學(xué)圖象設(shè)備之間數(shù)字信息的交換。因?yàn)獒t(yī)學(xué)圖象設(shè)備可能與其它醫(yī)療設(shè)備進(jìn)行信息交換,所以DICOM標(biāo)準(zhǔn)的應(yīng)用圍有可能與醫(yī)療信息系統(tǒng)的其他領(lǐng)域重疊(DICOM標(biāo)準(zhǔn)沒有具體規(guī)定其應(yīng)用圍)。

目前流行的PACS系統(tǒng)一般使用DICOM標(biāo)準(zhǔn)作為圖象設(shè)備接口來獲取患者圖象。例如,CT、X光機(jī)、MR等圖象設(shè)備的共享打印系統(tǒng)就可以應(yīng)用DICOM標(biāo)準(zhǔn)作為各種圖象設(shè)備和打印機(jī)的網(wǎng)絡(luò)互連接口,在圖象設(shè)備來自多個(gè)制造廠商的環(huán)境里,這就意味著避免了定制不同設(shè)備的接口,減少了連接不同設(shè)備的費(fèi)用和麻煩,簡化了系統(tǒng)服務(wù)。

DICOM標(biāo)準(zhǔn)還應(yīng)用于將PACS連接到其他信息系統(tǒng),特別是連接到RIS或HIS。PACS與HIS和RIS相連需要在兩方面均采用相應(yīng)的標(biāo)準(zhǔn)。DICOM標(biāo)準(zhǔn)通過各種管理服務(wù)類來簡化PACS方面的問題,RIS和HIS也應(yīng)該采用相應(yīng)標(biāo)準(zhǔn)(如HL7)來簡化其相應(yīng)問題。這樣就大大簡化了兩種系統(tǒng)互連的問題。

醫(yī)學(xué)圖像三維重建

利用光、聲、電、磁等各種物理能的作用機(jī)制,配合化學(xué)染色劑或造影劑,再借助計(jì)算機(jī)軟硬件技術(shù),促使醫(yī)學(xué)診斷可視化技術(shù)有了長足的進(jìn)步,醫(yī)學(xué)圖像診斷裝置日新月異。在這種背景下,可視化成了新的需要??梢暬櫭剂x就是使原先不能直接反映在人們視覺中的事物或現(xiàn)象成為直觀可見的。醫(yī)學(xué)圖像診斷裝置的出現(xiàn)也正是醫(yī)學(xué)診斷走向可視化的表現(xiàn)??茖W(xué)計(jì)算可視化技術(shù)的立足點(diǎn)之一也是最具有代表性的正是醫(yī)學(xué)三維數(shù)據(jù)場的可視化??梢暬夹g(shù)的發(fā)展,促進(jìn)了醫(yī)學(xué)領(lǐng)域中科研、教學(xué)以與臨床診斷的巨大變化,其影響深遠(yuǎn),同時(shí)也給計(jì)算機(jī)科學(xué)技術(shù)在醫(yī)學(xué)領(lǐng)域中的應(yīng)用開辟了廣闊的空間。

如何將這些斷層切片圖像進(jìn)行三維重建并在顯示器上顯示,已越來越受到人們的重視,這是因?yàn)槿S醫(yī)學(xué)圖像能提供比二維切片圖像更加豐富的信息,得到人體組織、器官逼真的立體顯示,從而擺脫了以前那種憑借醫(yī)生臨床經(jīng)驗(yàn),在大腦中重建器官三維結(jié)構(gòu)的人為局面,使他們從繁重的大腦重建過程中解脫出來。

三維醫(yī)學(xué)圖像重建在臨床的應(yīng)用主要有以下方面:

(1)能使人們從任意角度觀察人體結(jié)構(gòu),并對(duì)人體部各個(gè)組織的相對(duì)位置關(guān)系有一個(gè)整體了解,從而正確診斷出病變圍、位置與程度;

(2)在外科手術(shù)的計(jì)劃和模擬中發(fā)揮很大作用,醫(yī)生可以通過計(jì)算機(jī)模擬復(fù)雜的手術(shù)過程,給手術(shù)一個(gè)定量的描述,還可以比較不同的手術(shù)方案和結(jié)果,為擬定最佳手術(shù)方案提供依據(jù),以提高手術(shù)質(zhì)量,減少醫(yī)療事故;

(3)放射治療計(jì)劃的制定也是三維醫(yī)學(xué)圖像系統(tǒng)的一個(gè)重要應(yīng)用領(lǐng)域,對(duì)每個(gè)具體病例可以由系統(tǒng)精確地確定出放射源的位置和方向,以使病灶得到足夠的照射劑量而其它組織器官盡量減少照射量;

(4)三維醫(yī)學(xué)圖像系統(tǒng)還能模擬人體解剖,改進(jìn)傳統(tǒng)的醫(yī)學(xué)解剖教學(xué)方式,使學(xué)生在計(jì)算機(jī)上完成模擬手術(shù);

(5)三維醫(yī)學(xué)圖像對(duì)關(guān)節(jié)修復(fù)、假肢的設(shè)計(jì)與制作都有很大的意義。

醫(yī)學(xué)院第二附屬醫(yī)院是一間現(xiàn)代化的大型綜合性醫(yī)院,它擔(dān)任著醫(yī)療、科研、保健等重要任務(wù),同時(shí),作為醫(yī)學(xué)院的附屬醫(yī)院,它在教學(xué)方面扮演著非常重要的角色。為了提高醫(yī)生臨床診斷的正確性、給醫(yī)科學(xué)生提供直觀的三維影像,醫(yī)學(xué)院第二附屬醫(yī)院非常需要基于PACS數(shù)據(jù)來源的,具有完整功能和高效率的醫(yī)學(xué)影像三維重建系統(tǒng),以提高醫(yī)療、科研和教學(xué)質(zhì)量。

三維重建數(shù)據(jù)流程

三維重建軟件運(yùn)行的過程如圖1.1所示。來自各種醫(yī)學(xué)設(shè)備如CT、MRI或者X光片等的原始數(shù)據(jù),由于各種醫(yī)學(xué)設(shè)備的差異,有的符合DICOM標(biāo)準(zhǔn),有的不符合DICOM標(biāo)準(zhǔn),但是通過PACS系統(tǒng)中的DICOM網(wǎng)關(guān)后,所有的數(shù)據(jù)都轉(zhuǎn)換為符合DICOM標(biāo)準(zhǔn)。

三維重建軟件系統(tǒng)解析DICOM數(shù)據(jù)獲得待成像數(shù)據(jù),并進(jìn)行了去除噪音、標(biāo)尺設(shè)定、坐標(biāo)歸一化等預(yù)處理。

對(duì)預(yù)處理后的數(shù)據(jù),我們采用兩種不同的方法來進(jìn)行重建[2]:

第一種:通過三維表面模型重構(gòu)算法得到由三角面片組成的三維表面模型。采用MarchingCubes算法進(jìn)行三維表面重構(gòu)。我們發(fā)現(xiàn),重構(gòu)得到的表面模型可以進(jìn)行簡化,從而使之更加適合三維交互顯示。

第二種:通過對(duì)每一個(gè)斷層圖像進(jìn)行分割[1],提取出輪廓線,同時(shí)允許用戶對(duì)輪廓線進(jìn)行編輯,之后從輪廓線得到三維模型。把多層輪廓線拼接成為三維模型,可以直接拼接輪廓,也可以從輪廓線恢復(fù)出三維數(shù)據(jù)場,然后對(duì)三維數(shù)據(jù)場使用MarchingCubes算法(操作方式如圖1.2所示)

三維重建算法得到的三維模型,需要通過交互的方式顯示出來。我們用鼠標(biāo)去模擬手,允許對(duì)三位模型進(jìn)行縮放,旋轉(zhuǎn),移動(dòng),調(diào)整距離等功能,以達(dá)到最佳觀察效果。

重建算法

目前醫(yī)學(xué)斷層圖像三維重建的方法[2]主要有兩大類:一類是基于表面的方法,另一類是基于體數(shù)據(jù)的方法。

(1).表面表示方法。它是表示三維物體形狀最基本的方法,可以提供三維物體形狀的全面信息。其具體形式有兩種:邊界輪廓線表示和表面曲面表示。邊界輪廓表示是比較早期使用的技術(shù),不易獲得具體生動(dòng)的形象,所以我們只考慮表面曲面表示方法。最早的方法是基于多邊形技術(shù),主要用平面輪廓的三角形算法,根據(jù)在不同切片圖像上抽取出的一組輪廓線,用三角片擬合過這組輪廓線的曲面。Boissonnat提出了另外一種基于表面輪廓的Delaunay三角形方法[3],解決了系列表面輪廓的三維連通性問題。用三角形或多邊形的小平面(或曲面)在相鄰的邊界輪廓線間填充形成物體的表面,所得出的只是分片光滑的表面,Lin采用從輪廓出發(fā)的B樣條插值重建算法[4],得到了整體光滑的表面。Lorensen和Cline提出了一種稱為“MarchingCube”的算法[5],這是一種基于體素的表面重建方法,該方法先確定一個(gè)表面閾值,計(jì)算每一體素的梯度值,并與表面閾值進(jìn)行比較判斷,找出那些含有表面的立方體,利用插值的方法求出這些表面。在MC的基礎(chǔ)上又提出了“MarchingTetrahedra”方法[6],該方法提高了運(yùn)算精度。為了化簡MC或者M(jìn)T算法生成的三角形面片[29][30],國外分別有不少研究。同時(shí)對(duì)消除MC和MT算法的二義性也出現(xiàn)了較好的解決方法[7]。

(2).基于體數(shù)據(jù)的方法[8]。它的最大特點(diǎn)是不需要確立表面的幾何表示,而直接基于體數(shù)據(jù)進(jìn)行顯示,這樣就避免了重建過程所造成的偽像痕跡,縮短了在體數(shù)據(jù)中尋找、計(jì)算物體表面的時(shí)間。這種方法不丟失細(xì)節(jié),更加準(zhǔn)確地反映出體數(shù)據(jù)所包含的形狀結(jié)構(gòu),因此受到普遍關(guān)注。直接體繪制法首先要對(duì)原始數(shù)據(jù)進(jìn)行分類,即確定每一體素中不同生物組織的百分比,一般采用概率分類方法,然后給每個(gè)體素賦予相應(yīng)的顏色與阻光度(Opacity);最后采用投影法或光線投射法生成顯示圖象。該方法的缺點(diǎn)是運(yùn)算量很大,不利于實(shí)時(shí)顯示。

三維模型的顯示

隨著計(jì)算機(jī)圖形技術(shù)特別是硬件圖形設(shè)備的不斷發(fā)展,三維表面在計(jì)算機(jī)中的表示逐漸趨向于三角面片網(wǎng)格模型這一單一方法。三角面片網(wǎng)格模型的優(yōu)點(diǎn)在于:一、簡單性,三角形是最簡單的多邊形,處理起來簡單快捷,特別適合由硬件實(shí)現(xiàn);二、通用性,任何其他平面多邊形最終都能分割成三角形來處理,而曲面則可以由平片三角面片的集合來近似。當(dāng)然,在三維物體的造型過程中,還有很多中表示方法,如NURBS、B樣條等等,但目前最終的造型結(jié)果一般都表示成為三角面片網(wǎng)格。所以,計(jì)算機(jī)圖形學(xué)界的各種表面化簡算法也都是基于三角面片網(wǎng)格進(jìn)行的。通過前一節(jié)中所述的表面重建算法得到的三維模型也是按照三角形面片的形式組織的。

OpenGL是獨(dú)立于操作系統(tǒng)的、開放式的三維圖形標(biāo)準(zhǔn),用戶可以方便地利用它創(chuàng)建出接近光線跟蹤的高質(zhì)量靜止或動(dòng)畫的三維彩色圖像。OpenGL實(shí)際上是一種圖形與硬件的接口,它包括了100多個(gè)圖形函數(shù),可以利用這些函數(shù)建立三維模型和三維實(shí)時(shí)交互。與其他圖形軟件程序設(shè)計(jì)接口不同的是,OpenGL提供了接口定義非常清晰的圖形函數(shù)。利用這些圖形函數(shù),用戶可以非常方面的顯示各種數(shù)據(jù)源。

三維重建軟件系統(tǒng)的模型顯示方法就是利用OpenGL來繪制的,同時(shí)使用OpenGL建立自己的視點(diǎn),指定觀察角度、方向與觀察圍的大小,進(jìn)行放大、縮小等變換以與完成設(shè)定顏色、光源等功能。由于OpenGL的命令比較基礎(chǔ)和瑣碎,我們在編碼的時(shí)候?qū)λM(jìn)行了封裝。

本論文所作的工作與組織

本論文成功開發(fā)了“醫(yī)學(xué)影像存取與傳輸系統(tǒng)”(PictureArchivingandCommunicationSystem,以下稱PACS系統(tǒng))中獨(dú)立的子系統(tǒng)――醫(yī)學(xué)影像三維重建軟件My3d。它接受符合“數(shù)字醫(yī)學(xué)影像傳輸標(biāo)準(zhǔn)3.0”(DigitalImagingandCommunicationsinMedicine3.0,以下稱DICOM3.0)的數(shù)據(jù)作為輸入,由用戶選擇待重建的器官組織后,就可以提供給用戶易于觀察和設(shè)置各種參數(shù)的三維影像。在軟件實(shí)現(xiàn)過程中,我們構(gòu)建了軟件框架,選擇了適合的技術(shù)路線,并解決了一些具體的問題,包括討論來自PACS系統(tǒng)的DICOM格式的數(shù)據(jù)來源;在低分辨率顯示器上顯示高分辨率數(shù)據(jù);設(shè)計(jì)代碼結(jié)構(gòu)進(jìn)行輪廓線編輯;以與封裝OpenGL使它更為方便有效的顯示三維模型。

本論文在討論常用的三維重建算法(包括表面重建和體重建)的基礎(chǔ)上,對(duì)其中的部分算法進(jìn)行改進(jìn)。Lorensen和Cline兩人提出MarchingCubes算法是在三維空間規(guī)則數(shù)據(jù)場中構(gòu)造等值面的最有代表性的方法,它根據(jù)用戶給出的所求等值面的值,逐個(gè)處理數(shù)據(jù)場中的體元,找出等值面經(jīng)過的體元的位置,求出該體元等值面并計(jì)算出相關(guān)參數(shù)。本文對(duì)該方法提出了改進(jìn),將三維表面的重建和簡化過程融為一體,在等值面的生成過程中就自適應(yīng)的完成了面片合并,從而在損失精度很小的情況下獲得了更適合交互顯示的簡化模型;多輪廓的拼接非常困難而且容易出錯(cuò),本文提出了一種把輪廓線之間的形體重構(gòu)問題轉(zhuǎn)化成體數(shù)據(jù)中等值面構(gòu)造問題的方法,解決了多輪廓線連接的困難。

程序的框架結(jié)構(gòu)對(duì)于一個(gè)較復(fù)雜的軟件而言十分重要,既關(guān)系到開發(fā)軟件的成功與否,又關(guān)系到開發(fā)過程的工作量,以與程序運(yùn)行質(zhì)量和可重用性,因此在軟件開發(fā)的過程中,我們強(qiáng)調(diào)了設(shè)計(jì)模式在系統(tǒng)中的應(yīng)用。本文將討論幾個(gè)使用實(shí)例。

對(duì)上述的工作容,本文將按照如下方式進(jìn)行組織:

本文第二章討論醫(yī)學(xué)斷層圖像三維重建算法。為了保證完整性,本文順序討論等值面抽取算法和直接體繪制算法。在等值面抽取算法中探討了MarchingCubes(MC)算法、DiscretizedMarchingCubes算法、MarchingTetrahedra算法、剖分立方體算法和輪廓拼接方法。其中DiscretizedMarchingCubes算法是對(duì)MC算法的改進(jìn)。多輪廓線拼接困難的解決方法則在輪廓拼接這一節(jié)中描述。第三章探討三維重建軟件的實(shí)現(xiàn)。將依次討論:用DICOM網(wǎng)關(guān)來得到統(tǒng)一的數(shù)據(jù)來源;平面圖形圖像相關(guān)的設(shè)計(jì);三維模型的顯示方法。第四章用獨(dú)立的章節(jié)討論幾個(gè)設(shè)計(jì)模式的使用實(shí)例。最后一章是工作總結(jié)和未來工作展望。

醫(yī)學(xué)斷層圖像三維重建算法

﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡

等值面抽取算法:

MarchingCubes(MC)算法與其改進(jìn)

MarchingTetrahedra算法和剖分立方體算法

輪廓拼接

直接體繪制算法

光線投射算法

﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡

對(duì)于分布在三維空間的體數(shù)據(jù)來說,有兩類不同的可視化算法:

第一類算法稱為等值面抽取算法,它首先由三維空間數(shù)據(jù)場構(gòu)造出中間幾何圖元(如曲、平面)等,然后由傳統(tǒng)的計(jì)算機(jī)圖形學(xué)技術(shù)實(shí)現(xiàn)畫面繪制。最常見的的中間幾何圖元是平面片,當(dāng)我們需要從三維空間數(shù)據(jù)場抽取出等值面的時(shí)候就屬于這種情況??梢猿槿∫粋€(gè)等值面,也可以抽取多個(gè)等值面。這種方法只是將原始數(shù)據(jù)的部分屬性映射成平面或者曲面,因而它構(gòu)造出的可視化圖形不能反應(yīng)整個(gè)原始數(shù)據(jù)場的全貌和細(xì)節(jié)。但是它可以產(chǎn)生比較清晰的等值面圖像,而且可以利用現(xiàn)有的圖形硬件實(shí)現(xiàn)繪制功能,是圖像生成和變換的速度加快。因此,這是一類常用的可視化方法。

第二類算法并不構(gòu)造中間幾何圖元,而是直接由三維數(shù)據(jù)場產(chǎn)生屏幕上的二維圖像,稱為體繪制(Volumerendering)算法或者直接體繪制算法(DirectVolumeRendering)算法。這種方法直接對(duì)待重建數(shù)據(jù)進(jìn)行處理,可以產(chǎn)生三維數(shù)據(jù)場的整體圖像,包括每一個(gè)細(xì)節(jié),并具有圖像質(zhì)量高,便于并行處理等優(yōu)點(diǎn)。它存在的主要問題是:計(jì)算量太大,難于利用傳統(tǒng)的圖像硬件加速繪制,因而計(jì)算時(shí)間較長,不適合交互顯示。

等值面抽取算法

等值面抽取算法構(gòu)造出來的可視化圖形雖然不能反映整個(gè)原始數(shù)據(jù)場的全貌和細(xì)節(jié),但是可以對(duì)感興趣的等值面產(chǎn)生清晰的圖像,而且可以利用現(xiàn)有的圖形硬件實(shí)現(xiàn)繪制功能,速度較快,適合實(shí)時(shí)交互,因而得到了廣泛的應(yīng)用。

在三維空間規(guī)則數(shù)據(jù)場種構(gòu)造等值面的方法很多,大概可以分為兩類:

一類是輪廓拼接。它先將三維數(shù)據(jù)場從Z方向分解成若干層二維數(shù)據(jù),然后從二維數(shù)據(jù)里面提取出輪廓線,最后把一系列的二維輪廓線拼接成三維模型。

另一類方法直接從三維數(shù)據(jù)場抽取出等值面,其中最有代表性的是MarchingCubes(MC)算法,是由W.E.Lorenson和H.E.Cline在1987年提出來的。這一方法原理簡單,易于實(shí)現(xiàn),目前已經(jīng)得到了廣泛的應(yīng)用。屬于這一類方法的還有離散MarchingCubes算法,MarchingTetrahedra算法和剖分立方體算法[9]。

MarchingCubes(MC)算法

MarchingCubes算法是一種應(yīng)用很廣泛的由體密度數(shù)據(jù)重構(gòu)三維等值面的方法,于1987年由Lorensen和Cline兩人提出。處理的對(duì)象一般是CT,或是MRI圖像。數(shù)據(jù)點(diǎn)都位于網(wǎng)格點(diǎn)上,一般適用于灰度圖,這樣可以明確給出閾值。它的目的是從這樣的體數(shù)據(jù)中抽取出三維結(jié)構(gòu)的邊界面,但它不是像二維中追蹤等值線一樣需要鄰接關(guān)系,而是孤立的看待每一個(gè)體元,由體元八個(gè)頂點(diǎn)的數(shù)據(jù)值來得到在該立方體的邊界面,以三角面片的形式來表示。

基本原理

圖2.1數(shù)據(jù)場中的一個(gè)體元

離散的三維空間規(guī)則數(shù)據(jù)場的一個(gè)體元可以用圖2.1表示。8個(gè)數(shù)據(jù)點(diǎn)位于該體元的8個(gè)定點(diǎn)上。對(duì)于一個(gè)體元(立方體)來說,給定等值面的閾值后,立方體的每個(gè)頂點(diǎn)要么在等值面外,要么在等值面。我們規(guī)定:

1)如立方體頂點(diǎn)的數(shù)據(jù)值≥等值面的值,則定義該頂點(diǎn)位于等值面之外,記為“0”;

2)如立方體頂點(diǎn)的數(shù)據(jù)值<等值面的值,則定義該頂點(diǎn)位于等值之,記為“1”。

頂點(diǎn)狀態(tài)有2的8次方256種可能的情況。然而從拓?fù)涞慕嵌葋砜?,?jīng)過反轉(zhuǎn)和旋轉(zhuǎn)變換之后只有15種不同的情況(如圖2.2)。圖中還顯示了在該種拓?fù)錉顟B(tài)下立方體的等值面的定性情況(以三角面片表示)。

確定體元狀態(tài)之后,使用線性插值求出等值面和體元邊界的交點(diǎn),之后將這些交點(diǎn)連接成三角形,作為等值面的一部分。

為了利用圖形硬件顯示等值面圖像,必須給出組成等值面的三角形面片的法向。MC算法采用中心差分求體元各角點(diǎn)處的梯度,然后在體元邊界上再次采用線性插值求交點(diǎn)的梯度,也就是各三角形頂點(diǎn)的法向。為了消除三角面片之間明暗度不連續(xù)變化,三角面片采用Gourand模型繪制。

總之,MC算法的流程如下:

將三維離散規(guī)則數(shù)據(jù)場分層讀入存;

掃描兩層數(shù)據(jù),逐個(gè)構(gòu)造體元,每個(gè)體元8個(gè)頂點(diǎn)來自相鄰的兩層;

將體元每個(gè)交點(diǎn)的函數(shù)值和給定的等值面做比較,根據(jù)比較結(jié)果,構(gòu)造該體元的狀態(tài)表;

根據(jù)狀態(tài)表,得出與等值面由交點(diǎn)的體元邊界;

通過線性插值方法,計(jì)算出體元邊界和等值面的交點(diǎn);

利用中心差分方法,求出體元各個(gè)頂點(diǎn)處的法向,通過線性插值方法,求出三角形各個(gè)頂點(diǎn)處的法向;

根據(jù)三角形面片和各個(gè)頂點(diǎn)的坐標(biāo)值和法向量繪制等值面圖像。

存在問題:二義性

在MC算法中,在體元的一個(gè)面上,如果值為1的頂點(diǎn)和值為0的頂點(diǎn)分別位于對(duì)角線的兩端,就會(huì)含有兩種可能的連接方式,因而存在著二義性[10],如圖2.3所示。這樣的面稱為二義性面,包含二義性面的體元稱為具有二義性的體元。一個(gè)體元可能包含多個(gè)二義性面。

3.消除二義性:

MC方法的二義性問題如果不解決,將造成等值面連接上的錯(cuò)誤。人們也提出了幾種不同的判別和消除二義性的方法,其中以漸近線法最為常用。

一般情況下,等值面和體元邊界所在平面的交線是雙曲線。該雙曲線的兩支與其漸近線與體元的一個(gè)邊界面的相互位置可以用圖2.4來表示。在該圖所列的四種狀態(tài)中,當(dāng)雙曲線的兩支均與某邊界面相交時(shí),就產(chǎn)生了連接方式的二義性。這時(shí),雙曲線的兩支將邊界面劃分成3個(gè)區(qū)域。

雙曲線的兩條漸近線的交點(diǎn)坐標(biāo)是:

當(dāng)出現(xiàn)二義性時(shí),需要計(jì)算f(X,Y,Zo)的值,如果f(X,Y,Zo)>Co,則漸近線的交點(diǎn)應(yīng)該與函數(shù)值大于Co的對(duì)角點(diǎn)落在同一區(qū)域。如果f(X,Y,Zo)<Co,則漸近線的交點(diǎn)應(yīng)該與函數(shù)值小于Co的對(duì)角點(diǎn)落在同一區(qū)域。這就是當(dāng)出現(xiàn)二義性的時(shí)候,交點(diǎn)之間的連接規(guī)則。如圖2.5所示。

在圖2.2所列的全部15種情況中,第0,1,2,4,5,8,9,11,14這9種情況不存在二義性。第3,6兩種情況各存在一個(gè)二義性面,因此各有兩種連接方式。第10,12兩種情況,各存在兩個(gè)二義性面,因此各有四種諒解方式。第7種有3個(gè)二義性面,因而有8種連接方式。第13種情況有6個(gè)二義性面,因而有64種連接方式。以上各種情況加在一起,共有93種不同的連接方式。

DiscretizedMarchingCubes算法

離散MarchingCubes算法(簡記為DiscMC)是C.Montani,R.Scateni和R.Scopigno在1994年提出的一種新型的MarchingCubes的改進(jìn)算法[11],它將三維表面的重構(gòu)和簡化過程融為一體,在等值面的生成過程中就自適應(yīng)的完成了面片合并。與其它簡化算法相比,DiscMC具有算法效率高、簡化比例高,損失精度小等優(yōu)點(diǎn)。同時(shí),DiscMC還采用了非常簡捷的辦法解決了經(jīng)典MarchingCubes算法中的二義性問題。

經(jīng)典MarchingCubes算法直接根據(jù)體元頂點(diǎn)的外狀態(tài)構(gòu)造出三角面片,這些三角面片的頂點(diǎn)是根據(jù)所在邊的兩個(gè)頂點(diǎn)的密度值通過插值計(jì)算得出。

DiscMC則把整個(gè)過程分成三步:

(1)掃描(Marching):首先,所有與等值面相交的體元被逐一掃描,根據(jù)其八個(gè)頂點(diǎn)的外狀態(tài)按照規(guī)定好的方式生成三角面片。在這一步中,所有生成的三角面片只是用它所在體元的位置和其形態(tài)的編號(hào)進(jìn)行記錄,并不計(jì)算實(shí)際的頂點(diǎn)坐標(biāo)值。也就是先假設(shè)所有的三角形面片的頂點(diǎn)只可能落在立方體體元邊界的中點(diǎn)和體元中心點(diǎn)這13個(gè)地方,因而生成的三角形面片的形狀是個(gè)數(shù)有限的。

(2)合并(Merging):三角面片生成后,將凡是位于同一平面并且相鄰的三角面片合并,形成大的多邊形,隨后,大的多邊形又被重新劃分為三角形。

(3)插值(Interpolating):DiscMC的最后一個(gè)步驟是通過線性插值計(jì)算出最后所得的三角面片的頂點(diǎn)坐標(biāo),這一步和經(jīng)典的MC算法是一樣的。

離散MarchingCubes算法中“離散”的思想就是延后插值計(jì)算,之前生成的三角面片全部用離散值來表示,也就是說,三角面片所處平面的位置、方向,在所處體元中的位置、形態(tài)全部都是離散量,僅有有限數(shù)目的可能取值。

步驟一、掃描

根據(jù)以上的思想,在第一個(gè)步驟——掃描的過程中,所生成的三角面片的頂點(diǎn)在一個(gè)體元中只有13個(gè)可能位置(每條邊的中點(diǎn)12個(gè),外加體元中心點(diǎn))。三角面片的可能平面方向也只有圖2.6中列出的13種。當(dāng)然,如果考慮平面的法向方向,則一共是26種。DiscMC也同時(shí)規(guī)定了在掃描這一步中所有可能產(chǎn)生的三角面片都是圖2.6中的某一個(gè)。

在掃描過程中,三角面片生成后就馬上根據(jù)其所處的平面方向和位置存儲(chǔ)在一個(gè)兩層的鏈表結(jié)構(gòu)中。第一個(gè)層次存儲(chǔ)26個(gè)不同的平面方向,每個(gè)元素指向另一個(gè)鏈表,該鏈表存儲(chǔ)了這個(gè)方向上的一系列平行的平面。第二個(gè)層次上每一個(gè)元素均是一個(gè)鏈表,存儲(chǔ)該平面上的已生成的三角面片,這樣存儲(chǔ)的三角面片只需用它在該平面上的位置信息記錄即可,這樣也便于后面合并過程的進(jìn)行。

步驟二、合并

DiscMC的核心是三角面片合并這一步,合并的目的是將所有鄰接且位于同一平面的三角面片合并成大的多邊形,再將得到的多邊形劃分為盡可能大的凸多邊形,最后再將得到的凸多邊形劃分成三角形。這樣,合并過程又可以分為三個(gè)子步驟:(1)合并、(2)分割、(3)三角形劃分。下面將以z=c平面為例描述這一過程。

(1)合并是將掃描步驟中產(chǎn)生的在同一平面又相鄰的小三角面片合并,形成大的多邊形,如圖2.7所示。

在合并過程中,每一個(gè)在掃描過程中形成的統(tǒng)一平面上的三角面片被重新以“異或”模式寫入一個(gè)二維數(shù)組,這樣,這些三角面片就自然而然的“合并”了,數(shù)組中僅剩下合并后多邊形的邊界。另外,所有三角面片的水平邊也不需要記錄,只要記錄垂直邊和斜邊就足可以表示多邊形的邊界了。

(2)分割是將合并得到的多邊形分割為一個(gè)個(gè)小的凸多邊形,以便進(jìn)行下一步的三角形分割。如圖2.8所示。

為了方便起見,凸多邊形的分割是按水平方向進(jìn)行的自上而下進(jìn)行的。分割完成后,每個(gè)凸多邊形的信息便從二維數(shù)組中提取出來,按照逆時(shí)針的順序?qū)⑵漤旤c(diǎn)存儲(chǔ)在一個(gè)鏈表中。

(3)三角形劃分是將分割得到的各個(gè)凸多邊形最后化分為三角形,形成三角面片網(wǎng)格模型。如圖2.9

步驟三:插值

節(jié)點(diǎn)的坐標(biāo)值最終通過線性插值計(jì)算出來,這一步同經(jīng)典的MarchingCubes算法是一樣的。

從上述的算法描述中可以看出,DiscMC具有以下特點(diǎn):

(1)由于DiscMC算法的主要部分是基于離散值的,耗時(shí)的插值計(jì)算量被降至了最低,故而算法效率很高,這在后面的實(shí)驗(yàn)結(jié)果中也得到了驗(yàn)證。

(2)簡化比例高,由于凡是位于同一平面且相鄰的三角面片都進(jìn)行合并,所以如果初始三維表面比較平坦,可以達(dá)到很高的簡化比,并保持有限的精度損失。

(3)可以保持細(xì)微結(jié)構(gòu),只要某細(xì)微結(jié)構(gòu)在第一次的掃描中能夠體現(xiàn)出來,則它就不會(huì)被DiscMC的簡化過程所破壞,這也是DiscMC優(yōu)于其他簡化算法的地方。

MarchingTetrahedra算法和剖分立方體算法

MarchingTetrahedra(MT)方法是從MC方法的基礎(chǔ)上發(fā)展起來的。該方法首先剖分立方體體元為四面體,然后在其中構(gòu)造等值面。這種方法的優(yōu)點(diǎn)有:

首先,由于四面體是最簡單的多面體,其它類型的多面體都能剖分成四面體,因而具有廣泛的應(yīng)用背景。

其次,將立方體剖分成四面體后,在四面體中構(gòu)造的等值面的精度顯然比在立方體中構(gòu)造的等值面要高。

剖分立方體算法和MC算法一樣,對(duì)數(shù)據(jù)場中的體元逐層、逐行、逐列的進(jìn)行處理。當(dāng)某一個(gè)體元8個(gè)頂點(diǎn)的函數(shù)值均大于(或者均小于)給定的等值面的數(shù)值時(shí),就表明等值面不通過該體元,因而不予處理。當(dāng)某一個(gè)體元8個(gè)頂點(diǎn)的函數(shù)值中有的大于等值面的值,有的小于等值面的值,而此體元在屏幕上的投影又大于象素時(shí),則將此體元沿x,y,z三個(gè)方向進(jìn)行剖分直至其投影小于等于象素后,在對(duì)所有剖分后的小體元的8個(gè)頂點(diǎn)進(jìn)行檢測。當(dāng)部分頂點(diǎn)的函數(shù)值大于等值面的值,部分頂點(diǎn)的函數(shù)值小于等值面的值時(shí),將此小體元投影到屏幕上,形成所需要的等值面圖像。

輪廓拼接

由一個(gè)序列的二維輪廓線重構(gòu)三維形體有著廣泛的應(yīng)用。在我們的三維重建軟件中,如果CT或者M(jìn)RI圖像兩層之間的切片距離遠(yuǎn)遠(yuǎn)大于圖像的分辨率,也就是Z方向的采樣十分稀疏,或者,由于目前的圖像分割技術(shù)不能完全準(zhǔn)確的分割出共存于二維圖像中的不同物質(zhì),往往需要人工干預(yù),由醫(yī)學(xué)專家勾劃出感興趣的區(qū)域,這種時(shí)候就需要從一個(gè)序列的二維輪廓重構(gòu)出三維形體。

單、凸輪廓線之間的三維形體重構(gòu)

假設(shè)兩相鄰平面上各有一輪廓線(如圖2.10所示)。上輪廓線上的點(diǎn)列為P(0),P(1),P(2)…P(m-1);下輪廓線上的點(diǎn)列為Q(0),Q(1),Q(2)…Q(n-1)。點(diǎn)列均按照逆時(shí)針方向排列。如果將上述點(diǎn)列分別依次用直線連接起來,則得到這條輪廓線的多邊形近似表示。連接上輪廓線上一點(diǎn)和下輪廓線上一點(diǎn)的線段稱為跨距。很顯然,一條輪廓線線段和它兩端端點(diǎn)與相鄰輪廓線上的一點(diǎn)相連的兩段跨距構(gòu)成了一個(gè)三角面片,稱為基本三角面片。

如何確定上輪廓和下輪廓的連接辦法?J.Fuchs等用優(yōu)化辦法來確定可接受表面,并假定優(yōu)化的目標(biāo)是兩平行平面的輪廓線之間連接生成的表面面積最小[12]。同樣有人提出了別的優(yōu)化目標(biāo),比如使得兩平行平面的輪廓線之間連接生成表面所包圍的體積最大[13]。但是無論哪一種目標(biāo)函數(shù)都需要全局搜索策略來求解,盡管已經(jīng)提出了不少算法,但是效率不高。

基于局部計(jì)算和決策的啟發(fā)式方法和上述方法不同,它不要求全局最優(yōu),而是基于局部計(jì)算來決定當(dāng)前的選擇。它得到的似近似最優(yōu)解,計(jì)算量小,速度快,實(shí)例效果尚可。比如:

最短對(duì)角線法[14]

如圖2.10所示,假如當(dāng)前已經(jīng)確定P(i)Q(i)為跨距,在選擇P(i)Q(i+1)還是P(i+1)Q(i)作為下一個(gè)跨距的時(shí)候,只需要選擇其中距離小的就可以。這種方法簡單,容易實(shí)現(xiàn),當(dāng)上下兩條輪廓線的大小和興致相近,對(duì)中情況較好是,效果不錯(cuò)。

為了使得該算法能夠適應(yīng)更加復(fù)雜的情況,可以將上下兩條輪廓線都變換到以統(tǒng)一原點(diǎn)為中心的單位正方形里面,從而較好的保證了大小和形狀相似,并使得對(duì)中情況較好。在變換后的輪廓線之間連接好三角面片之后,需要進(jìn)行反變換,將各輪廓線變換到原來的位置。

最大體積法

這種方法和上面的最短對(duì)角線法的思路和步驟一致,只是在選擇下一個(gè)跨距的時(shí)候,把選擇標(biāo)準(zhǔn)改成選擇所圍體積較大者

相鄰輪廓線同步前進(jìn)法[15]

這個(gè)方法和上述兩種方法也很相似,只是在選擇下一個(gè)跨距的時(shí)候,把選擇標(biāo)準(zhǔn)改成:盡量使得上下兩輪廓線中已經(jīng)連接過三角面片的輪廓線線段長度占該輪廓線所有線段長度的比例保持一致。

非凸單輪廓線之間的三維形體重構(gòu)

當(dāng)相鄰兩輪廓線之間其中之一為非凸輪廓線的時(shí)候,構(gòu)造兩輪廓線之間的可接受表面要復(fù)雜一些,上述三種方法都很容易出現(xiàn)錯(cuò)誤的結(jié)果。

實(shí)現(xiàn)非凸輪廓線之間的三角面片重構(gòu)比較好的方法是首先將非凸輪廓線變換為凸輪廓線,在凸輪廓線之間構(gòu)造好三角面片之后,再將其反變化為非凸輪廓線[16]。

變換的過程首先是遞歸求出封閉輪廓線的所有非凸輪廓線點(diǎn)集。如圖2.11所示,首先求得輪廓線P的凸包E={1,2,4,8,9},P和E之間的差為兩個(gè)凹區(qū){2,3,4}和{4,5,6,7,8},對(duì)這兩個(gè)凹區(qū)繼續(xù)進(jìn)行分解,直到所有分解出來的點(diǎn)集都是凸的為止。

接著,非凸輪廓線的變換從樹形結(jié)構(gòu)的葉子開始,自底向上,逐級(jí)消除非凸輪廓線的基本凹區(qū),最后形成一條凸輪廓線。針對(duì)上面例子,對(duì)凹區(qū){2,3,4}處理的步驟把3映射到2和4為端點(diǎn)的線段上;對(duì)凹區(qū){4,5,6,7,8}處理的步驟是:先把點(diǎn)6映射到5和7組成的線段上,然后把5,6,7同時(shí)映射到4和9組成的線段上。

非凸輪廓線變換稱為凸輪廓線后,使用前面所述的啟發(fā)性算法進(jìn)行構(gòu)造三維表面,構(gòu)造之后進(jìn)行反變換,將各輪廓線變換到原來的位置

多輪廓線之間的三維形體重構(gòu)

如果在相鄰的兩層上,或者在其中的一層上,有多條輪廓線,則需要解決多輪廓線之間的三維形體重構(gòu)問題,這要比單輪廓線之間的形體重構(gòu)復(fù)雜的多。

首先要解決的是輪廓線之間的對(duì)應(yīng)問題,也就是兩層之間的多個(gè)輪廓線之間的連接關(guān)系。由于應(yīng)用領(lǐng)域的不同,輪廓線之間的連接關(guān)系變換繁多,非常復(fù)雜。利用兩輪廓線之間的覆蓋程度來決定其連接關(guān)系,只能適用于采樣密度高,相鄰層之間的間距小等簡單情況。對(duì)于稍微復(fù)雜一些的情況,解決問題是非常困難的,往往需要人機(jī)交互來實(shí)現(xiàn)。對(duì)于我們的三維重建軟件來說,要求用戶去學(xué)習(xí)重建知識(shí)是不合適的。

為了使得算法既能適應(yīng)復(fù)雜情況,又不需要人機(jī)交互,我們提出了把輪廓線之間的形體重構(gòu)問題轉(zhuǎn)化成體數(shù)據(jù)中等值面構(gòu)造問題的方法,該方法要求被處理的輪廓線是封閉的(這個(gè)在進(jìn)行二維輪廓線編輯的過程中我們已經(jīng)保證),它無需預(yù)先判斷輪廓線之間的對(duì)應(yīng)關(guān)系和分支關(guān)系,也適用于非凸輪廓線。

該算法由體數(shù)據(jù)的構(gòu)造和表面生成兩部分組成。因?yàn)闃?gòu)造體數(shù)據(jù)后的表面生成只需使用前面提到的MC算法即可,所以在這里我們只討論如何構(gòu)造體數(shù)據(jù)。對(duì)于輪廓線所在平面上的每一個(gè)點(diǎn)(x,y),如果點(diǎn)在輪廓線外,我們定義它的值為-1;如果點(diǎn)在輪廓線上,我們定義它的值為0;如果點(diǎn)在輪廓線,那么定義它的值為1。經(jīng)過這樣的變換,定義于一系列平面上的多條輪廓線就轉(zhuǎn)換為體數(shù)據(jù),其中每個(gè)體元具有8個(gè)頂點(diǎn),頂點(diǎn)的數(shù)值為-1,0或者1。

如何判斷點(diǎn)處在輪廓線部還是外部?我們使用掃描線算法作為多邊形填充算法。掃描線算法的基本步驟如下:

(1)對(duì)每個(gè)多邊形求取其頂點(diǎn)中所含的Y的最小值Ymin和最大值Ymax,按Ymin進(jìn)行排序,建立活性多邊形表,活性多邊形表中包含與當(dāng)前掃描線相交的多邊形。

(2)從上到下依次對(duì)每一條掃描線進(jìn)行消隱處理,對(duì)每條掃描線上的點(diǎn)置初值,Z值Z(x)取為最大,x點(diǎn)的填充值I(x)取為-1。

(3)對(duì)每條掃描線Y,按活化多邊形表找出所有與當(dāng)前掃描線相交的多邊形。對(duì)每個(gè)活性多邊形,求出掃描線在此多邊形的部分,對(duì)這些部分中每個(gè)象素x計(jì)算多邊形在此處的Z值,若Z小于Z(x),則置Z(x)為Z,I(x)為1

(4)當(dāng)掃描線對(duì)活化多邊形表中的所有多邊形都處理完畢后,所得的I(x)即為1,可進(jìn)行顯示并換下一條掃描線進(jìn)行處理,即掃描線的y=y+1。此時(shí)應(yīng)更新活性多邊形表,將已完全處于掃描線上方的多邊形,即Ymax<Y的多邊形移出活性多邊形表,將不在當(dāng)前活性多邊形表中的與新一條掃描線相交的多邊形,即Ymin=Y的多邊形加入活性多邊形表。

按以上步驟處理完屏幕上所有的掃描線,物體的顯示和消隱就完成了。在第(3)步掃描線與多邊形求交時(shí),可對(duì)多邊形建立活性邊表,以提高效率,當(dāng)然在每次處理新的掃描線時(shí)也要更新活性邊表。在計(jì)算Z值時(shí)可以和在Z-buffer算法中一樣,利用多邊形點(diǎn)與點(diǎn)間的水平和垂直相關(guān)性。

直接體繪制算法

體繪制是三維數(shù)據(jù)可視化的一種重要手段,它是一種將三維體數(shù)據(jù)投影到二維圖像平面上的方法,這其中包含了大量計(jì)算。體繪制由于直接研究光線通過體數(shù)據(jù)場與體素的相互關(guān)系,無需構(gòu)造中間面,體素的許多細(xì)節(jié)信息得以保留,結(jié)果的保真性大為提高。雖然從交互性能和算法效率上講,面繪制還是要優(yōu)于體繪制的,但是從結(jié)果圖像的質(zhì)量上講,體繪制要優(yōu)于面繪制。

直接體繪制算法的分類

根據(jù)不同的繪制次序,體繪制方法主要分為三類:以圖象空間為序的體繪制方法,以物體空間為序的體繪制方法和基于頻域空間的體繪制算法。

(1)以圖象空間為序的體繪制方法是從屏幕上每一象素點(diǎn)出發(fā),根據(jù)視點(diǎn)方向,發(fā)射出一條射線,這條射線穿過三維數(shù)據(jù)場,沿射線進(jìn)行等距采樣,求出采樣點(diǎn)處物體的不透明度和顏色值??梢园从汕暗胶蠡蛴珊蟮角暗膬煞N順序,將一條光線上的采樣點(diǎn)的顏色和不透明度進(jìn)行合成,從而計(jì)算出屏幕上該象素點(diǎn)的顏色值。這種方法是從反方向模擬光線穿過物體的過程。

(2)以物體空間為序的體繪制方法首先根據(jù)每個(gè)數(shù)據(jù)點(diǎn)的函數(shù)值計(jì)算該點(diǎn)的顏色與不透明度,然后根據(jù)給定的視平面和觀察方向,將每個(gè)數(shù)據(jù)點(diǎn)投影到圖象平面上,并按數(shù)據(jù)點(diǎn)在空間中的先后遮擋順序,合成計(jì)算不透明度和顏色,最后得到圖象。

(3)基于頻域空間的體繪制算法[18]于1993年被提出,它大大減少了上述兩種方法的計(jì)算量。我們可以將通過體繪制得到圖像的過程,看穿是三維數(shù)據(jù)場沿著視線方向的數(shù)值積累,也就是數(shù)據(jù)場到圖像平面的投影。我們可以運(yùn)用傅立葉-截面定理,在三維數(shù)據(jù)場對(duì)應(yīng)的頻域場中,按照給定的視線方向經(jīng)過原點(diǎn)抽取一個(gè)截面,再將這個(gè)截面作逆傅立葉變換,就可在空域的圖像平面里面得到所需要的投影。

光線投射算法

光線投射算法是一種基于圖像空間掃描來實(shí)現(xiàn)體繪制的離散方法。光線投射方法從圖象平面的每個(gè)象素向數(shù)據(jù)場投射光線,在光線上采樣或沿線段積分計(jì)算光亮度和不透明度,按采樣順序進(jìn)行圖象合成,得到結(jié)果圖象。它從反方向模擬光線穿過物體的全過程,并最終計(jì)算這條光線穿過數(shù)據(jù)場后的顏色。

光線投射算法主要有如下的過程(繪制流程見圖2.12):

(1)數(shù)據(jù)預(yù)處理:包括采樣網(wǎng)格的調(diào)整,數(shù)據(jù)對(duì)比增強(qiáng)等;

(2)數(shù)據(jù)分類和光照效應(yīng)計(jì)算:分別建立數(shù)據(jù)值到顏色值和不透明度之間的映射,并采用中心差分方法計(jì)算法向量,進(jìn)行光照效應(yīng)的計(jì)算;

(3)光線投射:從屏幕上的每個(gè)象素沿著觀察方向投射光線,穿過數(shù)據(jù)場,在每一根光線上采樣,插值計(jì)算出顏色值和不透明度;

(4)合成與繪制:在每一根光線上,將每一個(gè)采樣點(diǎn)的顏色值按前后順序合成,得到象素的顏色值,顯示象素。

體繪制加速算法

為了加速體繪制,許多加速算法被提了出來。這些加速算法,有的是對(duì)基于圖像空間的方法進(jìn)行改進(jìn),有的是對(duì)基于對(duì)象空間的方法進(jìn)行改進(jìn),有的則對(duì)這兩類方法都適用。

基于圖像空間的方法以LevoyM.于1988年提出的光線投射法(RayCasting)為代表??臻g跨躍是加速光線投射式體繪制方法的一種常用手段,它的核心是跨過空的體素?;谶@個(gè)思想的加速算法有:由Cohen和Shefer提出的ProximityClouds[19];由Zuiderveld提出的通過距離編碼的光線加速法[20];還有Sramek提出的跳過大圍空區(qū)域的方法[21]等。所有上述算法都是通過避免不必要的、費(fèi)時(shí)的空體素采樣實(shí)現(xiàn)加速的。

基于對(duì)象空間的方法是以WestoverL.1990年提出的濺射(Splatting)算法[22]為代表?;趯?duì)象空間的體繪制算法的加速技術(shù)主要圍繞著數(shù)據(jù)壓縮和分層的數(shù)據(jù)結(jié)構(gòu),通過訪問盡可能少的體素來提高速度而不明顯降低圖像質(zhì)量。

錯(cuò)切-變形(Shear-Warp)算法[23]是LacrouteP.于1994年提出的既可用于加速光線投射又可用于加速Spaltting的體繪制算法。它的主要優(yōu)點(diǎn)是將三維的視覺變換轉(zhuǎn)換成物體的錯(cuò)切和兩維的變形,錯(cuò)切后的物體首先投射到中間圖像平面上,然后再經(jīng)變形生成最后的結(jié)果圖像。物體投影的方向并不是任意的,而是沿著最主要軸(±X,±Y,±Z坐標(biāo)軸)的方向,這就大大簡化了光線投射和Splatting方法的過程。此外,并行與分布式[24][25]計(jì)算也是提高體繪制速度的方法之一。

綜觀上述算法可以看出這些加速算法都是依賴于某種連貫性的,如時(shí)間、物體空間、圖像空間、立體圖和光線采樣空間的連貫性等。

小結(jié)

本章介紹了兩類三維重建算法:等值面抽取算法和直接體繪制算法。

等值面抽取算法首先由三維空間數(shù)據(jù)場構(gòu)造出中間幾何圖元(如曲、平面)等,然后由傳統(tǒng)的計(jì)算機(jī)圖形學(xué)技術(shù)實(shí)現(xiàn)畫面繪制。它又可以分為兩類:一類從三維體數(shù)據(jù)直接抽取出等值面,還有一類先從二維數(shù)據(jù)得到輪廓線,然后把多層的輪廓線拼接成三維模型。對(duì)前者,本章介紹了MarchingCubes算法、MarchingTetrahedra算法和剖分立方體算法,并對(duì)MarchingCubes算法的改進(jìn)進(jìn)行了討論。對(duì)于輪廓拼接,本章介紹了單輪廓線的連接方法,同時(shí)指出要把單輪廓線的方法擴(kuò)展到多輪廓線的困難,并提出了一種新的把輪廓線之間的形體重構(gòu)問題轉(zhuǎn)化成體數(shù)據(jù)中等值面構(gòu)造問題的方法。

直接體繪制算法并不構(gòu)造中間幾何圖元,而是直接由三維數(shù)據(jù)場產(chǎn)生屏幕上的二維圖像。本章簡單介紹了體繪制方法的分類,討論了其中最常用的光線投射算法,并對(duì)體繪制算法的加速算法做一個(gè)簡單的概括。

三維重建軟件My3d的實(shí)現(xiàn)

﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡

My3d和PACS的關(guān)系

DICOM網(wǎng)關(guān)

二維圖像的顯示和處理

三維模型渲染方法

程序類圖的設(shè)計(jì)

﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡﹡

My3d和PACS的關(guān)系

運(yùn)行于廣醫(yī)二院的PACS系統(tǒng),主要由圖像管理子系統(tǒng)、醫(yī)師工作站子系統(tǒng)和數(shù)據(jù)庫管理子系統(tǒng)(如圖3.1)。

其中醫(yī)師工作站的結(jié)構(gòu)圖如3.2所示,包括書寫查閱報(bào)告模塊、圖像處理模塊、統(tǒng)計(jì)報(bào)表模塊以與三維重建模塊。圖像處理模塊包含了數(shù)據(jù)來源處理(DICOM網(wǎng)關(guān))。三維重建軟件(以后稱為My3d)是醫(yī)生工作站的重要組成部分,為了在顯示三維模型的時(shí)候可以查看二維圖像進(jìn)行對(duì)照,所以提供了二維圖像顯示和二維圖像簡單處理的功能,因此三維重建軟件部分依賴于圖像處理模塊。

DICOM網(wǎng)關(guān)

在目前大量使用的醫(yī)學(xué)圖像設(shè)備中,有的是支持DICOM格式的,但是還有相當(dāng)多的設(shè)備是不具備DICOM接口的,有些還處于非數(shù)字化狀態(tài),甚至有些還不是可由電子屏幕顯示的視頻信息,而僅僅是以肉眼觀察的光學(xué)儀器。這就必須通過一定的手段來采集和轉(zhuǎn)換,使之成為計(jì)算機(jī)能接受和處理的數(shù)字圖像信息。借助攝像頭和采集卡是一種常用的圖像采集手段。根據(jù)不同圖像對(duì)分辨率、黑白或彩色、靜態(tài)或動(dòng)態(tài)等的不同要求,選擇適合的攝像頭和采集卡便可實(shí)現(xiàn)圖像采集。處理已有的X射線照片(或CT掃描斷層膠片)可用高分辨率多灰度的單色掃描儀來輸入。解剖樣品卡片也可用彩色掃描儀來輸入。也有一些醫(yī)學(xué)圖像設(shè)備,例如,某些型號(hào)的電子窺鏡或彩色多譜勒超聲波掃描儀等裝置,雖不能直接提供數(shù)字圖像信息輸出,但可提供視頻信號(hào),也可通過采集卡輸入到計(jì)算機(jī)中。

通過圖像采集得到的數(shù)字圖像信息,由于來源的不同,表現(xiàn)為各種不同的數(shù)據(jù)形式,DICOM網(wǎng)關(guān)(圖3.3)用于轉(zhuǎn)換各種格式的數(shù)據(jù)為DICOM格式,使它們以統(tǒng)一的方式存放在數(shù)據(jù)庫中。這種方式既最大可能的保存了各種醫(yī)療信息,又為客戶端工作站的開發(fā)提供了統(tǒng)一的數(shù)據(jù)格式。

二維圖像相關(guān)的軟件設(shè)計(jì)

高分辨率圖像的顯示方法

許多醫(yī)學(xué)成象設(shè)備提供的灰度圖象具有比顯示器高的分辨率。以常見的CT圖像為例:一幅灰度圖象有3個(gè)重要參數(shù)BitsAllocated、BitsStored和HighBit,如圖3.4所示,BitsAllocated表示一個(gè)象素占多少Bit,BitsStored表示一個(gè)象素實(shí)際用了多少Bit存儲(chǔ)數(shù)據(jù),HighBit表示象素實(shí)際存儲(chǔ)的開始最高位。以一份具體的CT灰度圖象為例,如下圖所示,BitsAllocated為16,表示一個(gè)象素占2個(gè)byte,BitsStored為12,表示一個(gè)象素實(shí)際使用了16個(gè)bit中的12個(gè)用于存儲(chǔ)數(shù)據(jù),HighBit為11,表示12位有效數(shù)據(jù)存儲(chǔ)在0—11位。

圖3.4CT灰度圖象存儲(chǔ)示意圖

由于一個(gè)象素有12bit存儲(chǔ)數(shù)據(jù),所以它的灰度圍為0—4096(2^12),而普通的顯示卡只能顯示256級(jí)灰度的圖象,也就是說不可能一次完全顯示患者圖象的所有細(xì)節(jié)。

為解決這個(gè)問題,我們引入了窗寬窗位的概念。通過設(shè)置不同的窗寬窗位,我們可以選擇圖象的某一個(gè)灰度級(jí)圍進(jìn)行顯示,如圖3.5所示。顯示的方法就是把在窗寬窗位圍的灰度按256級(jí)拉伸或壓縮,而把小于窗寬的灰度按0處理,把大于窗位的灰度按255處理。

圖3.5調(diào)整窗寬窗位顯示灰度圖象

圖3.6是患者的一幅CT圖象在不同窗寬窗位下顯示的結(jié)果,正上方的圖象是CT機(jī)默認(rèn)的窗寬窗位下顯示的患者圖象,可以看出是一個(gè)患者的頭部剖面圖;左下角是把窗寬窗位調(diào)低顯示的圖象,可以很清楚的看見患者的頭發(fā);右下角是把窗寬窗位調(diào)高顯示的圖象,在此圖中只可以看到頭部骨架部分。

圖3.6不同窗寬窗位下的灰度圖象

對(duì)窗寬窗位顯示方法進(jìn)行擴(kuò)展,我們可以使用一種叫做雙窗寬窗位的顯示方法,它的原理與窗寬窗位顯示一樣,不同的是可以設(shè)置兩段灰度圍同時(shí)顯示,如圖3.7所示。這種方法可以顯示一幅圖象不同灰度部分,有利于幫助醫(yī)生作出正確的診斷。

圖3.7雙窗寬窗位顯示灰度圖象

綜上所述,我們可以很容易的顯示高灰度級(jí)的灰度圖象。

簡單圖像處理

圖象處理一般泛指對(duì)圖象進(jìn)行各種加工以改善圖象的視覺效果,即通過一系列特定的操作來改變圖象的象素,以達(dá)到特定的目標(biāo),比如使圖象更清晰,或從圖象中提取某些特定的信息等。

圖像增強(qiáng)

圖象增強(qiáng)又稱為圖象銳化,是一大類基本的圖象處理技術(shù)。目的是對(duì)圖象進(jìn)行加工,增強(qiáng)圖象的邊緣、高頻(灰度跳變)部分的效果,便于對(duì)目標(biāo)的識(shí)別和處理。

梯度法是一種常用的圖象銳化方法。它的原理是對(duì)圖象中任一點(diǎn)(x,y),計(jì)算這點(diǎn)的梯度值g(x,y),并用計(jì)算后的梯度值g(x,y)替換原象素的灰度值,即得到銳化處理后的圖象。

如圖3.7(a)所示,象素分別

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論