您的位置:首页 > 其它

使用源码编译3D Slicer3的一些注意事项

2014-07-07 16:01 288 查看
    3D Slicer是一款开源的用于医学图像分析(主要是分割和配准)与可视化成像的软件,可以将自己的插件加入到3D Slicer软件中来实现我们想要的功能,是一个检测算法与改进算法的平台。

    最近花了一些时间进行了3D Slicer3的编译工作,最新版本是Slicer4,但最近版本对很多模块进行了重构,所以因为一些原因选择了旧的版本(其实编译过程是相似的)。

    整体的编译过程网上有几位博主做了总结,我只说下我的实际过程中遇到的问题。

    在编译过程中,最为艰难的是通过CMake的配置生成工程文件,我是使用了VS2008的编译环境,实践发现最好还是放弃VS2010吧,兼容性太差,会出现莫名其妙的错误。

    网上几篇相关博客都做了相互之间直接的参考,详细过程不再赘述,我这里只介绍一些他们同时忽略的问题。

    1、编译过程是在CMake中先配置好其他引用的函数库,再生出工程,但网上大部分理解为在实际编译过程中在线下载,我实践的结果是,这样做不可谓不行,但实在是太慢了。官网中其实给出了需要引用的开源库目录,在http://viewvc.slicer.org/viewvc.cgi/Slicer3/中列出,但没有提供下载,这里我找到了另一个SVN的可下载地址:http://www.na-mic.org/svn/Slicer3/trunk/Libs/

    其中包含了除Qt以及VTK之外的各种相关文件,包括:

FreeSurfer/
IGT/
ITKCommandIO/
MGHImageIO/
MRML/
Qdec/
tclap/
vtkITK/
vtkTeem/
等.....
    除此之外,实际编译中,我还发现需要下列开源库:

Curl: 在命令行方式下工作的开源文件传输工具
Slicerlibcurl:引用Curl库针对Slicer进行的扩展

Freetype: 完全免费(开源)的、高质量的且可移植的字体引擎,它提供统一的接口来访问多种字体格式文件
KWWidgets
    
    2.其中,TCL/TK在Windows平台的编译需要费些功夫,如果不成功的话,可以直接去网上下载已经编译好的。

    3.实际编译过程中,由于使用的VTK版本问题,会出现不兼容的问题,具体找到函数我推测是新的VTK版本对数据结构进行了改变,导致旧版本无法通过编译,我的解决办法是不可取的:使用类似的函数,忽略掉这个错误,主要是错误发生初始化的步骤上,个人感觉应该不影响。有时间的话,应该试一下旧的VTK版本,估计Slicer4不会出现这个问题。

    4.正因为之前我自己编译了其他完整的引用库文件,所以不用在编译Slicer时进行下载工作,网上的说法是这个过程中会下载大量的文件,这里我就忽略了,但是出现的问题是使用CMake时会检测SVN的地址,所以这里需要将CMakeLists.txt文件中的SVN段注释掉。
    此外,文件中Git段也需要注释掉。

    5.小的注意点是,需要特别注意自己VS2008环境的版本,是否是64位版本,在CMake时需要进行选择,不匹配的话会出现一些奇怪的错误。

   
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: