跳至內容

MINC/教程/原始碼安裝

來自華夏公益教科書

使用 cmake 超級構建從原始碼安裝 MINC

[編輯 | 編輯原始碼]

閱讀 https://github.com/BIC-MNI/minc-toolkit 中的安裝說明


使用大型 makefile 從原始碼安裝 MINC(已過時)

[編輯 | 編輯原始碼]

MINC 工具已成功編譯在各種系統上,包括 SGI、Sun、Linux、Windows、Mac OS X 和 VAX。本教程介紹如何透過編譯原始碼來安裝 minc 工具。本教程假設您使用的是 GNU/Linux,在其他平臺上構建的過程有時會有細微差別,但總體上會遵循以下示例。

先決條件

[編輯 | 編輯原始碼]

MINC 工具有相當多的依賴項。成功編譯所有工具之前需要安裝的軟體包的具體列表將取決於目標系統,因為每個 Linux/BSD 發行版都包含不同的軟體包集。在 Debian 或 Ubuntu 的新安裝中,以下軟體包可能缺失,需要使用 apt-get 或 synaptic 安裝。

  • HDF5
  • NetCDF
  • flex
  • g++(舊版本的 N3 需要 g++ 4.2,但最新版本的 N3 沒有此限制)
  • zlib1g-dev
  • libnetpbm9-dev
  • libxmu-dev
  • libxi-dev
  • libtext-format-perl
  • autoconf
  • byacc

此外,構建文件可能需要 LaTeX 工具。以下軟體包僅在安裝 Display 和/或 register 時需要

  • opengl (libGL) dev
  • glut (libglut) dev

但是,這並不適用於基於 Nvidia 的顯示卡,這些顯示卡在其驅動程式中安裝了自己的庫。要檢查這些庫,請鍵入

glxgears

應出現一個帶有旋轉齒輪的視窗。

要在 Ubuntu 或 Debian 上透過 apt-get 一次安裝所有內容,這應該就足夠了

$ sudo apt-get install libnetcdf-dev libhdf5-serial-dev libnetpbm9-dev \
  fftw-dev libgsl0-dev libgetopt-tabular-perl libxext-dev glutg3-dev libsoqt3-dev \
  libxmu-dev libxi-dev imagemagick libtext-format-perl libpcre++0 libpcre3 \
  libsimage-dev libpcre++-dev autoconf perl-byacc flex g++ patch 

為了構建軟體包,您可能還需要安裝編譯器和 GNU make

  $ sudo apt-get install gcc g++ make

使用一個大型 makefile 從原始碼構建

[編輯 | 編輯原始碼]

構建了一個非常大的 Makefile,它構建了 http://packages.bic.mni.mcgill.ca/tgz 上找到的 MNI-BIC 內容的大部分,以及其他一些零碎內容(尤其是 ITK 的部分)。請注意,此過程從原始碼下載、構建和安裝,因此,如果使用,應使用它而不是上述二進位制選項(例如,apt-getting minc-bundle)。此外,以前二進位制安裝中其他 minc 庫的存在可能會導致連結器獲取一個較舊的庫,因此最好確保在構建之前刪除所有先前安裝的 minc 元件(例如 netcdf、hdf5 等)。此方法已在幾個最近的 Linux 發行版上進行了測試:Debian 5、Ubuntu 10.04、10.10 和 11.04。

步驟 1:下載 Make 檔案

[編輯 | 編輯原始碼]

此檔案當前是 Vlad Fonov 的 EZminc 包的一部分,因此可以在那裡找到它。如果出現問題,請聯絡 Vladimir Fonov <vladimir.fonov @NOSPAM@ mcgill.ca>。

 wget https://raw.github.com/BIC-MNI/EZminc/master/build_quarantine/Makefile

步驟 2:決定要構建的內容

[編輯 | 編輯原始碼]

Makefile 提供了許多構建目標,兩個極端是 make minc-onlymake minc-full。鍵入 make help 以獲取一些幫助資訊,或者使用您最喜歡的文字編輯器檢視 Makefile 的標題以閱讀有關所有目標的詳細資訊。

步驟 3:建立構建和安裝目錄

[編輯 | 編輯原始碼]

Makefile 下載原始碼包並在使用者定義的構建目錄中構建它們,該目錄透過 BUILD_DIR 引數指定。在開始構建之前建立此目錄。如果未指定,構建將在您的當前目錄中進行(這很混亂)。所有構建產品將安裝到指定的 INSTALL_DIR。請注意,如果要安裝到系統目錄,例如 /usr/local/bic,則需要在 sudo 下執行 Makefile。

步驟 4:確保已安裝先決條件軟體包

[編輯 | 編輯原始碼]

儘管大型 Makefile 構建了很多東西,但仍然有一些非 MNI-BIC 軟體包需要在 Make 之前安裝。只需 apt-get 這些軟體包即可;Makefile 的標題包含應完成工作的 apt-get 語句。

步驟 5:執行構建

[編輯 | 編輯原始碼]

好了,現在到了見證奇蹟的時刻。以下是一些構建示例

  • 最小構建:netcdf、hdf5、minc
make minc-only BUILD_DIR=$HOME/temp/build_minc INSTALL_DIR=$HOME/minc
  • 完整構建:構建大量內容,加上 register 和 Display,並安裝 MNI-BIC 擬合模型
make minc-full BUILD_DIR=$HOME/temp/build_minc INSTALL_DIR=$HOME/minc
 make models BUILD_DIR=$HOME/temp/build_minc INSTALL_DIR=$HOME/minc
 make visual BUILD_DIR=$HOME/temp/build_minc INSTALL_DIR=$HOME/minc

請注意,如果構建過程中出現任何錯誤,將不會嘗試構建所有依賴軟體包。要修復構建錯誤,只需進入您的 BUILD_DIR/package_name 目錄並進行調整即可。實際上,在 Ubuntu Lucid LTS(make visual)下構建 Display 時,由於 libtool 存在問題,目前需要進行此類調整。

構建單個軟體包

[編輯 | 編輯原始碼]

可以從單個軟體包編譯 MINC 工具。典型的安裝將需要

  • minc-2
  • mni_autoreg
  • bicpl
  • conglomerate
  • ebtks
  • classify
  • inormalize
  • Register
  • mincblob
  • mincmorph
  • mni_perllib
  • N3
  • ray_trace
  • Display

可以在此處找到有價值的附加指令碼:http://packages.bic.mni.mcgill.ca/scripts/;可以在安裝 MINC 工具後下載這些指令碼。

首先從 http://packages.bic.mni.mcgill.ca/tgz 下載最新版本的 MINC 2.x 工具鏈

  $ wget http://packages.bic.mni.mcgill.ca/tgz/minc-2.0.18.tar.gz

然後解壓縮軟體包

  $ tar zxvf minc-2.0.18.tar.gz

進入目錄

  $ cd minc-2.0.18

此時,您當然應該閱讀 README 檔案、NEWS 和 ChangeLog 檔案,以瞭解自上次釋出以來所做的更改。假設您已經做到了。

在本例中,我們要將所有 MINC 工具安裝到 /usr/local/bic,並且知道 NetCDF 和 HDF5 之前已安裝到 /usr/local。因此,我們將這樣配置軟體包

  $ ./configure --with-build-path=/usr/local --prefix=/usr/local/bic

請注意,使用 minc2 庫時,您需要新增一個額外的標誌。

  $ ./configure --with-minc2 --with-build-path=/usr/local --prefix=/usr/local/bic

此命令將產生大量輸出,因為配置會檢查系統上的各種庫。執行配置應該會生成一個 makefile,我們現在可以使用它。

  $ make

這將構建所有 MINC 檔案,現在我們可以執行 MINC 包附帶的內建檢查。這是從原始碼構建 MINC 的優勢之一,因為您可以自己執行檢查,二進位制包不提供這種可能性,因為假設是在一個系統上構建的版本在同一平臺的另一個系統上可以正常執行。要執行檢查,請鍵入

  $ make check

正在執行的檢查將確定底層 MINC API 是否自洽,以及其他一些檢查。檢查完成後,將返回狀態。您應該會看到類似以下的行

  All 3 tests passed

現在是時候安裝 MINC 了,鑑於我們向配置提供了字首引數,這是安裝 MINC API 和基本工具的目錄。在本例中,它是 /usr/local/bic,要執行此操作,請鍵入以下內容

  $ make install

這將在 /usr/local/bic 中的四個子目錄中安裝一些內容。可執行程式在 bin/ 中,標頭檔案在 include/ 中,庫檔案在 lib/ 中,手冊頁在 man/ 中。

我們可以使用類似以下內容來測試安裝

  $ mincmath -version

這應該會返回程式和底層庫的版本號。

華夏公益教科書