医学图像处理-在Linux下使用cmake编译3d slicer

前言

3D Slicer是一个开源的跨平台医学影像可视化和处理分析软件,但在linux下编译的教程非常少,同时我也想记录自己曾经做过的东西,就决定写下这篇博客

官方教程为
https://www.slicer.org/wiki/Documentation/Nightly/Developers/Build_Instructions#Ubuntu

在terminal上依次输入下面命令即可完成编译slicer

必备条件

CMake >= 3.13.4
Git >= 1.7.10
Svn >= 1.7
Qt 5.11: tested and recommended

sudo apt-get install subversion git-core git-svn
sudo apt-get install make gcc g++ libx11-dev libxt-dev libgl1-mesa-dev libglu1-mesa-dev libfontconfig-dev libxrender-dev libncurses5-dev libxkbcommon-x11-0

安装QT

QT的下载网址为
http://download.qt.io/archive/qt/
官网推荐使用的版本是5.11,但我使用的是5.12

推荐安装教程网址为
https://blog.****.net/jcs1992/article/details/81506880

在安装QT过程中必选的组件是qtscript和qtwebengine
配置QT环境要修改etc/profile文件,使用下面命令
su root
sudo gedit /etc/profile
source /etc/profile

安装cmake

sudo apt-get install curl
mkdir ~/Support && cd ~/Support

官网的安装方法
curl -O https://cmake.org/files/v3.13/cmake-3.13.4-Linux-x86_64.tar.gz
tar -xzvf cmake-3.13.4-Linux-x86_64.tar.gz

mkdir -p ~/bin
ln -s ~/Support/cmake-3.13.4-Linux-x86_64/bin/name /bin/name ~/bin/name

我没有使用官网的安装方法,我的安装方法是
打开cmake的下载网址
https://cmake.org/download/
我安装的版本是cmake-3.16.7.tar.gz
医学图像处理-在Linux下使用cmake编译3d slicer
推荐安装教程网址为
https://www.jianshu.com/p/3703b1e0925e

配置

mkdir MyProjects
cd MyProjects
git clone git://github.com/Slicer/Slicer.git
cd Slicer
./Utilities/SetupForDevelopment.sh
cd /home/oem/Support/MyProjects
mkdir Slicer-SuperBuild-Debug
医学图像处理-在Linux下使用cmake编译3d slicer
cd Slicer-SuperBuild-Debug
cmake -DCMAKE_BUILD_TYPE:STRING=Debug -DQt5_DIR:PATH=/path/to/Qt5.11.0/5.11.0/gcc_64/lib/cmake/Qt5 …/Slicer
到这一步产生了一个bug
医学图像处理-在Linux下使用cmake编译3d slicer解决方法
将SuperBuild.cmake文件第25行注释
医学图像处理-在Linux下使用cmake编译3d slicer

编译

官网给出的命令是
医学图像处理-在Linux下使用cmake编译3d slicer
我的NUMBEROFCORES=4
所以
make -j4
到这一步会产生一个bug
医学图像处理-在Linux下使用cmake编译3d slicer提示Timeout was reached,就是响应超时,导致无法下载文件
解决方法:把那个Timeout was reached的网址复制到浏览器下载,把下载完成的文件放到某个位置,例如图片中的
Object
SHA512
就要搜索栏中搜索SHA512,在把下载完成的完成放在SHA512下

编译完成后

cd Slicer-build
./Slicer
就可以运行slicer了