MINC/教程/源代码安装
阅读 https://github.com/BIC-MNI/minc-toolkit 中的安装说明
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,它构建了 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。
此文件当前是 Vlad Fonov 的 EZminc 包的一部分,因此可以在那里找到它。如果出现问题,请联系 Vladimir Fonov <vladimir.fonov @NOSPAM@ mcgill.ca>。
wget https://raw.github.com/BIC-MNI/EZminc/master/build_quarantine/Makefile
Makefile 提供了许多构建目标,两个极端是 make minc-only 和 make minc-full。键入 make help 以获取一些帮助信息,或者使用您最喜欢的文本编辑器查看 Makefile 的标题以阅读有关所有目标的详细信息。
Makefile 下载源代码包并在用户定义的构建目录中构建它们,该目录通过 BUILD_DIR 参数指定。在开始构建之前创建此目录。如果未指定,构建将在您的当前目录中进行(这很混乱)。所有构建产品将安装到指定的 INSTALL_DIR。请注意,如果要安装到系统目录,例如 /usr/local/bic,则需要在 sudo 下运行 Makefile。
尽管大型 Makefile 构建了很多东西,但仍然有一些非 MNI-BIC 软件包需要在 Make 之前安装。只需 apt-get 这些软件包即可;Makefile 的标题包含应完成工作的 apt-get 语句。
好了,现在到了见证奇迹的时刻。以下是一些构建示例
- 最小构建: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
这应该会返回程序和底层库的版本号。