李浩文,胡方旭,白亞南,程天琪,彭磊
(山東第一醫(yī)科大學(山東省醫(yī)學科學院)醫(yī)學信息工程學院,山東泰安,271016)
圖像配準是圖像處理領域是一個基礎而重要的熱點問題[1]。迄今為止,國內外已經對圖像配準進行了大量的研究工作。圖像配準技術已經廣泛的應用于計算機視覺、醫(yī)學圖像處理、遙感數(shù)據(jù)分析等領域。醫(yī)學圖像配準是醫(yī)學圖像處理和分析的前提和基本技術。精確的醫(yī)學圖像配準結果對醫(yī)學影像分析和臨床輔助診斷有著重要的意義。目前已經有大量的用于醫(yī)學圖像處理和分析的開發(fā)應用平臺,其中ITK(Insight Segmentation and Registration Toolkit)主要提供了醫(yī)學圖像分割和配準等方面的功能[2],VTK(Visualization Toolkit)則提供了可視化方面的功能[3,4],用于觀察結果以及進行交互顯示。本文借助Qt 和C++開發(fā)了基于ITK和VTK的醫(yī)學圖像配準軟件,可用于基本的圖像配準工作。
ITK 是六位開發(fā)者合作開發(fā)的,用于圖像配準和分割的軟件工具包。鑒于在開發(fā)過程中做出的杰出貢獻,六位合作開發(fā)者受到美國國立衛(wèi)生研究院的表彰。后來所開發(fā)的源代碼被整理成為今天的ITK。ITK 是開源的、面向對象的、具有大量算法的軟件開發(fā)包,主要針對于醫(yī)學圖像領域的分割與配準問題。常用的算法包括閾值分割算法、區(qū)域生長法、基于分水嶺的分割算法,以及快速匹配算法等。ITK 還具有跨平臺的特性,不僅支持Windows,還支持Unix 和Linux等多種平臺。ITK 將大量實用的圖像處理算法封裝起來,形成了豐富的算法庫,屏蔽了程序開發(fā)的細節(jié),簡化了開發(fā)的過程,為醫(yī)學圖像處理領域的開發(fā)工作提供了寶貴的技術資料。但是ITK 沒有實現(xiàn)相應的圖像可視化功能,因此需要與VTK 結合進行應用程序的開發(fā)。本文的醫(yī)學圖像處理軟件采用Qt 開發(fā),通過ITK 進行圖像配準算法上的操作,同時結合VTK 實現(xiàn)了圖像的可視化。
VTK 是一個免費、開源的軟件開發(fā)包,主要用于計算機圖形學、圖像處理和可視化等方面。VTK 是采用面向對象技術設計和實現(xiàn)的,內核是用C++構建的,包含大約250,000 行代碼,2000 多個類,提供了豐富的可視化方法。VTK 以方便性和靈活性為主要開發(fā)原則,具有如下幾個的特點:(1)具有強大的三維圖形顯示功能。VTK 既支持基于體素的體繪制法,又保留了傳統(tǒng)的面繪制發(fā),從而能夠在最大限度的改善可視化效果的同時,又充分利用了現(xiàn)有的圖形庫和圖形加速硬件。(2)VTK 的體系結構具有強大的流處理和高速緩存能力,在處理的數(shù)據(jù)非常大時,不會受內存資源限制的影響。(3)VTK 能夠很好的支持網(wǎng)絡工具的應用和開發(fā)。(4)VTK 具有設備無關性的特征,使得用其開發(fā)的代碼具有良好的可移植性。(5)VTK 中具有許多宏定義,這些宏極大的簡化了編程工作,并且加強了一致的對象行為。(6)VTK 具有更豐富的數(shù)據(jù)類型,具有多種數(shù)據(jù)類型的處理能力。(7)VTK 具有跨平臺的特性,既可以工作于Windows操作系統(tǒng),又可以工作于Unix等其他操作系統(tǒng),極大的方便了用戶。
Qt 是1991 年開發(fā)的一個跨平臺的、具有圖形用戶界面的、用于C++應用程序的開發(fā)框架。它既可以開發(fā)GUI(Graphical User Interface,圖形用戶界面)程序,也可以開發(fā)控制臺工具、服務器等非GUI 程序。Qt 是面向對象的應用程序開發(fā)框架,采用組件編程,使用大量的宏定義,容易擴展。同時Qt 具有跨平臺、面向對象、提供大量API、支持2D/3D 圖形渲染,以及開發(fā)文檔豐富等特性。Qt Creator是一個用于Qt開發(fā)的,輕量級跨平臺集成開發(fā)環(huán)境。
圖像配準是將不同時間、不同成像設備、不同條件下獲取的兩幅或者多幅圖像進行匹配的一個優(yōu)化過程,也就是將一幅圖像上的像素點映射到另一幅圖像上同源點的空間轉換過程。圖像配準的輸入數(shù)據(jù)是兩幅圖像,其中一幅圖像被定義為參考圖像F(x,y),另一幅圖像被定義為待配準圖像M(x,y)。其中(x,y)表示二維空間中的一個像素點的坐標位置。變換函數(shù)T 表示從待配準圖像上的點到參考圖像上的點的空間映射關系。圖像配準的過程主要包括指定評估配準效果相似度、采用的空間變換模型(剛體變換、彈性變換或流體變換等)以及相應的變換參數(shù)、圖像采用的插值策略,以及配準算法的誤差測度準則等。首先,以參考圖像和待配準圖像為輸入。然后,對參考圖像的指定區(qū)域進行幾何變換得到新的區(qū)域,通過插值方法得到待配準圖像在對應區(qū)域新的像素灰度值,通過相似性測度準則計算參考圖和經過插值的待配準圖之間的相似度,在優(yōu)化過程中迭代的計算變換參數(shù)。最后,輸出待配準圖像在相應的變換公式和插值方法下得到的新的圖像,即配準后的圖像。
為了滿足實際應用的要求,本項目采用多分辨率的配準策略。多分辨率的配準策略在改進配準速度,以及提供配準精確度和自動化程度等方面有著較好的效果。其基本思想為:首先將圖像縮小,得到的圖像包含較少的像素,采用粗糙水平或者全局的空間映射;然后,其變換結果被用來作為下一步配準的初始值,即較大尺度、包含較多像素圖像的配準,采用精細水平或者局部的空間映射。重復這個過程直到達到原始圖像的大小。從粗到精的配準策略極大的改進了配準的成功率和精確度,并通過消除粗糙比例時的局部噪聲達到提高自動化的目的。ITK 可視化工具箱提供了與所有配準框架相兼容的多分辨率配準框架。配準框架如圖1 所示。首先利用參考圖像和待配準圖像“金字塔”的第一層來執(zhí)行最粗的配準操作,所得的變換參數(shù)被用作第二層配準所需參數(shù)的初始值。在“金字塔”的第二層的具有更大的圖像尺度和更加精細的配準效果,重復這個過程直到達到圖像的原始尺度,得到最終的配準結果。
圖1 圖像配準框架
基于ITK 的醫(yī)學圖像配準基本流程如下:
(1)輸入待配準的兩幅醫(yī)學圖像。
(2)對參考圖像的指定區(qū)域進行空間幾何變換,得到新的區(qū)域。
(3)通過圖像插值方法,得到待配準圖像在上一步新區(qū)域的坐標。
(4)通過相似性測度模塊計算參考圖和待配準圖像插值后圖之間的相似度函數(shù)。
(5)將相似度函數(shù)輸入到優(yōu)化模塊中,進行迭代的優(yōu)化計算得到空間變換公式的參數(shù),即重復(2)至(4)步,直到取得最優(yōu)值。
(6)配準算法結束,輸出待配準圖像在最優(yōu)變換公式下的插值圖像,即配準后的圖像。
圖像配準過程是一個優(yōu)化問題。優(yōu)化算法的每一次迭代,得到一個測度值,將該測度值與預先設定的閾值或配準誤差值進行比較,如果達到預期的效果或要求,則迭代過程停止,得到最終的配準結果。當然,迭代有可能達不到給定的閾值,從而無限制運行,因此還需要設置一個迭代次數(shù)的上限。
在ITK 的配準框架中,包括如下幾個組件:變換組件、相似性測度組件、插值組件和優(yōu)化組件。另外,各個組件通過一個稱為“配準方法”的組件連接到一起,形成一個一個管道結構。使用ITK 的配準框架進行醫(yī)學圖像配準,主要的步驟如下:
(1)定義待配準圖像的維數(shù)和像素類型。
(2)定義配準框架的變換模型、優(yōu)化策略、測度準則、插值方法四個基本組件,以及配準組件。
(3)使用配準組件將四個基本組件連接在一起。
(4)設置待配準圖像的變換區(qū)域。
(5)設置各組件的相關參數(shù)。
(6)實例化一個 Command/Observer,觸發(fā)并監(jiān)視配準過程的執(zhí)行。
(7)進行圖像重采樣, 將變換后的圖像映射到參考圖像空間中,保存配準結果。
本文開發(fā)的醫(yī)學圖像配準軟件用于腦部MRI 圖像配準的效果如圖2 所示。
圖2 MRI 圖像配準結果
利用ITK 與VTK 的工具包,通過Qt 集成開發(fā)環(huán)境設計并開發(fā)了一套醫(yī)學圖像配準軟件,配準過程采用基于多分辨率的非剛性配準策略,并用于實現(xiàn)了腦部MRI 圖像的配準。