安裝配置CADLab-master

Imaging Biomarkers and Computer-Aided Diagnosis Laboratory —?LymphNodeRFCNNPipeline

步驟來源:github

配置細(xì)節(jié)撰寫人:Zongwei Zhou

我使用的是Windows 7疾渣,64位系統(tǒng)佳魔,如果碰巧一樣的話就直接按照提供的地址下載安裝即可,可以巧妙地避開很多坑。


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進(jìn)行編程蝇裤,我們需要準(zhǔn)備以下必備工具:

硬件平臺,就是顯卡频鉴,如果你用的不是NVIDIA的顯卡栓辜,那么只能說抱歉,其他都不支持CUDA垛孔。

這個NVIDIA的要求比較坑藕甩,我原來的筆記本也算算是高配,但檢查了一下顯卡周荐,只有intel狭莱,并沒有NVIDIA的,頓時感到無力概作,后來換了一臺電腦腋妙,選擇時首要的指標(biāo)就是:“有沒有NVIDIA的顯卡”,一般來說高配的電腦都有仆嗦,但大家一定要先確認(rèn)一下辉阶。

Windows7:右鍵桌面‘計(jì)算機(jī)’->選擇設(shè)備管理器->查看顯示適配器先壕,看看有沒有NVIDIA系列的顯卡瘩扼,不管什么型號的谆甜,NVIDIA系列的就ok

檢查自己電腦的顯卡類型

原來其實(shí)導(dǎo)師還想了一個方案,就是我的筆記本桌面遠(yuǎn)程集绰,用他的電腦规辱,但是我網(wǎng)上看了一下,感覺不靠譜栽燕,原因是:

你使用遠(yuǎn)程桌面連接登錄到另一臺服務(wù)器罕袋,該服務(wù)器上有顯卡支持CUDA,但你遠(yuǎn)程終端不能運(yùn)行CUDA程序碍岔。這是因?yàn)檫h(yuǎn)程登錄使用的是你本地顯卡資源浴讯,在遠(yuǎn)程登錄時看不到服務(wù)器端的顯卡,所以會報(bào)錯:“沒有支持CUDA的顯卡蔼啦!”

解決方法:1.遠(yuǎn)程服務(wù)器裝兩塊顯卡榆纽,一塊只用于顯示,另一塊用于計(jì)算捏肢;2.不要用圖形界面登錄奈籽,而是用命令行界面如telnet登錄。

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

CUDA(Compute Unified Device Architecture)鸵赫,是顯卡廠商N(yùn)VIDIA推出的運(yùn)算平臺衣屏。 CUDA?是一種由NVIDIA推出的通用并行計(jì)算架構(gòu),該架構(gòu)使GPU能夠解決復(fù)雜的計(jì)算問題藕赞。

按照自己電腦的情況依次下載安裝Download Toolkit, Drivers, SDK,我用的版本就是這個Toolkit, Drivers, SDK,大家可以直接下載。在安裝前首先確認(rèn)你的顯卡用的是NVIDIA了,而且更新了驅(qū)動。

錯誤:NVIDIA最新顯卡驅(qū)動無法找到兼容的圖形硬件

雙顯卡的筆記本一定要注意顯卡安裝順序侨颈,首先要安裝集成顯卡(Internet)更新后重啟耘分,否則無法安裝獨(dú)立顯卡或容易報(bào)錯拜秧,如上圖楼肪。安裝NVIDIA Graphics Driver時也可能會遇到這個錯誤暂殖,完美解決NVIDIA最新顯卡驅(qū)動無法找到兼容的圖形硬件洋腮,百度上有各種解決方法坪稽,有的好用有的沒用,我用的是這個解決方案,親測有效肿孵。

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相當(dāng)于蘋果的app store大莫,可以用它下載很多python需要的包懈凹,比如matplotlib就可以杂腰。python和pip的安裝詳細(xì)步驟可以參考這個教程垃你,基本就沒什么別的問題了。需要注意的是numpyscipy這兩個包用pip安裝會出來各種問題少辣,建議直接網(wǎng)上下載exe凌摄,雙擊安裝。下載地址:Numpy漓帅,Scipy锨亏。這兒要說明一下,雖然我的系統(tǒng)是64位的忙干,但我還是安裝了32位的python和其附屬包器予,因?yàn)槲以谧錾疃葘W(xué)習(xí)的實(shí)驗(yàn)的時候發(fā)現(xiàn)部分包64位不支持的。

另外捐迫,它有推薦Anaconda python distribution劣摇,我就安裝了。

python運(yùn)行時遇到的問題

這兒再提一嘴弓乙,安裝完python末融,你運(yùn)行程序,想看看到底python怎么樣的時候暇韧,可能會遇到上面的問題勾习,解決方法是去Visual Studio安裝的目錄下查找cl.exe文件,把文件目錄添加到系統(tǒng)路徑里面懈玻。

添加系統(tǒng)路徑:高級系統(tǒng)設(shè)置->環(huán)境變量->Path

我用的是Visual Studio 2012巧婶,這個是下載地址,當(dāng)然Visual Studio各個版本的地址也有涂乌,大家可以自行挑選艺栈,不建議安裝高版本的,原因是在后續(xù)的配置中湾盒,往往會不支持高版本湿右。

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

數(shù)據(jù)挺大的,當(dāng)時我在國外下載的罚勾,不能翻墻的話可以在這兒下載毅人。

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)

劃線的那句不要信吭狡,把該添加路徑的都添加了,穩(wěn)妥丈莺,不然各種找不到函數(shù)的問題煩死你划煮。

找不到函數(shù)的錯誤,把路徑添加進(jìn)去缔俄!
選擇Add with Subfolders

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

5. Select a suitable output folder

在run_LymphNodeRFCNNPipeline.m中修改input和output folder的地址
報(bào)錯1
報(bào)錯1的解決方法:在install_LymphNodeRFCNNPipeline.m中找到copyfile這行弛秋,把filesep刪掉
報(bào)錯2
報(bào)錯2解決方法:在install_LymphNodeRFCNNPipeline.m開頭修改pwd的值,即當(dāng)前目錄

具體怎么修改呢俐载,因?yàn)閳?bào)錯的句子是optRF.randForestFilename地址找不到蟹略,只要Ctrl+F搜索randForestFilename,找到它的定義瞎疼,應(yīng)該是這句optRF.randForestFilename = [pwd,filesep,'trained_Forests\RF_regression.mat'];這兒有一個pwd,意思是當(dāng)前路徑壁畸,默認(rèn)的是你MATLAB安裝的路徑贼急,所以當(dāng)然不對。你去CADLab-master文件夾下搜索RF_regression.mat捏萍,找到了它的路徑太抓,把與pwd無關(guān)的刪掉,就是pwd了令杈,可以參見我的修改代碼走敌。

把上面的代碼改完,這個MATLAB程序就可以開始運(yùn)行一會兒了逗噩,大概一分鐘掉丽,然后繼續(xù)報(bào)錯:

報(bào)錯3,紅字上面的都是正常運(yùn)行的結(jié)果异雁,我就不截啦捶障,這個是因?yàn)槟銢]有裝niftyreg或者裝完沒有修改m文件的相應(yīng)代碼

按照上述方法做,估計(jì)還是會報(bào)出很多錯誤...因?yàn)橐_始讀代碼了纲刀,但是不要怕项炼,我也卡這兒了,先繼續(xù)把下面幾個步驟完成再來細(xì)讀代碼示绊。

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的作用相當(dāng)于一個函數(shù)庫锭部,是C++寫的,在后續(xù)的調(diào)用時都是要用到的面褐。我用的不是v4.5.0版本 的拌禾。需要注意的是,ITK的版本需要與CMake的版本對應(yīng)起來展哭,具體怎么對應(yīng)需要去官網(wǎng)查蹋砚,我用的對應(yīng)版本是ITKCMake扼菠。驗(yàn)證可行,建議用我的下載地址坝咐。

先把ITK和Cmake對應(yīng)的下載下來循榆,然后開始編譯ITK。

因?yàn)镮TK是C++的工程墨坚,編譯C++工程不同的系統(tǒng)都是不同的秧饮,Mac、Linux泽篮、Windows盗尸,而且不同版本的編譯器Visual Studio、Codeblocks也是不同的帽撑,對于這個跨平臺的編譯泼各,需要一個翻譯,把C++工程翻譯成不同的可執(zhí)行的工程亏拉,這個“翻譯”就是CMake扣蜻。進(jìn)一步的CMake的使用可以參考這兒,主要講的是ITK借助CMake在VS2010下的使用及塘。CMake的作用解釋明白了莽使,那我們就可以翻譯。

打開下載完成的CMake笙僚,打開bin文件夾里面的cmake-gui.exe芳肌,跳出這個界面,就是CMake的界面啦肋层。

CMake界面

Where is the source code:中填入下載完的ITK中CMakeLists.txt文件的路徑亿笤,這個CMakeLists.txt文件就是CMake的可執(zhí)行文件了,以后看到這種CMakeLists字樣腦子里面就應(yīng)該反應(yīng)過來栋猖,“哦责嚷,這兒需要CMake翻譯一下了”。在Where to build the binaries:中填入你想把翻譯完的工程放哪兒掂铐,我是新建了一個ITK_build文件夾罕拂。然后把Advanced的勾上

按Configure,選擇編譯器全陨,我的是Visual Studio 2012爆班,然后正常就開始運(yùn)行啦,時間大概在5-10分鐘辱姨。這一步版本弄對了會很爽柿菩,一路DONE,DONE雨涛,DONE枢舶,要是有個什么不對了懦胞,各種報(bào)錯。

遇到這種問題就是你的CMake凉泄,VS和ITK的版本沒對上

Configure完成后躏尉,按Generate,這個很快的后众,看到done了胀糜,恭喜你,翻譯成功蒂誉。打開翻譯后的工程文件教藻,用Visual Studio打開ITK.sln文件,看一下解決方案右锨,導(dǎo)入了多少個項(xiàng)目括堤,我這兒遇到一個問題,導(dǎo)入的項(xiàng)目只有217個绍移,而和我一起裝的同學(xué)悄窃,用的全是同一版本的ITK、CMake登夫、Visual Studio广匙,導(dǎo)入了600多個項(xiàng)目允趟,我不知道是怎么回事恼策,先放在一遍,反正暫時沒有報(bào)錯潮剪,還算順利涣楷。

只導(dǎo)入了217個項(xiàng)目

生成->生成解決方案,等待N久抗碰,看你的電腦配置狮斗,有的持續(xù)一下午,有的一小時就編譯完了弧蝇。ok碳褒,至此,ITK算是安裝完成啦看疗。

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

這一步和上面重復(fù)了沙峻,確保已經(jīng)安裝完成了就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)

這一步其實(shí)就是用CMake來翻譯..\CADLab-master\LymphNodeRFCNNPipeline\pyconvnet路徑下面的CMakeLists.txt,基本的步驟和上面的ITK翻譯差不多两芳,但是還是會遇到一堆問題摔寨。

清一色的找不到Boost的路徑,當(dāng)然前提是你明明已經(jīng)安裝的哦

對于這個清一色找不到boost的路徑我也是沒有辦法怖辆,我就裝作沒看到是复,不管它啰删顶。

ITK的路徑找不到

對于ITK的路徑找不到,我的解決方法是把ITK_DIR-NOTFOUND這行替換成ITK翻譯完的ITK_build文件夾路徑淑廊,這個靠譜逗余。

找不到顯卡

對于這種找不到顯卡的問題,我的解決方法是去設(shè)備管理器看看蒋纬,發(fā)現(xiàn)是這種情況

NVIDIA顯卡邊上有感嘆號

那么直接把顯卡驅(qū)動升級一下就可以了猎荠。最后,我CMake完是這么一個提示蜀备,有瑕疵关摇,但是至少done了,就可以繼續(xù)接下來的步驟碾阁。

有瑕疵输虱,一個warning

2. Compile pyconvnet

用Visual Studio打開翻譯完的文件夾下的pyconvnet.sln,還是生成->生成解決方案脂凶,編譯完即可宪睹。

pyconvnet的解決方案
最終結(jié)果

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對應(yīng)Visual Studio 2010
CMake錯誤,卸載掉.NET Framework 4.5嘶居,重新安裝.NET Framework 4.0即可解決
CMake編譯結(jié)束罪帖,出現(xiàn)了warning,沒管它邮屁,反正都done了
VS2010提示沒有安裝.NETFramework整袁,但問題是我已經(jīng)在電腦中安裝了。
選擇“將項(xiàng)目保留為未加載”佑吝,直接導(dǎo)致項(xiàng)目都不可用




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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末坐昙,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子芋忿,更是在濱河造成了極大的恐慌炸客,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,692評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件戈钢,死亡現(xiàn)場離奇詭異痹仙,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)逆趣,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,482評論 3 392
  • 文/潘曉璐 我一進(jìn)店門询兴,熙熙樓的掌柜王于貴愁眉苦臉地迎上來寞焙,“玉大人误阻,你說我怎么就攤上這事±嬷荩” “怎么了?”我有些...
    開封第一講書人閱讀 162,995評論 0 353
  • 文/不壞的土叔 我叫張陵田轧,是天一觀的道長暴匠。 經(jīng)常有香客問我,道長傻粘,這世上最難降的妖魔是什么每窖? 我笑而不...
    開封第一講書人閱讀 58,223評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮弦悉,結(jié)果婚禮上窒典,老公的妹妹穿的比我還像新娘。我一直安慰自己稽莉,他們只是感情好瀑志,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,245評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著污秆,像睡著了一般劈猪。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上良拼,一...
    開封第一講書人閱讀 51,208評論 1 299
  • 那天战得,我揣著相機(jī)與錄音,去河邊找鬼庸推。 笑死常侦,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的予弧。 我是一名探鬼主播刮吧,決...
    沈念sama閱讀 40,091評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼湖饱,長吁一口氣:“原來是場噩夢啊……” “哼掖蛤!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起井厌,我...
    開封第一講書人閱讀 38,929評論 0 274
  • 序言:老撾萬榮一對情侶失蹤蚓庭,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后仅仆,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體器赞,經(jīng)...
    沈念sama閱讀 45,346評論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,570評論 2 333
  • 正文 我和宋清朗相戀三年墓拜,在試婚紗的時候發(fā)現(xiàn)自己被綠了港柜。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,739評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖夏醉,靈堂內(nèi)的尸體忽然破棺而出爽锥,到底是詐尸還是另有隱情,我是刑警寧澤畔柔,帶...
    沈念sama閱讀 35,437評論 5 344
  • 正文 年R本政府宣布氯夷,位于F島的核電站,受9級特大地震影響靶擦,放射性物質(zhì)發(fā)生泄漏腮考。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,037評論 3 326
  • 文/蒙蒙 一玄捕、第九天 我趴在偏房一處隱蔽的房頂上張望踩蔚。 院中可真熱鬧,春花似錦枚粘、人聲如沸寂纪。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,677評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽捞蛋。三九已至,卻和暖如春柬姚,著一層夾襖步出監(jiān)牢的瞬間拟杉,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,833評論 1 269
  • 我被黑心中介騙來泰國打工量承, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留搬设,地道東北人。 一個月前我還...
    沈念sama閱讀 47,760評論 2 369
  • 正文 我出身青樓撕捍,卻偏偏與公主長得像拿穴,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子忧风,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,647評論 2 354

推薦閱讀更多精彩內(nèi)容