zoukankan      html  css  js  c++  java
  • 3D Slicer 开发者必晓ABC

    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的软件质量控制系统CDash):http://slicer.cdash.org/index.php?project=Slicer4
     
    作为开发人员可以提交相应的话题到开放的邮件列表和基于Web的Bug-Tracker的MainsBT上:
    上面也提供了我们3Dslicer未来的开发路线图以及经常会碰到的问题。此外,常用的程序源代码使用的API也有提供(C++类函数),便于查看:http://apidocs.slicer.org/master/index.html
    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。
    如何利用VS2010编译Qt,需要参考该篇博客:http://blog.csdn.net/aslucky/article/details/6299319

    2.2 Developer Community

    Slicer的开发研究是一个漫长有挑战性的工作,需要进行Developer-Developer、Developer-Official之间的交流。加入Developer Community需要完成一下环节:
    • 注册Slicer开发者论坛 3DSlicer Forum:https://discourse.slicer.org/ 这里需要注册邮箱和用户名,比如scx16@mails.tsinghua.edu.cn + shenziheng.在论坛里,可以查找新版本的发布以及Bug Fixed。
    • 注册GitHub,这个我早年注册过了,对于新人我建议注册信息尽量一致吧,避免绕来绕去麻烦。比如:scx16@mails.tsinghua.edu.cn + ZihengTsingHua。也需要安装GitHub客户端。安装GitHub客户端是以图形化的操作方式来实现Git的基本功能,辅以命令行方式,方便不许输Git版本控制软件的开发者。
    • 注册NA-MIC的Mantis:https://issues.slicer.org/signup_page.php 这个上面提过了的,Bug追踪系统,Slicer使用这个系统来进行规范化的缺陷追踪。比如: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,键入类似命令:
    c d myProject
    git clone git://github.com/Slicer/Slicer.git
    Notice:clone命令的功能和SVN命令co相同,做影视将文件下载到本地目录;Git中更新代码的命令为pull,而SVN中使用updata命令;
  • 相关阅读:
    京东书4
    哈工大信息检索研究室 语言技术平台相关技术简介
    VIM使用小技巧重新载入文件
    在亚马逊网站上查看此物品
    automake autoconf m4 suite for autotools download
    XZ压缩最新压缩率之王
    在亚马逊网站上查看此物品
    京东书3
    欢迎访问 Babel 汉英平行语料库
    autotools 使用实例ckelselChinaUnix博客
  • 原文地址:https://www.cnblogs.com/ybqjymy/p/14235273.html
Copyright © 2011-2022 走看看