RTK(ReconstructionToolkit)是用于锥形束CT重建的、开源的工具箱,其安装配置需要一些其他的依赖库和计算机配置。这里根据自己的安装过程中参考的一些文档和遇到的错误进行总结。
安装顺序是:(以下下载根据自身需要,本人除cuda使用10.0版本外,其余都是最新版本)
Visual studio ,(公司内部软件中心有,随便搜官网也可)
CMake,下载地址
Cuda,下载地址
Git,下载地址
fftw(傅里叶变换计算包,需要的话就安装,不麻烦),下载地址
ITK(想用RTK必须安装,因为以此为依赖),下载地址
RTK,下载地址
1、首先安装Visual studio
我安装了最新的,因为公司内网的软件管理器无法选择版本;
2、安装CMake
(1)从官网下载适合自己计算机的版本,我用的是Windows x64;
(2)按默认方式一直 “Next” ,记得将CMake路径加入到计算机路径,仔细看英文就好,直到安装完成。
(3)验证安装成功
安装之后进行重启,重启之后可用“命令提示符”(文件夹路径框输入cmd,按enter)输入CMake查看是否安装成功,安装成功的页面如下。
3、安装CUDA
RTK在CT重建过程中会用到Cuda进行加速,这里安装很简单,但是涉及一些环境变量的配置,参考以下博客的第二条CUDA安装即可,过程很简单,基本不出错:
参考博客
PS:
安装这步的时候遇到一点小插曲,因为公司的电脑IT只给配置了基础环境,虽然有显卡,但是驱动没有安装,所以在查看显卡支持的驱动和CUDA版本时一直打不开NVIDIA面板,所以我先安装了显卡驱动,后边继续跟随教程安装CUDA就好了,这里CUDA建议安装不太新的版本10.0,版本低一点没关系,但是高了就不好办了。
4、安装Git
Git的作用是在编译RTK的时候进行一些库的克隆,不安装的话极有可能报错。下载后安装全部默认操作即可。
5、安装FFTW
(1)创建一个"FFTW"文件夹(文件地址自己选定,不一定C盘),将下载好的压缩包解压到此处,如图:
(2)打开第一步下载的VS下的命令提示符,根据所下载的fftw版本选择合适的选项,64位选x64,32位选x86:
(3)cd进入到解压的FFTW包D:\FFTW\fftw-3.3.5-dll64内,这里直接cd进入不行,需要先进入大盘D,再进入下边的小盘,如下图所示:
(4)逐条输入并执行以下命令:
lib /machine:x64 /def:libfftw3-3.def
lib /machine:x64 /def:libfftw3f-3.def
lib /machine:x64 /def:libfftw3l-3.def
6、ITK安装
ITK( Insight Segmentation and RegistrationToolkit)是一款医学图像处理软件包,RTK的很多功能都要依赖ITK,可以将RTK看成是ITK的子模块。
(1)解压ITK压缩包。
(2)建立一个名为"ITK"的文件夹,把解压后的下载文件复制进去(图中的InsightToolkit-5.2.1文件即为解压后的文件),并在文件夹中再建立一下文件夹:
Bin:ITK在编译时生成编译的二进制文件放在此文件夹中,这些文件是应用程序或库的实际可执行代码;
Build:存放编译后的工程文件。
(3)打开Cmake进行编译,输入要编译的源文件地址和编译好后的输出地址(框中两个地址一个是源文件地址,一个是编译后文件存放的地址,即建立的Build文件夹),根据自己建立的文件夹路径进行选择:
选择好位置后点击Confgure,会跳出一下选择框,根据自己的具体情况选择,我的环境是VS+X64,其他选项默认,然后 “Finish” 下一步。
(4)等待编译过程结束,需要很久
第一次 Configure 后,CMake 界面会出现一片红色,这很正常,我们接下来进行一些必要的设置。
搜索 “CMAKE_INSTALL_PREFIX” 选项,设置路径为…\ITK\Bin (如图);
然后勾选 “BUILD_SHARED_LIBS” 选项(如图),该变量用于指定是否生成动态库,如果想要生成动态库需要打勾 。这里建议生成动态链接库,默认情况下是静态链接库。
勾选 “FFTW” 相关选项(如图);
然后继续点击“configure”进行编译。
PS:此处我们没选CUFFTW选项,所以Configure时会报错,且编译失败,(个人实验了下,选上此项,编译还是失败,不明白原因,所以还是保持不选吧,下面用其他办法修复),我们可以通过输入FFTW的相关文件地址,参考以下这张图片进行输入,仔细对比,文件名字很相似:
设置好后再点击Configure,编译后遇到红色的项目就再次编译,别慌。
(5)期间会提示编译完成,但是还有红色选项,此时只需要再次点击“configure”按钮,直到完全没有红色选项视为编译结束。
(6)点击 “Generate” 按钮进行生成,当出现 Generaing done 时,此时关闭 CMake 即可。
(7)使用 Visual Studio 生成 ITK 库文件
完成后点击 “Open Project” 按钮,VS将自动启动并打开生成的项目。
PS:VS打开后,如果界面是空的也看不到文件夹,可以在视图中打开解决方案资源管理器,我好傻,以为前面编译的有问题,原来是不会用VS…
在VS中,鼠标单击选中 “ALL_BUILD” ,然后点击生成菜单中的 “生成ALL_BUILD” 进行生成,任务结束后会显示生成结束(如图),正常情况下没有失败项目,有错误的话就是前面Configure有问题,查不到原因就删除之前编译过程中产生的文件,从头再来。
接下来,选择 “INSTALL” ,然后在生成下拉菜单中选择 “仅用于项目”→“仅生成INSTALL”。结果为成功则生成结束。
(8)复制生成的dll文件到系统中
将库文件…\ITK\Bin\bin 和 …\ITK\Build\bin\Debug 下的所有 .dll 文件复制粘贴到 C:\Windows\System32 和 C:\Windows\SysWOW64 目录下(相同的替换即可),Debug中需要搜索.dll项目,有一半是其扩展项目,不用复制过去。
(9)配置环境变量
在“高级系统设置”的“系统变量”的path中添加Build文件夹的地址,如图所示。
ITK安装结束
7、安装RTK
(1)与ITK安装方式相似,先对下载好的RTK压缩包解压,然后在合适的位置建立后续需要的文件夹。对于RTK只需要建立一个Build即可:
(2)打开CMake,选择自己的文件路径,然后点击“configure”进行编译。
(3)这里如果报错,编译失败,”则将下图白色框中的路径地址修改为Build所在的地址,如果没报错,则忽略此步,继续编译直到红色消失。
(4)编译完成后点击 “Generate” 生成。
(5)点击 “Open Project” 按钮,自动打开VS,依然像先前ITK那样生成 “ALL_BUILD” 。
显示全部成功则结束
(6)此时,可以选择一个项目进行测试;
例如测试 rtkfdktest ,选中项目名,右键选择 “设为启动项目” ,然后点击 “本地Windows调试器” 。正常情况下是这样子的:
但是实际第一次实验的时候,我遇到了报错,显示找不到文件libfftw3-3.dll,可通过以下方式修复:
可以看到这个文件是FFTW的,所以到FFTW文件夹下找到该文件,将其复制到windows下的syswow64文件夹中,在重新运行以上例子,就可以啦!!!
这里参考了两个博客内容,第一个是讲了这么做的原理,第二个是提供了复制文件的具体方式和思路:
参考网页1
参考网页2
至此,所有配置完成。