MRtrix provides a large suite of tools for image processing, analysis and visualisation, with a focus on the analysis of white matter using diffusion-weighted MRI
Allocate an interactive session and run the program.
Sample session (user input in bold):
[user@biowulf]$ sinteractive
salloc.exe: Pending job allocation 46116226
salloc.exe: job 46116226 queued and waiting for resources
salloc.exe: job 46116226 has been allocated resources
salloc.exe: Granted job allocation 46116226
salloc.exe: Waiting for resource configuration
salloc.exe: Nodes cn3144 are ready for job
[user@cn3144 ~]$ module load mrtrix
[+] Loading eigen 3.3.4 ...
[+] Loading Zlib 1.2.11 ...
[+] Loading GSL 2.4 for GCC 4.8.5 ...
[+] Loading FFTW 3.3.7 , compiled with gcc4.8.5 and openmpi2.1.2 ...
[+] Loading mrtrix 3.0_RC2 ...
[user@cn3144 ~]$ mrinfo /usr/local/apps/mrtrix/sample_data/data_slice_0000.nii.gz
mrinfo: [WARNING] transform matrix contains invalid entries - resetting to sane defaults
************************************************
Image: "/usr/local/apps/mrtrix/sample_data/data_slice_0000.nii.gz"
************************************************
Dimensions: 128 x 104 x 1 x 65
Voxel size: 2 x 2 x 2 x 1
Data strides: [ 1 2 4 3 ]
Format: NIfTI-1.1 (GZip compressed)
Data type: signed 16 bit integer (little endian)
Intensity scaling: offset = 0, multiplier = 1
Transform: 1 0 0 -127
0 1 0 -103
0 0 1 -0
comments: FSL5.0
[user@cn3144 ~]$ exit
salloc.exe: Relinquishing job allocation 46116226
[user@biowulf ~]$
Create a batch input file (e.g. mrtrix.sh). For example:
#!/bin/bash set -e module load mrtrix mrstats /usr/local/apps/mrtrix/sample_data/nodif_brain_mask.nii.gz mrhistogram /usr/local/apps/mrtrix/sample_data/nodif.nii.gz out.hist
Submit this job using the Slurm sbatch command.
sbatch [--cpus-per-task=#] [--mem=#] mrtrix.sh
Create a swarmfile (e.g. mrtrix.swarm). For example:
mrstats file1.nii.gz mrstats file2.nii.gz mrstats file3.nii.gz [...]
Submit this job using the swarm command.
swarm -f mrtrix.swarm [-g #] [-t #] --module mrtrixwhere
| -g # | Number of Gigabytes of memory required for each process (1 line in the swarm command file) |
| -t # | Number of threads/CPUs required for each process (1 line in the swarm command file). |
| --module mrtrix | Loads the mrtrix module for each subjob in the swarm |