IntrAnat installation for BrainVisa 5

Requirements

IntrAnat requires the installation of:

  • BrainVISA: Version >5.0.4

  • Matlab: Requires a Matlab license to run SPM12 for MNI normalization

  • SPM12: For MNI normalization and volume co-registration

  • ANTs 2.2: For volume co-registration (optional)

  • FreeSurfer >6.0: For importing the result of the FreeSurfer T1 MRI segmentation pipeline (optional)

Supported operating systems:

  • Ubuntu 20.04: Reference for all the instructions below

  • Other Linux distributions: Should work but haven’t been tested, the main limiting factor for portability being Singularity (see below)

  • Windows 10/WSL2: Linux subsystem on Windows 10

    • Should works with Ubuntu 20.04 installation,

    • WSL can run only the latest versions of Matlab (>= 2018b), but Matlab can be installed on the Windows system and called from WSL/IntrAnat

Choose installation directory

Install Ubuntu packages

Instructions for Ubuntu 20.04.

Update your system:

sudo apt update
sudo apt dist-upgrade

FreeSurfer dependencies:

sudo apt install build-essential libjpeg62 libxss1 libgomp1 tcsh bc

ANTS dependencies:

sudo apt install cmake-curses-gui gcc g++ zlib1g-dev

BrainVISA/IntrAnat:

sudo apt install libtinfo-dev libapt-pkg-dev git libav-tools mencoder libglm-dev

Installation directory

Choose and create installation directory, set environment variable:

mkdir $HOME/IntrAnat
export INTRANAT_INSTALL=$HOME/IntrAnat

Matlab and SPM installation

Install any version of Matlab. Make sure it is in the system PATH.

Install SPM12:

cd $INTRANAT_INSTALL
wget http://www.fil.ion.ucl.ac.uk/spm/download/restricted/eldorado/spm12.zip
unzip spm12.zip
rm spm12.zip

Matlab on Windows 10/WSL

You can either install MATLAB in WSL/Ubuntu, or install the Windows version and create a link to matlab.exe inside the Ubuntu PATH. For example:

sudo -s
printf '#!/bin/bash\n/mnt/c/Program\ Files/MATLAB/R2017b/bin/matlab.exe -nodesktop -wait "$@"\nexit $?' > /usr/local/bin/matlab
chmod a+x /usr/local/bin/matlab

Exchanging data between the Ubuntu and Windows drives:

Freesurfer installation (optional)

Download FreeSurfer 7.2.0:

cd $INTRANAT_INSTALL
wget -O freesurfer.tgz https://surfer.nmr.mgh.harvard.edu/pub/dist/freesurfer/7.2.0/freesurfer-linux-ubuntu18_amd64-7.2.0.tar.gz
tar zxvf freesurfer.tgz

Add the FreeSurfer configuration to your .bashrc:

grep -q -F "FREESURFER_HOME=" ~/.bashrc || printf "\n# FREESURFER\nexport FREESURFER_HOME=$INTRANAT_INSTALL/freesurfer\nsource \$FREESURFER_HOME/SetUpFreeSurfer.sh\n" >> ~/.bashrc
rm freesurfer.tgz

Get a license file for FreeSurfer (http://surfer.nmr.mgh.harvard.edu/registration.html) and save it in $INTRANAT_INSTALL/freesurfer/license.txt Example:

printf "francois.tadel@univ-grenoble-alpes.fr\n34309\n *COj3JXOXnbes\n FSCI/SECcEOfM" > $INTRANAT_INSTALL/freesurfer/license.txt

Install ANTs (optional)

Get and compile ANTs >= 2.2.0:

cd $INTRANAT_INSTALL
wget -O ANTs.tgz https://github.com/stnava/ANTs/tarball/master
tar zxvf ANTs.tgz
rm ANTs.tgz
mv ANTsX-ANTs* ANTs
cd ANTs
mkdir build
cd build
ccmake ../

Add the ANTs configuration to your .bashrc:

grep -q -F "ANTSPATH=" ~/.bashrc || printf "\n# ANTs\nexport ANTSPATH=$INTRANAT_INSTALL/ANTs/build/bin/\nexport PATH=$INTRANAT_INSTALL/ANTs/Scripts:\$ANTSPATH:\$PATH\nexport ITK_GLOBAL_DEFAULT_NUMBER_OF_THREADS=4\n" >> ~/.bashrc

BrainVisa installation

Download BrainVisa

Download the BrainVisa singularity image from its official website.

At the time of this writing the latest image is brainvisa-5.0.4.sif

Save it into $INTRANAT_INSTALL

To run the image, you need to install singularity. BrainVisa provides a package for Ubuntu and other linux distributions on the same webpage that you should download here. If you are using Mac OS X, please follow the instructions on Brainvisa’s web page.

Install BrainVisa

First, install Singularity by double-clicking on the .deb package or by running

sudo dpkg -i singularity-container-*.deb

You can now run the setup of BrainVisa and add it to your PATH:

mkdir $INTRANAT_INSTALL/brainvisa-5.0.4
singularity run -B $INTRANAT_INSTALL/brainvisa-5.0.4:/casa/setup $INTRANAT_INSTALL/brainvisa-5.0.4.sif
echo "export INTRANAT_INSTALL=$HOME/IntrAnat" >> ~/.bashrc
echo "export PATH=$INTRANAT_INSTALL/brainvisa-5.0.4/bin:$PATH" >> ~/.bashrc

Now that Brainvisa installation is complete, setup its database.

Create an empty directory for the database.

mkdir $INTRANAT_INSTALL/brainvisa_db

Set the database and program paths in BrainVISA:

  • Start BrainVISA:

    brainvisa
    
  • In the BrainVISA interface:

    • If the window “Update databases” is open, click on the button “Update”, then close the update window.

    • If you get the window “Welcome to BrainVISA” click on button “Open preferences”, otherwise select menu “BrainVISA > Preferences”

      • In the “Databases” section, click on “Add”, then select folder $INTRANAT_INSTALL/brainvisa_db, then click “OK”

      • Click again on “Add”, select Freesurfer subjects folder $INTRANAT_INSTALL/freesurfer/subjects, click on advanced settings and select ontology “freesurfer”. This will add Freesurfer database to Brainvisa.

      • Stil in Preferences: Set SPM path to $INTRANAT_INSTALL/spm12 and Freesurfer path to $INTRANAT_INSTALL/freesurfer

  • Close preferences

  • Close BrainVISA

Install IntrAnat

Setting container to read write

bv

In the window, click on the button to set the container to read-write. You need to do this once.

Then select Terminal to run the next commands inside the terminal. You can also run directly bash inside the container with the following command:

bv bash

Define installation directory:

export INTRANAT_INSTALL=/home/USERNAME/IntrAnat

Clone the GitHub repository:

cd $INTRANAT_INSTALL
git clone https://github.com/IntrAnatSEEGSoftware/IntrAnat

Checkout brainvisa_5.0.0dev branch in the git repository:

cd $INTRANAT_INSTALL/IntrAnat/
git checkout --track origin/brainvisa_5.0.0dev

Set up epilepsy toolbox in BrainVisa:

ln -s  $INTRANAT_INSTALL/IntrAnat/epilepsy-toolbox/ /casa/host/install/brainvisa/toolboxes/epilepsy

Add the electrode models to the shared database:

ln -s $INTRANAT_INSTALL/IntrAnat/electrode_models/ /casa/host/install/share/brainvisa-share-5.0

Start Brainvisa, set up and update the databases: run the brainvisa command, in the main window select Data management, Update databases. Make sure that the shared database and your own database are checked. Then run the process, wait until brainvisa has finished indexing the electrode models and your own data.

Matlab license. Inside the container the home directory is not your user directory. To have matlab running, you need to have its license files in the container’s home, and if matlab command is not in the path you need to add it to the .bashrc file in the container’s home:

ln -s /home/USERNAME/.matlab ~/
# If matlab command is not in the PATH
echo "export PATH=$PATH:/PATH-TO-MATLAB/" >> ~/.bashrc

Start IntrAnat

Create startup scripts:

cd $INTRANAT_INSTALL
printf "#!/bin/bash\nbv bash -c \"cd $INTRANAT_INSTALL/IntrAnat\npython ImageImport.py\"\n" > ImageImport.sh
printf "#!/bin/bash\nsource $INTRANAT_INSTALL/brainvisa-4.6.1/bin/bv_env.sh $INTRANAT_INSTALL/brainvisa-4.6.1\ncd IntrAnat\npython locateElectrodes.py" > locateElectrodes.sh
printf "#!/bin/bash\nsource $INTRANAT_INSTALL/brainvisa-4.6.1/bin/bv_env.sh $INTRANAT_INSTALL/brainvisa-4.6.1\ncd IntrAnat\npython groupDisplay.py" > groupDisplay.sh
chmod a+x *.sh

Manual execution:

cd ~/IntrAnat/IntrAnat
bv python ImageImport.py

Or all in one line:

cd ~/IntrAnat/IntrAnat && bv python ImageImport.py

Set program paths:

  • Open ImageImport, go to the tab “Preferences”

  • Set path to SPM12: $INTRANAT_INSTALL/spm12

  • Set path to ANTs: $INTRANAT_INSTALL/ANTs-build

  • Set path to FreeSurfer: $INTRANAT_INSTALL/freesurfer (should be set automatically if the FreeSurfer path is properly set in the BrainVISApreferences )

  • Set path to a BIDS database (for BIDS export)

  • Click on button “Save preferences”

Update IntrAnat from GitHub:

cd ~/IntrAnat/IntrAnat
git pull

Install MRIConvert(optional)

MRIConvert is not needed for running IntrAnat, but is a very useful tool for converting DICOM images into .nii files. https://lcni.uoregon.edu/downloads/mriconvert

cd $INTRANAT_INSTALL
wget -O MRIConvert.tgz https://lcni.uoregon.edu/downloads/mriconvert/MRIConvert-2.1.0-x86_64-rhel.tar.gz/at_download/file
tar zxvf MRIConvert.tgz
rm MRIConvert.tgz
cd MRIConvert-*
chmod a+x install.sh
sudo ./install.sh

Lausanne2008 parcellation(optional)

These scripts are not publicly available yet…

Install FSL:

sudo apt-get install neurodebian
sudo apt-get update
sudo apt-get install fsl-complete
sudo pip install nypipe
sudo pip install nibabel
sudo pip install networkx==1.11

Edit .bashrc, add at the end:

source /usr/share/fsl/5.0/etc/fslconf/fsl.sh