ITK介紹
06-30
ITK: The Insight Segmentation and Registration Toolkit一、ITK簡介 ITK是美國國家衛生院下屬的國立醫學圖書館開發的一款醫學圖像處理軟體包, 是一個開源的軟體,用於處理圖像配准和分割的問題。 ITK是用C++實現的,能夠跨平台,並用CMake來管理編譯過程來保證編譯過程獨立於平台。除此以外,它還使用一種叫做卷的處理過程,來產生C++和其他其他解釋程序之間的介面,從而使得開發者能用各種不同的程序語言來開發。 ITK的C++執行風格是基於廣義(generic programming)編程,也就是說他使用的是模板來保證相同的代碼能廣泛的應用於任何類或者類型。這種C++模板的方式使得編碼過程很高效,並且使很多軟體的問題在編譯的時候就發現了,而不是在運行的時候。 由於ITK 是一個開源的工程,因此來自世界各地的開發者都可以使用、調試、維護以及擴展這個軟體。ITK使用一種叫做極限編程的思想來開發的。極限編程顛覆了傳統軟體編程的思想,它採用不斷同時反覆的進行設計-執行-測試-發布的過程。極限編程的核心特徵是交流和測試。二、ITK簡史 在1999年,美國國立衛生研究院國立醫學圖書管授予表彰六位合作者在開發開源的圖像配准和分割工具包做出的貢獻。他們的工作最後成為大家公認的ITK,並形成了最基本的Insight Software聯盟。ITK的NIH/NLM 項目經理是Dr.Terry Yoo由他協調這六位最初的合作者組建Insight 聯盟。這些聯盟成員中有三位是商業合作者,有三位來自學術機構(南加州大學,田納西大學,明尼蘇達大學)。但直到2002年的時候第一個正式的公共ITK 發行版本出台。三、ITK的配置 ITK通過CMake來解決跨平台的編譯問題,CMake能夠控制軟體編譯的過程通過使用簡單的平台和獨立於編譯器的配置文件,它能生成本地的 Makefile和工作空間從而用於你選擇的編譯環境。在UNIX和Cygwin系統中CMake產生Makefile文件而在Windows下生成 Visual Studio 工作空間以及為其它的像Borland的編譯器生成適當的build file。 運行CMake首先需要提供兩部分信息:一是源代碼所在的目錄(ITK_SOURCE_DIR)、其次是將要生成的目標文件存放的路徑(ITK_BiNARY_DIR)。這兩個信息就是所說的source directory和binary directory。推薦將這連個目錄設置為不同,雖然兩個目錄一樣照樣可以編譯。在Unix平台下,binary directory由用戶創建,CMake由指向source directory的路徑。比如:mkdir Insight-binarycd Insight-binaryccmake ../Insightps: ccmake curses based user interface for CMakeCMake 是被用於為軟體項目配置和生成build files,用ccmake來配置一個項目的最基本的步驟是:1. 在你將要存放目標文件和執行文件的地方,運行ccmake。如果source directory和build directory不在同一個目錄的話,需要在ccmake的第一命令行參數配置source directory的位置2. 當ccmake運行的時候,它將讀取配置文件,並顯示當前的生成選項。如果你曾經運行過CMake並且刷新過配置文件,新的配置條目會在最上面顯示出來並會被標記*. 當然了,如果是第一次運行ccmake,所有的生成選項都將是新的,並被標記。這樣你就可以修改任何你想修改的選項了,當你對配置都滿意的時候,按「c」來讓CMake處理配置文件。注意在修改一些選項的時候會導致新的選項產生,並在頂部產生且以*標示。不斷的重複這些操作,直到沒有新的條目出現。這時將出現一條新的命令:G)Generate and Exit。按「G」鍵就可以讓CMake生成所有的生成文件(比如Makefile或Project文件)然後退出。在編譯的任何時候,你都可以通過按"q"退出ccmake,但這樣的話將不會生成或更改任何生成文件. 在Windows下,CMake GUI被用於定義souce和build目錄。為了加快程序生成的速度,建議禁用testing和examples的編譯,這可用通過設置變數 BUILD_TESTING=OFF 和BUILD─EXAMPLES=OFF 來實現。 一個額外的資源可以在InsightApplications module中找到,它包含了許多集成了GUI和不同水平可視化的應用程序。但是,這些應用程序太多以及需要第三方庫支持的問題,編譯這個模塊得推遲到你已經很熟悉這些toolkit的基本構架以及編譯過程。 運行CMake需要通過在Unix上使用ccmake或者在Windows上使用CMakeSetup。記得從Unix的binary 目錄來運行ccmake。而在Window上,通過圖形化界面來來定義source和binary目錄,然後設置必要的build variable。大部分敏感的變數應該有默認的值。 典型的編譯過程將無論如何至少需要15到30分鐘,這依賴於你系統的性能。四、開始用ITK 最簡單的用ITK新建一個新的工程文件需要先建立一個新的目錄和兩個文件在這個目錄中。一個是將被用於產生Makefile的 CMakeLists.txt文件,或者是VS的工作空間。另一個是可能會運用ITK大量庫文件的的C++程序。準備好這兩個文件之後就可以運行 CMake來配置你的項目。在Unix下,可以cd到你剛剛新建的目錄,輸入命令「ccmake .」. ps:命令中的"."表明CMakeLists.txt文件在當前目錄之中。在游標界面下將會要求你提供ITK建立時的目錄。這個目錄和你當時配置ITK 時的 ITK_BINARY_DIR 是一樣的。在Windows你通過運行CMakeSetup並提供你新建的目錄,包括source direcoty和binary directory。然後用CMake,CMake將要求你提供ITK建立使得binary 目錄。 在ITK的binary directory將包含一個叫做ITKConfig.cmake的文件,它是在ITK配置的時候產生的。這個文件可以讓CMake恢復所有需要用來配置 ITK project的配置。
推薦閱讀:
推薦閱讀:
※我來介紹書
※見面與介紹
※中醫整脊介紹及治療八法
※瘦臀的專題介紹
※風水學進門玄關掛什麼畫,介紹好的風水裝飾畫
TAG:介紹 |