3DSlicer5:开发者必晓ABC
生活随笔
收集整理的這篇文章主要介紹了
3DSlicer5:开发者必晓ABC
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1.簡(jiǎn)言之
3Dslicer基于NA-MIC工具包開發(fā)而來(lái),主要使用的編程語(yǔ)言是C++。其使用的NA-MIC工具包包括VTK、ITK、CTK、Cmake、Qt、Python。- NA-MIC, the National Alliance for Medical Imaging Computing.
NA-MIC is a multi-institutional, interdisciplinary team of computer scientists, software engineers, and medical investigators who develop computational tools for the analysis and visualization of medical image data. The purpose of the Center is to provide the infrastructure and environment for the development of computational algorithms and open-source technologies, and then oversee the training and dissemination of these tools to the medical research community.
作為開發(fā)人員可以提交相應(yīng)的話題到開放的郵件列表和基于Web的Bug-Tracker的MainsBT上:
上面也提供了我們3Dslicer未來(lái)的開發(fā)路線圖以及經(jīng)常會(huì)碰到的問(wèn)題。此外,常用的程序源代碼使用的API也有提供(C++類函數(shù)),便于查看:http://apidocs.slicer.org/master/index.html
3Dslicer包含了一個(gè)瘦應(yīng)用程序核心和一些提供特定的功能的模塊。核心實(shí)現(xiàn)了用戶界面IO與可視化、新模塊開發(fā)的接口。 3Dslicer支持多種類型的模塊:CLI,loadable module,scripted module和編輯工具。他們有類似的外觀和操作方式感覺(jué)。同一類型的模塊旺旺只有輸入輸出參數(shù)的區(qū)別。
2.準(zhǔn)備工作
2.1 工具準(zhǔn)備
無(wú)論是研究Slicer的功能還是進(jìn)行功能開發(fā),最關(guān)鍵的就是開發(fā)環(huán)境的搭建問(wèn)題。搭建Slicer的開發(fā)環(huán)境的目的是能夠?qū)licer的源碼以及使用到的庫(kù)進(jìn)行修改,并實(shí)現(xiàn)單步調(diào)試功能。需要的工具Cmake、SVN、Git、Visual Studio、Qt等。- CMake:解決跨平臺(tái)編譯問(wèn)題。Slicer使用到了多種編程語(yǔ)言,其編譯過(guò)程就要使用多種編譯器。CMake是一個(gè)快平臺(tái)的軟件構(gòu)建工具,可以用簡(jiǎn)單的語(yǔ)句描述所有平臺(tái)構(gòu)建過(guò)程,可以生成Makefile或者project文件,能測(cè)試編譯器情況,這一點(diǎn)和UNIX寫的automake很像。更詳細(xì)一點(diǎn),程序的編譯信息被寫入“CMakeLists.txt”中。CMake通過(guò)這些文件生成相應(yīng)的makefile(UNIX/Linux)和Project(Windows)。
- SVN:Subversion。Subversion將數(shù)據(jù)放置在一個(gè)檔案庫(kù)repository中,記住文件的每一次變動(dòng)。可以將代碼的變動(dòng)明顯的表示出來(lái),這樣就可以方便地恢復(fù)到之前的某個(gè)版本。Slicer的源代碼變采用了SVN進(jìn)行代碼管理,編譯Slicer用到的很多方法庫(kù)也是用SVN進(jìn)行管理。
- Git:開源的分布式版本控制系統(tǒng)。編譯Slicer的過(guò)程中使用到的庫(kù)很大一部分也是使用Git作為版本控制,CTK。Slicer并沒(méi)有搭建自己的Git服務(wù)器,源代碼是在GitHub的服務(wù)器上進(jìn)行托管。
- Visual Studio:看到這里,如果連VS還不懂,趕快轉(zhuǎn)行吧。該工具需要提示的只有一點(diǎn),在使用2008版本時(shí),最好安裝SP1補(bǔ)丁,避免Slicer編譯過(guò)程中可能出現(xiàn)的錯(cuò)誤。
- Qt:跨平臺(tái)C++圖形用戶界面應(yīng)用程序開發(fā)框架,易于拓展,允許組件編程。編譯Slicer可以使用編譯完成的Qt版本,也可以自行編譯,Slicer對(duì)Qt的版本要求十分嚴(yán)格,更推薦自行編譯Qt。
2.2 Developer Community
Slicer的開發(fā)研究是一個(gè)漫長(zhǎng)有挑戰(zhàn)性的工作,需要進(jìn)行Developer-Developer、Developer-Official之間的交流。加入Developer Community需要完成一下環(huán)節(jié):- 注冊(cè)Slicer開發(fā)者論壇 3DSlicer Forum:https://discourse.slicer.org/?這里需要注冊(cè)郵箱和用戶名,比如scx16@mails.tsinghua.edu.cn + shenziheng.在論壇里,可以查找新版本的發(fā)布以及Bug Fixed。
- 注冊(cè)GitHub,這個(gè)我早年注冊(cè)過(guò)了,對(duì)于新人我建議注冊(cè)信息盡量一致吧,避免繞來(lái)繞去麻煩。比如:scx16@mails.tsinghua.edu.cn + ZihengTsingHua。也需要安裝GitHub客戶端。安裝GitHub客戶端是以圖形化的操作方式來(lái)實(shí)現(xiàn)Git的基本功能,輔以命令行方式,方便不許輸Git版本控制軟件的開發(fā)者。
- 注冊(cè)NA-MIC的Mantis:https://issues.slicer.org/signup_page.php?這個(gè)上面提過(guò)了的,Bug追蹤系統(tǒng),Slicer使用這個(gè)系統(tǒng)來(lái)進(jìn)行規(guī)范化的缺陷追蹤。比如:scx16@mails.tsinghua.edu.cn + shenchunxu。
2.3 Creating Copy Code in Local Computer
獲取Slicer最新源代碼。因?yàn)镾licer的源代碼同時(shí)使用SVN和Git管理,因此兩種方法都可以獲得源代碼。 1. SVN方法: cd myProject svn co?http://svn.slicer.org/Slicer4/trunk Slicer4? 等下載完畢,源代碼將會(huì)保存在c:/myProject/Slicer4 Notice:co=checkout,作用是將文件下載到本地目錄; 2. Git方法:打開git-bash,鍵入類似命令: cd myProject git clone?git://github.com/Slicer/Slicer.git Notice:clone命令的功能和SVN命令co相同,做影視將文件下載到本地目錄;Git中更新代碼的命令為pull,而SVN中使用updata命令;總結(jié)
以上是生活随笔為你收集整理的3DSlicer5:开发者必晓ABC的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 3DSlicer4:模块管理(二)场景视
- 下一篇: 动态获取API地址