安装配置CADLab-master

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,723评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,485评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,998评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,323评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,355评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,079评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,389评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,019评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,519评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,971评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,100评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,738评论 4 324
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,293评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,289评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,517评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,547评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,834评论 2 345

推荐阅读更多精彩内容