しばらく前に、ANTsのUbuntu 14.04へのインストール方法(ソースからのコンパイル)という記事を書きましたが、最近のANTsは、cmakeのバージョンが3.10以上でないとコンパイルできなくなっていました。
方法を探してみましたが、cmakeのコンパイルを説明するページが圧倒的でした。
しかし、さらに探していたところ、pipを使えばすんなりいくことがわかりました。
pipは、pythonのパッケージ管理システムで、この中に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であるということがわかります。
ターミナルを立ち上げ、gitでソースコードを入手します。
私は最近、ホームディレクトリの下にgitというディレクトリを作成し、その下に様々なリポジトリを管理しているので、
そのようにします。
ANTsというフォルダにソースコードが入りますので、もし、同名のフォルダがあったら、他のところに移動するか、名前を変更しておいてください。
cd ~/git git clone git://github.com/stnava/ANTs.git
次に、コンパイルのためのフォルダ antsbin を準備し、そこで作業をします。
mkdir antsbin cd antsbin
早速コンパイルに入ります。
ターミナルから次のコマンドをタイプします。ここで注意すべきは、ccmakeでなく、cmakeというコマンドを使うことです。
ccmakeはターミナル上でのGUIですが、cmakeはコマンドラインです。
cmake ../ANTs
今、antsbinというディレクトリにいます。../ANTsは、~/git/ANTsを意味します。
そうすると、以下のようなメッセージが出てきます。(最後だけ切り抜きます)
-- Found Git: /usr/bin/git (found version "2.7.4") -- SuperBuild - ANTS => Requires ITKv5, -- SuperBuild - ITKv5[OK] -- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version "1.2.8") -- SuperBuild - ANTS[OK] -- Configuring done -- Generating done -- Build files have been written to: /home/kiyotaka/git/antsbin
これで、コンパイルの準備は完了です。
そうしたら、以下のコマンドを打ちます。
make -j 4
そうすると、以下のような画面になります。ITKをダウンロードなどします。私の場合、ここだけでだいたい20-30分くらいかかりました。ネットワークの遅い早いもあるかもしれませんが、じっと待ちます。
忍耐の結果、”Completed: ANTs”と出れば、無事にコンパイル完了です。
最後にもうひとつ。http://ehc.ac/p/advants/discussion/840261/thread/18f0a686/の一番最後に記載がありますが、~/ANTs/Scriptsに、有用なスクリプトがたくさん入っています。これを、binにコピーしたらと推奨されています。
cd ~/git/antsbin/bin cp ~/git/ANTs/Scripts/* .
今度は、ANTsのパス設定を行います。.bashrcに記載します。
nano ~/.bashrc
すると、.bashrcが立ち上がりますので、そこの一番下に以下の内容を記載します。
今、ANTsの実行ファイルは、~/git/antsbin/binにあります。
#ANTs export ANTSPATH=~/git/antsbin/bin export PATH=$PATH:$ANTSPATH
これを保存し、終了し、ターミナルを一度閉じて再度開きます。
ANTsのパスが通っているかどうかを確認するには、以下をタイプします。
ANTS --help
これで、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が試せてうれしい限りです。
貴重なお時間いただきましてありがとうございました。
堀
堀先生
ご丁寧にありがとうございます。
無事にうまくいったようでよかったです。