しばらく前に、ANTsのUbuntu 14.04へのインストール方法(ソースからのコンパイル)という記事を書きましたが、最近のANTsは、cmakeのバージョンが3.10以上でないとコンパイルできなくなっていました。
方法を探してみましたが、cmakeのコンパイルを説明するページが圧倒的でした。
しかし、さらに探していたところ、pipを使えばすんなりいくことがわかりました。
pipは、pythonのパッケージ管理システムで、この中にcmakeも入っています。
ということで、改めて記事を書いていきます。
※2020/02/02 現在はUbuntuのcmakeは3.13までアップグレードしましたので、pipでなくても大丈夫になりました。
sudo apt install cmake
だけでも以下のコンパイルはできます。
- 事前に必要なソフトウェア
- git
- C++コンパイラー
- CMake
以下の3つが必要です。
gitとc++コンパイラは、以下で簡単にインストールできます。
$ sudo apt-get install git g++
cmakeは以下でインストールできます。
$ sudo apt-get install python-pip $ pip install cmake
cmakeのバージョンを確認します。
cmake --version
私の場合は以下のようになりました。
$ cmake --version cmake version 3.12.0 CMake suite maintained and supported by Kitware (kitware.com/cmake).
3.12.0であるということがわかります。
ANTsを準備するためのフォルダを準備しましょう。ここでは、ホームディレクトリの下にANTSを作成します。そのうえで、その中に build と install というフォルダを準備します。
cd mkdir ANTS cd ANTS mkdir build install
gitでソースコードを入手します。
ANTsというディレクトリにソースコードが入ります。
pwd #今は、~/ANTS にいると仮定します。 workingDir=${PWD} git clone https://github.com/ANTsX/ANTs.git
早速コンパイルに入ります。
先程作成した build ディレクトリに移動し、そこでコンパイルを行います。
ターミナルから次のコマンドをタイプします。
下の make -j 4 の4はコア数です。自分のPC環境にあわせて変えてください。
cd build cmake \ -DCMAKE_INSTALL_PREFIX=${workingDir}/install \ ../ANTs 2>&1 | tee cmake.log make -j 4 2>&1 | tee build.log
そうすると、以下のような画面になります。ITKをダウンロードなどします。私の場合、ここだけでだいたい20-30分くらいかかりました。ネットワークの遅い早いもあるかもしれませんが、じっと待ちます。
忍耐の結果、”Completed: ANTs”と出れば、無事にコンパイル完了です。
インストールを行います。先程作成した install フォルダにインストールされます。
cd ANTS-build make install 2>&1 | tee install.log
今度は、ANTsのパス設定を行います。.bashrcに記載します。
nano ~/.bashrc
すると、.bashrcが立ち上がりますので、そこの一番下に以下の内容を記載します。
今、ANTsの実行ファイルは、~/ANTS/install/binにあります。
#ANTs export ANTSPATH=~/ANTS/install/bin export PATH=$PATH:$ANTSPATH
これを保存し、終了し、ターミナルを一度閉じて再度開きます。
ANTsのパスが通っているかどうかを確認するには、以下をタイプします。
which antsRegistration antsRegistrationSyN.sh
最初のコマンドで
自分のホームディレクトリ/ANTS/install/bin/antsRegistration
となり、
次のコマンドで、antsRegistrationSyN.sh の説明がでれば正しくセットアップできています。
これで、ANTSのヘルプ画面が出れば、無事にインストールできたことになります。
今後、ANTsがアップデートされた場合、以下のようにすればよいとのことです。
cd ~/git/ANTs git pull origin master
これで、ANTsの中身が最新になりますので、再度コンパイルという形になるかと思います。
根本先生
いつもサイトを参考にさせていただいております。Western Ontario大学の堀祐樹と申します。現在Virtual box上のUbuntu16.04(host側はWindows10)でfMRIの解析を行っておりANTsをインストールしたく本ページを参考にさせていただきました。
cmakeまでは無事に終わったのですがどうしても “make -j 4” の途中下記のところで固まってしまい先に進みません。
[ 14%] Built target ANTSFetchData
[ 14%] Building CXX object Examples/CMakeFiles/antsUtilities.dir/sntsRegistration3DFloat.cxx.o
Virtual Box上のUbuntuには、この操作ではインストールできないのでしょうか?それともスペックの問題なのでしょうか?
すみません。もしなにかご存知でしたらアドバイス頂けますと幸いです。
堀祐樹 拝
堀先生
VirtualBox上のUbuntuで操作できないということはないと思います。スペックの影響かもしれませんね。それはなんとも言えませんが。
実は、私の方で、コンパイルしたものを準備しています。
http://lin4neuro.net/lin4neuro/neuroimaging_software_packages/ANTs.zip
VirtualBox上のUbuntuからこちらをダウンロードしてください。
これはコンパイルが済んでいるものなので、Ubuntuですぐに使えるかと思います。
ご参考まで。
根本先生
返信遅くなりました。先ほどコンパイル済みのもので試しましたところ上手くいっているようで助かりました。ようやくANTSが試せてうれしい限りです。
貴重なお時間いただきましてありがとうございました。
堀
堀先生
ご丁寧にありがとうございます。
無事にうまくいったようでよかったです。