【4】醫(yī)學(xué)圖像——DCMTK、VTK缓熟、ITK累魔、RTK摔笤、SimpleITK

目錄

1.ITK-醫(yī)學(xué)圖像處理軟件包... 1

2.SimpleITK-ITK的簡化接口... 1

3.RTK-CBCT重建算法包... 3

4.DCMTK-dicom協(xié)議開源庫... 3

5.VTK-三維計算機(jī)圖形學(xué)、圖像處理和可視化... 4

6.OpenGL-渲染2D薛夜、3D矢量圖形... 4

7.OpenCV-計算機(jī)視覺和機(jī)器學(xué)習(xí)軟件庫... 5

8.Halcon-機(jī)器視覺算法包... 5

1.ITK-醫(yī)學(xué)圖像處理軟件包

ITK( Insight Segmentation and Registration Toolkit)是美國國家衛(wèi)生院下屬的國立醫(yī)學(xué)圖書館開發(fā)的一款醫(yī)學(xué)圖像處理軟件包籍茧,是一個開源的、跨平臺的影像分析擴(kuò)展軟件工具梯澜。

ITK的開發(fā)過程中采用了先進(jìn)的多模態(tài)數(shù)據(jù)分割配準(zhǔn)算法寞冯,用于處理圖像配準(zhǔn)和分割的問題。 ITK是用C++實現(xiàn)的晚伙,能夠跨平臺吮龄,并用CMake來管理編譯過程來保證編譯過程獨(dú)立于平臺。除此以外咆疗,它還使用一種叫做卷的處理過程漓帚,來產(chǎn)生C++和 其他其他解釋程序之間的接口,從而使得開發(fā)者能用各種不同的程序語言來開發(fā)午磁。

ITK的C++執(zhí)行風(fēng)格是基于泛型(generic programming)編程尝抖,也就是說他使用的是模板來保證相同的代碼能廣泛的應(yīng)用于任何類或者類型。這種C++模板的方式使得編碼過程很高效迅皇,并且使 很多軟件的問題在編譯的時候就發(fā)現(xiàn)了昧辽,而不是在運(yùn)行的時候。

備注:

醫(yī)學(xué)圖像處理的話建議用ITK+VTK登颓,ITK做底層圖像處理算法搅荞,VTK做可視化顯示,ITK和VTK中間用itkImageToVTKImageFilter

2.SimpleITK-ITK的簡化接口

SimpleITK是ITK的簡化接口框咙,使用起來更加方便咕痛,有多種語言接口。(python版喇嘱,安裝比較簡單茉贡,pip install SimpleITK)

SimpleITK是美國國家醫(yī)學(xué)圖書館Insight Segmentation and Registration Toolkit (ITK)的一個簡化的開源接口,這是一個c++開源圖像分析工具包婉称,在學(xué)術(shù)界和工業(yè)界得到了廣泛的應(yīng)用块仆。SimpleITK支持8種編程語言,包括c++王暗、Python、R庄敛、Java俗壹、c#、Lua藻烤、Ruby和TCL绷雏。SimpleITK的二進(jìn)制發(fā)行版目前可用于所有三種主要操作系統(tǒng)(Linux头滔、OS X和Windows)。

SimpleITK是專門處理醫(yī)學(xué)影像的軟件涎显,在SimpleITK中坤检,圖像的概念與我們在計算機(jī)視覺中常用的RGB圖像差異很大,后者只是一個多維矩陣期吓,是一個數(shù)學(xué)上的概念早歇,而在SimpleITK中圖像是一種物理實體,圖像中的每一個像素都是物理空間中的一個點(diǎn)讨勤,不光有著像素值箭跳,還有著坐標(biāo),間距潭千,方向等概念谱姓。

圖片.png

size:圖像在各維度的像素個數(shù)
spacing:圖像各維度上像素之間的距離(物理層面的,有單位刨晴,一般為mm)
physical extent:圖像在物理空間中的大小
Origin:圖像原點(diǎn)的坐標(biāo)(物理層面的屉来,有單位,一般為mm狈癞,與spacing保持一致)
direction:采用方向余弦矩陣茄靠,也就是圖像自身坐標(biāo)系相對于世界坐標(biāo)系(固定不動的)的角度,再直白點(diǎn)就是新坐標(biāo)系在原坐標(biāo)系上各個方向的投影

3.RTK-CBCT重建算法包

RTK(RTK官網(wǎng))是一個開源的CBCT重建算法包亿驾,是Kitware公司旗下的嘹黔,基于ITK包擴(kuò)展出來的。RTK實現(xiàn)了很多現(xiàn)有的CT圖像重建算法莫瞬,包括ADMM儡蔓,SART,SIRT疼邀,POCS等喂江。此外RTK包是基于泛型編程思想來寫的。RTK具有完善的開發(fā)文檔庫旁振。

Cone Beam CT因其射線效率高获询,采集效率高等優(yōu)點(diǎn),廣泛用于解剖成像與放射治療(Radiation Therapy)拐袜。

The Reconstruction Toolkit (RTK)重建工具包是一種基于Insight Toolkit(ITK)的用于快速圓錐束CT重建的開源跨平臺軟件吉嚣。RTK由RTK財團(tuán)開發(fā)。RTK提供或?qū)⑻峁?

重建的基本運(yùn)算符蹬铺,例如濾波尝哆、正向、投影和反向投影

多線程CPU和GPU版本

呼吸運(yùn)動矯正工具

多個掃描儀的I/O

散射校正原始數(shù)據(jù)的預(yù)處理

4.DCMTK-dicom協(xié)議開源庫

DCMTK是由德國offis公司提供的開源項目甜攀,幾乎實現(xiàn)了完整的DICOM協(xié)議,是3大dicom開源庫之一秋泄。DCMTK采用C++語言開發(fā)琐馆。

由于現(xiàn)在的醫(yī)學(xué)影像設(shè)備的圖像存儲和傳輸正在逐漸向DICOM標(biāo)準(zhǔn)靠攏,在我們進(jìn)行醫(yī)學(xué)圖像處理的過程中恒序,經(jīng)常需要自己編寫和DICOM格式的圖像相關(guān)的各種程序模塊瘦麸,以完成自己處理功能。如果從頭開始理解DICOM的協(xié)議歧胁,然后完全自己編寫這些代碼來實現(xiàn)這些協(xié)議滋饲,是一件工程浩大的事情。德國offis公司開發(fā)的DCMTK与帆,為我們提供了實現(xiàn)DICOM協(xié)議的一個平臺了赌,使得我們可以在它的基礎(chǔ)上輕松的完成自己的主要工作,而不必把太多的精力放在實現(xiàn)DICOM協(xié)議的細(xì)節(jié)問題上玄糟。本文以WINDOWSXP+VC6.0為開發(fā)平臺勿她,從DCMTK的下載、調(diào)試阵翎、使用等方面介紹基于DCMTK的DICOM相關(guān)程序編寫過程逢并。

這個開發(fā)包經(jīng)過10多年的開發(fā)和維護(hù),已經(jīng)基本實現(xiàn)了DICOM協(xié)議的所有內(nèi)容郭卫。該開發(fā)包提供所有的源代碼砍聊、支持庫和幫助文檔。DCMTK提供了在各種操作系統(tǒng)下使用的可能版本贰军,如LINUX玻蝌、SUN、MACOS词疼、WINDOWS等俯树,用戶可根據(jù)自己的開發(fā)平臺進(jìn)行編譯。

DICOM(Digital Imaging and Communications in Medicine)即醫(yī)學(xué)數(shù)字成像和通信贰盗,是醫(yī)學(xué)圖像和相關(guān)信息的國際標(biāo)準(zhǔn)(ISO 12052)许饿。DICOM被廣泛應(yīng)用于放射醫(yī)療、心血管成像以及放射診療診斷設(shè)備(X射線舵盈,CT陋率,核磁共振,超聲等)秽晚,并且在眼科和牙科等其它醫(yī)學(xué)領(lǐng)域得到越來越深入廣泛的應(yīng)用瓦糟。

5.VTK-三維計算機(jī)圖形學(xué)、圖像處理和可視化

Vtk赴蝇,(visualization toolkit)是一個開源的免費(fèi)軟件系統(tǒng)狸页,主要用于三維計算機(jī)圖形學(xué)、圖像處理和可視化扯再。Vtk是在面向?qū)ο笤淼幕A(chǔ)上設(shè)計和實現(xiàn)的芍耘,它的內(nèi)核是用C++構(gòu)建的,包含有大約250,000行代碼熄阻,2000多個類斋竞,還包含有幾個轉(zhuǎn)換界面,因此也可以自由的通過Java秃殉,Tcl/Tk和Python各種語言使用vtk坝初。

視覺化工具函式庫(VTK钾军,Visualization Toolkit)是一個開放源碼,跨平臺吏恭、支持并行處理(VTK曾用于處理大小近乎1個Petabyte的資料,其平臺為美國Los Alamos國家實驗室所有的具1024個處理器之大型系統(tǒng))的圖形應(yīng)用函式庫樱哼。2005年時曾被美國陸軍研究實驗室用于即時模擬俄羅斯制反導(dǎo)彈戰(zhàn)車ZSU23-4受到平面波攻擊的情形,其計算節(jié)點(diǎn)高達(dá)2.5兆之多搅幅。Vtk幾乎可以在任何一個基于Unix的平臺上操作阅束,以及Windows 95/98/NT/2000/XP息裸。

VTK是一個開放源碼、自由獲取的軟件系統(tǒng)沪编,全世界的數(shù)以千計的研究人員和開發(fā)人員用它來進(jìn)行3D計算機(jī)圖形,圖像處理漾抬,可視化。VTK包含一個c++類庫纳令,眾多的翻譯接口層,包括Tcl/Tk平绩,Java,Python圈匆。Visualization Toolkit 是一個用于可視化應(yīng)用程序構(gòu)造與運(yùn)行的支撐環(huán)境,它是在三維函數(shù)庫OpenGL的基礎(chǔ)上采用面向?qū)ο?/a>的設(shè)計方法發(fā)展起來的捏雌,它將我們在可視化開發(fā)過程中會經(jīng)常遇到的細(xì)節(jié)屏蔽起來跃赚,并將一些常用的算法封裝起來。比如 Visualization Toolkit 將我們在表面重建中比較常見的MarchingCubes 算法封裝起來,以類的形式給我們以支持纬傲,這樣我們在對三維規(guī)則點(diǎn)陣數(shù)據(jù)進(jìn)行表面重建時就不必再重復(fù)編寫MarchingCubes 算法的代碼满败,而直接使用Visualization Toolkit 中已經(jīng)提供的vtkMarchingCubes 類。 Visualization Toolkit 是給從事可視化應(yīng)用程序開發(fā)工作的研究人員提供直接的技術(shù)支持的一個強(qiáng)大的可視化開發(fā)工具叹括。

6.OpenGL-渲染2D算墨、3D矢量圖形

OpenGL(英語:Open Graphics Library,譯名:開放圖形庫或者“開放式圖形庫”)是用于渲染2D汁雷、3D矢量圖形的跨語言净嘀、跨平臺應(yīng)用程序編程接口(API)。這個接口由近350個不同的函數(shù)調(diào)用組成侠讯,用來繪制從簡單的圖形比特到復(fù)雜的三維景象挖藏。而另一種程序接口系統(tǒng)是僅用于Microsoft Windows上的Direct3DOpenGL常用于CAD厢漩、虛擬現(xiàn)實膜眠、科學(xué)可視化程序和電子游戲開發(fā)。

OpenGL的高效實現(xiàn)(利用了圖形加速硬件)存在于Windows袁翁,部分UNIX平臺和Mac OS柴底。這些實現(xiàn)一般由顯示設(shè)備廠商提供,而且非常依賴于該廠商提供的硬件粱胜。開放源代碼Mesa是一個純基于軟件的圖形API柄驻,它的代碼兼容于OpenGL。但是焙压,由于許可證的原因鸿脓,它只聲稱是一個“非常相似”的API。

7.OpenCV-計算機(jī)視覺機(jī)器學(xué)習(xí)軟件庫

OpenCV是一個基于Apache2.0許可(開源)發(fā)行的跨平臺計算機(jī)視覺機(jī)器學(xué)習(xí)軟件庫涯曲,可以運(yùn)行在Linux野哭、WindowsAndroidMac OS操作系統(tǒng)上幻件。它輕量級而且高效——由一系列C函數(shù)和少量C++類構(gòu)成拨黔,同時提供Python、Ruby绰沥、MATLAB等語言的接口篱蝇,實現(xiàn)圖像處理和計算機(jī)視覺方面的很多通用算法

OpenCV用C++語言編寫,它具有C ++零截,Python秃臣,JavaMATLAB接口,并支持Windows弧哎,Linux,Android和Mac OS章贞,OpenCV主要傾向于實時視覺應(yīng)用非洲,并在可用時利用MMX和SSE指令两踏, 如今也提供對于C#梦染、Ch朴皆、Ruby遂铡,GO的支持。

8.Halcon-機(jī)器視覺算法包

HALCON是德國MVtec公司開發(fā)的一套完善的標(biāo)準(zhǔn)的機(jī)器視覺算法包伪货,擁有應(yīng)用廣泛的機(jī)器視覺集成開發(fā)環(huán)境碱呼。它節(jié)約了產(chǎn)品成本宗侦,縮短了軟件開發(fā)周期——HALCON靈活的架構(gòu)便于機(jī)器視覺,醫(yī)學(xué)圖像和圖像分析應(yīng)用的快速開發(fā)姑裂。在歐洲以及日本的工業(yè)界已經(jīng)是公認(rèn)具有最佳效能的Machine Vision軟件炭分。

HALCON源自學(xué)術(shù)界剑肯,它有別于市面一般的商用軟件包。事實上呀忧,這是一套image processing library,由一千多個各自獨(dú)立的函數(shù)胰坟,以及底層的數(shù)據(jù)管理核心構(gòu)成泞辐。其中包含了各類濾波,色彩以及幾何咐吼,數(shù)學(xué)轉(zhuǎn)換,形態(tài)學(xué)計算分析厢塘,校正晚碾,分類辨識喂急,形狀搜尋等等基本的幾何以及影像計算功能,由于這些功能大多并非針對特定工作設(shè)計的讥蔽,因此只要用得到圖像處理的地方冶伞,就可以用HALCON強(qiáng)大的計算 分析能力來完成工作步氏。應(yīng)用范圍幾乎沒有限制,涵蓋醫(yī)學(xué)芋类,遙感探測侯繁,監(jiān)控泡躯,到工業(yè)上的各類自動化檢測。

HALCON支持Windows咕别,Linux和Mac OS X操作環(huán)境,它保證了投資的有效性雌贱。整個函數(shù)庫可以用C欣孤,C++翔冀,C#,Visual basic和Delphi等多種普通編程語言訪問。HALCON為大量的圖像獲取設(shè)備提供接口控硼,保證了硬件的獨(dú)立性艾少。它為百余種工業(yè)相機(jī)和圖像采集卡提供接口,包括GenlCam幔妨,GigE和IIDC 1394误堡。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末锁施,一起剝皮案震驚了整個濱河市杖们,隨后出現(xiàn)的幾起案子摘完,更是在濱河造成了極大的恐慌,老刑警劉巖列粪,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異力图,居然都是意外死亡吃媒,警方通過查閱死者的電腦和手機(jī)吕喘,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進(jìn)店門氯质,熙熙樓的掌柜王于貴愁眉苦臉地迎上來闻察,“玉大人,你說我怎么就攤上這事呢灶《む冢” “怎么了跋涣?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵陈辱,是天一觀的道長。 經(jīng)常有香客問我拾并,道長嗅义,這世上最難降的妖魔是什么隐砸? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任季希,我火速辦了婚禮幽纷,結(jié)果婚禮上友浸,老公的妹妹穿的比我還像新娘收恢。我一直安慰自己祭往,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布驮肉。 她就那樣靜靜地躺著离钝,像睡著了一般奈辰。 火紅的嫁衣襯著肌膚如雪乱豆。 梳的紋絲不亂的頭發(fā)上宛裕,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天揩尸,我揣著相機(jī)與錄音屁奏,去河邊找鬼。 笑死勇边,一個胖子當(dāng)著我的面吹牛粒褒,可吹牛的內(nèi)容都是我干的诚镰。 我是一名探鬼主播祥款,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼刃跛,長吁一口氣:“原來是場噩夢啊……” “哼桨昙!你這毒婦竟也來了首懈?” 一聲冷哼從身側(cè)響起究履,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤最仑,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后欲芹,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體吟吝,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡剑逃,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年蛹磺,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片裙品。...
    茶點(diǎn)故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡市怎,死狀恐怖焰轻,靈堂內(nèi)的尸體忽然破棺而出昆雀,到底是詐尸還是另有隱情蝠筑,我是刑警寧澤什乙,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布臣镣,位于F島的核電站智亮,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏弃舒。R本人自食惡果不足惜状原,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一颠区、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧器贩,春花似錦朋截、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽胆描。三九已至,卻和暖如春昌讲,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背车吹。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留窄驹,地道東北人乐埠。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓丈咐,卻偏偏與公主長得像,于是被迫代替她去往敵國和親伤疙。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評論 2 353

推薦閱讀更多精彩內(nèi)容