02_3_macOSネイティブ環境でのソフトウェアセットアップ - kytk/abis-web-2024 GitHub Wiki
-
チュートリアルの準備には、約4-5時間必要となります。時間に十分に余裕をもって準備をされてください。特に、macOS native環境では、想定通りにうまくいかないことも十分考えられます。このため、早めの準備をお願いします。準備なしの参加はできません
-
本セクションでは、Lin4Neuro を使わずに、macOS native 環境でのチュートリアルのセットアップ方法を記載します。Apple M1/M2/M3 でも対応可能です。ただし、この方法でのセットアップのサポートは限られることをご了承ください(個人個人で環境がかなり異なるためです)。このインストラクションを読んでわからないことが多い方は、ご自身でのセットアップは難しいとお考えいただき、Lin4Neuroでの受講としてください
-
CPUは Intel でも Apple M1/M2/M3 でも問いません
-
ターミナルはデフォルトの zsh でなく bash を使用することとします。ターミナルから以下のようにタイプしてください。
echo $SHELL
-
この結果が、/bin/bash (もしくは/usr/local/bin/bash) でない方は、以下のコマンドをタイプしてください
chsh -s /bin/bash
-
この後、ターミナルを起動し直すと、bashに変わります。確認のためには、
echo $SHELL
を実行し、その結果が /bin/bash であることを確認してください -
この場合、システムレベルの /etc/zshrc (キーバインディング等) や、~/.zshrc.profile にて個人的に設定している内容は反映されなくなるので注意してください
-
zsh に戻したい場合は、いつでも
chsh -s /bin/zsh
で zsh に戻すことができます
- git
- homebrew
- Jupyter Notebook (bashとoctaveカーネル含む)
- Octave
- AlizaMS
- MRIcroGL
- Mango
- tree
- XQuartz
- FSL
- FreeSurfer
- FSL
- MRtrix3
- ANTs
- NODDI toolbox
- Matlab
- SPM
- CONN
-
Command line tools for Xcode のインストールにより git (およびpython3) を使うことが可能となります
xcode-select --install
-
ターミナルから以下をタイプしていただき、バージョンが出力されれば大丈夫です
git --version
-
ターミナルに以下をコピペしてください
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
-
すでにHomebrewをインストールされている方は以下によってアップデートしてください
brew update brew upgrade
- 以下でbrewでインストールできるアプリが確認できます
brew list
-
ターミナルを起動します
-
ターミナルに以下のように、最初に (base) と表示されている方は、Anacondaが有効になっています
(base) ユーザ名@ホスト名:~$
-
この場合は、以下によって一時的にAnacondaを無効にできます
conda deactivate
-
これにより、ターミナルの表示は以下になり、(base)の表示がなくなります
ユーザ名@ホスト名:~$
-
ホームディレクトリの下に abis を作成し、その下に仮想環境 python-abis を作成します
[ -d ~/abis ] || mkdir ~/abis cd ~/abis python3 -m venv python-abis source python-abis/bin/activate
-
そうすると、以下のように表示が変わります
(python-abis) ユーザ名@ホスト名:~$
-
以下のようにしてpydicom, python-gdcm, dcm2bids, heudiconv, numpy をインストールします
python3 -m pip install --upgrade pip pip install pydicom python-gdcm dcm2bids heudiconv numpy
-
さらに以下により、jupyter用のbashとoctaveカーネルをインストールします
pip install jupyter notebook pip install bash_kernel python3 -m bash_kernel.install pip install octave_kernel
-
これで、クリーンなPython環境が構築できます。以下のコマンドで、仮想環境を終了します
deactivate
-
Homebrew 経由でインストールするのが簡単です。Homebrew自体のインストールは、https://brew.sh/index_ja をご覧ください
brew install octave
-
ターミナルから以下をタイプします
octave --version
-
GNU Octave, version 8.4.0 と表示されればOKです(バージョンは重要ではありませんので、古くても大丈夫です)
- 以下のリンクからインストーラーを入手できます。公式の配布は終了してしまいました
-
アプリケーションから AlizaMS を起動し、以下の画面が出れば大丈夫です
-
見た目をmacOSに統一させます。上のメニューバーから、AlizaMS -> Preferences を選んだのち、"Application" を選びます。Themeを macOS とします(キャプチャはライトモードの時です)
- MRIcroGL は以下のリンクからインストーラーを入手できます
- アプリケーションからMRIcroGLを実行し、起動すればOKです
- 最新版のdcm2iix は以下のリンクから入手できます
- Safariでダウンロードすると自動でzipが解凍されてdcm2niixができます。これをターミナルから/Applications/dcm2niix に移動します
mkdir /Applications/dcm2niix cp ~/Downloads/dcm2niix /Applications/dcm2niix
-
以下を実行します
/Applications/dcm2niix/dcm2niix --version
-
こうすると、以下の画面が出ますので、一度「キャンセル」をクリックします
-
これに対して、「システム設定」→「プライバシーとセキュリティ」から「このまま許可」をクリックします
-
改めて、以下を実行します
/Applications/dcm2niix/dcm2niix --version
-
そうすると下記の画面が出るので、そこで「開く」をクリックします。以下のようになればOKです
Compression will be faster with 'pigz' installed http://macappstore.org/pigz/ Chris Rorden's dcm2niiX version v1.0.20230411 (JP2:OpenJPEG) (JP-LS:CharLS) Clang12.0.0 ARM (64-bit MacOS) v1.0.20230411
-
インストール後、以下のコマンドをターミナルにコピペし、.bash_profileに設定を書き込みます
echo '' >> ~/.bash_profile echo '#dcm2niix' >> ~/.bash_profile echo 'PATH=/Applications/dcm2niix:$PATH' >> ~/.bash_profile
-
ターミナルを一度閉じ、新たにターミナルを開いた後、以下を実行してください
dcm2niix --version
-
こうなればOKです
Compression will be faster with 'pigz' installed http://macappstore.org/pigz/ Chris Rorden's dcm2niiX version v1.0.20230411 (JP2:OpenJPEG) (JP-LS:CharLS) Clang12.0.0 ARM (64-bit MacOS) v1.0.20230411
-
以下のリンクからMangoをダウンロードします
-
zipファイルを解凍するとmangoinstaller.pkg ができますので、それをダブルクリックしてインストールします
-
tree は、ディレクトリ構造を表示するプログラムです
-
Homebrewで簡単にインストールできます
-
ターミナルから以下をタイプしてください
brew install tree
-
ターミナルから以下をタイプしてください
tree -d -L 2
-
ご自身がいるディレクトリの下にあるサブディレクトリが2階層まで表示されます
- XQuartz は FSLおよびFreeSurfer の実行のために必要です
-
Homebrewが便利です
brew install --cask xquartz
- FSLおよびFreeSurferが実行されればXQuartzもきちんとインストールされるのでここでは確認しません
-
以下をターミナルから実行し、最新のfslinstaller.pyを入手し、実行します。
-
下の例では、/usr/local/fsl にインストールする設定となっています
cd ~/Downloads curl -O https://www.nemotos.net/l4n-abis/macOS_2023/fslinstaller.py /usr/bin/python3 fslinstaller.py -d /usr/local/fsl
-
インストール完了後、FSLの設定は .bash_profile に記載されます。これが終わったら一度ログアウトし、再びログインします
-
ターミナルから以下をタイプします
fsl
-
これでFSLが立ち上がればOKです。6.0.7.6のはずです
-
ターミナルから以下を実行します
sudo bash -c "$(curl -fsSL https://raw.githubusercontent.com/MRtrix3/macos-installer/master/install)"
-
ターミナルから以下を実行します
mrview
-
MRViewが起動すれば大丈夫です
-
ターミナルに以下をコピペします
-
intel macの場合
cd ~/Downloads curl -O https://www.nemotos.net/l4n-abis/macOS_2023/ANTS_maci64.zip unzip ANTS_maci64.zip -d ~/ grep '$HOME/ANTS/install/bin' ~/.bash_profile > /dev/null if [ $? -eq 1 ]; then echo "" >> ~/.bash_profile echo "#ANTs" >> ~/.bash_profile echo 'export ANTSPATH=$HOME/ANTS/install/bin' >> ~/.bash_profile echo 'export PATH=$PATH:$ANTSPATH' >> ~/.bash_profile fi
-
Apple M1/M2/M3の場合
cd ~/Downloads curl -O https://www.nemotos.net/l4n-abis/macOS_2023/ANTS_arm64.zip unzip ANTS_arm64.zip -d ~/ grep '$HOME/ANTS/install/bin' ~/.bash_profile > /dev/null if [ $? -eq 1 ]; then echo "" >> ~/.bash_profile echo "#ANTs" >> ~/.bash_profile echo 'export ANTSPATH=$HOME/ANTS/install/bin' >> ~/.bash_profile echo 'export PATH=$PATH:$ANTSPATH' >> ~/.bash_profile fi
-
ターミナルを一度閉じて、再度ターミナルを開きます
-
ターミナルから以下を実行します
ANTS
-
"call ANTS or ANTS --help" と出れば大丈夫です
-
ターミナルに以下を入力し、Matlab Runtime R2022b を入手します。Intel Mac, Apple M1 ともに共通です。
cd ~/Downloads curl -O https://ssd.mathworks.com/supportfiles/downloads/R2022b/Release/7/deployment_files/installer/complete/maci64/MATLAB_Runtime_R2022b_Update_7_maci64.dmg.zip unzip MATLAB_Runtime_R2022b_Update_7_maci64.dmg.zip
-
ダウンロードフォルダにある MATLAB_Runtime_R2022b_Update_7_maci64.dmg をダブルクリックします
-
InstallForMacOSX をダブルクリックします。インストール先はデフォルトのまま変更しないでください
-
以下でNODDI toolboxをダウンロードし、/Applications にインストールします
-
(2024/02/12 追記: Intel macOS用NODDI toolbox が不具合があったので差し替えました。以下を実行していただければ新しいものに差し替えることができます)
cd ~/Downloads cpu=$(uname -a | awk '{ print $NF }') if [ $cpu == 'x86_64' ]; then [[ -d /Applications/NODDI ]] && rm -rf /Applications/NODDI curl -O https://www.nemotos.net/l4n-abis/macOS_2023/NODDI_maci64_0210.zip unzip NODDI_maci64_0210.zip -d /Applications/ else curl -O https://www.nemotos.net/l4n-abis/macOS_2023/NODDI_arm64.zip unzip NODDI_arm64.zip -d /Applications/ fi
-
以下で確認します
/Applications/NODDI/run_noddi.sh
-
以下のようなメッセージが出ます
Usage: /Applications/NODDI/run_noddi.sh <deployedMCRroot> <DWI directory> <DWI NIFTI name> <bval name> <bvec name> <mask NIfTI name> <number of cores>
- まだFreeSurferのライセンスをお持ちでない方は、https://surfer.nmr.mgh.harvard.edu/registration.html にアクセスし、必要事項を入力してください。license.txt を添付したメールがご自身のメールアドレスに送られてきますので、その license.txt を、ダウンロード フォルダにコピーしてください
-
以下でFreeSurfer 7.4.1のセットアップスクリプトを入手し、インストールを実行します。
cd ~/Downloads curl -O https://gitlab.com/kytk/fs-scripts/-/raw/master/fs_setup_7.4.1_mac.sh bash fs_setup_7.4.1_mac.sh
-
チュートリアルで使うスクリプト集も手に入れます。ホームディレクトリの下に git フォルダを作成し、その下に入手します。
[ ! -d ~/git ] && mkdir ~/git cd ~/git git clone https://gitlab.com/kytk/fs-scripts.git
-
パスを設定します
cd fs-scripts bash addpath.sh
-
こうすると、以下のように質問されます。
Which OS are you using? Select number. 1) Linux 2) MacOS 3) quit
-
2と入力し、Enterを押すと、パスが設定されます。
-
ターミナルを新しく立ち上げた上で以下のコマンドをタイプしてください
fs_check_install.sh &
-
Freeviewが起動します。
-
さらに、海馬解析のためのMCRをインストールします
fs7_dl_mcr2019b.sh
-
30分くらいかかると思いますがインストールされます
-
SPM と CONN はMatlabを持っているか持っていないかでインストールの方法が変わります。Matlab をお持ちでない方は、次の "SPM と CONN: Matlab をお持ちでない場合" に従ってセットアップをしてください
-
Matlab R2023b 以降、Apple siliconにnative対応しましたが、ときにバグがあるようです。チュートリアルは、Matlab R2022b の環境で構築しています。
-
GitHub経由が便利です
-
ホームディレクトリの下に spm12 をインストールすることとします
cd #ホームディレクトリに移動します git clone https://github.com/spm/spm12.git
-
SPMはmacOSのセキュリティで実行できないことがあるため、この問題を回避するために、ターミナルから以下を実行します
sudo xattr -r -d com.apple.quarantine ~/spm12 sudo find ~/spm12 -name '*.mexmaci64' -exec spctl --add {} \;
-
この後、Matlabのパス設定で、/Users/ご自分のユーザ名/spm12 を指定してください
-
Matlab から
spm
とタイプし、SPMが起動すればOKです
-
【2024/02/26追記】CONN 22.a のリンクが実態が CONN 21.a であることがわかりました。修正しましたので、改めて以下のコマンドをコピペすることで、正しい conn 22.aになります。
-
異なるバージョンを使うことができるように、ホームディレクトリの下に conn を作成し、その下に、conn22a をインストールすることにします
-
ターミナルで以下をタイプします
[[ -d ~/conn/conn22a ]] && rm -rf ~/conn/conn22a [[ -f ~/Downloads/conn22a.zip ]] && rm -f ~/Downloads/conn22a.zip [[ -d ~/Downloads/conn22a ]] && rm -rf ~/Downloads/conn22a cd ~/Downloads curl -O https://www.nitrc.org/frs/download.php/13316/conn22a.zip mkdir conn22a unzip conn22a.zip -d conn22a cd conn22a mv conn conn22a [[ ! -d ~/conn ]] && mkdir ~/conn cp -r conn22a ~/conn/
-
その後、Matlab のパス設定で、/Users/ご自分のユーザ名/conn/conn22a を指定してください
-
Matlabから
conn
とタイプし、CONNが起動すればOKです
- チュートリアル用に SPM12 と CONN 22.a を Matlab がなくても動作するようにスタンドアロン版を作成しました。Intel macでもApple siliconでも動作します。以下に従ってセットアップを行ってください
-
ターミナルに以下を入力し、Matlab Runtime R2022b を入手します。Intel Mac, Apple M1 ともに共通です。なお、上記でNODDI toolboxのインストールの際にインストールしていたら、同じものなので再度のインストールは不要です。次に進んでください
cd ~/Downloads curl -O https://ssd.mathworks.com/supportfiles/downloads/R2022b/Release/7/deployment_files/installer/complete/maci64/MATLAB_Runtime_R2022b_Update_7_maci64.dmg.zip unzip MATLAB_Runtime_R2022b_Update_7_maci64.dmg.zip
-
ダウンロードフォルダにある MATLAB_Runtime_R2022b_Update_7_maci64.dmg をダブルクリックします
-
InstallForMacOSX をダブルクリックします。インストール先はデフォルトのまま変更しないでください
-
以下で SPM12 standalone を入手し、/Applications の下にインストールします。
cd ~/Downloads curl -O https://www.nemotos.net/l4n-abis/macOS_2023/spm12_maci64.zip unzip spm12_maci64.zip -d /Applications/ echo "" >> ~/.bash_profile echo "# Alias for SPM12" >> ~/.bash_profile echo "alias spm='/Applications/spm12_standalone/run_spm12.sh /Applications/MATLAB/MATLAB_Runtime/R2022b'" >> ~/.bash_profile
-
一度ターミナルを閉じます。
-
GUIとコマンドラインのどちらからも起動できます
-
GUI の場合は、アプリケーションの中にある spm12_standalone の中の spm をダブルクリックしてください
-
コマンドラインの場合は、ターミナルを起動した後、spm と入力すればSPMが起動します。ただ、初回は起動するまでに数分時間がかかるため、焦らずにお待ちください
spm
-
CONN は以下の方法でインストールできます
cd ~/Downloads curl -O https://www.nemotos.net/l4n-abis/macOS_2023/conn22a_maci64.zip [ -d /Applications/conn22a_standalone ] || mkdir /Applications/conn22a_standalone unzip conn22a_maci64.zip -d /Applications/conn22a_standalone echo "" >> ~/.bash_profile echo "# Alias for CONN 22.a" >> ~/.bash_profile echo "alias conn='/Applications/conn22a_standalone/run_conn.sh /Applications/MATLAB/MATLAB_Runtime/R2022b'" >> ~/.bash_profile
-
ターミナルを一度終了します
-
GUIとコマンドラインのどちらからも起動できます
-
GUI の場合は、アプリケーションの中にある conn22a_standalone の中の conn をダブルクリックしてください
-
ターミナルの場合は、ターミナルから conn とタイプすれば起動します
conn