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カーネル含む)

2024年1月

  • Octave
  • AlizaMS
  • MRIcroGL
  • Mango
  • tree
  • XQuartz
  • FSL

2024年2月

  • FreeSurfer
  • FSL
  • MRtrix3
  • ANTs
  • NODDI toolbox

2024年3月

  • Matlab
  • SPM
  • CONN

ソフトウェア毎のインストールおよび確認方法

git (バージョン指定なし)

gitのインストール

  • Command line tools for Xcode のインストールにより git (およびpython3) を使うことが可能となります

    xcode-select --install
    
    

gitの確認

  • ターミナルから以下をタイプしていただき、バージョンが出力されれば大丈夫です

    git --version
    
    

Homebrew

Homebrewのインストール

  • ターミナルに以下をコピペしてください

    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
    
    
  • すでにHomebrewをインストールされている方は以下によってアップデートしてください

    brew update
    brew upgrade
    
    

Homebrewの確認

  • 以下でbrewでインストールできるアプリが確認できます
    brew list
    
    

Python3の仮想環境構築

Python3の仮想環境構築の準備: Anacondaの無効化

  • ターミナルを起動します

  • ターミナルに以下のように、最初に (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, Jupyterのインストール

  • 以下のようにして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
    
    

Octave (バージョン指定なし)

Octaveのインストール

  • Homebrew 経由でインストールするのが簡単です。Homebrew自体のインストールは、https://brew.sh/index_ja をご覧ください

    brew install octave
    
    

Octaveの確認

  • ターミナルから以下をタイプします

    octave --version
    
    
  • GNU Octave, version 8.4.0 と表示されればOKです(バージョンは重要ではありませんので、古くても大丈夫です)


AlizaMS

AlizaMSのインストール

AlizaMSの確認

  • アプリケーションから AlizaMS を起動し、以下の画面が出れば大丈夫です

5.3. 画面の設定(任意)

  • 見た目をmacOSに統一させます。上のメニューバーから、AlizaMS -> Preferences を選んだのち、"Application" を選びます。Themeを macOS とします(キャプチャはライトモードの時です)


MRIcroGL (v1.2.20220720)

MRIcroGLのインストール

MRIcroGLの確認

  • アプリケーションからMRIcroGLを実行し、起動すればOKです

dcm2niix (v1.0.20230411)

dcm2niix のインストール

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

  • 以下のリンクからMangoをダウンロードします

  • zipファイルを解凍するとmangoinstaller.pkg ができますので、それをダブルクリックしてインストールします


tree (バージョン指定なし)

treeのインストール

  • tree は、ディレクトリ構造を表示するプログラムです

  • Homebrewで簡単にインストールできます

  • ターミナルから以下をタイプしてください

    brew install tree
    
    

treeの確認

  • ターミナルから以下をタイプしてください

    tree -d -L 2
    
    
  • ご自身がいるディレクトリの下にあるサブディレクトリが2階層まで表示されます


XQuartz

  • XQuartz は FSLおよびFreeSurfer の実行のために必要です

XQuartzのインストール

  • Homebrewが便利です

    brew install --cask xquartz
    
    

XQuartzの確認

  • FSLおよびFreeSurferが実行されればXQuartzもきちんとインストールされるのでここでは確認しません

FSL (6.0.7.6)

FSLのインストール

  • 以下をターミナルから実行し、最新の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
    
    
  • これでFSLが立ち上がればOKです。6.0.7.6のはずです


MRtrix3 (バージョン指定なし)

MRtrix3のインストール

  • ターミナルから以下を実行します

    sudo bash -c "$(curl -fsSL https://raw.githubusercontent.com/MRtrix3/macos-installer/master/install)"
    
    

MRtrix3の確認

  • ターミナルから以下を実行します

    mrview
    
    
  • MRViewが起動すれば大丈夫です


ANTs (バージョン指定なし)

ANTsのインストール

  • ターミナルに以下をコピペします

  • 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の確認

  • ターミナルを一度閉じて、再度ターミナルを開きます

  • ターミナルから以下を実行します

    ANTS
    
    
  • "call ANTS or ANTS --help" と出れば大丈夫です


NODDI toolbox

Matlab Runtime R2022b の入手

  • ターミナルに以下を入力し、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 のインストール

  • 以下で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
    
    

NODDI Toolbox の確認

  • 以下で確認します

    /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 (7.4.1)

license.txt の入手

  • まだFreeSurferのライセンスをお持ちでない方は、https://surfer.nmr.mgh.harvard.edu/registration.html にアクセスし、必要事項を入力してください。license.txt を添付したメールがご自身のメールアドレスに送られてきますので、その license.txt を、ダウンロード フォルダにコピーしてください

FreeSurferのインストール

  • 以下で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を押すと、パスが設定されます。

FreeSurferの確認

  • ターミナルを新しく立ち上げた上で以下のコマンドをタイプしてください

    fs_check_install.sh &
    
    
  • Freeviewが起動します。

海馬解析のためのMCRをインストール

  • さらに、海馬解析のためのMCRをインストールします

    fs7_dl_mcr2019b.sh
    
    
  • 30分くらいかかると思いますがインストールされます


SPM12 と CONN 22.a : Matlab をお持ちの場合

  • SPM と CONN はMatlabを持っているか持っていないかでインストールの方法が変わります。Matlab をお持ちでない方は、次の "SPM と CONN: Matlab をお持ちでない場合" に従ってセットアップをしてください

  • Matlab R2023b 以降、Apple siliconにnative対応しましたが、ときにバグがあるようです。チュートリアルは、Matlab R2022b の環境で構築しています。

SPM12のインストール

  • 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 を指定してください

SPM12の確認

  • Matlab から

    spm
    

とタイプし、SPMが起動すればOKです

CONN 22.a のインストール

  • 【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 を指定してください

CONN 22.a の確認

  • Matlabから

    conn
    

とタイプし、CONNが起動すればOKです

SPM12 と CONN 22.a : Matlab をお持ちでない場合

  • チュートリアル用に SPM12 と CONN 22.a を Matlab がなくても動作するようにスタンドアロン版を作成しました。Intel macでもApple siliconでも動作します。以下に従ってセットアップを行ってください

Matlab Runtime R2022b の入手

  • ターミナルに以下を入力し、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 のインストール

  • 以下で 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
    
    
  • 一度ターミナルを閉じます。

SPM12 standalone の確認

  • GUIとコマンドラインのどちらからも起動できます

  • GUI の場合は、アプリケーションの中にある spm12_standalone の中の spm をダブルクリックしてください

  • コマンドラインの場合は、ターミナルを起動した後、spm と入力すればSPMが起動します。ただ、初回は起動するまでに数分時間がかかるため、焦らずにお待ちください

    spm
    

CONN 22.a standalone のインストール

  • 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
    
    
  • ターミナルを一度終了します

CONN 22.a standalone の確認

  • GUIとコマンドラインのどちらからも起動できます

  • GUI の場合は、アプリケーションの中にある conn22a_standalone の中の conn をダブルクリックしてください

  • ターミナルの場合は、ターミナルから conn とタイプすれば起動します

    conn
    
⚠️ **GitHub.com Fallback** ⚠️