1.简言之
3Dslicer基于NA-MIC工具包开发而来,主要使用的编程语言是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.
作为开发人员可以提交相应的话题到开放的邮件列表和基于Web的Bug-Tracker的MainsBT上:
3Dslicer包含了一个瘦应用程序核心和一些提供特定的功能的模块。核心实现了用户界面IO与可视化、新模块开发的接口。
3Dslicer支持多种类型的模块:CLI,loadable module,scripted module和编辑工具。他们有类似的外观和操作方式感觉。同一类型的模块旺旺只有输入输出参数的区别。
2.准备工作
2.1 工具准备
无论是研究Slicer的功能还是进行功能开发,最关键的就是开发环境的搭建问题。搭建Slicer的开发环境的目的是能够对Slicer的源码以及使用到的库进行修改,并实现单步调试功能。需要的工具Cmake、SVN、Git、Visual Studio、Qt等。
- CMake:解决跨平台编译问题。Slicer使用到了多种编程语言,其编译过程就要使用多种编译器。CMake是一个快平台的软件构建工具,可以用简单的语句描述所有平台构建过程,可以生成Makefile或者project文件,能测试编译器情况,这一点和UNIX写的automake很像。更详细一点,程序的编译信息被写入“CMakeLists.txt”中。CMake通过这些文件生成相应的makefile(UNIX/Linux)和Project(Windows)。
- SVN:Subversion。Subversion将数据放置在一个档案库repository中,记住文件的每一次变动。可以将代码的变动明显的表示出来,这样就可以方便地恢复到之前的某个版本。Slicer的源代码变采用了SVN进行代码管理,编译Slicer用到的很多方法库也是用SVN进行管理。
- Git:开源的分布式版本控制系统。编译Slicer的过程中使用到的库很大一部分也是使用Git作为版本控制,CTK。Slicer并没有搭建自己的Git服务器,源代码是在GitHub的服务器上进行托管。
- Visual Studio:看到这里,如果连VS还不懂,赶快转行吧。该工具需要提示的只有一点,在使用2008版本时,最好安装SP1补丁,避免Slicer编译过程中可能出现的错误。
- Qt:跨平台C++图形用户界面应用程序开发框架,易于拓展,允许组件编程。编译Slicer可以使用编译完成的Qt版本,也可以自行编译,Slicer对Qt的版本要求十分严格,更推荐自行编译Qt。
2.2 Developer Community
Slicer的开发研究是一个漫长有挑战性的工作,需要进行Developer-Developer、Developer-Official之间的交流。加入Developer Community需要完成一下环节:
哎!三个注册用了三个名字,这都是之前年少无知+经验不足啊~~~
2.3 Creating Copy Code in Local Computer
获取Slicer最新源代码。因为Slicer的源代码同时使用SVN和Git管理,因此两种方法都可以获得源代码。
1. SVN方法:
cd myProject
等下载完毕,源代码将会保存在c:/myProject/Slicer4
Notice:co=checkout,作用是将文件下载到本地目录;
2. Git方法:打开git-bash,键入类似命令:
cd myProject