安装配置CADLab-master

作者: MrGiovanni | 来源:发表于2016-03-03 18:13 被阅读261次

    Imaging Biomarkers and Computer-Aided Diagnosis Laboratory — LymphNodeRFCNNPipeline

    步骤来源:github

    配置细节撰写人:Zongwei Zhou

    我使用的是Windows 7,64位系统,如果碰巧一样的话就直接按照提供的地址下载安装即可,可以巧妙地避开很多坑。


    Introduction

    Developed by  Kevin Cherry and Holger Roth

    Please cite our papers if you end up using this code:

    [1] HR Roth, L Lu, J Liu, J Yao, A Seff, C Kevin, L Kim, RM Summers: Improving Computer-aided Detection using Convolutional Neural Networks and Random View Aggregation. Medical Imaging, IEEE Transactions on. Year: 2015, Volume: PP, Issue: 99, Pages: 1 - 1, DOI: 10.1109/TMI.2015.2482920

    [2] KM Cherry ; S Wang ; EB Turkbey ; RM Summers: Abdominal lymphadenopathy detection using random forest. Proc. SPIE 9035, Medical Imaging 2014: Computer-Aided Diagnosis, 90351G, doi:10.1117/12.2043837

    Code includes open-source packages:

    1. http://cs.nyu.edu/~wanli/dropc/ based on https://code.google.com/p/cuda-convnet/

    2. https://code.google.com/p/randomforest-matlab/

    3. NiftyReg http://sourceforge.net/projects/niftyreg


    Requirements

    1. Matlab

    我使用的版本是MATLAB 2013a,下载地址,下载下来安装包,按照Matlab R2013a 安装过程详解.pdf一步步安装即可。

    2. CUDA-compatible graphics card

    使用CUDA对GPU进行编程,我们需要准备以下必备工具:

    硬件平台,就是显卡,如果你用的不是NVIDIA的显卡,那么只能说抱歉,其他都不支持CUDA。

    这个NVIDIA的要求比较坑,我原来的笔记本也算算是高配,但检查了一下显卡,只有intel,并没有NVIDIA的,顿时感到无力,后来换了一台电脑,选择时首要的指标就是:“有没有NVIDIA的显卡”,一般来说高配的电脑都有,但大家一定要先确认一下。

    Windows7:右键桌面‘计算机’->选择设备管理器->查看显示适配器,看看有没有NVIDIA系列的显卡,不管什么型号的,NVIDIA系列的就ok

    检查自己电脑的显卡类型

    原来其实导师还想了一个方案,就是我的笔记本桌面远程,用他的电脑,但是我网上看了一下,感觉不靠谱,原因是:

    你使用远程桌面连接登录到另一台服务器,该服务器上有显卡支持CUDA,但你远程终端不能运行CUDA程序。这是因为远程登录使用的是你本地显卡资源,在远程登录时看不到服务器端的显卡,所以会报错:“没有支持CUDA的显卡!”

    解决方法:1.远程服务器装两块显卡,一块只用于显示,另一块用于计算;2.不要用图形界面登录,而是用命令行界面如telnet登录。

    3. Install CUDA 4.2 64-bit (https://developer.nvidia.com/cuda-toolkit-42-archive)

    CUDA(Compute Unified Device Architecture),是显卡厂商NVIDIA推出的运算平台。 CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。

    按照自己电脑的情况依次下载安装Download Toolkit, Drivers, SDK,我用的版本就是这个Toolkit, Drivers, SDK,大家可以直接下载。在安装前首先确认你的显卡用的是NVIDIA了,而且更新了驱动。

    错误:NVIDIA最新显卡驱动无法找到兼容的图形硬件

    双显卡的笔记本一定要注意显卡安装顺序,首先要安装集成显卡(Internet)更新后重启,否则无法安装独立显卡或容易报错,如上图。安装NVIDIA Graphics Driver时也可能会遇到这个错误,完美解决NVIDIA最新显卡驱动无法找到兼容的图形硬件,百度上有各种解决方法,有的好用有的没用,我用的是这个解决方案,亲测有效。

    4. Python 2.7 64-bit with Numpy and Matplotlib!

    Recommended to use Anaconda python distribution: http://continuum.io/downloads

    Make sure it's added to path (and remove any conflicting python versions from path)

    安装完python最好再安装一个pip,pip相当于苹果的app store,可以用它下载很多python需要的包,比如matplotlib就可以。python和pip的安装详细步骤可以参考这个教程,基本就没什么别的问题了。需要注意的是numpyscipy这两个包用pip安装会出来各种问题,建议直接网上下载exe,双击安装。下载地址:NumpyScipy。这儿要说明一下,虽然我的系统是64位的,但我还是安装了32位的python和其附属包,因为我在做深度学习的实验的时候发现部分包64位不支持的。

    另外,它有推荐Anaconda python distribution,我就安装了。

    python运行时遇到的问题

    这儿再提一嘴,安装完python,你运行程序,想看看到底python怎么样的时候,可能会遇到上面的问题,解决方法是去Visual Studio安装的目录下查找cl.exe文件,把文件目录添加到系统路径里面。

    添加系统路径:高级系统设置->环境变量->Path

    我用的是Visual Studio 2012,这个是下载地址,当然Visual Studio各个版本的地址也有,大家可以自行挑选,不建议安装高版本的,原因是在后续的配置中,往往会不支持高版本。

    5. Optional: MITK for viewing result (http://www.mitk.org/Download)


    Run example (Windows 7, 64-bit):

    1. Download example data from https://drive.google.com/file/d/0Byig_cLsHdU0VkdGTXQ1N195ZWc/view?usp=sharing and extract to .\data

    数据挺大的,当时我在国外下载的,不能翻墙的话可以在这儿下载

    2. Open Matlab

    3. CD to where 'run_LymphNodeRFCNNPipeline.m' is located and run it (it will automatically add necessary sub-folders to Matlab path)

    划线的那句不要信,把该添加路径的都添加了,稳妥,不然各种找不到函数的问题烦死你。

    找不到函数的错误,把路径添加进去! 选择Add with Subfolders

    4. Select ".\data\CTimage" as input folder

    5. Select a suitable output folder

    在run_LymphNodeRFCNNPipeline.m中修改input和output folder的地址 报错1 报错1的解决方法:在install_LymphNodeRFCNNPipeline.m中找到copyfile这行,把filesep删掉 报错2 报错2解决方法:在install_LymphNodeRFCNNPipeline.m开头修改pwd的值,即当前目录

    具体怎么修改呢,因为报错的句子是optRF.randForestFilename地址找不到,只要Ctrl+F搜索randForestFilename,找到它的定义,应该是这句optRF.randForestFilename = [pwd,filesep,'trained_Forests\RF_regression.mat'];这儿有一个pwd,意思是当前路径,默认的是你MATLAB安装的路径,所以当然不对。你去CADLab-master文件夹下搜索RF_regression.mat,找到了它的路径,把与pwd无关的删掉,就是pwd了,可以参见我的修改代码。

    把上面的代码改完,这个MATLAB程序就可以开始运行一会儿了,大概一分钟,然后继续报错:

    报错3,红字上面的都是正常运行的结果,我就不截啦,这个是因为你没有装niftyreg或者装完没有修改m文件的相应代码

    按照上述方法做,估计还是会报出很多错误...因为要开始读代码了,但是不要怕,我也卡这儿了,先继续把下面几个步骤完成再来细读代码。

    Compile yourself (should work on platforms other than Windows 7, 64-bit and Visual Studio 10, but links have to be updated):

    Requirements

    1. ITK v4.5.0 (others are untested) http://sourceforge.net/projects/itk/files/itk/4.5/InsightToolkit-4.5.0.zip/download

    ITK的作用相当于一个函数库,是C++写的,在后续的调用时都是要用到的。我用的不是v4.5.0版本 的。需要注意的是,ITK的版本需要与CMake的版本对应起来,具体怎么对应需要去官网查,我用的对应版本是ITKCMake。验证可行,建议用我的下载地址。

    先把ITK和Cmake对应的下载下来,然后开始编译ITK。

    因为ITK是C++的工程,编译C++工程不同的系统都是不同的,Mac、Linux、Windows,而且不同版本的编译器Visual Studio、Codeblocks也是不同的,对于这个跨平台的编译,需要一个翻译,把C++工程翻译成不同的可执行的工程,这个“翻译”就是CMake。进一步的CMake的使用可以参考这儿,主要讲的是ITK借助CMake在VS2010下的使用。CMake的作用解释明白了,那我们就可以翻译。

    打开下载完成的CMake,打开bin文件夹里面的cmake-gui.exe,跳出这个界面,就是CMake的界面啦。

    CMake界面

    Where is the source code:中填入下载完的ITK中CMakeLists.txt文件的路径,这个CMakeLists.txt文件就是CMake的可执行文件了,以后看到这种CMakeLists字样脑子里面就应该反应过来,“哦,这儿需要CMake翻译一下了”。在Where to build the binaries:中填入你想把翻译完的工程放哪儿,我是新建了一个ITK_build文件夹。然后把Advanced的勾上

    按Configure,选择编译器,我的是Visual Studio 2012,然后正常就开始运行啦,时间大概在5-10分钟。这一步版本弄对了会很爽,一路DONE,DONE,DONE,要是有个什么不对了,各种报错。

    遇到这种问题就是你的CMake,VS和ITK的版本没对上

    Configure完成后,按Generate,这个很快的,看到done了,恭喜你,翻译成功。打开翻译后的工程文件,用Visual Studio打开ITK.sln文件,看一下解决方案,导入了多少个项目,我这儿遇到一个问题,导入的项目只有217个,而和我一起装的同学,用的全是同一版本的ITK、CMake、Visual Studio,导入了600多个项目,我不知道是怎么回事,先放在一遍,反正暂时没有报错,还算顺利。

    只导入了217个项目

    生成->生成解决方案,等待N久,看你的电脑配置,有的持续一下午,有的一小时就编译完了。ok,至此,ITK算是安装完成啦。

    2. CUDA 4.2 (others are untested) https://developer.nvidia.com/cuda-toolkit-42-archive

    这一步和上面重复了,确保已经安装完成了就ok

    3. BOOST 1.55 (others are untested): http://sourceforge.net/projects/boost/files/boost-binaries/1.55.0/boost_1_55_0-msvc-10.0-64.exe/download


    1. Locate ".\pyconvnet\CMakeLists.txt", run CMake and produce Visual Studio or makefile (untested)

    这一步其实就是用CMake来翻译..\CADLab-master\LymphNodeRFCNNPipeline\pyconvnet路径下面的CMakeLists.txt,基本的步骤和上面的ITK翻译差不多,但是还是会遇到一堆问题。

    清一色的找不到Boost的路径,当然前提是你明明已经安装的哦

    对于这个清一色找不到boost的路径我也是没有办法,我就装作没看到,不管它啰。

    ITK的路径找不到

    对于ITK的路径找不到,我的解决方法是把ITK_DIR-NOTFOUND这行替换成ITK翻译完的ITK_build文件夹路径,这个靠谱。

    找不到显卡

    对于这种找不到显卡的问题,我的解决方法是去设备管理器看看,发现是这种情况

    NVIDIA显卡边上有感叹号

    那么直接把显卡驱动升级一下就可以了。最后,我CMake完是这么一个提示,有瑕疵,但是至少done了,就可以继续接下来的步骤。

    有瑕疵,一个warning

    2. Compile pyconvnet

    用Visual Studio打开翻译完的文件夹下的pyconvnet.sln,还是生成->生成解决方案,编译完即可。

    pyconvnet的解决方案 最终结果

    3. compiling PACKAGE should include all binaries in a zip file, which can be installed in Matlab using 'install_LymphNodeRFCNNPipeline.m', called by 'run_LymphNodeRFCNNPipeline.m')

    4. NiftyReg http://sourceforge.net/projects/niftyreg/files/nifty_reg-1.3.9/, Pre-build version with VS2010 is provided. Otherwise rebuild the code in 'niftyreg-git_prebuild_vs10_x64r' and modify m-scripts accordingly. 

    CMake处理时遇到这种问题,各种NOTFOUND,原因是版本问题,原链接给的NiftyReg对应Visual Studio 2010 CMake错误,卸载掉.NET Framework 4.5,重新安装.NET Framework 4.0即可解决 CMake编译结束,出现了warning,没管它,反正都done了 VS2010提示没有安装.NETFramework,但问题是我已经在电脑中安装了。 选择“将项目保留为未加载”,直接导致项目都不可用

    This NiftyReg version from git:

    $ git log

    commit 390df2baaf809a625ed5afe0dbc81ca6a3f7c647

    Author: Marc Modat

    Date:  Fri Nov 14 13:06:52 2014 +0000

    Modified the bending energy computation so that it does not over-regularise

    相关文章

      网友评论

        本文标题:安装配置CADLab-master

        本文链接:https://www.haomeiwen.com/subject/drqokttx.html