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