PET是获取生物活体功能影像的工具,而GATE是一款基于Mento Carlo方法的PET/SPECT设备专用仿真软件,它针对核医学成像技术对蒙特卡洛模拟软件包Geant4进行了模块化的封装并提供了许多新的特性。
GATE官方网址:http://www.opengatecollaboration.org/GATE80
GATE介绍:https://opengate.readthedocs.io/en/latest/
GATE是在OpenGATE的合作下开发的,目的是为学术界提供一个基于GEANT4的自由软件、通用的、基于GEANT4的发射断层成像仿真平台。
一、Linux系统的安装
在这里面我首先选择的是deepin20,国产的Linux系统,说不香都不行,很多常用软件都做了很好的适配。Deepin深度操作系统是基于Debian GNU/Linux开发的,和Ubuntu有很多的类似之处。
官方链接:https://www.deepin.org/zh/download/
直接根据官方的说明一步一步来就行,步骤极其简单。
当然,选择双系统也是可以的,【史上最详细】win10下的Deepin双系统安装小白教程
二、安装相关依赖项
sudo apt update
sudo apt install git dpkg-dev cmake g++ gcc binutils libx11-dev libxpm-dev libxft-dev libxext-dev gfortran libssl-dev libpcre3-dev libglu1-mesa-dev libglew-dev libftgl-dev libfftw3-dev libcfitsio-dev libgraphviz-dev libavahi-compat-libdnssd-dev libldap2-dev python-dev libxml2-dev libkrb5-dev libgsl-dev libqt4-dev
sudo apt install cmake libx11-dev libxext-dev libxtst-dev libxrender-dev libxmu-dev libxmuu-dev
sudo apt install qt4*
三、安装clhep
clhep是高能物理库,它是一组特定于HEP的基础和效用类,如随机生成器、物理向量、几何和线性代数。CLHEP是在一组独立于任何外部包的包中构造的(在某些条件下,CLHEP内部的相互依赖是允许的)。
下载链接:http://proj-clhep.web.cern.ch/proj-clhep/
提前先建立好一个gate的文件夹,接着在gate的文件夹里面下载刚刚的源码包
接下来就是编译了
cd build
cmake ../2.4.1.3/CLHEP
make
sudo make all install
大概有10min之后
四、安装Geant
安装Geant4并下载数据文件
Geant4(GEometry ANd Tracking)由欧洲核子中心(CERN)于1994年开发,是一个以C++为底层语言,以蒙特卡罗方法为基础的模拟粒子在材料中的输运过程的工具,对所有用户开放且开源。
下载链接:https://geant4.web.cern.ch/support/download
再根据自己的需要下载对应的数据文件
接着将下载好的软件压缩包放到gate文件夹里面的geant4文件夹中并解压缩,数据文件放在gate4-data文件夹中。下载数据集可以使用wegt指令。
在对应的gate文件夹打开终端,使用cmake进行编译,过程中记得使用sudo给权限
注意匹配自己的路径!!
cd geant4
mkdir geant4-build
cd geant4-build
cmake -DCMAKE_INSTALL_PREFIX=/data/home/magician/gate/geant4/geant4-install/ -DGEANT4_USE_OPENGL_X11=ON -DGEANT4_USE_RAYTRACER_X11=ON -DGEANT4_USE_QT=ON -DGEANT4_USE_SYSTEM_EXPAT=OFF GEANT4_BUILD_MULTITHREADED=ON /data/home/magician/gate/geant4/geant4.10.06.p02
make -j4
make install
关于cmake的参数可以自行百度了解~
-DCMAKE_INSTALL_PREFIX 参数表示安装的位置
-DGEANT4_USE_OPENGL_X11=ON -DGEANT4_USE_RAYTRACER_X11=ON 表示开启图形可视化
-DGEANT4_USE_QT=ON 表示开启Qt(不需要Qt界面的可以不加此参数)
GEANT4_BUILD_MULTITHREADED=ON 为开启多线程
/data/home/magician/gate/geant4/geant4.10.06.p02 表示源程序,如果下载的不同版本记得更改为解压后的文件夹名字。
make -j4 or make install -j4中的-j4表示八个线程运行。
make和make install的区别
附:官网的安装提示http://geant4-userdoc.web.cern.ch/geant4-userdoc/UsersGuides/InstallationGuide/html/index.html
将数据集解压到data文件夹中
添加完数据之后继续添加环境变量,直接加在.bashrc文件里面,防止以后多次添加
cd ~/
sudo gedit .bashrc
source /data/home/magician/gate/geant4/geant4-install/bin/geant4.sh
source /data/home/magician/gate/geant4/geant4-install/share/Geant4-10.6.2/geant4make/geant4make.sh
打开gedit后后面两条命令复制进去
或者使用下面的方法也可以
echo 'source /data/home/magician/gate/geant4/geant4-install/share/Geant4-10.06.p02/geant4make/geant4make.sh' >> ~/.bashrc
echo 'source /data/home/magician/gate/geant4/geant4-install/bin/geant4.sh' >> ~/.bashrc
再接着就是测试是否安装成功geant4了,屏住呼吸!!!
进入示例文件夹,我这边是/data/home/magician/gate/geant4/geant4.10.06.p02/examples/basic/B1
mkdir B1-build
cd B1-build
cmake ../B1
make -j4
./exampleB1
看到如图所示界面则说明成功了
五、安装ROOT
安装其他依赖项
sudo apt-get install git dpkg-dev cmake g++ gcc binutils libx11-dev libxpm-dev \
libxft-dev libxext-dev
sudo apt-get install gfortran libssl-dev libpcre3-dev \
xlibmesa-glu-dev libglew1.5-dev libftgl-dev \
libmysqlclient-dev libfftw3-dev libcfitsio-dev \
graphviz-dev libavahi-compat-libdnssd-dev \
libldap2-dev python-dev libxml2-dev libkrb5-dev \
libgsl0-dev libqt4-dev
下载ROOT安装包
官网链接:https://root.cern.ch/
ROOT是CERN诞生的数据处理框架,是高能物理研究的核心。
很不幸的是基于Ubuntu和Debian的发行版还没有对应的安装包,只能我们自己编译
找到release版本,这里面我们直接选择源码进行编译
将压缩包放入root文件夹解压缩后执行以下命令
cd /data/home/magician/gate/root
cmake -DCMAKE_INSTALL_PREFIX=/data/home/magician/gate/root/root-install -DGEANT4_USE_OPENGL_X11=ON -DGEANT4_BUILD_MULTITHREADED=ON /data/home/magician/gate/root/root-6.22.02
make -j4
sudo make all install
再次经过漫长的等待之后,编译完成之后我们紧接着添加环境变量
cd ~
gedit ./.bashrc
source /data/home/magician/gate/root/bin/thisroot.sh
打开root执行文件
cd root/bin
./root
有如下界面则说明安装成功
六、安装OpenGL、ITK和RTK
安装OpenGL
OpenGL 是一套由SGI公司发展出来的绘图函式库,它是一组 C 语言的函式,用于 2D 与 3D 图形应用程式的开发上。OpenGL 让程序开发人员不需要考虑到各种显示卡底层运作是否相同的问题,硬件由 OpenGL 核心去解决,因此只要显示卡支持 OpenGL,那么程序就不需要重新再移植,而程式开发人员也不需要重新学习一组函式库来移植程序
sudo apt-get install build-essential
sudo apt-get install libgl1-mesa-dev
sudo apt-get install freeglut3-dev
安装ITK,官网链接:https://itk.org/
ITK是一个开源的、跨平台的库,它为开发人员提供了一套广泛的图像分析软件工具。ITK通过极限编程方法开发,它建立在一个成熟的、面向空间的体系结构上,用于处理、分割和注册两个、三个或更多维度的科学图像。
请记住,ITK是一个工具包,因此,一旦它安装在计算机上,它就不提供一个运行的应用程序。ITK提供的是一组可以用来创建自己的应用程序的库。除了工具包本身,ITK还包括一组扩展的示例和测试。
mkdir ITK-Sandbox
cd ITK-Sandbox
git clone git@github.com:InsightSoftwareConsortium/ITK.git
mkdir ITK-build
cd ITK-build
cmake ../ITK
make -j4
安装RTK,官网链接:http://www.openrtk.org/
mkdir RTK-Sandbox
cd RTK-Sandbox
git clone git@github.com:SimonRit/RTK.git
mkdir RTK-build
cd RTK-build
cmake ../RTK
make -j4
如果你这时候遇到了这样的错误
-- Looking for isnan
-- Looking for isnan - found
CMake Error at CMakeLists.txt:239 (message):
Modules can only be built against an ITK build tree; they cannot be built
against an ITK install tree.
-- Configuring incomplete, errors occurred!
See also "/data/home/magician/gate/RTK-Sandbox/RTK-build/CMakeFiles/CMakeOutput.log".
不要慌,根据ITK的githubissue,RTK移到了Modules / External并激活了Module_RTK
七、安装Gate
回到我们的Gate官网,下载源码包http://www.opengatecollaboration.org/node/94
在Gate文件夹中解压该压缩包,并奖励gate-build和gate-install文件夹
mkdir gate-build
mkdir gate-install
cd gate-build
cmake ../Gate-9.0
打开ccmake配置环境
ccmake ../Gate-9.0
链接生成二进制可执行文件
make -j4
sudo make install -j4
假如我们这时发现如下报错GATE should be compiled with a non-multithreaded installation of Geant4
直接将cmake文件中对应行数注释掉就OK了,也可以使用多线程的
配置环境变量,在Gate文件中建立一个auto.bashrc文本文件
gedit auto.bashrc
将我们需要的所有的环境变量都放进去
source /data/home/magician/gate/root/bin/thisroot.sh
source /data/home/magician/gate/geant4/geant4-install/bin/geant4.sh
export PATH=$PATH:/data/home/magician/gate/gate-install
export PATH=$PATH:/data/home/magician/gate/ITK-Sandbox/ITK-build/bin
export LD_LIBRARY_PATH=/data/home/magician/gate/ITK-Sandbox/ITK-build/bin:$LD_LIBRARY_PAT
打开我们之前建立的gate-install文件夹,在终端运行Gate二进制可执行文件
到这里Gate环境就已经配置完成了