本文由Markdown语法编辑器编辑完成。
1. 前言
3d Slicer是一个主要用于医学影像的可视化和计算分析开源软件,支持所有针对数据的通用操作,如分割,配准,重建,转换,定性分析等。
3d Slicer也是一个软件研究平台,允许研究人员快速地开发和评估新算法,并且将它们发布到用户。
3d Slicer也是一个产品开发平台,允许企业快速地验证产品原型,并且将发布产品到用户。开发者可以将精力集中在开发新的算法上面,而无需再花费时间,重新开发一些基本的图像导入/导出,可视化,交互等模块。它可以被高度地定制化。
它是完全免费,而且在如何使用上面没有任何限制。
2. 3d Slicer的编译介绍
2.1 windows 10平台编译
2.2 linux(ubuntu 18.04)平台编译
官方指导文档: https://slicer.readthedocs.io/en/latest/developer_guide/build_instructions/linux.html
官方建议是在Ubuntu 20.04 (Focal Fossa)上面编译3d Slicer.
由于本机的Ubuntu是18.04的,所以这里介绍在18.04上面编译3d Slicer遇到的问题和解决过程。
要想编译3d Slicer, 需要在本机安装依赖的库和相关的工具。
由于Slicer需要依赖的库非常多,没有办法直接把这些库都放在源码中。因此,Slicer在编译的过程中,会自动去相应的库下载源代码并且编译。因此,需要依赖git, gcc。Slicer的界面,则是依赖于QT开发,因此也需要安装QT以及相关的库。
官网给出了如下的安装依赖的指令:
sudo apt update && sudo apt install git subversion build-essential cmake cmake-curses-gui cmake-qt-gui \
qt5-default qtmultimedia5-dev qttools5-dev libqt5xmlpatterns5-dev libqt5svg5-dev qtwebengine5-dev qtscript5-dev \
qtbase5-private-dev libqt5x11extras5-dev libxt-dev
报错1:
运行上述指令时会报错。
报错的主要原因是,在执行 sudo apt update时造成的。
https://www.omgubuntu.co.uk/2017/08/fix-google-gpg-key-linux-repository-error
https://www.google.com/linuxrepositories/
根据以上的链接,更新key后,sudo apt update, 就可以成功运行了。
然后再次运行上面的指令,就可以成功地安装相关的依赖了。
接下来,按照官网的描述,下载3d Slicer的源码。
git clone git://github.com/Slicer/Slicer.git
此时会自动创建一个名称为Slicer的文件夹,里面就是Slicer的源代码。
然后就是根据官网的描述,运行其中的脚本,来配置开发环境。
cd Slicer
./Utilities/SetupForDevelopment.sh
cd ..
然后就是,新建一个目录,用于存放编译后的文件和解决方案。相关的指令如下:
mkdir Slicer-SuperBuild-Debug
cd Slicer-SuperBuild-Debug
cmake ../Slicer
这里由于是编译Debug版本,因此创建的文件夹名称为: Slicer-SuperBuild-Debug.
通过运行cmake指令,可以生成相应的项目依赖和makefile. 然后再运行make指令,就可以开始编译项目了。为了能够应用多核的优势,官网建议编译的时候,选择的并行编译进程数,为cpu核数+1.
我在编译的时候,选择的是9. 因此,我的编译指令如下:
make -j8