Python¶
The scientific python ecosystem is also available on Aalto Linux workstations, including the anaconda (Python 3) and anaconda2 (Python2) modules providing the Anaconda python distribution. For a more indepth description see the generic python page under scientific computing docs.
The “neuroimaging” environment¶
On the Aalto Linux workstations there exists a conda environment under the anaconda3 module called “neuroimaging” which contains an extensive collection of Python packages for the analysis of neuroimaging data, such as fMRI, EEG and MEG.
To use it:
$ ml purge
$ ml anaconda3
$ source activate neuroimaging
A more up-to-date (November 2020) yet under development version of the environment can be activated with:
$ ml purge
$ ml anaconda
$ conda activate /share/apps2/anaconda/anaconda3/latest/envs/neuroimaging3
To see the full list of packages what are installed in the environment, use:
$ conda list
Some highlights include:
Basic scientific stack
numpy
scipy
matplotlib
pandas
statsmodels
fMRI:
nibabel
nilearn
nitime
pysurfer
EEG/MEG:
mne
pysurfer
Machine learning:
scikit-learn
tensorflow
pytorch
R:
rpy2 (bridge between Python and R)
tidyverse
Finally, if you get binaries from the wrong environment (check with
which BINARYNAME
) you may need to update the mappings with:
$ rehash
MNE Analyze¶
Note: this was tested only for NBE workstations. If you wish to run mne_analyze
from your workstation you should follow this procedure. Open a new terminal and make sure you have the bash shell (echo $SHELL
, if you do not have it, just type bash
) and then:
$ module load mne
$ source /work/modules/Ubuntu/14.04/amd64/common/mne/MNE-2.7.4-3434-Linux-x86_64/bin/mne_setup_sh
$ export SUBJECTS_DIR=PATHTOSUBJECTFOLDER
$ export SUBJECT=SUBJECTID
$ mne_analyze
Please note that the path of the “source” command might change with most up to date versions of the tool. Please note that the “PATHTOSUBJECTFOLDER” and “SUBJECTID” are specific to the data you have. Please refer to MNE documentation for more help on these.
Mayavi¶
If you experience problems with the 3D visualizations that use Mayavi (for example MNE-Python’s brain plots), you can try forcing the graphics backend to Qt5:
For the Spyder IDE, set Tools -> Preferences -> Ipython console -> Graphics -> Backend: Qt5
For the ipython consoles, append
c.InteractiveShellApp.matplotlib = 'qt5'
to theipython_config.py
andipython_kernel_config.py
configuration files. By default, these can be found in~/.ipython/profile/default/
.In Jupyter notebooks, execute the magic command
%matplotlib qt5
at the beginning of your notebook.
Installation of additional packages¶
The “neuroimaging” environment aims to provide everything you need for the
analysis of neuroimaging data. If you feel a package is missing that may be
useful for others as well, contact Marijn van Vliet. To quickly install a package in your home folder,
use pip install <package-name> --user
.
Notes for admins¶
The trick to getting Mayavi to play nicely with a modern Python environment is to install it from Git:
$ ml purge
$ ml anaconda3
$ source activate neuroimaging
$ pip install git+https://github.com/enthought/traits.git@a7a83182048c08923953e302658b51b68c802132
$ pip install git+https://github.com/enthought/pyface.git@13a064de48adda3c880350545717d8cf8929afad
$ pip install git+https://github.com/enthought/traitsui.git@ee8ef0a34dfc1db18a8e2c0301cc18d96b7a3e2f
$ pip install git+https://github.com/enthought/mayavi.git