diff --git a/.gitignore b/.gitignore
index 8b35793f78c80b7019d5f57e733bc829e89c7fea..299779dbcc852c60e1a02c4f5689f1b4bff8a25a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -53,7 +53,6 @@ coverage.xml
 
 # Jupyter Notebook
 .ipynb_checkpoints
-*.ipynb
 
 # IPython
 profile_default/
@@ -115,5 +114,4 @@ dmypy.json
 
 # test_data related files
 saved_file.nii.gz
-features75.npy
-tests/test_data/models/tmp_model.pth
\ No newline at end of file
+features75.npy
\ No newline at end of file
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index a4953b00fa5f0ddbc7b6f35c775422aa94280da9..386c3c21a396d3d643587b89698eb2e87820719d 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -3,6 +3,21 @@ image: python:3.9
 stages:
   - build
   - test
+  - docs
+
+pages:
+  stage: docs
+  script:
+  - pip install sphinx
+  - pip install sphinx_rtd_theme
+  - cd docs
+  - make html
+  - mv build/html ../public
+  artifacts:
+    paths:
+    - public
+  tags:
+    - docker
 
 variables:
   PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip"
@@ -23,8 +38,12 @@ build:
   stage: build
   script:
     - python setup.py install
+  tags:
+    - docker
 
 test:
   stage: test
   script: 
     - python -m pytest
+  tags:
+    - docker
diff --git a/README.md b/README.md
index 8a1a2d3f97516cb96a62592612db2f3b67fb4a41..dd9e80553abbdcf99a8e8a7c2c49c263851d05f9 100644
--- a/README.md
+++ b/README.md
@@ -1,9 +1,180 @@
-# python-localise
+# localise
 
-python-localise is a Python package developed to ...
+This library implements LOCALISE.
 
 ## Installation
 
 ```bash
-pip install python-localise
+git clone https://git.fmrib.ox.ac.uk/yqzheng1/python-localise.git
+cd python-localise
+pip install .
+```
+
+## Usage
+
+### 1. **Preparation step**: generate connectivity features using tractography (either on high- or low-quality data)
+
+If you haven't done so, you may want to create anatomical masks and run tractography to generate connectivity features. If you have your own tract density maps, please skip to [2. Localise a target](#2-localise-a-target).
+
+#### 1.1 Create anatomical masks
+
+To create anatomical masks, you can either run the shell scripts under `/scripts` by
+
+```bash
+create_masks --ref=/path/to/t1.nii.gz --warp=/path/to/warp.nii.gz --out=/path/to/roi --aparc=/path/to/aparc.a2009s+aseg.nii.gz
+```
+
+where `--ref=t1.nii.gz` and `--warp=warp.nii.gz` are required arguments, specifying the reference image and the warp field that maps MNI 1mm space to the reference space. It is recommended to have your own cortical parcellation file `--aparc=aparc.a2009s+aseg.nii.gz`, otherwise standard ROIs will be employed. If the output directory is unspecified, it will create a folder called `roi` under the same directory as the reference image. More instructions can be found by typing `/path/to/HQAugmentation.jl/scripts/create_masks.sh --help`.
+
+#### 1.2 Create tract density maps (connectivity features)
+
+To create tract density maps, you can either run the following in command line
+
+```bash
+create_tract --samples=/path/to/data.bedpostX --inputdir=/path/to/roi/left --seed=/path/to/seed.nii.gz --out=/path/to/my_output_dir
+```
+
+where `--samples` and `--inputdir` are required arguments. You must specify the folder containing `merged_*samples.nii.gz` samples, e.g., the output directory from FSL's BedpostX. `--inputdir` is the directory that stores anatomical masks. If you don't specify the seed, it will use `tha.nii.gz` under the `inputdir`. More info can be found by typing `/path/to/HQAugmentation.jl/scripts/create_tract.sh --help`.
+
+You can also run this in julia by executing the following function:
+
+#### 1.3 Create connectivity-driven Vim
+
+If you have high-quality data, you may create "ground truth" location using the following connectivity-driven approach.
+
+```shell
+connectivity_driven --target1=seeds_to_m1.nii.gz --thr1=50 --target2=seeds_to_cerebellum.nii.gz --thr2=15 --out=label.nii.gz
+```
+
+will create connectivity-driven Vim.
+
+Subjects must be organised in the same file structure. Suppose your data is organised in this way:
+
+### 2. Localise a target
+
+#### 2.1 Command-line interface
+
+```bash
+subject001/
+├── streamlines
+│   ├── left
+│       ├── seeds_to_target1.nii.gz
+│       ├── seeds_to_target2.nii.gz
+│   ├── right
+│       ├── seeds_to_target1.nii.gz
+│       ├── seeds_to_target2.nii.gz
+├── roi
+│   ├── left
+│       ├── tha.nii.gz
+│       ├── atlas.nii.gz
+│   ├── right
+│       ├── tha.nii.gz
+│       ├── atlas.nii.gz
+├── high-quality-labels
+│   ├── left
+│       ├── labels.nii.gz
+│   ├── right
+│       ├── labels.nii.gz
+└── otherfiles
+subject002/
+subject003/
+```
+
+For a comprehensive list of available commands and options, enter:
+
+```bash
+localise --help
+```
+
+##### Prediction mode
+
+Use the prediction mode when you want to apply a pre-trained model to localise a particular target, such as the ventral intermediate nucleus of the thalamus (Vim). Ensure you've generated the required tract-density maps before starting.
+
+###### Example with Default Naming
+
+This example assumes your tract-density maps follow the naming convention of the default target list the model was trained with. Default target lists are available under `resources/data`. For Vim models, refer to `resources/data/vim_default_targets.txt`.
+
+```bash
+localise --predict --structure=vim --subject=subj1001 --mask=roi/left/tha_small.nii.gz --target_path=streamlines/left --data_type=single32 --spatial --out=predictions.nii.gz
+```
+
+###### Example with Custom Naming
+
+If your tract-density maps use a different naming scheme, you can provide your own target list. Additionally, you can input a text file containing paths to multiple subjects. Make sure they are in the same order as the `resources/data/vim_default_targets.txt`.
+
+```bash
+localise --predict --structure=vim --subject=subjs.txt --mask=roi/left/tha_small.nii.gz --target_path=streamlines/left --target_list=your_target_list.txt --data_type=single32 --spatial --out=predictions.nii.gz
+```
+
+###### Using a Custom Model
+
+If you don't want to use the pre-trained default model, and you've trained your own model `your_trained_model.pth` using a specific target list `your_target_list.txt` (see [Train mode](#train-mode) for custom training), you can use the following:
+
+```bash
+localise --predict --subject=subjs.txt --mask=roi/left/tha_small.nii.gz --model=your_trained_model.pth --target_path=streamlines/left --target_list=your_target_list.txt --spatial --out=predictions.nii.gz
+```
+
+##### Train mode
+
+Use the training mode when you want to train a custom model with a specific target list. Ensure you possess the required labels that serve as ground truth during the training process.
+
+To train a model using subjects listed in `training_subjs.txt`, and targets in `your_target_list.txt`, and subsequently save the trained model as `your_trained_model.pth`, use the following:
+
+```bash
+localise --train --subject=training_subjs.txt --mask=roi/left/tha_small.nii.gz --label=high-quality-labels/left/labels.nii.gz --target_path=streamlines/left --target_list=your_target_list.txt --out_model=your_trained_model.pth --spatial
+```
+
+Once trained, your custom model (your_trained_model.pth) can be applied to new, unseen subjects, as showcased in the [Prediction mode](#prediction-mode) section.
+
+#### 2.2 Python interface
+
+You can also train a model or localise for unseen subjects using the python interface.
+
+```python
+import numpy as np
+from localise.load import load_data, load_features, ShuffledDataloader
+from localise.train import train
+from localise.predict import apply_model
+
+with open('train_subjs.txt', 'r') as f:
+    train_list = [line.strip() for line in f]
+
+with open('test_subjs.txt', 'r') as f:
+    test_list = [line.strip() for line in f]
+
+mask_name = 'roi/left/tha_small.nii.gz'
+label_name = 'high-quality-labels/left/labels.nii.gz'
+target_path = 'streamlines/left'
+target_list = 'target_list.txt'
+atlas = 'roi/left/atlas.nii.gz'
+output_fname = 'streamlines/left/data.npy'
+
+# load training data
+train_data = load_data(subject=train_list, mask_name=mask_name, 
+                       target_path=target_path, target_list=target_list, 
+                       atlas=atlas, label_name=label_name, 
+                       output_fname=output_fname)
+# ShuffedDataloader shuffles the order of training subjects in each epoch
+train_dataloarder = ShuffledDataloader(train_data)
+
+# load test data
+test_data = load_data(subject=test_list, mask_name=mask_name, 
+                      target_path=target_path, target_list=target_list, 
+                      atlas=atlas, label_name=label_name, 
+                      output_fname=output_fname)
+
+test_dataloarder = ShuffledDataloader(test_data)
+#### training
+# the trained model is saved in out_model
+model_save_path = 'your_trained_model.pth'
+
+# train a model and store in m
+m = train(train_dataloarder, test_dataloader, model_save_path=model_save_path)
+
+# make predictions
+predictions = apply_model(test_data, m)
+
+# save to nii
+for prediction, subject in zip(predictions, test_list):
+    save_nifti_4D(prediction, os.path.join(subject, mask_name), os.path.join(subject, 'predictions'))
 ```
diff --git a/docs/Makefile b/docs/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..d0c3cbf1020d5c292abdedf27627c6abe25e2293
--- /dev/null
+++ b/docs/Makefile
@@ -0,0 +1,20 @@
+# Minimal makefile for Sphinx documentation
+#
+
+# You can set these variables from the command line, and also
+# from the environment for the first two.
+SPHINXOPTS    ?=
+SPHINXBUILD   ?= sphinx-build
+SOURCEDIR     = source
+BUILDDIR      = build
+
+# Put it first so that "make" without argument is like "make help".
+help:
+	@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
+
+.PHONY: help Makefile
+
+# Catch-all target: route all unknown targets to Sphinx using the new
+# "make mode" option.  $(O) is meant as a shortcut for $(SPHINXOPTS).
+%: Makefile
+	@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
diff --git a/docs/make.bat b/docs/make.bat
new file mode 100644
index 0000000000000000000000000000000000000000..747ffb7b3033659bdd2d1e6eae41ecb00358a45e
--- /dev/null
+++ b/docs/make.bat
@@ -0,0 +1,35 @@
+@ECHO OFF
+
+pushd %~dp0
+
+REM Command file for Sphinx documentation
+
+if "%SPHINXBUILD%" == "" (
+	set SPHINXBUILD=sphinx-build
+)
+set SOURCEDIR=source
+set BUILDDIR=build
+
+%SPHINXBUILD% >NUL 2>NUL
+if errorlevel 9009 (
+	echo.
+	echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
+	echo.installed, then set the SPHINXBUILD environment variable to point
+	echo.to the full path of the 'sphinx-build' executable. Alternatively you
+	echo.may add the Sphinx directory to PATH.
+	echo.
+	echo.If you don't have Sphinx installed, grab it from
+	echo.https://www.sphinx-doc.org/
+	exit /b 1
+)
+
+if "%1" == "" goto help
+
+%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
+goto end
+
+:help
+%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
+
+:end
+popd
diff --git a/docs/source/conf.py b/docs/source/conf.py
new file mode 100644
index 0000000000000000000000000000000000000000..1861c7730dfbb697d83aaa8d4d974f4e545e156a
--- /dev/null
+++ b/docs/source/conf.py
@@ -0,0 +1,33 @@
+# Configuration file for the Sphinx documentation builder.
+#
+# For the full list of built-in configuration values, see the documentation:
+# https://www.sphinx-doc.org/en/master/usage/configuration.html
+
+# -- Project information -----------------------------------------------------
+# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information
+
+project = 'Localise'
+copyright = '2023, Ying-Qiu Zheng'
+author = 'Ying-Qiu Zheng'
+version = '0.1'
+release = '0.1.0'
+
+# -- General configuration ---------------------------------------------------
+# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
+
+extensions = [
+    'sphinx.ext.duration',
+    'sphinx.ext.autodoc',
+    'sphinx.ext.autosummary',
+]
+
+templates_path = ['_templates']
+exclude_patterns = []
+
+
+
+# -- Options for HTML output -------------------------------------------------
+# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output
+
+html_theme = 'sphinx_rtd_theme'
+html_static_path = ['_static']
diff --git a/docs/source/index.rst b/docs/source/index.rst
new file mode 100644
index 0000000000000000000000000000000000000000..cbc5e58488c6937e7ce1b754e67f4abedc186eed
--- /dev/null
+++ b/docs/source/index.rst
@@ -0,0 +1,29 @@
+.. Localise documentation master file, created by
+   sphinx-quickstart on Sun Oct  8 17:56:04 2023.
+   You can adapt this file completely to your liking, but it should at least
+   contain the root `toctree` directive.
+
+Welcome to Localise's documentation!
+====================================
+**Localise** is a Python library for segmentating prevalent surgical targets using multimodal MRI. 
+Check out the :ref:`Usage <usage>` section for further information, including how to
+:ref:`install <installation>` the project.
+
+.. note::
+
+   This project is under active development.
+
+.. toctree::
+   :maxdepth: 2
+   :caption: Contents:
+   
+   sections/usage
+   sections/api
+
+
+Indices and tables
+==================
+
+* :ref:`genindex`
+* :ref:`modindex`
+* :ref:`search`
diff --git a/docs/source/sections/api.rst b/docs/source/sections/api.rst
new file mode 100644
index 0000000000000000000000000000000000000000..16f6e9eaed1ac6d5491596ff4f4f6bb196049460
--- /dev/null
+++ b/docs/source/sections/api.rst
@@ -0,0 +1,7 @@
+API
+===
+
+.. autosummary::
+   :toctree: generated
+
+   localise
\ No newline at end of file
diff --git a/docs/source/sections/generated/localise.rst b/docs/source/sections/generated/localise.rst
new file mode 100644
index 0000000000000000000000000000000000000000..d36fdf31177e678337e5e27041b2098ae23ced30
--- /dev/null
+++ b/docs/source/sections/generated/localise.rst
@@ -0,0 +1,23 @@
+localise
+========
+
+.. automodule:: localise
+
+   
+   
+   
+
+   
+   
+   
+
+   
+   
+   
+
+   
+   
+   
+
+
+
diff --git a/docs/source/sections/usage.rst b/docs/source/sections/usage.rst
new file mode 100644
index 0000000000000000000000000000000000000000..40256011d4c2fab270c9e0f8d7821898abd08a63
--- /dev/null
+++ b/docs/source/sections/usage.rst
@@ -0,0 +1,19 @@
+.. _usage:
+
+Usage
+=====
+
+.. _installation:
+
+Installation
+------------
+
+To use Localise, first install it using pip:
+
+.. code-block:: console
+
+   (.venv) $ pip install localise
+
+Preparing
+----------------
+
diff --git a/localise/scripts/localise.py b/localise/args.py
similarity index 60%
rename from localise/scripts/localise.py
rename to localise/args.py
index c20eab206e29c6364d7cb88bd915f5ce6e72b408..16235f17cf0246887ee561532e378aeec6f85073 100644
--- a/localise/scripts/localise.py
+++ b/localise/args.py
@@ -1,17 +1,7 @@
-#!/usr/bin/env python
 import os
-import argparse, textwrap, logging
-import pkg_resources
-from pathlib import Path
-from localise.load import load_data, load_features, ShuffledDataLoader
-from localise.train import train, train_with_val, train_without_val
-from localise.predict import apply_pretrained_model
-from localise.utils import save_nifti, get_subjects
+import argparse, textwrap
 
 
-#PKG_PATH = pkg_resources.get_distribution('localise').location
-PKG_PATH = Path(__file__).parent.parent
-
 def parse_arguments():
     p = argparse.ArgumentParser(description="Localise")
     
@@ -74,7 +64,8 @@ def parse_arguments():
                           '''))
     p.add_argument('--spatial', action='store_true', required=False,
                    help='Use conditional random field (recommended).')
-    p.add_argument('--verbose', '-v', action='store_true', help="Increase output verbosity")
+    p.add_argument('--verbose', '-v', action='store_true', required=False, 
+                   help="Increase output verbosity")
     
     # predict group
     predict_group.add_argument('--structure', '-r', required=False, dest='structure', type=str,
@@ -129,111 +120,4 @@ def parse_arguments():
     if args.data is None and args.target_path is None:
         p.error('At least one of --data or --target_path must be provided.')
 
-    return args
-
-
-def predict_mode(subject, mask, structure, 
-                 target_path, target_list, 
-                 data, atlas, out, model, spatial, data_type):
-
-    logging.info('Predict mode on.\n')
-    subjects = get_subjects(subject)
-
-    if model is None:
-        # error checking
-        if structure is None:
-            raise ValueError('When using the default model, you must specify the structure.')
-        if data_type is None:
-            raise ValueError('When using the default model, you must specify the data_type.')
-
-        logging.info(f'Using the default model for {structure} on {data_type}.')
-        # load the default model.
-        model_dir = os.path.join(PKG_PATH, 'resources', 'models', structure, data_type)
-        model_name = f'{structure}_crf_model.pth' if spatial else f'{structure}_model.pth'
-        model = os.path.join(model_dir, model_name)
-
-        if not os.path.exists(model):
-            raise ValueError(f'We dont have a pretrained model for {structure} {data_type}.')
-
-        # checking whether or not to use default
-        if data is None and target_list is None:
-            # load default target list
-            logging.info('Using default target list.')
-            target_list_fname = os.path.join(PKG_PATH, 'resources', 'data', 
-                                             f'{structure}_default_target_list.txt')
-            with open(target_list_fname, 'r') as f:
-                target_list = [line.strip() for line in f]
-
-        else:
-            logging.info(f'Please make sure your data or target_list matches the order of the default target list {target_list_fname}.')
-
-    else:
-        logging.info(f'Using the model stored in {model}.')
-
-    # load connectivity features
-    data = [
-        load_features(
-            subject=subject, 
-            mask=mask, 
-            target_path=target_path, 
-            target_list=target_list, 
-            data=data, 
-            atlas=atlas
-        ) 
-        for subject in subjects
-    ]
-
-    predictions = apply_pretrained_model(data, model, spatial=spatial)
-
-    # save to nii files
-    for subject, prediction in zip(subjects, predictions):
-        save_nifti(prediction, os.path.join(subject, mask), os.path.join(subject, out))
-
-    return predictions
-
-
-def train_mode(subject, mask, label, target_path,
-               target_list, data, atlas, out_model, 
-               spatial, epochs):
-    
-    logging.info('Training mode on.\n')
-    subjects = get_subjects(subject)
-    
-    if data is None and target_list is None:
-        raise ValueError('Please specify --target_list or --data.')
-    
-    data = [
-        load_data(
-            subject=subject, 
-            mask=mask, 
-            label_name=label,
-            target_path=target_path, 
-            target_list=target_list, 
-            data=data, 
-            atlas=atlas
-        ) 
-        for subject in subjects
-    ]
-    
-    dataloader = ShuffledDataLoader(data)
-    model = train_without_val(dataloader, n_epochs=epochs, 
-                              spatial_model=spatial, 
-                              model_save_path=out_model)
-    
-    return model
-    
-
-if __name__ == "__main__":
-    args = parse_arguments()
-    if args.predict:
-        predict_mode(args.subject, args.mask, args.structure, 
-                     args.target_path, args.target_list, 
-                     args.data, args.atlas, args.out, 
-                     args.model, args.spatial, args.data_type)
-    elif args.train:
-        train_mode(args.subject, args.mask, args.label, 
-                   args.target_path, args.target_list, 
-                   args.data, args.atlas, args.out_model, 
-                   args.spatial, args.epochs)
-    else:
-        raise ValueError("Exactly one of --train or --predict must be specified.")
\ No newline at end of file
+    return args
\ No newline at end of file
diff --git a/localise/flatten_forward.py b/localise/flatten_forward.py
index 8954c7c8437d5bba80d6cc4163da88598abbd868..bb3b127d935080085d22cb87fea39d9ed3029e60 100644
--- a/localise/flatten_forward.py
+++ b/localise/flatten_forward.py
@@ -23,7 +23,7 @@ class FlexibleClassifier(Module):
         self.n_kernels = n_kernels
 
         if self.is_crf:
-            self.smooth_weight = Parameter(torch.rand(n_kernels))
+            self.smooth_weight = Parameter(torch.full((n_kernels,), 0.5))
             self.compatibility = Parameter((torch.ones(n_classes, n_classes) - torch.eye(n_classes)).float(), requires_grad=False)
     
     #@property
diff --git a/localise/load.py b/localise/load.py
index 271e7f005dccb12527252a422470d1f9a521d77a..d39b8b8bb3db64944c26b50d70d484d034fd0534 100644
--- a/localise/load.py
+++ b/localise/load.py
@@ -18,7 +18,7 @@ def load_features(subject, mask_name, target_path=None, data=None, atlas=None,
 
     Parameters
     ----------
-    subject : str
+    subject : str or list of str
         The name of the subject.
     mask_name : str
         The name of the mask file.
@@ -28,8 +28,8 @@ def load_features(subject, mask_name, target_path=None, data=None, atlas=None,
         The path to the data.
     atlas : str, optional. Defaults to None.
         The path to the atlas. If not None, will include this as an additional features
-    target_list : list, optional
-        A list of targets. Defaults to `DEFAULT_TARGET_LIST`.
+    target_list : list or str, optional
+        A list of targets, or the txt file listing the names of the targets. 
     demean : bool, optional
         If True, demean the feature matrix. Defaults to True.
     normalise : bool, optional
@@ -52,7 +52,16 @@ def load_features(subject, mask_name, target_path=None, data=None, atlas=None,
         If both `data` and `target_path` are not set.
         If the loaded data matrix and mask dimensions do not match.
 
-    """    
+    """
+    if isinstance(subject, list):
+        results = [load_features(subject=s, mask_name=mask_name, 
+                                 target_path=target_path, data=data, atlas=atlas, 
+                                 target_list=target_list, demean=demean, 
+                                 normalise=normalise, gamma=gamma, 
+                                 power=power, output_fname=output_fname) 
+                   for s in subject]
+        return results
+
     if data is None and target_path is None:
         raise ValueError("Please specify either target_path or data.")
     
@@ -71,6 +80,11 @@ def load_features(subject, mask_name, target_path=None, data=None, atlas=None,
     
     # load data into X
     if data is None:
+        # if target_list is a file containing target names
+        if isinstance(target_list, str):
+            with open(target_list, 'r') as f:
+                target_list = [line.strip() for line in f]
+
         n_targets = len(target_list)
         X = np.zeros((n_targets, n), dtype=np.float32)
         for k in range(n_targets):
@@ -99,9 +113,9 @@ def load_features(subject, mask_name, target_path=None, data=None, atlas=None,
     
     # maximum tract density normalised to 1
     if normalise:
-        maxX = np.max(X, axis=1)
+        maxX = np.max(X, axis=1, keepdims=True)
         maxX[ maxX==0 ] = 1
-        X /= maxX[:, None]
+        X /= maxX
     
     # replace np.nan and np.inf with 0
     X = np.nan_to_num(X)
@@ -122,7 +136,7 @@ def load_labels(subject, mask_name, label_name):
 
     Parameters
     ----------
-    subject : str
+    subject : str or list of str
         Path to the subject directory.
     mask_name : str
         Filename of the mask data file.
@@ -137,6 +151,11 @@ def load_labels(subject, mask_name, label_name):
         The second row is the inverse of the first row.
     """
 
+    if isinstance(subject, list):
+        results = [load_labels(subject=s, mask_name=mask_name, label_name=label_name) 
+                   for s in subject]
+        return results
+
     mask = nib.load(os.path.join(subject, mask_name)).get_fdata()
     index = np.where(mask > 0)
     
@@ -157,7 +176,7 @@ def load_data(subject, mask_name, label_name, target_path=None, data=None,
 
     Parameters
     ----------
-    subject : str
+    subject : str or list of str
         The name of the subject.
     mask_name : str
         The name of the mask file.
@@ -169,8 +188,8 @@ def load_data(subject, mask_name, label_name, target_path=None, data=None,
         The path to the data.
     atlas : str, optional. Defaults to None.
         The path to the atlas. If not None, will include this as an additional feature
-    target_list : list, optional
-        A list of targets. Defaults to `DEFAULT_TARGET_LIST`.
+    target_list : list or str, optional
+        A list of targets, or the txt file listing the names of the targets. 
     demean : bool, optional
         If True, demean the feature matrix. Defaults to True.
     normalise : bool, optional
@@ -195,6 +214,15 @@ def load_data(subject, mask_name, label_name, target_path=None, data=None,
         If the loaded data matrix and mask dimensions do not match.
 
     """
+    if isinstance(subject, list):
+        results = [load_data(subject=s, mask_name=mask_name, label_name=label_name, 
+                             target_path=target_path, data=data, atlas=atlas, 
+                             target_list=target_list, demean=demean, 
+                             normalise=normalise, gamma=gamma, 
+                             power=power, output_fname=output_fname) 
+                   for s in subject]
+        return results
+
     features = load_features(subject=subject, mask_name=mask_name, target_path=target_path, 
                              data=data, atlas=atlas, target_list=target_list, 
                              demean=demean, normalise=normalise, 
diff --git a/localise/predict.py b/localise/predict.py
index 20434d1d8d35527aae3ed212ddf2a4cebf907aab..e59227935148e65daed730fb4eae89bccce7b714 100644
--- a/localise/predict.py
+++ b/localise/predict.py
@@ -49,6 +49,7 @@ def apply_pretrained_model(data, model_save_path, model="Linear", spatial_model=
 
     return predictions
 
+
 def apply_model(data, model):
     """_summary_
 
diff --git a/localise/train.py b/localise/train.py
index 2dddd79ccb5758030b3332b749b006590637932d..44e9071f9b8c588de73cea117690dced010e84b8 100644
--- a/localise/train.py
+++ b/localise/train.py
@@ -29,8 +29,17 @@ def train_loop(data, model, loss_fn, optimizer, lambda_l1, lambda_l2, print_freq
         loss = loss_fn(pred, y)
 
         # add L1 and L2 penalty
-        layer_weights = torch.stack([x for x in model.layer.parameters() if x.dim() > 1])
-        loss += lambda_l1 * torch.norm(layer_weights, 1) + lambda_l2 * torch.norm(layer_weights, 2)
+        l1 = 0
+        l2 = 0
+        for x in model.layer.parameters():
+            if x.dim() > 1:
+                l1 += torch.norm(x, 1)
+                l2 += torch.norm(x, 2)
+            
+        #layer_weights = torch.stack([x for x in model.layer.parameters() if x.dim() > 1])
+        #loss += lambda_l1 * torch.norm(layer_weights, 1) + lambda_l2 * torch.norm(layer_weights, 2)
+        loss += lambda_l1 * l1 + lambda_l2 * l2
+        
         loss.backward()
         optimizer.step()
         optimizer.zero_grad()
@@ -58,6 +67,18 @@ def val_loop(data, model, loss_fn):
     logging.info(f"Test Error: \n Avg loss: {test_loss / len(data):>8f} \n")
 
 
+def initialize_model(model, n_features, n_classes, n_kernels, spatial_model):
+    if model == "Linear":
+        return FlexibleClassifier(Linear(n_features, n_classes), n_classes=n_classes, 
+                               n_kernels=n_kernels, is_crf=spatial_model)
+    elif model == "MLP":
+        return FlexibleClassifier(MLP(n_features, 2, n_classes), n_classes=n_classes, 
+                               n_kernels=n_kernels, is_crf=spatial_model)
+    else:
+        return FlexibleClassifier(model, n_classes=n_classes, 
+                               n_kernels=n_kernels, is_crf=spatial_model)
+
+
 def train(training_data, test_data, 
           model="Linear",
           loss_fn=nn.CrossEntropyLoss(), 
@@ -102,23 +123,31 @@ def train(training_data, test_data,
     n_kernels = X.f.shape[0]
 
     # Define a model
-    if model == "Linear":
-        m = FlexibleClassifier(Linear(n_features, n_classes), n_classes=n_classes, 
-                                          n_kernels=n_kernels, is_crf=spatial_model)
-    elif model == "MLP":
-        m = FlexibleClassifier(MLP(n_features, 2, n_classes), n_classes=n_classes, 
-                                       n_kernels=n_kernels, is_crf=spatial_model)
-    else:
-        m = FlexibleClassifier(model, n_classes=n_classes, 
-                                   n_kernels=n_kernels, is_crf=spatial_model)
-
+    m = initialize_model(model, n_features, n_classes, n_kernels, spatial_model=spatial_model)
+    
+    # if requires a spatial model, first train a non-spatial one to initialise
+    if spatial_model:
+        m_init = initialize_model(model, n_features, n_classes, n_kernels, spatial_model=False)
+
+        optimizer_init = optimizer(m_init.parameters(), lr=lr)
+        for t in range(10):
+            logging.info(f"Epoch {t+1}\n-------------------------------")
+            train_loop(training_data, m_init, loss_fn, optimizer_init, l1_lambda, l2_lambda, print_freq)
+            val_loop(test_data, m_init, loss_fn)
+
+        logging.info("Initialisation Done.")
+        params_init = m_init.state_dict()
+
+        # copy m_init params into m
+        m.load_state_dict(params_init, strict=False)
+        
     optimizer = optimizer(m.parameters(), lr=lr)
     for t in range(n_epochs):
         logging.info(f"Epoch {t+1}\n-------------------------------")
         train_loop(training_data, m, loss_fn, optimizer, l1_lambda, l2_lambda, print_freq)
         val_loop(test_data, m, loss_fn)
 
-    logging.info("Training Done!")
+    logging.info("Training Done.")
     
     # save the model if requested 
     if model_save_path is not None:
@@ -170,22 +199,29 @@ def train_without_val(training_data,
     n_kernels = X.f.shape[0]
 
     # Define a model
-    if model == "Linear":
-        m = FlexibleClassifier(Linear(n_features, n_classes), n_classes=n_classes, 
-                                          n_kernels=n_kernels, is_crf=spatial_model)
-    elif model == "MLP":
-        m = FlexibleClassifier(MLP(n_features, 2, n_classes), n_classes=n_classes, 
-                                       n_kernels=n_kernels, is_crf=spatial_model)
-    else:
-        m = FlexibleClassifier(model, n_classes=n_classes, 
-                                   n_kernels=n_kernels, is_crf=spatial_model)
+    m = initialize_model(model, n_features, n_classes, n_kernels, spatial_model=spatial_model)
+    
+    # if requires a spatial model, first train a non-spatial one to initialise
+    if spatial_model:
+        m_init = initialize_model(model, n_features, n_classes, n_kernels, spatial_model=False)
 
+        optimizer_init = optimizer(m_init.parameters(), lr=lr)
+        for t in range(10):
+            logging.info(f"Epoch {t+1}\n-------------------------------")
+            train_loop(training_data, m_init, loss_fn, optimizer_init, l1_lambda, l2_lambda, print_freq)
+
+        logging.info("Initialisation Done.")
+        params_init = m_init.state_dict()
+
+        # copy m_init params into m
+        m.load_state_dict(params_init, strict=False)
+        
     optimizer = optimizer(m.parameters(), lr=lr)
     for t in range(n_epochs):
         logging.info(f"Epoch {t+1}\n-------------------------------")
         train_loop(training_data, m, loss_fn, optimizer, l1_lambda, l2_lambda, print_freq)
 
-    logging.info("Training Done!")
+    logging.info("Training Done.")
     
     # save the model if requested 
     if model_save_path is not None:
@@ -195,6 +231,7 @@ def train_without_val(training_data,
     return m
 
 
+# this is useless for now
 def train_with_val(training_data,
                    model="Linear",
                    loss_fn=nn.CrossEntropyLoss(), 
diff --git a/localise/utils.py b/localise/utils.py
index 0abff4d25b993cfd7bded0a95083fcbe61b68458..c40b0fa10ee3bd563016441e879faeed5b7cbdb7 100644
--- a/localise/utils.py
+++ b/localise/utils.py
@@ -1,10 +1,19 @@
-import os
+import os, logging, subprocess
 import numpy as np
 import nibabel as nib
+import subprocess
+from pathlib import Path
+from localise.load import load_data, load_features, ShuffledDataLoader
+from localise.train import train, train_with_val, train_without_val
+from localise.predict import apply_pretrained_model
+
+
+PKG_PATH = Path(__file__).parent.parent
+
 
 def save_nifti(data, mask_file, output_file):
     """
-    Function to save a 1D numpy array into a NIfTI file using a specified binary NIfTI mask.
+    Function to save a 1D numpy array into a 3D NIfTI file using a specified binary NIfTI mask.
 
     Parameters:
     data (np.array): 1D numpy array to be saved.
@@ -38,6 +47,48 @@ def save_nifti(data, mask_file, output_file):
 # output_file = 'output.nii.gz'  # Output NIfTI file
 # save_nifti(data, mask_file, output_file)
 
+
+def save_nifti_4D(data, mask_file, output_file):
+    """
+    Function to save a 2D numpy array into a 4D NIfTI file using a specified binary NIfTI mask.
+
+    Parameters:
+    data (np.array): 2D numpy array to be saved.
+    mask_file (str): Path to the binary NIfTI mask file.
+    output_file (str): Output path where the NIfTI file will be saved.
+    """
+
+    # Load the mask NIfTI file
+    mask_nifti = nib.load(mask_file)
+    mask_data = mask_nifti.get_fdata()
+
+    # number of classes
+    k = data.shape[1]
+
+    # size in x, y, z dim
+    x, y, z = mask_data.shape
+
+    # Check if the number of non-zero entries in the mask matches the length of the data
+    if np.count_nonzero(mask_data) != len(data):
+        raise ValueError('The number of non-zero entries in the mask does not match the length of the data.')
+
+    # Create a 3D numpy array from the mask
+    output_data = np.zeros((x, y, z, k))
+
+    # non-zero items
+    indices = mask_data > 0
+
+    # Distribute the data into the 4D space defined by the mask
+    for kk in range(k):
+        output_data[indices, kk] = data[:, kk]
+
+    # Create a NIfTI image from the output data
+    output_nifti = nib.Nifti1Image(output_data, mask_nifti.affine, mask_nifti.header)
+
+    # Save the NIfTI image
+    nib.save(output_nifti, output_file)
+
+
 def get_subjects(subject_path):
     """Load subjects from file or directory."""
     if os.path.isfile(subject_path):
@@ -48,3 +99,224 @@ def get_subjects(subject_path):
     else:
         raise ValueError(f'Invalid subject path: {subject_path}. Please specify a correct subject dir or txt file.')
 
+
+def predict_mode(subject, mask, structure=None, target_path=None, target_list=None, 
+                 data=None, atlas=None, out=None, model=None, spatial=True, data_type=None):
+
+    logging.info('Predict mode on.\n')
+    subjects = get_subjects(subject)
+
+    if model is None:
+        # error checking
+        if structure is None:
+            raise ValueError('When using the default model, you must specify the structure.')
+        if data_type is None:
+            raise ValueError('When using the default model, you must specify the data_type.')
+
+        logging.info(f'Using the default model for {structure} on {data_type}.')
+        # load the default model.
+        model_dir = os.path.join(PKG_PATH, 'resources', 'models', structure, data_type)
+        model_name = f'{structure}_spatial_model.pth' if spatial else f'{structure}_model.pth'
+        model = os.path.join(model_dir, model_name)
+
+        if not os.path.exists(model):
+            raise ValueError(f'We dont have a pretrained model for {structure} {data_type}.')
+
+        target_list_fname = os.path.join(PKG_PATH, 'resources', 'data', 
+                                         f'{structure}_default_target_list.txt')
+        # checking whether or not to use default
+        if data is None and target_list is None:
+            # load default target list
+            logging.info('Using default target list.')
+            
+            with open(target_list_fname, 'r') as f:
+                target_list = [line.strip() for line in f]
+
+        else:
+            logging.info(f'Please make sure your data or target_list matches the order of the default target list {target_list_fname}.')
+
+    else:
+        logging.info(f'Using the model stored in {model}.')
+
+        # check errors. either specify --data, or specify both --target_path and --target_list
+        if data is None:
+            if target_path is None:
+                raise ValueError("Please specify --target_path if you didn't specify --data")
+            if target_list is None:
+                raise ValueError("Please specify --target_list if you didn't specify --data when you are not using the default model.")        
+
+    # load connectivity features
+    data = [
+        load_features(
+            subject=subject, 
+            mask_name=mask, 
+            target_path=target_path, 
+            target_list=target_list, 
+            data=data, 
+            atlas=atlas
+        ) 
+        for subject in subjects
+    ]
+
+    predictions = apply_pretrained_model(data, model, spatial_model=spatial)
+
+    # save to nii files
+    for subject, prediction in zip(subjects, predictions):
+        save_nifti(prediction.detach().numpy()[:, -1], os.path.join(subject, mask), os.path.join(subject, out))
+
+    return predictions
+
+
+def train_mode(subject, mask, label, target_path=None,
+               target_list=None, data=None, atlas=None, out_model=None, 
+               spatial=True, epochs=100):
+    
+    logging.info('Training mode on.\n')
+    subjects = get_subjects(subject)
+    
+    if data is None and target_list is None:
+        raise ValueError("Please specify --target_list if you didn't specify --data.")
+    
+    if data is None and target_path is None:
+        raise ValueError("Please specify --target_path if you didn't specify --data.")
+    
+    data = [
+        load_data(
+            subject=subject, 
+            mask_name=mask, 
+            label_name=label,
+            target_path=target_path, 
+            target_list=target_list, 
+            data=data, 
+            atlas=atlas
+        ) 
+        for subject in subjects
+    ]
+    
+    dataloader = ShuffledDataLoader(data)
+    model = train_without_val(dataloader, n_epochs=epochs, 
+                              spatial_model=spatial, 
+                              model_save_path=out_model)
+    
+    return model
+
+
+def create_masks(ref, warp, out=None, aparc=None, brainmask=None):
+    """
+    Create masks based on provided parameters.
+    
+    Parameters:
+    - ref (str): Reference string.
+    - warp (str): Warp string.
+    - out (Optional[str]): Output string. Defaults to None.
+    - aparc (Optional[str]): Aparc string. Defaults to None.
+    - brainmask (Optional[str]): Brainmask string. Defaults to None.
+    
+    Raises:
+    - ValueError: If required environment variables or files are missing.
+    """
+    if "FSLDIR" not in os.environ:
+        raise ValueError("FSLDIR environment variable does not exist.")
+    if not os.path.isfile(ref):
+        raise ValueError(f"{ref} does not exist.")
+    if not os.path.isfile(warp):
+        raise ValueError(f"{warp} does not exist.")
+    
+    cmd = os.path.join(PKG_PATH, "scripts", "create_masks")
+    args = [cmd, f"--ref={ref}", f"--warp={warp}"]
+    
+    params = [("out", out), ("aparc", aparc), ("brainmask", brainmask)]
+    for param, value in params:
+        if value is not None:
+            args.append(f"--{param}={value}")
+    
+    run_command(args)
+
+
+def create_tracts(samples_dir, input_dir, seed=None, xfm=None, ref=None, 
+                  out=None, brainmask=None, nsteps=None, cthr=None, 
+                  fibthresh=None, nsamples=None, steplength=None, 
+                  sampvox=None, distthresh=None, gpu=True):
+    """
+    Create tracts based on provided parameters.
+    
+    Parameters are described in the function signature.
+    
+    Raises:
+    - ValueError: If required environment variables or directories are missing.
+    """
+    
+    if "FSLDIR" not in os.environ:
+        raise ValueError("FSLDIR environment variable is missing.")
+    if not os.path.isdir(samples_dir):
+        raise ValueError(f"Directory '{samples_dir}' is missing.")
+    if not os.path.isdir(input_dir):
+        raise ValueError(f"Directory '{input_dir}' is missing.")
+    
+    cmd = os.path.join(PKG_PATH, "scripts", "create_tracts")
+    args = [cmd, f"--samples={samples_dir}", f"--inputdir={input_dir}"]
+    
+    params = [
+        ("out", out), 
+        ("seed", seed), 
+        ("xfm", xfm), 
+        ("ref", ref), 
+        ("brainmask", brainmask),
+        ("nsteps", nsteps),
+        ("cthr", cthr),
+        ("fibthresh", fibthresh),
+        ("nsamples", nsamples),
+        ("steplength", steplength),
+        ("sampvox", sampvox),
+        ("distthresh", distthresh)
+    ]
+    for param, value in params:
+        if value is not None:
+            args.append(f"--{param}={value}")
+    
+    if gpu:
+        args.append("--gpu")
+    
+    run_command(args)
+
+
+def connectivity_driven(target1, target2, out, target3=None, 
+                        thr1=None, thr2=None, thr3=None, thr=None):
+    """
+    Perform a connectivity-driven analysis using two or three target images.
+
+    Parameters are described in the function signature.
+    
+    Raises:
+    - ValueError: If required environment variables or directories are missing.
+    """
+    if "FSLDIR" not in os.environ:
+        raise ValueError("FSLDIR environment variable is missing.")
+    if not os.path.isfile(target1):
+        raise ValueError(f"{target1} does not exist.")
+    if not os.path.isfile(target2):
+        raise ValueError(f"{target2} does not exist.")
+    
+    cmd = os.path.join(PKG_PATH, "scripts", "connectivity_driven")
+    args = [cmd, f"--target1={target1}", f"--target2={target2}", f"--out={out}"]
+    
+    params = [
+        ("thr1", thr1),
+        ("thr2", thr2),
+        ("thr3", thr3),
+        ("target3", target3),
+        ("thr", thr)
+    ]
+    for param, value in params:
+        if value is not None:
+            args.append(f"--{param}={value}")
+    
+    run_command(args)
+    
+
+def run_command(cmd):
+    try:
+        subprocess.run(cmd, check=True)
+        print(f"Command {' '.join(cmd)} executed successfully.")
+    except subprocess.CalledProcessError:
+        print(f"Error executing command: {' '.join(cmd)}")
\ No newline at end of file
diff --git a/notebooks/demo.ipynb b/notebooks/demo.ipynb
new file mode 100644
index 0000000000000000000000000000000000000000..2ec3fd88d33025454e610862c2ef0f3f500c6a17
--- /dev/null
+++ b/notebooks/demo.ipynb
@@ -0,0 +1,74 @@
+{
+ "cells": [
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "import os, logging\n",
+    "import numpy as np\n",
+    "import torch\n",
+    "from tqdm import tqdm\n",
+    "from IPython.display import display"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# Logging configuration\n",
+    "class JupyterHandler(logging.StreamHandler):\n",
+    "    def emit(self, record):\n",
+    "        try:\n",
+    "            msg = self.format(record)\n",
+    "            display(msg)\n",
+    "        except Exception:\n",
+    "            self.handleError(record)\n",
+    "\n",
+    "logger = logging.getLogger()\n",
+    "logger.setLevel(logging.INFO)\n",
+    "\n",
+    "# Remove existing handlers\n",
+    "for handler in logger.handlers:\n",
+    "    logger.removeHandler(handler)\n",
+    "\n",
+    "handler = JupyterHandler()\n",
+    "handler.setFormatter(logging.Formatter('%(asctime)s - %(levelname)s - %(message)s'))\n",
+    "\n",
+    "logger.addHandler(handler)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "env",
+   "language": "python",
+   "name": "python3"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 3
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython3",
+   "version": "3.11.3"
+  },
+  "orig_nbformat": 4
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
diff --git a/requirements.txt b/requirements.txt
index a52eca96e152b4a7b151654e6da6188e18117aea..3a50b8d209dca7d52a99bb179b6f830890a3da60 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -4,7 +4,4 @@ joblib
 nibabel
 scipy
 pytest
-argparse
-random
-textwrap
-pkg_resources
\ No newline at end of file
+argparse
\ No newline at end of file
diff --git a/resources/MNI_roi/MNI152_T1_1mm_brain_mask.nii.gz b/resources/MNI_roi/MNI152_T1_1mm_brain_mask.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..e9e198a118f9072a6e04cd548e6624ef9c52d100
Binary files /dev/null and b/resources/MNI_roi/MNI152_T1_1mm_brain_mask.nii.gz differ
diff --git a/resources/MNI_roi/cortex.nii.gz b/resources/MNI_roi/cortex.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..ea2e74a7fe866fa89475d5b195adb89a0f33ddd9
Binary files /dev/null and b/resources/MNI_roi/cortex.nii.gz differ
diff --git a/resources/MNI_roi/left/1.nii.gz b/resources/MNI_roi/left/1.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..2308ad8c0c753627c9a155d3d0f381604045f958
Binary files /dev/null and b/resources/MNI_roi/left/1.nii.gz differ
diff --git a/resources/MNI_roi/left/10.nii.gz b/resources/MNI_roi/left/10.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..e24ba781a07b23fc1d93fc01ec5eca8f2ae9fff4
Binary files /dev/null and b/resources/MNI_roi/left/10.nii.gz differ
diff --git a/resources/MNI_roi/left/11.nii.gz b/resources/MNI_roi/left/11.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..7a84627bcd321839e0ceedfbc3a9b482c232cec3
Binary files /dev/null and b/resources/MNI_roi/left/11.nii.gz differ
diff --git a/resources/MNI_roi/left/12.nii.gz b/resources/MNI_roi/left/12.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..2a622fb0af7f6319538d06b0244ef10dcd90047d
Binary files /dev/null and b/resources/MNI_roi/left/12.nii.gz differ
diff --git a/resources/MNI_roi/left/13.nii.gz b/resources/MNI_roi/left/13.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..f9d2ba1d10e59ced26960838586ec9f6891c8580
Binary files /dev/null and b/resources/MNI_roi/left/13.nii.gz differ
diff --git a/resources/MNI_roi/left/14.nii.gz b/resources/MNI_roi/left/14.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..66a84cd74fc09c05444916ac669016d8247f5cd0
Binary files /dev/null and b/resources/MNI_roi/left/14.nii.gz differ
diff --git a/resources/MNI_roi/left/15.nii.gz b/resources/MNI_roi/left/15.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..d5e6a2ef7d7f715b2214d8bb6f7d83371abbfb0c
Binary files /dev/null and b/resources/MNI_roi/left/15.nii.gz differ
diff --git a/resources/MNI_roi/left/16.nii.gz b/resources/MNI_roi/left/16.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..a394fe81283ab57b9e4f8fa48ed5870ead5dba67
Binary files /dev/null and b/resources/MNI_roi/left/16.nii.gz differ
diff --git a/resources/MNI_roi/left/17.nii.gz b/resources/MNI_roi/left/17.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..adcd5a15263357c7290fdf5313caf00581acb865
Binary files /dev/null and b/resources/MNI_roi/left/17.nii.gz differ
diff --git a/resources/MNI_roi/left/18.nii.gz b/resources/MNI_roi/left/18.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..ae5d508c7c28ddd0ad78347f65bcba6692c4de80
Binary files /dev/null and b/resources/MNI_roi/left/18.nii.gz differ
diff --git a/resources/MNI_roi/left/19.nii.gz b/resources/MNI_roi/left/19.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..34f6e89b9b1f1e46c5fecdadea8cb1482867cac6
Binary files /dev/null and b/resources/MNI_roi/left/19.nii.gz differ
diff --git a/resources/MNI_roi/left/2.nii.gz b/resources/MNI_roi/left/2.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..11778cb527b23ceb4572af4fb2bd132ceca676ce
Binary files /dev/null and b/resources/MNI_roi/left/2.nii.gz differ
diff --git a/resources/MNI_roi/left/20.nii.gz b/resources/MNI_roi/left/20.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..871156026d16f6a002726a673dfd43edfed977e7
Binary files /dev/null and b/resources/MNI_roi/left/20.nii.gz differ
diff --git a/resources/MNI_roi/left/21.nii.gz b/resources/MNI_roi/left/21.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..3f448e54eee6eec471bcf7fa51901c0590a8eb63
Binary files /dev/null and b/resources/MNI_roi/left/21.nii.gz differ
diff --git a/resources/MNI_roi/left/22.nii.gz b/resources/MNI_roi/left/22.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..1a7174da9e44ecae5a2adc55d4ec6b557648b545
Binary files /dev/null and b/resources/MNI_roi/left/22.nii.gz differ
diff --git a/resources/MNI_roi/left/23.nii.gz b/resources/MNI_roi/left/23.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..f1c221ea29bd8732404379848c6fc5b42e6974a4
Binary files /dev/null and b/resources/MNI_roi/left/23.nii.gz differ
diff --git a/resources/MNI_roi/left/24.nii.gz b/resources/MNI_roi/left/24.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..1473409c61b12fb77b259553f92a92b89a54ec0d
Binary files /dev/null and b/resources/MNI_roi/left/24.nii.gz differ
diff --git a/resources/MNI_roi/left/25.nii.gz b/resources/MNI_roi/left/25.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..6032d2bbfdec38d0c4293523dcbf59900f7f5b2f
Binary files /dev/null and b/resources/MNI_roi/left/25.nii.gz differ
diff --git a/resources/MNI_roi/left/26.nii.gz b/resources/MNI_roi/left/26.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..16dc426b583940803459c5e3948e3becf8dc7604
Binary files /dev/null and b/resources/MNI_roi/left/26.nii.gz differ
diff --git a/resources/MNI_roi/left/27.nii.gz b/resources/MNI_roi/left/27.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..173622c27cd313e45da3f6bac12689a35b7ab933
Binary files /dev/null and b/resources/MNI_roi/left/27.nii.gz differ
diff --git a/resources/MNI_roi/left/28.nii.gz b/resources/MNI_roi/left/28.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..16e56b256345f904fa2bc36ed1043bb1d912ec66
Binary files /dev/null and b/resources/MNI_roi/left/28.nii.gz differ
diff --git a/resources/MNI_roi/left/29.nii.gz b/resources/MNI_roi/left/29.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..eac0e2a53106897e4351352472850b46b261a05d
Binary files /dev/null and b/resources/MNI_roi/left/29.nii.gz differ
diff --git a/resources/MNI_roi/left/3.nii.gz b/resources/MNI_roi/left/3.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..5cef04294a2934de62a2e4cc25c4e83b91cb49e4
Binary files /dev/null and b/resources/MNI_roi/left/3.nii.gz differ
diff --git a/resources/MNI_roi/left/30.nii.gz b/resources/MNI_roi/left/30.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..5b485cc18139390263f2565f1ee54ae94aca8b4f
Binary files /dev/null and b/resources/MNI_roi/left/30.nii.gz differ
diff --git a/resources/MNI_roi/left/31.nii.gz b/resources/MNI_roi/left/31.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..a1902d792ee91faac803899861004ebdc26c8145
Binary files /dev/null and b/resources/MNI_roi/left/31.nii.gz differ
diff --git a/resources/MNI_roi/left/32.nii.gz b/resources/MNI_roi/left/32.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..d65b7069ee7d59c70550cb2d64af09a74bb3c212
Binary files /dev/null and b/resources/MNI_roi/left/32.nii.gz differ
diff --git a/resources/MNI_roi/left/33.nii.gz b/resources/MNI_roi/left/33.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..646a6a805e8395100343d46327e7b8855d66f1f3
Binary files /dev/null and b/resources/MNI_roi/left/33.nii.gz differ
diff --git a/resources/MNI_roi/left/34.nii.gz b/resources/MNI_roi/left/34.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..a269c3898951ec7df61ffefc9b104abe004029a5
Binary files /dev/null and b/resources/MNI_roi/left/34.nii.gz differ
diff --git a/resources/MNI_roi/left/35.nii.gz b/resources/MNI_roi/left/35.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..4ba2a0b217e7489a77172c6a3e0751b14284af98
Binary files /dev/null and b/resources/MNI_roi/left/35.nii.gz differ
diff --git a/resources/MNI_roi/left/36.nii.gz b/resources/MNI_roi/left/36.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..2d308342eb0f80515531583edd33c75dbc392972
Binary files /dev/null and b/resources/MNI_roi/left/36.nii.gz differ
diff --git a/resources/MNI_roi/left/37.nii.gz b/resources/MNI_roi/left/37.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..05aeffb0b5c4f04d1e12fbbd7178fdaed216e703
Binary files /dev/null and b/resources/MNI_roi/left/37.nii.gz differ
diff --git a/resources/MNI_roi/left/38.nii.gz b/resources/MNI_roi/left/38.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..72a01f45623d92d405aca8571e15a5bd180c930a
Binary files /dev/null and b/resources/MNI_roi/left/38.nii.gz differ
diff --git a/resources/MNI_roi/left/39.nii.gz b/resources/MNI_roi/left/39.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..204d2157733d0741a47487e0618b7b319ce96402
Binary files /dev/null and b/resources/MNI_roi/left/39.nii.gz differ
diff --git a/resources/MNI_roi/left/4.nii.gz b/resources/MNI_roi/left/4.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..87ab90c235694929fe01aa0aefd2edc1ead42dcc
Binary files /dev/null and b/resources/MNI_roi/left/4.nii.gz differ
diff --git a/resources/MNI_roi/left/40.nii.gz b/resources/MNI_roi/left/40.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..5ff8b1c9ca31d9d01e514fc1d9b9f4b88c5f7d8a
Binary files /dev/null and b/resources/MNI_roi/left/40.nii.gz differ
diff --git a/resources/MNI_roi/left/41.nii.gz b/resources/MNI_roi/left/41.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..cec7ffcc3c578a1467d48be3e34ba7ac07d92dd4
Binary files /dev/null and b/resources/MNI_roi/left/41.nii.gz differ
diff --git a/resources/MNI_roi/left/42.nii.gz b/resources/MNI_roi/left/42.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..04230ee70f70e58cb5e81722f85aea6fd68b9719
Binary files /dev/null and b/resources/MNI_roi/left/42.nii.gz differ
diff --git a/resources/MNI_roi/left/43.nii.gz b/resources/MNI_roi/left/43.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..41d0f6df05bbf644f94740244fba29ac23f9df25
Binary files /dev/null and b/resources/MNI_roi/left/43.nii.gz differ
diff --git a/resources/MNI_roi/left/44.nii.gz b/resources/MNI_roi/left/44.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..9a31302c0476d2217d0adb457b31d7ed5cf844ba
Binary files /dev/null and b/resources/MNI_roi/left/44.nii.gz differ
diff --git a/resources/MNI_roi/left/45.nii.gz b/resources/MNI_roi/left/45.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..57abb0dc2c7dbd7a6da4c9b7c594e3f7df4a6bba
Binary files /dev/null and b/resources/MNI_roi/left/45.nii.gz differ
diff --git a/resources/MNI_roi/left/46.nii.gz b/resources/MNI_roi/left/46.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..7d40385d508144ae14d3d515994afe6aedb7d1d5
Binary files /dev/null and b/resources/MNI_roi/left/46.nii.gz differ
diff --git a/resources/MNI_roi/left/47.nii.gz b/resources/MNI_roi/left/47.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..af6fa1c1f3645f4979e6e7097458980158fc008a
Binary files /dev/null and b/resources/MNI_roi/left/47.nii.gz differ
diff --git a/resources/MNI_roi/left/48.nii.gz b/resources/MNI_roi/left/48.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..ea79ac0bc0c96564737c0c5c05af0be1469b3078
Binary files /dev/null and b/resources/MNI_roi/left/48.nii.gz differ
diff --git a/resources/MNI_roi/left/49.nii.gz b/resources/MNI_roi/left/49.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..c866b9510d289f17d4db8f49df85f8fa171b4b54
Binary files /dev/null and b/resources/MNI_roi/left/49.nii.gz differ
diff --git a/resources/MNI_roi/left/5.nii.gz b/resources/MNI_roi/left/5.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..fce546bd9a493ea0429ab7d9a14e6c56400c271f
Binary files /dev/null and b/resources/MNI_roi/left/5.nii.gz differ
diff --git a/resources/MNI_roi/left/50.nii.gz b/resources/MNI_roi/left/50.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..c46449ad3f8666f059fddae86da85da7a397af17
Binary files /dev/null and b/resources/MNI_roi/left/50.nii.gz differ
diff --git a/resources/MNI_roi/left/51.nii.gz b/resources/MNI_roi/left/51.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..bcb6db0565324908031712e4e5b0f23f41f9b89d
Binary files /dev/null and b/resources/MNI_roi/left/51.nii.gz differ
diff --git a/resources/MNI_roi/left/52.nii.gz b/resources/MNI_roi/left/52.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..4003aa684989b063a2289815a29ca246f57d2e22
Binary files /dev/null and b/resources/MNI_roi/left/52.nii.gz differ
diff --git a/resources/MNI_roi/left/53.nii.gz b/resources/MNI_roi/left/53.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..adb66d91f258f1d56a71d5d64efdca5a4ae1d239
Binary files /dev/null and b/resources/MNI_roi/left/53.nii.gz differ
diff --git a/resources/MNI_roi/left/54.nii.gz b/resources/MNI_roi/left/54.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..e1fc957e732bda9ad579f415551c013605aea87e
Binary files /dev/null and b/resources/MNI_roi/left/54.nii.gz differ
diff --git a/resources/MNI_roi/left/55.nii.gz b/resources/MNI_roi/left/55.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..715a47c785964fdb091d040114126d2c9054141f
Binary files /dev/null and b/resources/MNI_roi/left/55.nii.gz differ
diff --git a/resources/MNI_roi/left/56.nii.gz b/resources/MNI_roi/left/56.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..9302096d065d62ec72ff5728b79121c7e55895d2
Binary files /dev/null and b/resources/MNI_roi/left/56.nii.gz differ
diff --git a/resources/MNI_roi/left/57.nii.gz b/resources/MNI_roi/left/57.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..93393796a6bde5849da0e91c7b8bd535097741c7
Binary files /dev/null and b/resources/MNI_roi/left/57.nii.gz differ
diff --git a/resources/MNI_roi/left/58.nii.gz b/resources/MNI_roi/left/58.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..4a23941e9bc8d7a389637a36969e1f3e33d3aea6
Binary files /dev/null and b/resources/MNI_roi/left/58.nii.gz differ
diff --git a/resources/MNI_roi/left/59.nii.gz b/resources/MNI_roi/left/59.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..bcb73cd5dafc69c400ddb1613b435759052e7dc5
Binary files /dev/null and b/resources/MNI_roi/left/59.nii.gz differ
diff --git a/resources/MNI_roi/left/6.nii.gz b/resources/MNI_roi/left/6.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..70f37f862d8990bfdf220c4b27f44ca45a93d5c2
Binary files /dev/null and b/resources/MNI_roi/left/6.nii.gz differ
diff --git a/resources/MNI_roi/left/60.nii.gz b/resources/MNI_roi/left/60.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..4e6dcf5e118c6d58a0d8821a831407113a49b39c
Binary files /dev/null and b/resources/MNI_roi/left/60.nii.gz differ
diff --git a/resources/MNI_roi/left/61.nii.gz b/resources/MNI_roi/left/61.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..98a8e322542ebdd26edb671a7f6faf96287e2513
Binary files /dev/null and b/resources/MNI_roi/left/61.nii.gz differ
diff --git a/resources/MNI_roi/left/62.nii.gz b/resources/MNI_roi/left/62.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..7e688914cff54759cfa1428c2a514a4fe8937e4b
Binary files /dev/null and b/resources/MNI_roi/left/62.nii.gz differ
diff --git a/resources/MNI_roi/left/63.nii.gz b/resources/MNI_roi/left/63.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..94202d3058223d39672908cda95d2ee318d84558
Binary files /dev/null and b/resources/MNI_roi/left/63.nii.gz differ
diff --git a/resources/MNI_roi/left/64.nii.gz b/resources/MNI_roi/left/64.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..2612bdb7c0de9c049417cd4c67ead00903f35765
Binary files /dev/null and b/resources/MNI_roi/left/64.nii.gz differ
diff --git a/resources/MNI_roi/left/65.nii.gz b/resources/MNI_roi/left/65.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..a9b84b481a4ad54ddea47d81772ae0587c2a1c34
Binary files /dev/null and b/resources/MNI_roi/left/65.nii.gz differ
diff --git a/resources/MNI_roi/left/66.nii.gz b/resources/MNI_roi/left/66.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..eef9d7d3fd91f150ffb9ceb1b5c222f9baef6155
Binary files /dev/null and b/resources/MNI_roi/left/66.nii.gz differ
diff --git a/resources/MNI_roi/left/67.nii.gz b/resources/MNI_roi/left/67.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..76efecae73f046ee16a47e9dd0631f1b82fd9138
Binary files /dev/null and b/resources/MNI_roi/left/67.nii.gz differ
diff --git a/resources/MNI_roi/left/68.nii.gz b/resources/MNI_roi/left/68.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..4233b29914848bfab3476de0200f9f3390e7f18a
Binary files /dev/null and b/resources/MNI_roi/left/68.nii.gz differ
diff --git a/resources/MNI_roi/left/69.nii.gz b/resources/MNI_roi/left/69.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..d298cc9e85868fc00e5766d7976b2ec3cd30047c
Binary files /dev/null and b/resources/MNI_roi/left/69.nii.gz differ
diff --git a/resources/MNI_roi/left/7.nii.gz b/resources/MNI_roi/left/7.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..cdb3c821be07bcd2a23d9dd6a3e7bb3f7231052a
Binary files /dev/null and b/resources/MNI_roi/left/7.nii.gz differ
diff --git a/resources/MNI_roi/left/70.nii.gz b/resources/MNI_roi/left/70.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..84d4a6c626130e1ebe5b3e75ac2b4d93d96de1e4
Binary files /dev/null and b/resources/MNI_roi/left/70.nii.gz differ
diff --git a/resources/MNI_roi/left/71.nii.gz b/resources/MNI_roi/left/71.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..e58ed7b183eed5fac35d7481ae93bece40980286
Binary files /dev/null and b/resources/MNI_roi/left/71.nii.gz differ
diff --git a/resources/MNI_roi/left/72.nii.gz b/resources/MNI_roi/left/72.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..0bf7bd190845efb440ca5a5c7e81b7f22edca25c
Binary files /dev/null and b/resources/MNI_roi/left/72.nii.gz differ
diff --git a/resources/MNI_roi/left/73.nii.gz b/resources/MNI_roi/left/73.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..d28fa1c298b742dbd3622098b3925a6e1a221004
Binary files /dev/null and b/resources/MNI_roi/left/73.nii.gz differ
diff --git a/resources/MNI_roi/left/74.nii.gz b/resources/MNI_roi/left/74.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..ca416ecbf660bcf97a4497eabae7e38e80128282
Binary files /dev/null and b/resources/MNI_roi/left/74.nii.gz differ
diff --git a/resources/MNI_roi/left/75.nii.gz b/resources/MNI_roi/left/75.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..45027bdd4b9a5bff75bcb3d134914010de09794a
Binary files /dev/null and b/resources/MNI_roi/left/75.nii.gz differ
diff --git a/resources/MNI_roi/left/8.nii.gz b/resources/MNI_roi/left/8.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..5add8894a1777d57fb7f29913439c9487d3635fb
Binary files /dev/null and b/resources/MNI_roi/left/8.nii.gz differ
diff --git a/resources/MNI_roi/left/9.nii.gz b/resources/MNI_roi/left/9.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..4288ce91b549660215841b56b4857759844f61bd
Binary files /dev/null and b/resources/MNI_roi/left/9.nii.gz differ
diff --git a/resources/MNI_roi/left/SCPCT.nii.gz b/resources/MNI_roi/left/SCPCT.nii.gz
new file mode 100755
index 0000000000000000000000000000000000000000..9297088c127812c6ae2def6c3f761a49d7994694
Binary files /dev/null and b/resources/MNI_roi/left/SCPCT.nii.gz differ
diff --git a/resources/MNI_roi/left/ar_mask1.nii.gz b/resources/MNI_roi/left/ar_mask1.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..c5729c9e08e3da55db006a2f7fb8e33bbdd1e001
Binary files /dev/null and b/resources/MNI_roi/left/ar_mask1.nii.gz differ
diff --git a/resources/MNI_roi/left/ar_mask2.nii.gz b/resources/MNI_roi/left/ar_mask2.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..2d0e31c61f3478e2bb6093a684fbca662f16020b
Binary files /dev/null and b/resources/MNI_roi/left/ar_mask2.nii.gz differ
diff --git a/resources/MNI_roi/left/ar_mask3.nii.gz b/resources/MNI_roi/left/ar_mask3.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..af23994ede89f7156d8a465c1f8e947078116890
Binary files /dev/null and b/resources/MNI_roi/left/ar_mask3.nii.gz differ
diff --git a/resources/MNI_roi/left/ar_mask4.nii.gz b/resources/MNI_roi/left/ar_mask4.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..6858efd31405153c62a43c1cea21621296907940
Binary files /dev/null and b/resources/MNI_roi/left/ar_mask4.nii.gz differ
diff --git a/resources/MNI_roi/left/ar_mask5.nii.gz b/resources/MNI_roi/left/ar_mask5.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..05b179b55c32a16843e7c4ad402b63c45d721511
Binary files /dev/null and b/resources/MNI_roi/left/ar_mask5.nii.gz differ
diff --git a/resources/MNI_roi/left/ar_mask6.nii.gz b/resources/MNI_roi/left/ar_mask6.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..980c65c23feabd1a01ff70c198e7603721267c75
Binary files /dev/null and b/resources/MNI_roi/left/ar_mask6.nii.gz differ
diff --git a/resources/MNI_roi/left/ar_mask7.nii.gz b/resources/MNI_roi/left/ar_mask7.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..5ad72f5bc59182e9a072f51f2c2aef93201475a3
Binary files /dev/null and b/resources/MNI_roi/left/ar_mask7.nii.gz differ
diff --git a/resources/MNI_roi/left/ar_mask8.nii.gz b/resources/MNI_roi/left/ar_mask8.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..007b78642d45f494f3e2762aaef0bb40436b5e1c
Binary files /dev/null and b/resources/MNI_roi/left/ar_mask8.nii.gz differ
diff --git a/resources/MNI_roi/left/atr_mask1.nii.gz b/resources/MNI_roi/left/atr_mask1.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..38a42ca743f85b2fdd7b16cb4ade2fb0c6851577
Binary files /dev/null and b/resources/MNI_roi/left/atr_mask1.nii.gz differ
diff --git a/resources/MNI_roi/left/atr_mask2.nii.gz b/resources/MNI_roi/left/atr_mask2.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..321ba2ea743599c22ea2a6a1f622b2d48d95653b
Binary files /dev/null and b/resources/MNI_roi/left/atr_mask2.nii.gz differ
diff --git a/resources/MNI_roi/left/atr_mask3.nii.gz b/resources/MNI_roi/left/atr_mask3.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..344639ae6082f52f1b3af2c69a3069b7c13dceef
Binary files /dev/null and b/resources/MNI_roi/left/atr_mask3.nii.gz differ
diff --git a/resources/MNI_roi/left/atr_mask4.nii.gz b/resources/MNI_roi/left/atr_mask4.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..0f2c8ee8035930344814e83bc3465f54579b21f7
Binary files /dev/null and b/resources/MNI_roi/left/atr_mask4.nii.gz differ
diff --git a/resources/MNI_roi/left/atr_mask5.nii.gz b/resources/MNI_roi/left/atr_mask5.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..a5d95272949eccad5af09047c96cea41f5b9e133
Binary files /dev/null and b/resources/MNI_roi/left/atr_mask5.nii.gz differ
diff --git a/resources/MNI_roi/left/atr_mask6.nii.gz b/resources/MNI_roi/left/atr_mask6.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..2d562ce148eb913c4c908f146bbe01582a752f6b
Binary files /dev/null and b/resources/MNI_roi/left/atr_mask6.nii.gz differ
diff --git a/resources/MNI_roi/left/atr_mask7.nii.gz b/resources/MNI_roi/left/atr_mask7.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..c39d716d28555a01f22be6814ce2ba6b897b7ba6
Binary files /dev/null and b/resources/MNI_roi/left/atr_mask7.nii.gz differ
diff --git a/resources/MNI_roi/left/atr_mask8.nii.gz b/resources/MNI_roi/left/atr_mask8.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..98c6e234aa5291f4d1a43d68fb9dc80c0346ff89
Binary files /dev/null and b/resources/MNI_roi/left/atr_mask8.nii.gz differ
diff --git a/resources/MNI_roi/left/cerebellum.nii.gz b/resources/MNI_roi/left/cerebellum.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..2a1b3a33faec636880aba2e0880508a41ae6ce76
Binary files /dev/null and b/resources/MNI_roi/left/cerebellum.nii.gz differ
diff --git a/resources/MNI_roi/left/cerebellum_target.nii.gz b/resources/MNI_roi/left/cerebellum_target.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..da34e86a372fe650dfe9fdb6c98c817b6c62c520
Binary files /dev/null and b/resources/MNI_roi/left/cerebellum_target.nii.gz differ
diff --git a/resources/MNI_roi/left/cortex.nii.gz b/resources/MNI_roi/left/cortex.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..e687745377926b3527ea5dd9ceb2c56e194e826f
Binary files /dev/null and b/resources/MNI_roi/left/cortex.nii.gz differ
diff --git a/resources/MNI_roi/left/exclusion.nii.gz b/resources/MNI_roi/left/exclusion.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..7a9fef4cc74dbf8fb97a5f6476b454068a01a694
Binary files /dev/null and b/resources/MNI_roi/left/exclusion.nii.gz differ
diff --git a/resources/MNI_roi/left/fx_mask1.nii.gz b/resources/MNI_roi/left/fx_mask1.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..e7794f9d2d1a3f842041864a87914e3e79dde572
Binary files /dev/null and b/resources/MNI_roi/left/fx_mask1.nii.gz differ
diff --git a/resources/MNI_roi/left/fx_mask10.nii.gz b/resources/MNI_roi/left/fx_mask10.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..b0841bf52df652c9528f43463a39c8366b8248eb
Binary files /dev/null and b/resources/MNI_roi/left/fx_mask10.nii.gz differ
diff --git a/resources/MNI_roi/left/fx_mask2.nii.gz b/resources/MNI_roi/left/fx_mask2.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..2d2a48efec33d012a84a0cd50729e54d3d2d656e
Binary files /dev/null and b/resources/MNI_roi/left/fx_mask2.nii.gz differ
diff --git a/resources/MNI_roi/left/fx_mask3.nii.gz b/resources/MNI_roi/left/fx_mask3.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..bd3f8bdbbb3f287f35a6e4ce6104d04b8facbae5
Binary files /dev/null and b/resources/MNI_roi/left/fx_mask3.nii.gz differ
diff --git a/resources/MNI_roi/left/fx_mask4.nii.gz b/resources/MNI_roi/left/fx_mask4.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..9817abce6cc70321718da13b428b012583c69b18
Binary files /dev/null and b/resources/MNI_roi/left/fx_mask4.nii.gz differ
diff --git a/resources/MNI_roi/left/fx_mask5.nii.gz b/resources/MNI_roi/left/fx_mask5.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..b2cc7a585872e6176e9458891b2c1fb706317e40
Binary files /dev/null and b/resources/MNI_roi/left/fx_mask5.nii.gz differ
diff --git a/resources/MNI_roi/left/fx_mask6.nii.gz b/resources/MNI_roi/left/fx_mask6.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..dd2f58593c57fe4dde178af4f6edba0f053e2ddc
Binary files /dev/null and b/resources/MNI_roi/left/fx_mask6.nii.gz differ
diff --git a/resources/MNI_roi/left/fx_mask7.nii.gz b/resources/MNI_roi/left/fx_mask7.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..222ba1484a776106cc214cd4d0561509c2c272d8
Binary files /dev/null and b/resources/MNI_roi/left/fx_mask7.nii.gz differ
diff --git a/resources/MNI_roi/left/fx_mask8.nii.gz b/resources/MNI_roi/left/fx_mask8.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..4db66f7e559f9ed95a719be0dec05d0195ef3b4e
Binary files /dev/null and b/resources/MNI_roi/left/fx_mask8.nii.gz differ
diff --git a/resources/MNI_roi/left/fx_mask9.nii.gz b/resources/MNI_roi/left/fx_mask9.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..1dadaa639e83a5c4dbf87abe4bbf4d72440e20ad
Binary files /dev/null and b/resources/MNI_roi/left/fx_mask9.nii.gz differ
diff --git a/resources/MNI_roi/left/or_mask1.nii.gz b/resources/MNI_roi/left/or_mask1.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..1bac2acab52c837da9755133e4793618f1f9655e
Binary files /dev/null and b/resources/MNI_roi/left/or_mask1.nii.gz differ
diff --git a/resources/MNI_roi/left/or_mask10.nii.gz b/resources/MNI_roi/left/or_mask10.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..5f99e8bc18e1905103e9906464c984ae52b21df2
Binary files /dev/null and b/resources/MNI_roi/left/or_mask10.nii.gz differ
diff --git a/resources/MNI_roi/left/or_mask2.nii.gz b/resources/MNI_roi/left/or_mask2.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..e907bc76f245101fa4a6fa28f33a15692e46c678
Binary files /dev/null and b/resources/MNI_roi/left/or_mask2.nii.gz differ
diff --git a/resources/MNI_roi/left/or_mask3.nii.gz b/resources/MNI_roi/left/or_mask3.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..7a5cd395a4203ccfdf78dac4312fb14f363c4272
Binary files /dev/null and b/resources/MNI_roi/left/or_mask3.nii.gz differ
diff --git a/resources/MNI_roi/left/or_mask4.nii.gz b/resources/MNI_roi/left/or_mask4.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..29fc3beed218c4311f9b7b36e3aa97052bcf7d40
Binary files /dev/null and b/resources/MNI_roi/left/or_mask4.nii.gz differ
diff --git a/resources/MNI_roi/left/or_mask5.nii.gz b/resources/MNI_roi/left/or_mask5.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..28ea02904ff615be24202c8e718363283cf23ce7
Binary files /dev/null and b/resources/MNI_roi/left/or_mask5.nii.gz differ
diff --git a/resources/MNI_roi/left/or_mask6.nii.gz b/resources/MNI_roi/left/or_mask6.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..7075951371777c46fbe27e133a3f53586f890dff
Binary files /dev/null and b/resources/MNI_roi/left/or_mask6.nii.gz differ
diff --git a/resources/MNI_roi/left/or_mask7.nii.gz b/resources/MNI_roi/left/or_mask7.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..1b05220d23fa4a73e1dcb601e8787bf2cdbf006c
Binary files /dev/null and b/resources/MNI_roi/left/or_mask7.nii.gz differ
diff --git a/resources/MNI_roi/left/or_mask8.nii.gz b/resources/MNI_roi/left/or_mask8.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..bf4a204cd11bdd4bd513cfabc742e1e6eed88329
Binary files /dev/null and b/resources/MNI_roi/left/or_mask8.nii.gz differ
diff --git a/resources/MNI_roi/left/or_mask9.nii.gz b/resources/MNI_roi/left/or_mask9.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..e8deff404045a097cdde9e7680c5d093fb479750
Binary files /dev/null and b/resources/MNI_roi/left/or_mask9.nii.gz differ
diff --git a/resources/MNI_roi/left/scpct_mask1.nii.gz b/resources/MNI_roi/left/scpct_mask1.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..841458d7a12990d07bf93f5edca558676bf9a2d0
Binary files /dev/null and b/resources/MNI_roi/left/scpct_mask1.nii.gz differ
diff --git a/resources/MNI_roi/left/scpct_mask10.nii.gz b/resources/MNI_roi/left/scpct_mask10.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..8526f1841d8db53576849e63db574d44ede0416d
Binary files /dev/null and b/resources/MNI_roi/left/scpct_mask10.nii.gz differ
diff --git a/resources/MNI_roi/left/scpct_mask11.nii.gz b/resources/MNI_roi/left/scpct_mask11.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..9100242270c959714ca425e75341f68d83fd0ea4
Binary files /dev/null and b/resources/MNI_roi/left/scpct_mask11.nii.gz differ
diff --git a/resources/MNI_roi/left/scpct_mask12.nii.gz b/resources/MNI_roi/left/scpct_mask12.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..ed1873a37eb6db87817c3e9a85ae10442eb8b49a
Binary files /dev/null and b/resources/MNI_roi/left/scpct_mask12.nii.gz differ
diff --git a/resources/MNI_roi/left/scpct_mask13.nii.gz b/resources/MNI_roi/left/scpct_mask13.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..66f478392c20dfe689d6fe26261c3cb04defdd0b
Binary files /dev/null and b/resources/MNI_roi/left/scpct_mask13.nii.gz differ
diff --git a/resources/MNI_roi/left/scpct_mask14.nii.gz b/resources/MNI_roi/left/scpct_mask14.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..bef7a4850b9a7d54d2fa701c2e5bb0b17ea2cc11
Binary files /dev/null and b/resources/MNI_roi/left/scpct_mask14.nii.gz differ
diff --git a/resources/MNI_roi/left/scpct_mask15.nii.gz b/resources/MNI_roi/left/scpct_mask15.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..1862f607c6de3d3657fcf0d9efa60a99595b0bc5
Binary files /dev/null and b/resources/MNI_roi/left/scpct_mask15.nii.gz differ
diff --git a/resources/MNI_roi/left/scpct_mask2.nii.gz b/resources/MNI_roi/left/scpct_mask2.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..2347d6a880772849e5dffa5f06c472c99e1911e0
Binary files /dev/null and b/resources/MNI_roi/left/scpct_mask2.nii.gz differ
diff --git a/resources/MNI_roi/left/scpct_mask3.nii.gz b/resources/MNI_roi/left/scpct_mask3.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..e88ddc7f4a762655d583264bcf478954c137c261
Binary files /dev/null and b/resources/MNI_roi/left/scpct_mask3.nii.gz differ
diff --git a/resources/MNI_roi/left/scpct_mask4.nii.gz b/resources/MNI_roi/left/scpct_mask4.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..8cc85edbfffd072a849a5bd88ce4f03a5bf56f5d
Binary files /dev/null and b/resources/MNI_roi/left/scpct_mask4.nii.gz differ
diff --git a/resources/MNI_roi/left/scpct_mask5.nii.gz b/resources/MNI_roi/left/scpct_mask5.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..be691d2f719502c862d2a416e12a10f8dac02928
Binary files /dev/null and b/resources/MNI_roi/left/scpct_mask5.nii.gz differ
diff --git a/resources/MNI_roi/left/scpct_mask6.nii.gz b/resources/MNI_roi/left/scpct_mask6.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..e8b7747eeda7f2b8021a80119fead10d77843de2
Binary files /dev/null and b/resources/MNI_roi/left/scpct_mask6.nii.gz differ
diff --git a/resources/MNI_roi/left/scpct_mask7.nii.gz b/resources/MNI_roi/left/scpct_mask7.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..e02018cb63464a7b80d7c21d308c12f47f94a5c9
Binary files /dev/null and b/resources/MNI_roi/left/scpct_mask7.nii.gz differ
diff --git a/resources/MNI_roi/left/scpct_mask8.nii.gz b/resources/MNI_roi/left/scpct_mask8.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..5981cd3c727e5075780f367223fe99bcca2645d4
Binary files /dev/null and b/resources/MNI_roi/left/scpct_mask8.nii.gz differ
diff --git a/resources/MNI_roi/left/scpct_mask9.nii.gz b/resources/MNI_roi/left/scpct_mask9.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..bff1765c02df44ffb705f0e9ea81f0ac200224ad
Binary files /dev/null and b/resources/MNI_roi/left/scpct_mask9.nii.gz differ
diff --git a/resources/MNI_roi/left/str_mask1.nii.gz b/resources/MNI_roi/left/str_mask1.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..6c805bb5ee09ff98e2821e80c8f2992a310bb119
Binary files /dev/null and b/resources/MNI_roi/left/str_mask1.nii.gz differ
diff --git a/resources/MNI_roi/left/str_mask10.nii.gz b/resources/MNI_roi/left/str_mask10.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..d755aca03f91409c017495f69efb208e3ee00067
Binary files /dev/null and b/resources/MNI_roi/left/str_mask10.nii.gz differ
diff --git a/resources/MNI_roi/left/str_mask2.nii.gz b/resources/MNI_roi/left/str_mask2.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..4a880499fd3a6f1ad31101bd0378ad0d2bdda688
Binary files /dev/null and b/resources/MNI_roi/left/str_mask2.nii.gz differ
diff --git a/resources/MNI_roi/left/str_mask3.nii.gz b/resources/MNI_roi/left/str_mask3.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..a3cd3402d3184611e75a07bd55fef5fe39f3613a
Binary files /dev/null and b/resources/MNI_roi/left/str_mask3.nii.gz differ
diff --git a/resources/MNI_roi/left/str_mask4.nii.gz b/resources/MNI_roi/left/str_mask4.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..9901a96102b7aec9301616e68e54f41ba1bc52ed
Binary files /dev/null and b/resources/MNI_roi/left/str_mask4.nii.gz differ
diff --git a/resources/MNI_roi/left/str_mask5.nii.gz b/resources/MNI_roi/left/str_mask5.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..525f98141e80e2193a478a855ca3e61ea9894c11
Binary files /dev/null and b/resources/MNI_roi/left/str_mask5.nii.gz differ
diff --git a/resources/MNI_roi/left/str_mask6.nii.gz b/resources/MNI_roi/left/str_mask6.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..a9f3e7ac7ba263a005fa375fb982b59e53775c0f
Binary files /dev/null and b/resources/MNI_roi/left/str_mask6.nii.gz differ
diff --git a/resources/MNI_roi/left/str_mask7.nii.gz b/resources/MNI_roi/left/str_mask7.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..649dd60279c08dc11e282bc071364aaa4ec57543
Binary files /dev/null and b/resources/MNI_roi/left/str_mask7.nii.gz differ
diff --git a/resources/MNI_roi/left/str_mask8.nii.gz b/resources/MNI_roi/left/str_mask8.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..1a2117ed3211a28dc03b7f4b69ffad181f0f31a6
Binary files /dev/null and b/resources/MNI_roi/left/str_mask8.nii.gz differ
diff --git a/resources/MNI_roi/left/str_mask9.nii.gz b/resources/MNI_roi/left/str_mask9.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..fd4726578fe7b24669bf4c3fc7997adf17b54160
Binary files /dev/null and b/resources/MNI_roi/left/str_mask9.nii.gz differ
diff --git a/resources/MNI_roi/left/tha.nii.gz b/resources/MNI_roi/left/tha.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..5039420c0a7562de24ff15098fab3d3bbe83d5ac
Binary files /dev/null and b/resources/MNI_roi/left/tha.nii.gz differ
diff --git a/resources/MNI_roi/left/to_postcentral_mask1.nii.gz b/resources/MNI_roi/left/to_postcentral_mask1.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..5b29853838f37c54078ccff10bc59424cc4aada9
Binary files /dev/null and b/resources/MNI_roi/left/to_postcentral_mask1.nii.gz differ
diff --git a/resources/MNI_roi/left/to_postcentral_mask10.nii.gz b/resources/MNI_roi/left/to_postcentral_mask10.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..60abd64c4873a393a02305010fd2e779e3ff0299
Binary files /dev/null and b/resources/MNI_roi/left/to_postcentral_mask10.nii.gz differ
diff --git a/resources/MNI_roi/left/to_postcentral_mask11.nii.gz b/resources/MNI_roi/left/to_postcentral_mask11.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..9e941940f8b71f1e0f1d54713e958afeb83b314a
Binary files /dev/null and b/resources/MNI_roi/left/to_postcentral_mask11.nii.gz differ
diff --git a/resources/MNI_roi/left/to_postcentral_mask12.nii.gz b/resources/MNI_roi/left/to_postcentral_mask12.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..67d278bb4883993beea202332f82f7ba9c8a324c
Binary files /dev/null and b/resources/MNI_roi/left/to_postcentral_mask12.nii.gz differ
diff --git a/resources/MNI_roi/left/to_postcentral_mask2.nii.gz b/resources/MNI_roi/left/to_postcentral_mask2.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..6d6000860f5b1a344c21959b144b6df893fd3de8
Binary files /dev/null and b/resources/MNI_roi/left/to_postcentral_mask2.nii.gz differ
diff --git a/resources/MNI_roi/left/to_postcentral_mask3.nii.gz b/resources/MNI_roi/left/to_postcentral_mask3.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..0175d8198d35c283af1d938ed6bc7f0bc5d779a0
Binary files /dev/null and b/resources/MNI_roi/left/to_postcentral_mask3.nii.gz differ
diff --git a/resources/MNI_roi/left/to_postcentral_mask4.nii.gz b/resources/MNI_roi/left/to_postcentral_mask4.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..2bb27fb7bb9aca9a4cddfe51e4fbf40538540e0f
Binary files /dev/null and b/resources/MNI_roi/left/to_postcentral_mask4.nii.gz differ
diff --git a/resources/MNI_roi/left/to_postcentral_mask5.nii.gz b/resources/MNI_roi/left/to_postcentral_mask5.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..3b02eda9df49a2b701aa06f405bfc56b6fb98fcc
Binary files /dev/null and b/resources/MNI_roi/left/to_postcentral_mask5.nii.gz differ
diff --git a/resources/MNI_roi/left/to_postcentral_mask6.nii.gz b/resources/MNI_roi/left/to_postcentral_mask6.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..6b4b32ff6c0a6d44cc086e83de5921f1a8ec1fbe
Binary files /dev/null and b/resources/MNI_roi/left/to_postcentral_mask6.nii.gz differ
diff --git a/resources/MNI_roi/left/to_postcentral_mask7.nii.gz b/resources/MNI_roi/left/to_postcentral_mask7.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..d8dcf1e7a908482532eaab3d7e20890630610e96
Binary files /dev/null and b/resources/MNI_roi/left/to_postcentral_mask7.nii.gz differ
diff --git a/resources/MNI_roi/left/to_postcentral_mask8.nii.gz b/resources/MNI_roi/left/to_postcentral_mask8.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..944b6b6c30c1d78c10b87204e10a2f26b133cd5e
Binary files /dev/null and b/resources/MNI_roi/left/to_postcentral_mask8.nii.gz differ
diff --git a/resources/MNI_roi/left/to_postcentral_mask9.nii.gz b/resources/MNI_roi/left/to_postcentral_mask9.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..4fa145abf6253dfa327094fdce0a22d907e58561
Binary files /dev/null and b/resources/MNI_roi/left/to_postcentral_mask9.nii.gz differ
diff --git a/resources/MNI_roi/left/to_precentral_mask1.nii.gz b/resources/MNI_roi/left/to_precentral_mask1.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..7cef5f8eca727023fc4bd9d5fab5e894eedf2130
Binary files /dev/null and b/resources/MNI_roi/left/to_precentral_mask1.nii.gz differ
diff --git a/resources/MNI_roi/left/to_precentral_mask10.nii.gz b/resources/MNI_roi/left/to_precentral_mask10.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..34a53633f02f8b27fd6a81f5de1b23fa1d96caad
Binary files /dev/null and b/resources/MNI_roi/left/to_precentral_mask10.nii.gz differ
diff --git a/resources/MNI_roi/left/to_precentral_mask11.nii.gz b/resources/MNI_roi/left/to_precentral_mask11.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..516d466d268baea2ed88e380a98f5aee7c8b494d
Binary files /dev/null and b/resources/MNI_roi/left/to_precentral_mask11.nii.gz differ
diff --git a/resources/MNI_roi/left/to_precentral_mask12.nii.gz b/resources/MNI_roi/left/to_precentral_mask12.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..8fdc3d3c63789cbe1938954385bd1672b2e4f55f
Binary files /dev/null and b/resources/MNI_roi/left/to_precentral_mask12.nii.gz differ
diff --git a/resources/MNI_roi/left/to_precentral_mask2.nii.gz b/resources/MNI_roi/left/to_precentral_mask2.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..57652e74177b871feb7a4f6c94ce2d4950f0d8a5
Binary files /dev/null and b/resources/MNI_roi/left/to_precentral_mask2.nii.gz differ
diff --git a/resources/MNI_roi/left/to_precentral_mask3.nii.gz b/resources/MNI_roi/left/to_precentral_mask3.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..09edac70835dd097e22297a89ceb62bd68ef615f
Binary files /dev/null and b/resources/MNI_roi/left/to_precentral_mask3.nii.gz differ
diff --git a/resources/MNI_roi/left/to_precentral_mask4.nii.gz b/resources/MNI_roi/left/to_precentral_mask4.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..d8ecbad3f36d2bf2bed8d5d2b4a8eafbcdf5ed73
Binary files /dev/null and b/resources/MNI_roi/left/to_precentral_mask4.nii.gz differ
diff --git a/resources/MNI_roi/left/to_precentral_mask5.nii.gz b/resources/MNI_roi/left/to_precentral_mask5.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..afd32192b7ffbc22fdf52d62a955ec1a7ecf0ceb
Binary files /dev/null and b/resources/MNI_roi/left/to_precentral_mask5.nii.gz differ
diff --git a/resources/MNI_roi/left/to_precentral_mask6.nii.gz b/resources/MNI_roi/left/to_precentral_mask6.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..10f304cd6705892ada1e0acbfcabe4cbf80601fc
Binary files /dev/null and b/resources/MNI_roi/left/to_precentral_mask6.nii.gz differ
diff --git a/resources/MNI_roi/left/to_precentral_mask7.nii.gz b/resources/MNI_roi/left/to_precentral_mask7.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..73c72eef8b20fd925ad936aa72a659fda703d273
Binary files /dev/null and b/resources/MNI_roi/left/to_precentral_mask7.nii.gz differ
diff --git a/resources/MNI_roi/left/to_precentral_mask8.nii.gz b/resources/MNI_roi/left/to_precentral_mask8.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..c1057fd3e01a2b375edf469fc10dd45fa76c9133
Binary files /dev/null and b/resources/MNI_roi/left/to_precentral_mask8.nii.gz differ
diff --git a/resources/MNI_roi/left/to_precentral_mask9.nii.gz b/resources/MNI_roi/left/to_precentral_mask9.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..70415a12f12f1434543908bf41f78a97c6044398
Binary files /dev/null and b/resources/MNI_roi/left/to_precentral_mask9.nii.gz differ
diff --git a/resources/MNI_roi/left/vim.nii.gz b/resources/MNI_roi/left/vim.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..13a5c50e650ed5a197bcbccbed475f19510a236e
Binary files /dev/null and b/resources/MNI_roi/left/vim.nii.gz differ
diff --git a/resources/MNI_roi/right/1.nii.gz b/resources/MNI_roi/right/1.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..4905c1473524be21334d9d6ef21e9747e8e0dfdf
Binary files /dev/null and b/resources/MNI_roi/right/1.nii.gz differ
diff --git a/resources/MNI_roi/right/10.nii.gz b/resources/MNI_roi/right/10.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..e0a53742bcd1b038c5f32906daed63f3fa58e86e
Binary files /dev/null and b/resources/MNI_roi/right/10.nii.gz differ
diff --git a/resources/MNI_roi/right/11.nii.gz b/resources/MNI_roi/right/11.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..3ded068ac4c5cc9927f0b891d2cd805f2e6508c3
Binary files /dev/null and b/resources/MNI_roi/right/11.nii.gz differ
diff --git a/resources/MNI_roi/right/12.nii.gz b/resources/MNI_roi/right/12.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..4bd7a3a38dcefc5908f27d7fdbc8344aa59393b3
Binary files /dev/null and b/resources/MNI_roi/right/12.nii.gz differ
diff --git a/resources/MNI_roi/right/13.nii.gz b/resources/MNI_roi/right/13.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..01a2af4cede79faee303f2ce4ec97b9483ba903b
Binary files /dev/null and b/resources/MNI_roi/right/13.nii.gz differ
diff --git a/resources/MNI_roi/right/14.nii.gz b/resources/MNI_roi/right/14.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..51217c46e175c53d94abd9c6d574a52b1a04e81e
Binary files /dev/null and b/resources/MNI_roi/right/14.nii.gz differ
diff --git a/resources/MNI_roi/right/15.nii.gz b/resources/MNI_roi/right/15.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..43bb579e7b5d8e75c78e0cbcf136b8071c58f2c5
Binary files /dev/null and b/resources/MNI_roi/right/15.nii.gz differ
diff --git a/resources/MNI_roi/right/16.nii.gz b/resources/MNI_roi/right/16.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..689c0d05c35ad45fe7dcc6f17827d9a8f2d2f2de
Binary files /dev/null and b/resources/MNI_roi/right/16.nii.gz differ
diff --git a/resources/MNI_roi/right/17.nii.gz b/resources/MNI_roi/right/17.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..648bf1ec8e4df2e2bd492c2c95c345ebd0bebc1b
Binary files /dev/null and b/resources/MNI_roi/right/17.nii.gz differ
diff --git a/resources/MNI_roi/right/18.nii.gz b/resources/MNI_roi/right/18.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..d5ad9d64194d2a561f9ebd77af9880948d06cf7c
Binary files /dev/null and b/resources/MNI_roi/right/18.nii.gz differ
diff --git a/resources/MNI_roi/right/19.nii.gz b/resources/MNI_roi/right/19.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..bdf07e3b055d0ee6f2a18df4a11e1ab71f6d294c
Binary files /dev/null and b/resources/MNI_roi/right/19.nii.gz differ
diff --git a/resources/MNI_roi/right/2.nii.gz b/resources/MNI_roi/right/2.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..8eaed756dbdf1e201883f6d8299060e6d480bb30
Binary files /dev/null and b/resources/MNI_roi/right/2.nii.gz differ
diff --git a/resources/MNI_roi/right/20.nii.gz b/resources/MNI_roi/right/20.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..1a8033911c3a2eba2bd5e4d01287d52f0f78fcb7
Binary files /dev/null and b/resources/MNI_roi/right/20.nii.gz differ
diff --git a/resources/MNI_roi/right/21.nii.gz b/resources/MNI_roi/right/21.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..7214e4726196884ec8fb0aa787ea60748adcb228
Binary files /dev/null and b/resources/MNI_roi/right/21.nii.gz differ
diff --git a/resources/MNI_roi/right/22.nii.gz b/resources/MNI_roi/right/22.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..edb2be0755d231f633fd08e3816054263ba04130
Binary files /dev/null and b/resources/MNI_roi/right/22.nii.gz differ
diff --git a/resources/MNI_roi/right/23.nii.gz b/resources/MNI_roi/right/23.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..70d32af809c2f5aa164d485c37cadf55bbf66173
Binary files /dev/null and b/resources/MNI_roi/right/23.nii.gz differ
diff --git a/resources/MNI_roi/right/24.nii.gz b/resources/MNI_roi/right/24.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..1d4621d3b93c87098fd6962c2baa864d1c49a777
Binary files /dev/null and b/resources/MNI_roi/right/24.nii.gz differ
diff --git a/resources/MNI_roi/right/25.nii.gz b/resources/MNI_roi/right/25.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..66b892a94a36349769ae40575812369b5b79d52e
Binary files /dev/null and b/resources/MNI_roi/right/25.nii.gz differ
diff --git a/resources/MNI_roi/right/26.nii.gz b/resources/MNI_roi/right/26.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..bef802aa0c70116670412d1553122cfdc9604e05
Binary files /dev/null and b/resources/MNI_roi/right/26.nii.gz differ
diff --git a/resources/MNI_roi/right/27.nii.gz b/resources/MNI_roi/right/27.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..2c0b5e5df7fe18cbbf6ba94c8a0f0d7b365f8de9
Binary files /dev/null and b/resources/MNI_roi/right/27.nii.gz differ
diff --git a/resources/MNI_roi/right/28.nii.gz b/resources/MNI_roi/right/28.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..a33419ae0fc983307f4b6dd32f656917847006d0
Binary files /dev/null and b/resources/MNI_roi/right/28.nii.gz differ
diff --git a/resources/MNI_roi/right/29.nii.gz b/resources/MNI_roi/right/29.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..8fbfc166977b8188e238df9891404331634e7806
Binary files /dev/null and b/resources/MNI_roi/right/29.nii.gz differ
diff --git a/resources/MNI_roi/right/3.nii.gz b/resources/MNI_roi/right/3.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..8c00febaad573ff8d9367d80e1a16dc3212f1711
Binary files /dev/null and b/resources/MNI_roi/right/3.nii.gz differ
diff --git a/resources/MNI_roi/right/30.nii.gz b/resources/MNI_roi/right/30.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..8f2d7930b5fa7efd114c3b0c46d850458ac26f6c
Binary files /dev/null and b/resources/MNI_roi/right/30.nii.gz differ
diff --git a/resources/MNI_roi/right/31.nii.gz b/resources/MNI_roi/right/31.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..f31f24bc270ae51c60ee11f43780fa2c2ab36ad0
Binary files /dev/null and b/resources/MNI_roi/right/31.nii.gz differ
diff --git a/resources/MNI_roi/right/32.nii.gz b/resources/MNI_roi/right/32.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..eb3be14b8618b545728e73fde853b879ed00b4f2
Binary files /dev/null and b/resources/MNI_roi/right/32.nii.gz differ
diff --git a/resources/MNI_roi/right/33.nii.gz b/resources/MNI_roi/right/33.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..6cdc7a7e9cc04ed4ef6fb6d385ae17eb32986a25
Binary files /dev/null and b/resources/MNI_roi/right/33.nii.gz differ
diff --git a/resources/MNI_roi/right/34.nii.gz b/resources/MNI_roi/right/34.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..efabd3c9ea15312ae449ab29abf83161df51c215
Binary files /dev/null and b/resources/MNI_roi/right/34.nii.gz differ
diff --git a/resources/MNI_roi/right/35.nii.gz b/resources/MNI_roi/right/35.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..0c7f3aabfe5ab096d94b4f83acf8f2ac3c1a8c87
Binary files /dev/null and b/resources/MNI_roi/right/35.nii.gz differ
diff --git a/resources/MNI_roi/right/36.nii.gz b/resources/MNI_roi/right/36.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..fd516c7c5170bc0de2e4ffcb9b4ebd4da2f5b566
Binary files /dev/null and b/resources/MNI_roi/right/36.nii.gz differ
diff --git a/resources/MNI_roi/right/37.nii.gz b/resources/MNI_roi/right/37.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..dc66062d8e9b16fc9c4a390ab2336eec68aa90fc
Binary files /dev/null and b/resources/MNI_roi/right/37.nii.gz differ
diff --git a/resources/MNI_roi/right/38.nii.gz b/resources/MNI_roi/right/38.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..2acbd62e2e27ad1c1ffc41d539c809ffdfe229b8
Binary files /dev/null and b/resources/MNI_roi/right/38.nii.gz differ
diff --git a/resources/MNI_roi/right/39.nii.gz b/resources/MNI_roi/right/39.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..d6ce8b473cd387a6177432b612dd8ee6e1a37c62
Binary files /dev/null and b/resources/MNI_roi/right/39.nii.gz differ
diff --git a/resources/MNI_roi/right/4.nii.gz b/resources/MNI_roi/right/4.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..b0c87d05fb72b0c7649f959e38957883af04d301
Binary files /dev/null and b/resources/MNI_roi/right/4.nii.gz differ
diff --git a/resources/MNI_roi/right/40.nii.gz b/resources/MNI_roi/right/40.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..7ecac3c9cf45f6527ca9ea5e0ff8471d1102c079
Binary files /dev/null and b/resources/MNI_roi/right/40.nii.gz differ
diff --git a/resources/MNI_roi/right/41.nii.gz b/resources/MNI_roi/right/41.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..076f3eb5ff1826b00601acfa86b65b17a0f71d30
Binary files /dev/null and b/resources/MNI_roi/right/41.nii.gz differ
diff --git a/resources/MNI_roi/right/42.nii.gz b/resources/MNI_roi/right/42.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..04230ee70f70e58cb5e81722f85aea6fd68b9719
Binary files /dev/null and b/resources/MNI_roi/right/42.nii.gz differ
diff --git a/resources/MNI_roi/right/43.nii.gz b/resources/MNI_roi/right/43.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..1f3952eaf529c516101bf48746ac50465d916680
Binary files /dev/null and b/resources/MNI_roi/right/43.nii.gz differ
diff --git a/resources/MNI_roi/right/44.nii.gz b/resources/MNI_roi/right/44.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..d43d58038a23c60bff69c88f3b2dd3eaec7a0961
Binary files /dev/null and b/resources/MNI_roi/right/44.nii.gz differ
diff --git a/resources/MNI_roi/right/45.nii.gz b/resources/MNI_roi/right/45.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..8b755c0e7ab8718d92cb29ccbc6e3924b50fd29c
Binary files /dev/null and b/resources/MNI_roi/right/45.nii.gz differ
diff --git a/resources/MNI_roi/right/46.nii.gz b/resources/MNI_roi/right/46.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..24bd8ae4f66f1929d6986a3c0768d3052955c3c0
Binary files /dev/null and b/resources/MNI_roi/right/46.nii.gz differ
diff --git a/resources/MNI_roi/right/47.nii.gz b/resources/MNI_roi/right/47.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..739957a4d5c4c21cb0fa7d7e4178ba23debd60a2
Binary files /dev/null and b/resources/MNI_roi/right/47.nii.gz differ
diff --git a/resources/MNI_roi/right/48.nii.gz b/resources/MNI_roi/right/48.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..ea3bfd2e4b1f719bff3a4fca33540902a988b665
Binary files /dev/null and b/resources/MNI_roi/right/48.nii.gz differ
diff --git a/resources/MNI_roi/right/49.nii.gz b/resources/MNI_roi/right/49.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..b490cb91478f56b2b721486178051557ce8c0fcf
Binary files /dev/null and b/resources/MNI_roi/right/49.nii.gz differ
diff --git a/resources/MNI_roi/right/5.nii.gz b/resources/MNI_roi/right/5.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..0b5e8545e9bcaf86732cccac99e06c759ffc5a06
Binary files /dev/null and b/resources/MNI_roi/right/5.nii.gz differ
diff --git a/resources/MNI_roi/right/50.nii.gz b/resources/MNI_roi/right/50.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..72dababc46c4b750fca77b9813dece30ef955e45
Binary files /dev/null and b/resources/MNI_roi/right/50.nii.gz differ
diff --git a/resources/MNI_roi/right/51.nii.gz b/resources/MNI_roi/right/51.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..baf36b600e19475130e722b005d5b7678d34c71a
Binary files /dev/null and b/resources/MNI_roi/right/51.nii.gz differ
diff --git a/resources/MNI_roi/right/52.nii.gz b/resources/MNI_roi/right/52.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..3b4665244dcb62b695b911dad9f0ec9874760e07
Binary files /dev/null and b/resources/MNI_roi/right/52.nii.gz differ
diff --git a/resources/MNI_roi/right/53.nii.gz b/resources/MNI_roi/right/53.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..8c8df0f8df9153558dff51c89ee29b195c1f840a
Binary files /dev/null and b/resources/MNI_roi/right/53.nii.gz differ
diff --git a/resources/MNI_roi/right/54.nii.gz b/resources/MNI_roi/right/54.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..533d649c9d4c8410ad2b6ab3144a13b99672ff7f
Binary files /dev/null and b/resources/MNI_roi/right/54.nii.gz differ
diff --git a/resources/MNI_roi/right/55.nii.gz b/resources/MNI_roi/right/55.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..6e767ec8b8898f8289e8d040385158f62d788d34
Binary files /dev/null and b/resources/MNI_roi/right/55.nii.gz differ
diff --git a/resources/MNI_roi/right/56.nii.gz b/resources/MNI_roi/right/56.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..a4c940324f4ef0d3ecb13d80550e72842dd6ca6c
Binary files /dev/null and b/resources/MNI_roi/right/56.nii.gz differ
diff --git a/resources/MNI_roi/right/57.nii.gz b/resources/MNI_roi/right/57.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..94b7fd103ad3f2fd9215af2029794d1c0b2139e0
Binary files /dev/null and b/resources/MNI_roi/right/57.nii.gz differ
diff --git a/resources/MNI_roi/right/58.nii.gz b/resources/MNI_roi/right/58.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..02395a0d384177f5d701bb7051edbd0a335bb4ac
Binary files /dev/null and b/resources/MNI_roi/right/58.nii.gz differ
diff --git a/resources/MNI_roi/right/59.nii.gz b/resources/MNI_roi/right/59.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..c1e8dffb35c9f76bf3dac62cc6ff833341d6cf8d
Binary files /dev/null and b/resources/MNI_roi/right/59.nii.gz differ
diff --git a/resources/MNI_roi/right/6.nii.gz b/resources/MNI_roi/right/6.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..725eca0d13e3e99a7322a257f7cbdf8d72489d67
Binary files /dev/null and b/resources/MNI_roi/right/6.nii.gz differ
diff --git a/resources/MNI_roi/right/60.nii.gz b/resources/MNI_roi/right/60.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..94426963a63f08d9c4ddda7e9e8bf9d7072db3b6
Binary files /dev/null and b/resources/MNI_roi/right/60.nii.gz differ
diff --git a/resources/MNI_roi/right/61.nii.gz b/resources/MNI_roi/right/61.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..cdeb9477f4eb82d99813b77c46b9db60a0d5b1d7
Binary files /dev/null and b/resources/MNI_roi/right/61.nii.gz differ
diff --git a/resources/MNI_roi/right/62.nii.gz b/resources/MNI_roi/right/62.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..5ec83ebf58d8fef7586655e4ed87c1c63d663da4
Binary files /dev/null and b/resources/MNI_roi/right/62.nii.gz differ
diff --git a/resources/MNI_roi/right/63.nii.gz b/resources/MNI_roi/right/63.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..2e0d09b80a38b3d74c25fe608edad6095c2b2d23
Binary files /dev/null and b/resources/MNI_roi/right/63.nii.gz differ
diff --git a/resources/MNI_roi/right/64.nii.gz b/resources/MNI_roi/right/64.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..0cc324228961cd26e69de356451ec59a03a9c589
Binary files /dev/null and b/resources/MNI_roi/right/64.nii.gz differ
diff --git a/resources/MNI_roi/right/65.nii.gz b/resources/MNI_roi/right/65.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..95e1aaebdfe1707ed40b16fa6dd5815c8003a951
Binary files /dev/null and b/resources/MNI_roi/right/65.nii.gz differ
diff --git a/resources/MNI_roi/right/66.nii.gz b/resources/MNI_roi/right/66.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..83a7f61ecf71e0cccced916183172228e9927728
Binary files /dev/null and b/resources/MNI_roi/right/66.nii.gz differ
diff --git a/resources/MNI_roi/right/67.nii.gz b/resources/MNI_roi/right/67.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..cd3b475be33a83e17917e9f812ffd96fbd0e4e93
Binary files /dev/null and b/resources/MNI_roi/right/67.nii.gz differ
diff --git a/resources/MNI_roi/right/68.nii.gz b/resources/MNI_roi/right/68.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..24f21b7d21211e55af4e8385264708640ba47fdd
Binary files /dev/null and b/resources/MNI_roi/right/68.nii.gz differ
diff --git a/resources/MNI_roi/right/69.nii.gz b/resources/MNI_roi/right/69.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..f57cbb03fbfbeaca3726e3dea63a8c0fcb95efca
Binary files /dev/null and b/resources/MNI_roi/right/69.nii.gz differ
diff --git a/resources/MNI_roi/right/7.nii.gz b/resources/MNI_roi/right/7.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..85c4b429ae77280583f41e52145359a6faf89fa3
Binary files /dev/null and b/resources/MNI_roi/right/7.nii.gz differ
diff --git a/resources/MNI_roi/right/70.nii.gz b/resources/MNI_roi/right/70.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..23579d8ed13c01b52044db3106bf2098be33ee55
Binary files /dev/null and b/resources/MNI_roi/right/70.nii.gz differ
diff --git a/resources/MNI_roi/right/71.nii.gz b/resources/MNI_roi/right/71.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..7d5e6552524e4adeb7e5c44ea9dc821e62ec2638
Binary files /dev/null and b/resources/MNI_roi/right/71.nii.gz differ
diff --git a/resources/MNI_roi/right/72.nii.gz b/resources/MNI_roi/right/72.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..83f567f29a98aaf22f95bd8b2cc4917539c479b3
Binary files /dev/null and b/resources/MNI_roi/right/72.nii.gz differ
diff --git a/resources/MNI_roi/right/73.nii.gz b/resources/MNI_roi/right/73.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..4d48fd5929da1366b22fea2315813d207acbe698
Binary files /dev/null and b/resources/MNI_roi/right/73.nii.gz differ
diff --git a/resources/MNI_roi/right/74.nii.gz b/resources/MNI_roi/right/74.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..113ec333dbf1aa712a2f955f0f743863796bd7eb
Binary files /dev/null and b/resources/MNI_roi/right/74.nii.gz differ
diff --git a/resources/MNI_roi/right/75.nii.gz b/resources/MNI_roi/right/75.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..31e8bcc10ea669cd3086da034f24d8fd41a6c795
Binary files /dev/null and b/resources/MNI_roi/right/75.nii.gz differ
diff --git a/resources/MNI_roi/right/8.nii.gz b/resources/MNI_roi/right/8.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..8db65bb32f48ef3845bf4e7aed71a6ef828c4628
Binary files /dev/null and b/resources/MNI_roi/right/8.nii.gz differ
diff --git a/resources/MNI_roi/right/9.nii.gz b/resources/MNI_roi/right/9.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..5628f4f6a529e879f881f5407d2478e3a9059c53
Binary files /dev/null and b/resources/MNI_roi/right/9.nii.gz differ
diff --git a/resources/MNI_roi/right/SCPCT.nii.gz b/resources/MNI_roi/right/SCPCT.nii.gz
new file mode 100755
index 0000000000000000000000000000000000000000..81140f3f08f5dccecc2f11924a992de3f0bb1ec3
Binary files /dev/null and b/resources/MNI_roi/right/SCPCT.nii.gz differ
diff --git a/resources/MNI_roi/right/ar_mask1.nii.gz b/resources/MNI_roi/right/ar_mask1.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..747925c07889248577da6485e6b5a0f2d046d4f0
Binary files /dev/null and b/resources/MNI_roi/right/ar_mask1.nii.gz differ
diff --git a/resources/MNI_roi/right/ar_mask2.nii.gz b/resources/MNI_roi/right/ar_mask2.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..b66df43b56593dfdaa6fed2cb9f7dcce4369f510
Binary files /dev/null and b/resources/MNI_roi/right/ar_mask2.nii.gz differ
diff --git a/resources/MNI_roi/right/ar_mask3.nii.gz b/resources/MNI_roi/right/ar_mask3.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..7470af279a2fe0fe3210dfbf596fb0003268a3cd
Binary files /dev/null and b/resources/MNI_roi/right/ar_mask3.nii.gz differ
diff --git a/resources/MNI_roi/right/ar_mask4.nii.gz b/resources/MNI_roi/right/ar_mask4.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..04122b5d2a9bb36b69029908d97b2af9febfc5de
Binary files /dev/null and b/resources/MNI_roi/right/ar_mask4.nii.gz differ
diff --git a/resources/MNI_roi/right/ar_mask5.nii.gz b/resources/MNI_roi/right/ar_mask5.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..a3f17ee57c7dfd9bfb43d877ead72f87a6fe8b3b
Binary files /dev/null and b/resources/MNI_roi/right/ar_mask5.nii.gz differ
diff --git a/resources/MNI_roi/right/ar_mask6.nii.gz b/resources/MNI_roi/right/ar_mask6.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..0332dea3afe9f8527e9b2f86a8ce01d1fd68cec5
Binary files /dev/null and b/resources/MNI_roi/right/ar_mask6.nii.gz differ
diff --git a/resources/MNI_roi/right/ar_mask7.nii.gz b/resources/MNI_roi/right/ar_mask7.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..61b8933c60e7963948ae7176e14958f12608cdd4
Binary files /dev/null and b/resources/MNI_roi/right/ar_mask7.nii.gz differ
diff --git a/resources/MNI_roi/right/ar_mask8.nii.gz b/resources/MNI_roi/right/ar_mask8.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..04d686d7e671bdca20c93d6389e0be4be8840511
Binary files /dev/null and b/resources/MNI_roi/right/ar_mask8.nii.gz differ
diff --git a/resources/MNI_roi/right/atr_mask1.nii.gz b/resources/MNI_roi/right/atr_mask1.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..398b22445aa25177e27c34af0cde5430cf7d0449
Binary files /dev/null and b/resources/MNI_roi/right/atr_mask1.nii.gz differ
diff --git a/resources/MNI_roi/right/atr_mask2.nii.gz b/resources/MNI_roi/right/atr_mask2.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..9d9e6bdb7ab5b6575ea125d49ee2321d850c6333
Binary files /dev/null and b/resources/MNI_roi/right/atr_mask2.nii.gz differ
diff --git a/resources/MNI_roi/right/atr_mask3.nii.gz b/resources/MNI_roi/right/atr_mask3.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..a6156999cc7867289097e4aa2a631e0d7af7f985
Binary files /dev/null and b/resources/MNI_roi/right/atr_mask3.nii.gz differ
diff --git a/resources/MNI_roi/right/atr_mask4.nii.gz b/resources/MNI_roi/right/atr_mask4.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..f9a1cf400efe57e30752389c11e97d6f92a46cbb
Binary files /dev/null and b/resources/MNI_roi/right/atr_mask4.nii.gz differ
diff --git a/resources/MNI_roi/right/atr_mask5.nii.gz b/resources/MNI_roi/right/atr_mask5.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..57e30eca129a0356424a46f288cb9ad0346eb678
Binary files /dev/null and b/resources/MNI_roi/right/atr_mask5.nii.gz differ
diff --git a/resources/MNI_roi/right/atr_mask6.nii.gz b/resources/MNI_roi/right/atr_mask6.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..0cd35577ea55c0445b67d2636f010255985e6c76
Binary files /dev/null and b/resources/MNI_roi/right/atr_mask6.nii.gz differ
diff --git a/resources/MNI_roi/right/atr_mask7.nii.gz b/resources/MNI_roi/right/atr_mask7.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..ba80e6d4120ed47687d781aa0e9d48539cb32810
Binary files /dev/null and b/resources/MNI_roi/right/atr_mask7.nii.gz differ
diff --git a/resources/MNI_roi/right/atr_mask8.nii.gz b/resources/MNI_roi/right/atr_mask8.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..bd235960263cd77691eb573fec10481c0eb43971
Binary files /dev/null and b/resources/MNI_roi/right/atr_mask8.nii.gz differ
diff --git a/resources/MNI_roi/right/cerebellum.nii.gz b/resources/MNI_roi/right/cerebellum.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..13356916ed2c57c8388cfee65bf51c5f80cc1684
Binary files /dev/null and b/resources/MNI_roi/right/cerebellum.nii.gz differ
diff --git a/resources/MNI_roi/right/cerebellum_target.nii.gz b/resources/MNI_roi/right/cerebellum_target.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..29b3defe05272e2e779ff2bdc5192f5d0dcc6a59
Binary files /dev/null and b/resources/MNI_roi/right/cerebellum_target.nii.gz differ
diff --git a/resources/MNI_roi/right/cortex.nii.gz b/resources/MNI_roi/right/cortex.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..b975c2b286d52f40c123f8357e6ea1e5da872e65
Binary files /dev/null and b/resources/MNI_roi/right/cortex.nii.gz differ
diff --git a/resources/MNI_roi/right/exclusion.nii.gz b/resources/MNI_roi/right/exclusion.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..29fe59f40033885c93886e6fa8d7d37ca479dbb4
Binary files /dev/null and b/resources/MNI_roi/right/exclusion.nii.gz differ
diff --git a/resources/MNI_roi/right/fx_mask1.nii.gz b/resources/MNI_roi/right/fx_mask1.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..dd9dc97bd46cb910800cdd95eedd3fda22c98d9c
Binary files /dev/null and b/resources/MNI_roi/right/fx_mask1.nii.gz differ
diff --git a/resources/MNI_roi/right/fx_mask10.nii.gz b/resources/MNI_roi/right/fx_mask10.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..4e15de0d8d5ebefd0c0f57e88ccc95f0a90ffa3d
Binary files /dev/null and b/resources/MNI_roi/right/fx_mask10.nii.gz differ
diff --git a/resources/MNI_roi/right/fx_mask2.nii.gz b/resources/MNI_roi/right/fx_mask2.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..ca29773b925d654d36ca7e89b177243966d3c4c3
Binary files /dev/null and b/resources/MNI_roi/right/fx_mask2.nii.gz differ
diff --git a/resources/MNI_roi/right/fx_mask3.nii.gz b/resources/MNI_roi/right/fx_mask3.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..0b160fb1073464fb6deaecf5016f4b329c52cde6
Binary files /dev/null and b/resources/MNI_roi/right/fx_mask3.nii.gz differ
diff --git a/resources/MNI_roi/right/fx_mask4.nii.gz b/resources/MNI_roi/right/fx_mask4.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..3ee39784365266cc973038df8c5de9acfc8a8b41
Binary files /dev/null and b/resources/MNI_roi/right/fx_mask4.nii.gz differ
diff --git a/resources/MNI_roi/right/fx_mask5.nii.gz b/resources/MNI_roi/right/fx_mask5.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..59feeb81d9290e4c5d3750ae439f0d24f9813aee
Binary files /dev/null and b/resources/MNI_roi/right/fx_mask5.nii.gz differ
diff --git a/resources/MNI_roi/right/fx_mask6.nii.gz b/resources/MNI_roi/right/fx_mask6.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..2e91c5d88f83af22a13d1d7c131d7233f290787e
Binary files /dev/null and b/resources/MNI_roi/right/fx_mask6.nii.gz differ
diff --git a/resources/MNI_roi/right/fx_mask7.nii.gz b/resources/MNI_roi/right/fx_mask7.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..05e9cf96bbbd23550580a0ee7712545d60f3e827
Binary files /dev/null and b/resources/MNI_roi/right/fx_mask7.nii.gz differ
diff --git a/resources/MNI_roi/right/fx_mask8.nii.gz b/resources/MNI_roi/right/fx_mask8.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..b78857f82df418672f30795d2765f42348f57307
Binary files /dev/null and b/resources/MNI_roi/right/fx_mask8.nii.gz differ
diff --git a/resources/MNI_roi/right/fx_mask9.nii.gz b/resources/MNI_roi/right/fx_mask9.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..fde14a9c4471aa1bfd3480bc05d0bab148e691e4
Binary files /dev/null and b/resources/MNI_roi/right/fx_mask9.nii.gz differ
diff --git a/resources/MNI_roi/right/or_mask1.nii.gz b/resources/MNI_roi/right/or_mask1.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..9bd9ea2e158d7b1cdd04a9fabfab8b8de5bcd4b4
Binary files /dev/null and b/resources/MNI_roi/right/or_mask1.nii.gz differ
diff --git a/resources/MNI_roi/right/or_mask10.nii.gz b/resources/MNI_roi/right/or_mask10.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..07fc6121f26f6c30391d1129f93c71194a02f542
Binary files /dev/null and b/resources/MNI_roi/right/or_mask10.nii.gz differ
diff --git a/resources/MNI_roi/right/or_mask2.nii.gz b/resources/MNI_roi/right/or_mask2.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..4c512a793ebd705b0a68e2d9dd5650d0b6e19019
Binary files /dev/null and b/resources/MNI_roi/right/or_mask2.nii.gz differ
diff --git a/resources/MNI_roi/right/or_mask3.nii.gz b/resources/MNI_roi/right/or_mask3.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..8d697d39105005d81d845d11ab688a858f427263
Binary files /dev/null and b/resources/MNI_roi/right/or_mask3.nii.gz differ
diff --git a/resources/MNI_roi/right/or_mask4.nii.gz b/resources/MNI_roi/right/or_mask4.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..bb8fe9a6f24836fe8eeb610837ac2eb10064a311
Binary files /dev/null and b/resources/MNI_roi/right/or_mask4.nii.gz differ
diff --git a/resources/MNI_roi/right/or_mask5.nii.gz b/resources/MNI_roi/right/or_mask5.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..0efdedbfc82dc969b012152a706395b4ccaa9667
Binary files /dev/null and b/resources/MNI_roi/right/or_mask5.nii.gz differ
diff --git a/resources/MNI_roi/right/or_mask6.nii.gz b/resources/MNI_roi/right/or_mask6.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..17c7f48269f5d3436083acc2d9f322aef92bc782
Binary files /dev/null and b/resources/MNI_roi/right/or_mask6.nii.gz differ
diff --git a/resources/MNI_roi/right/or_mask7.nii.gz b/resources/MNI_roi/right/or_mask7.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..56b55fb57a2e28cb4aefc8d7c0faddeffcad5cc5
Binary files /dev/null and b/resources/MNI_roi/right/or_mask7.nii.gz differ
diff --git a/resources/MNI_roi/right/or_mask8.nii.gz b/resources/MNI_roi/right/or_mask8.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..64646d49945eb213d062e384df8abf6d0141cfd7
Binary files /dev/null and b/resources/MNI_roi/right/or_mask8.nii.gz differ
diff --git a/resources/MNI_roi/right/or_mask9.nii.gz b/resources/MNI_roi/right/or_mask9.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..c170841aea11af1988747c46bd6bc8b63d90ebc3
Binary files /dev/null and b/resources/MNI_roi/right/or_mask9.nii.gz differ
diff --git a/resources/MNI_roi/right/scpct_mask1.nii.gz b/resources/MNI_roi/right/scpct_mask1.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..bdb451e7f39935b73b03ae8e15d4a01c985f1cc7
Binary files /dev/null and b/resources/MNI_roi/right/scpct_mask1.nii.gz differ
diff --git a/resources/MNI_roi/right/scpct_mask10.nii.gz b/resources/MNI_roi/right/scpct_mask10.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..f53e3c88104a3afef87506af4dae7ac1b0c34a61
Binary files /dev/null and b/resources/MNI_roi/right/scpct_mask10.nii.gz differ
diff --git a/resources/MNI_roi/right/scpct_mask11.nii.gz b/resources/MNI_roi/right/scpct_mask11.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..4ca7cd5414d56a8e5d6978da72a0c00ab2e58258
Binary files /dev/null and b/resources/MNI_roi/right/scpct_mask11.nii.gz differ
diff --git a/resources/MNI_roi/right/scpct_mask12.nii.gz b/resources/MNI_roi/right/scpct_mask12.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..a7b8cfa8302169b85701460124f727da4c4598fd
Binary files /dev/null and b/resources/MNI_roi/right/scpct_mask12.nii.gz differ
diff --git a/resources/MNI_roi/right/scpct_mask13.nii.gz b/resources/MNI_roi/right/scpct_mask13.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..a8ed697884156d34cd66b57b34148f8b668b6c3f
Binary files /dev/null and b/resources/MNI_roi/right/scpct_mask13.nii.gz differ
diff --git a/resources/MNI_roi/right/scpct_mask14.nii.gz b/resources/MNI_roi/right/scpct_mask14.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..8a6460264e8f30e6249a7c8bfda9960f7fb04e6f
Binary files /dev/null and b/resources/MNI_roi/right/scpct_mask14.nii.gz differ
diff --git a/resources/MNI_roi/right/scpct_mask15.nii.gz b/resources/MNI_roi/right/scpct_mask15.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..ff20d28d323b43d4e271d507640a4cd072e77dd0
Binary files /dev/null and b/resources/MNI_roi/right/scpct_mask15.nii.gz differ
diff --git a/resources/MNI_roi/right/scpct_mask2.nii.gz b/resources/MNI_roi/right/scpct_mask2.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..339c1ff9f95b24bb4a11851d99b5400d5f8b5264
Binary files /dev/null and b/resources/MNI_roi/right/scpct_mask2.nii.gz differ
diff --git a/resources/MNI_roi/right/scpct_mask3.nii.gz b/resources/MNI_roi/right/scpct_mask3.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..08066c37eaaf9c7a455ee806eccfd8a2450a9db2
Binary files /dev/null and b/resources/MNI_roi/right/scpct_mask3.nii.gz differ
diff --git a/resources/MNI_roi/right/scpct_mask4.nii.gz b/resources/MNI_roi/right/scpct_mask4.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..94475bd1e9355cf29f5a5b9a67edc0ff41a9e988
Binary files /dev/null and b/resources/MNI_roi/right/scpct_mask4.nii.gz differ
diff --git a/resources/MNI_roi/right/scpct_mask5.nii.gz b/resources/MNI_roi/right/scpct_mask5.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..22fb1dbccd2766d4d6e5d197a66d6345f8dd9fe3
Binary files /dev/null and b/resources/MNI_roi/right/scpct_mask5.nii.gz differ
diff --git a/resources/MNI_roi/right/scpct_mask6.nii.gz b/resources/MNI_roi/right/scpct_mask6.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..7e95679836d47949156e6a4d80d06050edbb2c51
Binary files /dev/null and b/resources/MNI_roi/right/scpct_mask6.nii.gz differ
diff --git a/resources/MNI_roi/right/scpct_mask7.nii.gz b/resources/MNI_roi/right/scpct_mask7.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..1a6b3fe334b865087687e41ecaf5ac25b6fc9e81
Binary files /dev/null and b/resources/MNI_roi/right/scpct_mask7.nii.gz differ
diff --git a/resources/MNI_roi/right/scpct_mask8.nii.gz b/resources/MNI_roi/right/scpct_mask8.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..71ce601d1a5bc9e28bbbe31dee3e35424829ee23
Binary files /dev/null and b/resources/MNI_roi/right/scpct_mask8.nii.gz differ
diff --git a/resources/MNI_roi/right/scpct_mask9.nii.gz b/resources/MNI_roi/right/scpct_mask9.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..81c2a4d0060b678ea1b847ce463d8baa5727fa05
Binary files /dev/null and b/resources/MNI_roi/right/scpct_mask9.nii.gz differ
diff --git a/resources/MNI_roi/right/str_mask1.nii.gz b/resources/MNI_roi/right/str_mask1.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..25d2a006d8d3ad9e427d0846a0554eded4c2451b
Binary files /dev/null and b/resources/MNI_roi/right/str_mask1.nii.gz differ
diff --git a/resources/MNI_roi/right/str_mask10.nii.gz b/resources/MNI_roi/right/str_mask10.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..1909f99d8dfee27a44144182bb4ba3ef83d169cd
Binary files /dev/null and b/resources/MNI_roi/right/str_mask10.nii.gz differ
diff --git a/resources/MNI_roi/right/str_mask2.nii.gz b/resources/MNI_roi/right/str_mask2.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..9b5b1a0f71f6e74ba3ec3a87805bd80a1b78942b
Binary files /dev/null and b/resources/MNI_roi/right/str_mask2.nii.gz differ
diff --git a/resources/MNI_roi/right/str_mask3.nii.gz b/resources/MNI_roi/right/str_mask3.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..2b944c6692beac8865f26b73df3b6eb14423419e
Binary files /dev/null and b/resources/MNI_roi/right/str_mask3.nii.gz differ
diff --git a/resources/MNI_roi/right/str_mask4.nii.gz b/resources/MNI_roi/right/str_mask4.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..e4397b46f420e79dd21323e31b8bad9e11d73718
Binary files /dev/null and b/resources/MNI_roi/right/str_mask4.nii.gz differ
diff --git a/resources/MNI_roi/right/str_mask5.nii.gz b/resources/MNI_roi/right/str_mask5.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..b155423d9c519e27618d95d716b2038038947014
Binary files /dev/null and b/resources/MNI_roi/right/str_mask5.nii.gz differ
diff --git a/resources/MNI_roi/right/str_mask6.nii.gz b/resources/MNI_roi/right/str_mask6.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..26d304e6805906e1010e984294958944e09f4bd7
Binary files /dev/null and b/resources/MNI_roi/right/str_mask6.nii.gz differ
diff --git a/resources/MNI_roi/right/str_mask7.nii.gz b/resources/MNI_roi/right/str_mask7.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..d1cb301344db0c09fd26ff91a9cdf03d2a0ad080
Binary files /dev/null and b/resources/MNI_roi/right/str_mask7.nii.gz differ
diff --git a/resources/MNI_roi/right/str_mask8.nii.gz b/resources/MNI_roi/right/str_mask8.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..fe71cce41eb0109290f486b620c4f90f1180192b
Binary files /dev/null and b/resources/MNI_roi/right/str_mask8.nii.gz differ
diff --git a/resources/MNI_roi/right/str_mask9.nii.gz b/resources/MNI_roi/right/str_mask9.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..189d76b2295ce32b9426b98b5fa69da3e4047dea
Binary files /dev/null and b/resources/MNI_roi/right/str_mask9.nii.gz differ
diff --git a/resources/MNI_roi/right/tha.nii.gz b/resources/MNI_roi/right/tha.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..98a950efb93f6f4b08a1fa0302433cee41aa99c2
Binary files /dev/null and b/resources/MNI_roi/right/tha.nii.gz differ
diff --git a/resources/MNI_roi/right/to_postcentral_mask1.nii.gz b/resources/MNI_roi/right/to_postcentral_mask1.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..a07f97d38a4e2c9f32e0d6eafac05e8b4927c7a6
Binary files /dev/null and b/resources/MNI_roi/right/to_postcentral_mask1.nii.gz differ
diff --git a/resources/MNI_roi/right/to_postcentral_mask10.nii.gz b/resources/MNI_roi/right/to_postcentral_mask10.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..b2a2abfbb4b001df1dd32244c3ef180dc11b89e7
Binary files /dev/null and b/resources/MNI_roi/right/to_postcentral_mask10.nii.gz differ
diff --git a/resources/MNI_roi/right/to_postcentral_mask11.nii.gz b/resources/MNI_roi/right/to_postcentral_mask11.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..605eb8bc2e6caedbbc9e492534b0356ff178abff
Binary files /dev/null and b/resources/MNI_roi/right/to_postcentral_mask11.nii.gz differ
diff --git a/resources/MNI_roi/right/to_postcentral_mask12.nii.gz b/resources/MNI_roi/right/to_postcentral_mask12.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..3ecfd834bce04205235c0bc51f817f3c53c39eae
Binary files /dev/null and b/resources/MNI_roi/right/to_postcentral_mask12.nii.gz differ
diff --git a/resources/MNI_roi/right/to_postcentral_mask2.nii.gz b/resources/MNI_roi/right/to_postcentral_mask2.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..db6f8b3e6384153c795fde86ad37bb0d48db138c
Binary files /dev/null and b/resources/MNI_roi/right/to_postcentral_mask2.nii.gz differ
diff --git a/resources/MNI_roi/right/to_postcentral_mask3.nii.gz b/resources/MNI_roi/right/to_postcentral_mask3.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..2e37fba7cfefbe6fdb79565418c2d2a14cc99a9e
Binary files /dev/null and b/resources/MNI_roi/right/to_postcentral_mask3.nii.gz differ
diff --git a/resources/MNI_roi/right/to_postcentral_mask4.nii.gz b/resources/MNI_roi/right/to_postcentral_mask4.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..4a2d36aad9b8718deceb3166fc4a09b30d591643
Binary files /dev/null and b/resources/MNI_roi/right/to_postcentral_mask4.nii.gz differ
diff --git a/resources/MNI_roi/right/to_postcentral_mask5.nii.gz b/resources/MNI_roi/right/to_postcentral_mask5.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..21f2f34302be441df4dd34d6139e62844323067e
Binary files /dev/null and b/resources/MNI_roi/right/to_postcentral_mask5.nii.gz differ
diff --git a/resources/MNI_roi/right/to_postcentral_mask6.nii.gz b/resources/MNI_roi/right/to_postcentral_mask6.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..d91838c96f5182690f3ac5105cb90a04083d1f1b
Binary files /dev/null and b/resources/MNI_roi/right/to_postcentral_mask6.nii.gz differ
diff --git a/resources/MNI_roi/right/to_postcentral_mask7.nii.gz b/resources/MNI_roi/right/to_postcentral_mask7.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..a37940177f0aed97654f44f2120aa18cb75766a4
Binary files /dev/null and b/resources/MNI_roi/right/to_postcentral_mask7.nii.gz differ
diff --git a/resources/MNI_roi/right/to_postcentral_mask8.nii.gz b/resources/MNI_roi/right/to_postcentral_mask8.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..5455dc38b79e9e40db47a79b3c72fdad3ac93fec
Binary files /dev/null and b/resources/MNI_roi/right/to_postcentral_mask8.nii.gz differ
diff --git a/resources/MNI_roi/right/to_postcentral_mask9.nii.gz b/resources/MNI_roi/right/to_postcentral_mask9.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..efb91bd6ed3bef29d23a169dd65df48c73e8b154
Binary files /dev/null and b/resources/MNI_roi/right/to_postcentral_mask9.nii.gz differ
diff --git a/resources/MNI_roi/right/to_precentral_mask1.nii.gz b/resources/MNI_roi/right/to_precentral_mask1.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..358458d336ce63e72ed99d360cc2441ff392d89b
Binary files /dev/null and b/resources/MNI_roi/right/to_precentral_mask1.nii.gz differ
diff --git a/resources/MNI_roi/right/to_precentral_mask10.nii.gz b/resources/MNI_roi/right/to_precentral_mask10.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..aa2ec9ceabb2316138f049a6fa083d3f718123f7
Binary files /dev/null and b/resources/MNI_roi/right/to_precentral_mask10.nii.gz differ
diff --git a/resources/MNI_roi/right/to_precentral_mask11.nii.gz b/resources/MNI_roi/right/to_precentral_mask11.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..56f3fbb42632562a5091e9f3ecc3310cba40e353
Binary files /dev/null and b/resources/MNI_roi/right/to_precentral_mask11.nii.gz differ
diff --git a/resources/MNI_roi/right/to_precentral_mask12.nii.gz b/resources/MNI_roi/right/to_precentral_mask12.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..31a0d8b667537abe2d62f83d8719c1f044c05a99
Binary files /dev/null and b/resources/MNI_roi/right/to_precentral_mask12.nii.gz differ
diff --git a/resources/MNI_roi/right/to_precentral_mask2.nii.gz b/resources/MNI_roi/right/to_precentral_mask2.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..2b9a6155c12d57f5440223edd54e651bc6269f34
Binary files /dev/null and b/resources/MNI_roi/right/to_precentral_mask2.nii.gz differ
diff --git a/resources/MNI_roi/right/to_precentral_mask3.nii.gz b/resources/MNI_roi/right/to_precentral_mask3.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..98e51b3138be6b873ade34b2f788bb4b2b9107ca
Binary files /dev/null and b/resources/MNI_roi/right/to_precentral_mask3.nii.gz differ
diff --git a/resources/MNI_roi/right/to_precentral_mask4.nii.gz b/resources/MNI_roi/right/to_precentral_mask4.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..b7ce77d98fa24649a729396a4834a8341586dee6
Binary files /dev/null and b/resources/MNI_roi/right/to_precentral_mask4.nii.gz differ
diff --git a/resources/MNI_roi/right/to_precentral_mask5.nii.gz b/resources/MNI_roi/right/to_precentral_mask5.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..2a709d179be98f4fa5f9efb900a88af4305c84ca
Binary files /dev/null and b/resources/MNI_roi/right/to_precentral_mask5.nii.gz differ
diff --git a/resources/MNI_roi/right/to_precentral_mask6.nii.gz b/resources/MNI_roi/right/to_precentral_mask6.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..f6597a35efdaeb99365b81d6e3ead564f81cd3a8
Binary files /dev/null and b/resources/MNI_roi/right/to_precentral_mask6.nii.gz differ
diff --git a/resources/MNI_roi/right/to_precentral_mask7.nii.gz b/resources/MNI_roi/right/to_precentral_mask7.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..27c08236e9c733699147f6e194ceebcf9e6342ab
Binary files /dev/null and b/resources/MNI_roi/right/to_precentral_mask7.nii.gz differ
diff --git a/resources/MNI_roi/right/to_precentral_mask8.nii.gz b/resources/MNI_roi/right/to_precentral_mask8.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..fe7d230c65f9b7dcb30c2cd47852454d7a4f74c2
Binary files /dev/null and b/resources/MNI_roi/right/to_precentral_mask8.nii.gz differ
diff --git a/resources/MNI_roi/right/to_precentral_mask9.nii.gz b/resources/MNI_roi/right/to_precentral_mask9.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..5563fa76fbfa1d7da52863ff6d1e0a5af7bb7c76
Binary files /dev/null and b/resources/MNI_roi/right/to_precentral_mask9.nii.gz differ
diff --git a/resources/MNI_roi/right/vim.nii.gz b/resources/MNI_roi/right/vim.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..efad6ba0bc971c2db605a8b5cd76b89e96b50b58
Binary files /dev/null and b/resources/MNI_roi/right/vim.nii.gz differ
diff --git a/resources/data/vim_default_target_list.txt b/resources/data/vim_default_target_list.txt
new file mode 100644
index 0000000000000000000000000000000000000000..575f2054219dcd350f2ad6d8602ccccf35ca767e
--- /dev/null
+++ b/resources/data/vim_default_target_list.txt
@@ -0,0 +1,113 @@
+seeds_to_11101.nii.gz
+seeds_to_11102.nii.gz
+seeds_to_11103.nii.gz
+seeds_to_11104.nii.gz
+seeds_to_11105.nii.gz
+seeds_to_11106.nii.gz
+seeds_to_11107.nii.gz
+seeds_to_11108.nii.gz
+seeds_to_11109.nii.gz
+seeds_to_11110.nii.gz
+seeds_to_11111.nii.gz
+seeds_to_11112.nii.gz
+seeds_to_11113.nii.gz
+seeds_to_11114.nii.gz
+seeds_to_11115.nii.gz
+seeds_to_11116.nii.gz
+seeds_to_11117.nii.gz
+seeds_to_11118.nii.gz
+seeds_to_11119.nii.gz
+seeds_to_11120.nii.gz
+seeds_to_11121.nii.gz
+seeds_to_11122.nii.gz
+seeds_to_11123.nii.gz
+seeds_to_11124.nii.gz
+seeds_to_11125.nii.gz
+seeds_to_11126.nii.gz
+seeds_to_11127.nii.gz
+seeds_to_11128.nii.gz
+seeds_to_11129.nii.gz
+seeds_to_11130.nii.gz
+seeds_to_11131.nii.gz
+seeds_to_11132.nii.gz
+seeds_to_11133.nii.gz
+seeds_to_11134.nii.gz
+seeds_to_11135.nii.gz
+seeds_to_11136.nii.gz
+seeds_to_11137.nii.gz
+seeds_to_11138.nii.gz
+seeds_to_11139.nii.gz
+seeds_to_11140.nii.gz
+seeds_to_11141.nii.gz
+seeds_to_11142.nii.gz
+seeds_to_11143.nii.gz
+seeds_to_11144.nii.gz
+seeds_to_11145.nii.gz
+seeds_to_11146.nii.gz
+seeds_to_11147.nii.gz
+seeds_to_11148.nii.gz
+seeds_to_11149.nii.gz
+seeds_to_11150.nii.gz
+seeds_to_11151.nii.gz
+seeds_to_11152.nii.gz
+seeds_to_11153.nii.gz
+seeds_to_11154.nii.gz
+seeds_to_11155.nii.gz
+seeds_to_11156.nii.gz
+seeds_to_11157.nii.gz
+seeds_to_11158.nii.gz
+seeds_to_11159.nii.gz
+seeds_to_11160.nii.gz
+seeds_to_11161.nii.gz
+seeds_to_11162.nii.gz
+seeds_to_11163.nii.gz
+seeds_to_11164.nii.gz
+seeds_to_11165.nii.gz
+seeds_to_11166.nii.gz
+seeds_to_11167.nii.gz
+seeds_to_11168.nii.gz
+seeds_to_11169.nii.gz
+seeds_to_11170.nii.gz
+seeds_to_11171.nii.gz
+seeds_to_11172.nii.gz
+seeds_to_11173.nii.gz
+seeds_to_11174.nii.gz
+seeds_to_11175.nii.gz
+seeds_to_to_precentral1.nii.gz
+seeds_to_to_precentral2.nii.gz
+seeds_to_to_precentral3.nii.gz
+seeds_to_to_precentral4.nii.gz
+seeds_to_to_precentral5.nii.gz
+seeds_to_to_postcentral1.nii.gz
+seeds_to_to_postcentral2.nii.gz
+seeds_to_to_postcentral3.nii.gz
+seeds_to_to_postcentral4.nii.gz
+seeds_to_to_postcentral5.nii.gz
+seeds_to_ar1.nii.gz
+seeds_to_ar2.nii.gz
+seeds_to_ar3.nii.gz
+seeds_to_ar4.nii.gz
+seeds_to_ar5.nii.gz
+seeds_to_or1.nii.gz
+seeds_to_or2.nii.gz
+seeds_to_or3.nii.gz
+seeds_to_or4.nii.gz
+seeds_to_or5.nii.gz
+seeds_to_or6.nii.gz
+seeds_to_str1.nii.gz
+seeds_to_str2.nii.gz
+seeds_to_str3.nii.gz
+seeds_to_str4.nii.gz
+seeds_to_str5.nii.gz
+seeds_to_str6.nii.gz
+seeds_to_atr1.nii.gz
+seeds_to_atr2.nii.gz
+seeds_to_atr3.nii.gz
+seeds_to_atr4.nii.gz
+seeds_to_atr5.nii.gz
+seeds_to_atr6.nii.gz
+seeds_to_scpct1.nii.gz
+seeds_to_scpct2.nii.gz
+seeds_to_scpct3.nii.gz
+seeds_to_SCPCT_brainstem_60.nii.gz
+seeds_to_contra_cerebellum_wm.nii.gz
diff --git a/resources/models/vim/single32/vim_model.pth b/resources/models/vim/single32/vim_model.pth
new file mode 100644
index 0000000000000000000000000000000000000000..898dfb143badfc45ab8d44101d083b2fd026fd9d
Binary files /dev/null and b/resources/models/vim/single32/vim_model.pth differ
diff --git a/resources/models/vim/single32/vim_spatial_model.pth b/resources/models/vim/single32/vim_spatial_model.pth
new file mode 100644
index 0000000000000000000000000000000000000000..c8458989d107dc36e365e89bbbc7de5922929cc2
Binary files /dev/null and b/resources/models/vim/single32/vim_spatial_model.pth differ
diff --git a/scripts/connectivity_driven b/scripts/connectivity_driven
new file mode 100755
index 0000000000000000000000000000000000000000..1c5d34cc1ab110aede8a5e92c172b3dcb829572e
--- /dev/null
+++ b/scripts/connectivity_driven
@@ -0,0 +1,154 @@
+#!/bin/bash
+
+Usage() {
+    echo ""
+    echo "Usage: ./connectivity_driven.sh --target1=m1.nii.gz --target2=cerebellum.nii.gz"
+    echo ""
+    echo "creates anatomical masks in reference space (--ref) for tractography and stores them in the output dir (--out)"
+    echo "if the cortical parcellation file (--aparc) not provided, uses standard masks instead"
+    echo ""
+    echo "<options>:"
+    echo "--target1                  Target1 tract density map, e.g. M1"
+    echo "--target2                  Target2 tract density map, e.g., contralateral cerebellum"
+    echo "--target3                  Optional, target3 tract density map"
+    echo "--out                      The output filename"
+    echo "--thr1                     Threshold on target1 tract density - default 50%"
+    echo "--thr2                     Threshold on target2 tract density - default 50%"
+    echo "--thr3                     Optional, threshold on target3 tract density - default 50%"
+    echo "--thr                      Optional, the final threshold to be applied on the product map - default 70%"
+    echo "--queue                    Optional, the queue jobs should be submitted to. Run locally if not specified."
+    echo ""
+    echo ""
+    exit 1
+}
+
+if [ -z "$FSLDIR" ]; then
+  echo "Environment variable $FSLDIR does not exist. Please set up FSLDIR. "
+  exit 1
+fi
+
+thr1=50
+thr2=50
+thr3=50
+thr=70
+
+for arg in "$@"
+do
+  case $arg in
+    --help)
+    Usage
+    ;;
+    --out=*)
+    out="${arg#*=}"
+    shift
+    ;;
+    --target1=*)
+    target1="${arg#*=}"
+    shift
+    ;;
+    --target2=*)
+    target2="${arg#*=}"
+    shift
+    ;;
+    --target3=*)
+    target3="${arg#*=}"
+    shift
+    ;;
+    --thr1=*)
+    thr1="${arg#*=}"
+    shift
+    ;;
+    --thr2=*)
+    thr2="${arg#*=}"
+    shift
+    ;;
+    --thr3=*)
+    thr3="${arg#*=}"
+    shift
+    ;;
+    --thr=*)
+    thr="${arg#*=}"
+    shift
+    ;;
+    --queue=*)
+    queue="${arg#*=}"
+    shift
+    ;;
+    *)
+    echo "Unknown option: $arg"
+    Usage
+    exit 1
+    ;;
+  esac
+done
+
+get_abs_file_path() {
+    file_path=$1
+
+    # Check if realpath is available
+    if command -v realpath > /dev/null 2>&1; then
+        abs_path=$(realpath "$file_path")
+    # Fallback to readlink -f if realpath is not available
+    elif command -v readlink > /dev/null 2>&1; then
+        abs_path=$(readlink -f "$file_path")
+    else
+        echo "Error: realpath and readlink commands are not available."
+        return 1
+    fi
+
+    echo "$abs_path"
+}
+
+if [ -z "$target1" ]; then
+  echo "Error: Missing required argument --target1"
+  exit 1
+elif [ ! -f $target1 ]; then
+  echo "Error: $target1 not exist"
+  exit 1
+else
+  refpath=$(get_abs_file_path "$target1")
+fi
+
+if [ -z "$target2" ]; then
+  echo "Error: Missing required argument --target2"
+  exit 1
+fi
+
+if [ -z "$out" ]; then
+  #echo "Output filename not specified - default creating a folder called 'burned' under the same directory as target1..."
+  #out=$(dirname $refpath)/burned
+  #if [ ! -d $out ]; then
+    #mkdir $out
+  #fi
+  echo "Error: Missing required argument --out. Please specify output filename."
+  exit 1
+fi
+
+if [ ! -z "$queue" ]; then
+  if which fsl_sub > /dev/null 2>&1; then
+    echo "Queue specified. Will submit jobs to $queue."
+  else
+    echo "fsl_sub is not installed. Will run jobs locally."
+    #exit 1
+    queue=""
+  fi
+fi
+
+outdir=$(dirname $out)
+
+$FSLDIR/bin/fslmaths $target1 -thrP $thr1 $outdir/target1_thrP${thr1}
+$FSLDIR/bin/fslmaths $target2 -thrP $thr2 $outdir/target2_thrP${thr2}
+cmd="$FSLDIR/bin/fslmaths $outdir/target1_thrP${thr1} -mul $outdir/target2_thrP${thr2}"
+if [ ! -z "$target3" ]; then
+  $FSLDIR/bin/fslmaths $target3 -thrP $thr3 $outdir/target3_thrP${thr2}
+  cmd="$cmd -mul $outdir/target3_thrP${thr2}"
+fi
+
+cmd="$cmd -thrP $thr -bin $out"
+if [ -z "$queue" ]; then
+  eval $cmd
+else
+  fsl_sub -q $queue -N connectivity_driven -l $outdir $cmd
+fi
+#$FSLDIR/bin/fslmaths $outdir/target1_thrP${thr1} -mul $outdir/target2_thrP${thr2} -thrP $thr -bin $out
+
diff --git a/scripts/create_masks b/scripts/create_masks
new file mode 100755
index 0000000000000000000000000000000000000000..2c36a885276611be62423bf202a2d645009b8266
--- /dev/null
+++ b/scripts/create_masks
@@ -0,0 +1,283 @@
+#!/bin/bash
+
+Usage() {
+    echo ""
+    echo "Usage: ./create_masks.sh --ref=t1.nii.gz --warp=standard2str.nii.gz --out=outputdir --aparc=aparc.a2009s+aseg.nii.gz"
+    echo ""
+    echo "creates anatomical masks in reference space (--ref) for tractography and stores them in the output dir (--out)"
+    echo "if the cortical parcellation file (--aparc) not provided, uses standard masks instead"
+    echo ""
+    echo "<options>:"
+    echo "--ref (the reference image, usually in the individual T1 native space)"
+    echo "--warp (the warp field that maps the MNI standard space to individual T1 space)"
+    echo "--aparc (the cortical segmentation file from Freesurfer, either in *.mgz or *.nii.gz/*.nii)"
+    echo "--out (optional, the output directory to store the anatomical masks. if not provided, create a folder called roi in the same directory as the reference image)"
+    echo "--brainmask (optional, the binary brain mask in the reference space)"
+    echo "--queue (optional, the queue jobs should be submitted to. Run locally if not specified.)"
+    echo "--njobs (optional, the number of jobs to run in parallel locally.)"
+    echo ""
+    echo ""
+    exit 1
+}
+
+[ "$1" = "" ] && Usage
+
+if [ -z "$FSLDIR" ]; then
+  echo "Environment variable $FSLDIR does not exist. Please set up FSLDIR. "
+  exit 1
+fi
+
+## path of the script
+SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
+RESOURCES_DIR="$(dirname $SCRIPT_DIR)/resources"
+
+### make file path absolute
+get_abs_file_path() {
+    file_path=$1
+
+    # Check if realpath is available
+    if command -v realpath > /dev/null 2>&1; then
+        abs_path=$(realpath "$file_path")
+    # Fallback to readlink -f if realpath is not available
+    elif command -v readlink > /dev/null 2>&1; then
+        abs_path=$(readlink -f "$file_path")
+    else
+        echo "Error: realpath and readlink commands are not available."
+        return 1
+    fi
+
+    echo "$abs_path"
+}
+
+# default njobs
+njobs=1
+
+### parse arguments
+for arg in "$@"
+do
+  case $arg in
+    --help)
+    Usage
+    ;;
+    --ref=*)
+    ref="${arg#*=}"
+    shift
+    ;;
+    --out=*)
+    out="${arg#*=}"
+    shift
+    ;;
+    --warp=*)
+    warp="${arg#*=}"
+    shift
+    ;;
+    --aparc=*)
+    aparc="${arg#*=}"
+    shift
+    ;;
+    --brainmask=*)
+    brainmask="${arg#*=}"
+    shift
+    ;;
+    --queue=*)
+    queue="${arg#*=}"
+    shift
+    ;;
+    --njobs=*)
+    njobs="${arg#*=}"
+    shift
+    ;;
+    *)
+    echo "Unknown option: $arg"
+    Usage
+    exit 1
+    ;;
+  esac
+done
+
+### Check if required arguments are provided
+if [ -z "$ref" ]; then
+  echo "Error: Missing required argument --ref"
+  exit 1
+elif [ ! -f $ref ]; then
+  echo "Error: $ref not exist"
+  exit 1
+else
+  refpath=$(get_abs_file_path "$ref")
+fi
+
+if [ -z "$warp" ]; then
+  echo "Error: Missing required argument --warp"
+  exit 1
+elif [ ! -f $warp ]; then
+  echo "Error: $warp not exist"
+  exit 1
+fi
+
+if [ -z "$aparc" ]; then
+  echo "Error: Missing required argument --aparc"
+  exit 1
+elif [ ! -f $aparc ]; then
+  echo "Error: $aparc not exist"
+  exit 1
+fi
+
+if [ ! -z "$queue" ]; then
+  if which fsl_sub > /dev/null 2>&1; then
+    echo "Queue specified. Will submit jobs to $queue."
+  else
+    echo "fsl_sub is not installed. Will run jobs locally."
+    #exit 1
+    queue=""
+  fi
+fi
+
+if [ -z "$out" ]; then
+  out=$(dirname $refpath)/roi
+  echo "output directory not specified. create $out to store anatomical masks in reference space"
+fi
+
+### create output directory
+if [ ! -d $out ]; then
+  mkdir -p $out
+fi
+### create dir for left and right hemisphere
+for hemi in left right; do
+  if [ ! -d $out/$hemi ]; then
+    mkdir $out/$hemi
+  fi
+done
+
+if [ ! -z "$aparc" ]; then
+  aparc_basename=$(basename "$aparc")
+  if [[ "$aparc" == *.mgz ]]; then
+    if [ -z "$FREESURFER_HOME" ]; then
+      echo "If you feed in the aparc.a2009s+aseg in *.mgz format, please set up FREESURFER_HOME. "
+      exit 1
+    fi
+    $FREESURFER_HOME/bin/mri_convert $aparc $out/${aparc_basename%.*}.nii.gz
+    $FSLDIR/bin/flirt -in $out/${aparc_basename%.*}.nii.gz -ref $ref -out $out/${aparc_basename%.*}.nii.gz -applyxfm -usesqform -interp nearestneighbour
+    aparc="$out/${aparc_basename%.*}.nii.gz"
+  elif [[ "$aparc" == *.nii ]] || [[ "$aparc" == *.nii.gz ]]; then
+    $FSLDIR/bin/flirt -in $aparc -ref $ref -out $out/${aparc_basename%.*}.nii.gz -applyxfm -usesqform -interp nearestneighbour 
+    aparc="$out/${aparc_basename%.*}.nii.gz"
+  else
+    echo "Invalid aparc.a2009s+aseg file. Please use *.mgz or *.nii.gz/*.nii file."
+    exit 1
+  fi
+  #### cerebellum
+  echo "echo Create cerebellar ROIs based on the provided $aparc file..." > $out/create_masks_cmds
+  echo "$FSLDIR/bin/fslmaths $aparc -thr 6 -uthr 8 -bin $out/left/cerebellum" >> $out/create_masks_cmds
+  echo "$FSLDIR/bin/fslmaths $aparc -thr 45 -uthr 47 -bin $out/right/cerebellum" >> $out/create_masks_cmds
+  echo "$FSLDIR/bin/fslmaths $aparc -thr 7 -uthr 7 -bin $out/right/cerebellum_target" >> $out/create_masks_cmds
+  echo "$FSLDIR/bin/fslmaths $aparc -thr 46 -uthr 46 -bin $out/left/cerebellum_target" >> $out/create_masks_cmds
+  echo "$FSLDIR/bin/fslmaths $aparc -thr 24 -uthr 24 -bin $out/csf" >> $out/create_masks_cmds
+  ### left hemisphere cortical masks
+  echo "echo Create left hemisphere cortical ROIs based on the provided $aparc file..." >> $out/create_masks_cmds
+  for k in {11101..11175}; do
+    kk=`expr $k - 11100`
+    echo "$FSLDIR/bin/fslmaths $aparc -thr $k -uthr $k -bin $out/left/$kk" >> $out/create_masks_cmds
+  done
+  echo "$FSLDIR/bin/fslmaths $aparc -thr 11100 -uthr 12175 -bin $out/left/cortex" >> $out/create_masks_cmds
+  ### right hemisphere cortical masks
+  echo "echo Create right hemisphere cortical ROIs based on the provided $aparc file..." >> $out/create_masks_cmds
+  for k in {12101..12175}; do
+    kk=`expr $k - 12100`
+    echo "$FSLDIR/bin/fslmaths $aparc -thr $k -uthr $k -bin $out/right/$kk" >> $out/create_masks_cmds
+  done
+  echo "$FSLDIR/bin/fslmaths $aparc -thr 11100 -uthr 12175 -bin $out/right/cortex" >> $out/create_masks_cmds
+fi
+
+#$FSLDIR/bin/fslmaths $out/right/cortex -add $out/left/cortex -bin $out/cortex
+
+for hemi in left right; do
+  echo "echo Create masks for $hemi hemisphere..." >> $out/create_masks_cmds
+  ### create white matter masks - SCPCT tract
+  for tract in scpct_mask{1..15}; do
+    echo "$FSLDIR/bin/applywarp -r $ref -i $RESOURCES_DIR/MNI_roi/$hemi/$tract -w $warp -o $out/$hemi/$tract --interp=nn" >> $out/create_masks_cmds
+  done
+  ### STR
+  for tract in str_mask{1..10}; do
+    echo "$FSLDIR/bin/applywarp -r $ref -i $RESOURCES_DIR/MNI_roi/$hemi/$tract -w $warp -o $out/$hemi/$tract --interp=nn" >> $out/create_masks_cmds
+  done
+  ### ATR
+  for tract in atr_mask{1..8}; do
+    echo "$FSLDIR/bin/applywarp -r $ref -i $RESOURCES_DIR/MNI_roi/$hemi/$tract -w $warp -o $out/$hemi/$tract --interp=nn" >> $out/create_masks_cmds
+  done
+  ### AR
+  for tract in ar_mask{1..8}; do
+    echo "$FSLDIR/bin/applywarp -r $ref -i $RESOURCES_DIR/MNI_roi/$hemi/$tract -w $warp -o $out/$hemi/$tract --interp=nn" >> $out/create_masks_cmds
+  done
+  ### OR
+  for tract in or_mask{1..10}; do
+    echo "$FSLDIR/bin/applywarp -r $ref -i $RESOURCES_DIR/MNI_roi/$hemi/$tract -w $warp -o $out/$hemi/$tract --interp=nn" >> $out/create_masks_cmds
+  done
+  ### fornix
+  for tract in fx_mask{1..10}; do
+    echo "$FSLDIR/bin/applywarp -r $ref -i $RESOURCES_DIR/MNI_roi/$hemi/$tract -w $warp -o $out/$hemi/$tract --interp=nn" >> $out/create_masks_cmds
+  done
+  ### M1
+  for tract in to_precentral_mask{1..12}; do
+    echo "$FSLDIR/bin/applywarp -r $ref -i $RESOURCES_DIR/MNI_roi/$hemi/$tract -w $warp -o $out/$hemi/$tract --interp=nn" >> $out/create_masks_cmds
+  done
+  ### S1
+  for tract in to_postcentral_mask{1..12}; do
+    echo "$FSLDIR/bin/applywarp -r $ref -i $RESOURCES_DIR/MNI_roi/$hemi/$tract -w $warp -o $out/$hemi/$tract --interp=nn" >> $out/create_masks_cmds
+  done
+
+  ### thalamus - although it's recommend to use FSL's MIST
+  echo "$FSLDIR/bin/applywarp -r $ref -i $RESOURCES_DIR/MNI_roi/$hemi/tha -w $warp -o $out/$hemi/tha --interp=nn" >> $out/create_masks_cmds
+
+  echo "$FSLDIR/bin/applywarp -r $ref -i $RESOURCES_DIR/MNI_roi/$hemi/vim -w $warp -o $out/$hemi/vim" >> $out/create_masks_cmds
+
+  echo "$FSLDIR/bin/applywarp -r $ref -i $RESOURCES_DIR/MNI_roi/$hemi/exclusion -w $warp -o $out/$hemi/exclusion --interp=nn" >> $out/create_masks_cmds
+
+  if [ -z "$aparc" ]; then
+    ### cerebellum - although it's recommend to use freesurfer's segmentation
+    ##### MNI_roi/$hemi/cerebellum_target is the contralateral cerebellar target
+    echo "$FSLDIR/bin/applywarp -r $ref -i $RESOURCES_DIR/MNI_roi/$hemi/cerebellum_target -w $warp -o $out/$hemi/cerebellum_target --interp=nn" >> $out/create_masks_cmds
+    ##### MNI_roi/$hemi/cerebellum is ipsilateral cerebellum to avoid
+    echo "$FSLDIR/bin/applywarp -r $ref -i $RESOURCES_DIR/MNI_roi/$hemi/cerebellum -w $warp -o $out/$hemi/cerebellum --interp=nn" >> $out/create_masks_cmds
+    ### cortical parcels - if no aparc.a2009s+aseg file is provided
+    for k in {1..75}; do
+      echo "$FSLDIR/bin/applywarp -r $ref -i $RESOURCES_DIR/MNI_roi/$hemi/$k -w $warp -o $out/$hemi/$k --interp=nn" >> $out/create_masks_cmds
+    done
+    echo "$FSLDIR/bin/applywarp -r $ref -i $RESOURCES_DIR/MNI_roi/cortex -w $warp -o $out/$hemi/cortex --interp=nn" >> $out/create_masks_cmds
+  fi
+done
+
+# SCPCT-related ROIs
+echo "echo Create SCPCT-related ROIs..." > $out/create_masks_scpct_cmds
+
+### if brain mask not provided, use standard
+if [ -z "$brainmask" ]; then
+  #echo "echo brainmask not provided. use standard brain mask MNI152_T1_1mm_brain_mask instead..." >> $out/create_masks_scpct_cmds
+  echo "$FSLDIR/bin/applywarp -r $ref -i $FSLDIR/data/standard/MNI152_T1_1mm_brain_mask -w $warp -o $out/brain_mask --interp=nn" >> $out/create_masks_scpct_cmds
+  brainmask="$out/brain_mask"
+fi
+
+for hemi in left right; do
+  ### SCPCT
+  echo "$FSLDIR/bin/applywarp -r $ref -i $RESOURCES_DIR/MNI_roi/$hemi/SCPCT -w $warp -o $out/$hemi/SCPCT" >> $out/create_masks_scpct_cmds
+  echo "$FSLDIR/bin/fslmaths $out/$hemi/SCPCT -thr 0.0001 -bin $out/$hemi/SCPCT_bin" >> $out/create_masks_scpct_cmds
+  ### if brain mask not provided, use standard
+  #if [ -z "$brainmask" ]; then
+    #echo "$FSLDIR/bin/fslmaths $out/brain_mask -rem $out/$hemi/SCPCT_bin -bin -rem $out/$hemi/tha -bin $out/$hemi/stop_for_scpct" >> $out/create_masks_scpct_cmds
+  #else
+  echo "$FSLDIR/bin/fslmaths $brainmask -rem $out/$hemi/SCPCT_bin -bin -rem $out/$hemi/tha -bin $out/$hemi/stop_for_scpct" >> $out/create_masks_scpct_cmds
+  #fi
+done
+
+# execute locally or submit the jobs...
+if [ -z "$queue" ]; then
+  if [[ $njobs -eq 1 ]]; then
+    bash "$out/create_masks_cmds"
+  else
+    "$SCRIPT_DIR/run_parallel" "$out/create_masks_cmds" $njobs
+  fi
+  bash "$out/create_masks_scpct_cmds"
+else
+  fsl_sub -q $queue -N create_masks -l $out -t "$out/create_masks_cmds"
+  fsl_sub -q $queue -N create_masks_scpct -l $out "$out/create_masks_scpct_cmds"
+  echo "jobs submitted."
+fi
diff --git a/scripts/create_tracts b/scripts/create_tracts
new file mode 100755
index 0000000000000000000000000000000000000000..873a496da6e1f8f120a278fe13d8318111826992
--- /dev/null
+++ b/scripts/create_tracts
@@ -0,0 +1,260 @@
+#!/bin/bash
+
+Usage() {
+    echo ""
+    echo "Usage: ./create_tracts.sh --inputdir=/path/to/roi_folder --samples=/path/to/data.bedpostX --seed=/path/to/seed.nii.gz"
+    echo ""
+    echo "creates tracts for the specified seed, using fiber samples estimated via BedpostX"
+    echo "if seed is not specified, use tha.nii.gz as default seed under the input ROI folder."
+    echo ""
+    echo "<options>:"
+    echo "--samples       BedpostX directory that stores fibre orientation files, e.g., data.bedpostX"
+    echo "--inputdir      Input directory that stores left and right hemisphere anatomical masks in native T1 space"
+    #echo "--hemi          Left or right hemisphere"
+    echo "--seed          Optional, the seed mask, usually in the individual T1 native space - default is tha.nii.gz under inputdir"
+    echo "--xfm           Optional, the transformation matrix that maps the reference T1 space to the diffusion space"
+    echo "--ref           Optional, the reference image, usually in the individual T1 native space"
+    echo "--out           Optional, the output directory to store tract density maps - default is inputdir/hemi/streamlines"
+    echo "--brainmask     Optional, the binary brain mask in the reference space)"
+    echo "--nsteps        Optional, number of steps per sample - default=2000"
+    echo "--cthr          Optional, curvature threshold - default=0.2"
+    echo "--fibthresh     Optional, volume fraction before subsidary fibre orientations are considered - default=0.01"
+    echo "--nsamples      Optional, number of samples - default=10000"
+    echo "--steplength    Optional, steplength in mm - default=0.5"
+    echo "--sampvox       Optional, sample random points within a sphere with radius x mm from the center of the seed voxels"
+    echo "--distthresh    Optional, discards samples shorter than this threshold (in mm - default=0)"
+    echo "--gpu           Optional, use the gpu version of probtractx2"
+    echo "--queue         Optional, the queue jobs should be submitted to. Run locally if not specified."
+    exit 1
+}
+
+[ "$1" = "" ] && Usage
+
+for arg in "$@"
+do
+    if [ "$arg" == "--help" ]; then
+        Usage
+    fi
+done
+
+if [ -z "$FSLDIR" ]; then
+  echo "Environment variable $FSLDIR does not exist. Please set up FSLDIR. "
+  exit 1
+fi
+
+get_abs_file_path() {
+    file_path=$1
+
+    # Check if realpath is available
+    if command -v realpath > /dev/null 2>&1; then
+        abs_path=$(realpath "$file_path")
+    # Fallback to readlink -f if realpath is not available
+    elif command -v readlink > /dev/null 2>&1; then
+        abs_path=$(readlink -f "$file_path")
+    else
+        echo "Error: realpath and readlink commands are not available."
+        return 1
+    fi
+
+    echo "$abs_path"
+}
+
+### some default values
+nsteps=2000
+verbose=2
+cthr=0.2
+steplength=0.5
+nsamples=10000
+fibthresh=0.01
+sampvox=1.0
+distthresh=0
+prog="probtrackx2"
+### parse arguments
+for arg in "$@"
+do
+  case $arg in
+    --help)
+    Usage
+    ;;
+    --seed=*)
+    seed="${arg#*=}"
+    shift
+    ;;
+    --ref=*)
+    ref="${arg#*=}"
+    shift
+    ;;
+    --samples=*)
+    samples="${arg#*=}"
+    shift
+    ;;
+    --out=*)
+    out="${arg#*=}"
+    shift
+    ;;
+    --inputdir=*)
+    inputdir="${arg#*=}"
+    shift
+    ;;
+    --brainmask=*)
+    brainmask="${arg#*=}"
+    shift
+    ;;
+    --xfm=*)
+    xfm="${arg#*=}"
+    shift
+    ;;
+    --nsteps=*)
+    nsteps="${arg#*=}"
+    shift
+    ;;
+    --cthr=*)
+    cthr="${arg#*=}"
+    shift
+    ;;
+    --verbose=*)
+    verbose="${arg#*=}"
+    shift
+    ;;
+    --steplength=*)
+    steplength="${arg#*=}"
+    shift
+    ;;
+    --nsamples=*)
+    nsamples="${arg#*=}"
+    shift
+    ;;
+    --fibthresh=*)
+    fibthresh="${arg#*=}"
+    shift
+    ;;
+    --sampvox=*)
+    sampvox="${arg#*=}"
+    shift
+    ;;
+    --distthresh=*)
+    distthresh="${arg#*=}"
+    shift
+    ;;
+    --gpu)
+    prog="probtrackx2_gpu"
+    shift
+    ;;
+    --queue=*)
+    queue="${arg#*=}"
+    shift
+    ;;
+    *)
+    echo "Unknown option: $arg"
+    Usage
+    exit 1
+    ;;
+  esac
+done
+
+### Check if required arguments are provided
+if [ -z "$inputdir" ]; then
+  echo "Error: Missing required argument --inputdir, the folder that contains anatomical masks"
+  exit 1
+elif [ ! -d $inputdir ]; then
+  echo "$inputdir does not exist. "
+  exit 1
+else
+  refpath=$(get_abs_file_path "$inputdir")
+fi
+
+if [ -z "$samples" ]; then
+  echo "Error: Missing required argument --samples, "
+  echo "Please specify the bedpostX directory that stores fibre orientation files, e.g., data.bedpostX"
+  exit 1
+fi
+
+#if [ -z "$hemi" ]; then
+  #echo "Error: Missing required argument --hemi, left or right"
+  #exit 1
+#fi
+if [ ! -z "$queue" ]; then
+  if which fsl_sub > /dev/null 2>&1; then
+    echo "Queue specified. Will submit jobs to $queue."
+  else
+    echo "fsl_sub is not installed. Will run jobs locally."
+    #exit 1
+    queue=""
+  fi
+fi
+
+if [ -z "$out" ]; then
+  out=$refpath/streamlines
+  echo "output directory not specified. create $out to store tract density maps in reference space"
+fi
+
+if [ -z "$seed" ]; then
+  echo "Seed mask not specified. default using $inputdir/tha.nii.gz..."
+  seed=$inputdir/tha
+  if [ ! -f $seed.nii.gz ] && [ ! -f $seed.nii ]; then
+    echo "$seed not found."
+    exit 1
+  fi
+fi
+
+if [ -z "$brainmask" ]; then
+  brainmask=$samples/nodif_brain_mask
+  if [ ! -f $brainmask.nii.gz ] && [ ! -f $brainmask.nii ]; then
+    echo "$brainmask.nii.gz or $brainmask.nii does not exist under $samples. Creating one..."
+    fslmaths $samples/mean_fsumsamples -thr 0 -bin $brainmask
+  fi
+fi
+
+### create output directory
+if [ ! -d $out ]; then
+  mkdir -p $out
+fi
+
+## create a list containing the anatomical masks
+echo $inputdir/ar_mask{1..8}.nii.gz > $inputdir/targets.txt;
+echo $inputdir/or_mask{1..10}.nii.gz >> $inputdir/targets.txt;
+echo $inputdir/str_mask{1..10}.nii.gz >> $inputdir/targets.txt;
+echo $inputdir/atr_mask{1..8}.nii.gz >> $inputdir/targets.txt;
+echo $inputdir/fx_mask{1..10}.nii.gz >> $inputdir/targets.txt;
+echo $inputdir/to_precentral_mask{1..12}.nii.gz  >> $inputdir/targets.txt;
+echo $inputdir/to_postcentral_mask{1..12}.nii.gz  >> $inputdir/targets.txt;
+echo $inputdir/{1..75}.nii.gz >> $inputdir/targets.txt;
+
+opts="-x $seed -s $samples/merged -m $brainmask --dir=$out"
+opts="$opts --verbose=$verbose --cthr=$cthr --nsteps=$nsteps --steplength=$steplength --nsamples=$nsamples --fibthresh=$fibthresh"
+opts="$opts --distthresh=$distthresh --sampvox=$sampvox -l --onewaycondition --forcedir --pd --opd --os2t --modeuler"
+
+if [ ! -z "$xfm" ]; then
+  opts="$opts --xfm=$xfm"
+  if [ ! -z "$ref" ]; then
+    opts="$opts --seedref=$ref"
+  else
+    opts="$opts --seedref=$seed"
+  fi
+fi
+
+cmd="$FSLDIR/bin/$prog $opts"
+cmd="$cmd --targetmasks=$inputdir/targets.txt"
+cmd="$cmd --avoid=$inputdir/cerebellum --stop=$inputdir/cortex"
+
+### run tractography...
+echo $cmd > $out/create_tracts_cmds;
+#eval $cmd;
+
+echo $inputdir/scpct_mask{1..15}.nii.gz > $inputdir/targets.txt;
+echo $inputdir/cerebellum_target.nii.gz >> $inputdir/targets.txt;
+cmd="$FSLDIR/bin/$prog $opts"
+cmd="$cmd --targetmasks=$inputdir/targets.txt"
+cmd="$cmd --avoid=$inputdir/exclusion --stop=$inputdir/stop_for_scpct"
+echo $cmd >> $out/create_tracts_cmds;
+#eval $cmd;
+if [ -z "$queue" ]; then
+  bash $out/create_tracts_cmds
+else
+  if gpu; then
+    fsl_sub -q $queue -c cuda -N create_tracts -l $out -t $out/create_tracts_cmds
+  else
+    fsl_sub -q $queue -N create_tracts -l $out -t $out/create_tracts_cmds
+  fi
+fi
+
diff --git a/scripts/localise b/scripts/localise
new file mode 100755
index 0000000000000000000000000000000000000000..15fb3606115d8ab71f1f82bf187f2858db36111e
--- /dev/null
+++ b/scripts/localise
@@ -0,0 +1,18 @@
+#!/usr/bin/env python
+from localise.utils import predict_mode, train_mode
+from localise.args import parse_arguments   
+
+if __name__ == "__main__":
+    args = parse_arguments()
+    if args.predict:
+        predict_mode(subject=args.subject, mask=args.mask, structure=args.structure, 
+                     target_path=args.target_path, target_list=args.target_list, 
+                     data=args.data, atlas=args.atlas, out=args.out, 
+                     model=args.model, spatial=args.spatial, data_type=args.data_type)
+    elif args.train:
+        train_mode(args.subject, args.mask, args.label, 
+                   args.target_path, args.target_list, 
+                   args.data, args.atlas, args.out_model, 
+                   args.spatial, args.epochs)
+    else:
+        raise ValueError("Exactly one of --train or --predict must be specified.")
\ No newline at end of file
diff --git a/scripts/run_parallel b/scripts/run_parallel
new file mode 100755
index 0000000000000000000000000000000000000000..9977328c54a8e9083698cecf297e17cc3902db5d
--- /dev/null
+++ b/scripts/run_parallel
@@ -0,0 +1,26 @@
+#!/usr/bin/env python3
+
+import sys
+import subprocess
+from concurrent.futures import ProcessPoolExecutor
+
+
+def run_command(cmd):
+    subprocess.run(cmd, shell=True)
+
+def main():
+    if len(sys.argv) < 2:
+        print("Usage: run_parallel <path_to_commands_file>")
+        sys.exit(1)
+
+    commands_file = sys.argv[1]
+    num_parallel_jobs = int(sys.argv[2])
+
+    with open(commands_file, "r") as f:
+        commands = [line.strip() for line in f]
+
+    with ProcessPoolExecutor(max_workers=num_parallel_jobs) as executor:
+        executor.map(run_command, commands)
+
+if __name__ == "__main__":
+    main()
diff --git a/tests/test_data.py b/tests/test_data.py
index d5fda67b4a17bf133e16e8efe2c69ee2e59c7f3e..616c219c463b7ddd48dab746461511966ecd0633 100644
--- a/tests/test_data.py
+++ b/tests/test_data.py
@@ -26,7 +26,7 @@ def test_load_features():
               mask_name='roi/left/tha_small.nii.gz', 
               target_path='streamlines/left', 
               atlas='roi/left/atlas.nii.gz', power=[0.5, 1, 2],
-              target_list=['seeds_to_11101_1.nii.gz', 'seeds_to_11102_1.nii.gz'])
+              target_list=f'{path_to_data}/models/target_list.txt')
     assert batch.X.shape[1] == 7
     
     subject='100610'
@@ -44,22 +44,29 @@ def test_load_features():
     assert batch.f.shape[0] == len(gamma)
     assert batch.f.shape[1] == batch.X.shape[0]
     
-    batch = load_features(subject=os.path.join(f'{path_to_data}', subject), 
+    batch = load_features(subject=[os.path.join(f'{path_to_data}', subject)], 
               mask_name='roi/left/tha_small.nii.gz', 
               power=power, gamma=gamma, 
               data='streamlines/left/features75.npy')
 
-    assert batch.X.shape[1] == len(target_list) * len(power)
-    assert batch.f.shape[0] == len(gamma)
-    assert batch.f.shape[1] == batch.X.shape[0]
-    
+    assert batch[0].X.shape[1] == len(target_list) * len(power)
+    assert batch[0].f.shape[0] == len(gamma)
+    assert batch[0].f.shape[1] == batch[0].X.shape[0]
+
+
 def test_load_labels():
     subject=os.path.join(f'{path_to_data}','100610')
     mask_name='roi/left/tha_small.nii.gz'
     label_name='high-quality-labels/left/labels.nii.gz'
     labels = load_labels(subject, mask_name, label_name)
     assert list(labels.shape) == [4142, 2]
+
+    subjects = [os.path.join(f'{path_to_data}', subject) for subject in ['100610', '100408']]
+    labels = load_labels(subject=subjects, mask_name=mask_name, label_name=label_name)
+    assert len(labels) == 2
+    assert labels[0].shape[0] == 4142
         
+
 def test_load_data():
     mask_name='roi/left/tha_small.nii.gz'
     label_name='high-quality-labels/left/labels.nii.gz'
@@ -76,6 +83,19 @@ def test_load_data():
     assert isinstance(batch[0], FlattenedCRFBatchTensor)
     assert len(batch) == 2
 
+    subjects = [os.path.join(f'{path_to_data}', subject) for subject in ['100610', '100408', '100307']]
+    batches = load_data(subject=subjects, 
+                        mask_name=mask_name, 
+                        label_name=label_name,
+                        power=[1, 2],
+                        atlas='roi/left/atlas.nii.gz',
+                        target_path='streamlines/left', 
+                        target_list=['seeds_to_11101_1.nii.gz', 'seeds_to_11102_1.nii.gz'])
+    assert len(batches) == 3
+    assert len(batches[0]) == 2
+    assert isinstance(batches[2][0], FlattenedCRFBatchTensor)
+
+
 def test_shuffleddataloader():
     mask_name='roi/left/tha_small.nii.gz'
     label_name='high-quality-labels/left/labels.nii.gz'
diff --git a/tests/test_data/100206/high-quality-labels/left/labels.nii.gz b/tests/test_data/100206/high-quality-labels/left/labels.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..9f59dbc6193d296e17fa82a9fcd31758ba5b9e4e
Binary files /dev/null and b/tests/test_data/100206/high-quality-labels/left/labels.nii.gz differ
diff --git a/tests/test_data/100206/roi/left/atlas.nii.gz b/tests/test_data/100206/roi/left/atlas.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..c4ccd5dcd9f0eb32b13c70222ccbface48ba681a
Binary files /dev/null and b/tests/test_data/100206/roi/left/atlas.nii.gz differ
diff --git a/tests/test_data/100206/roi/left/tha_small.nii.gz b/tests/test_data/100206/roi/left/tha_small.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..0cf4a11c90bb21f656f0a25722868e7d375cfd32
Binary files /dev/null and b/tests/test_data/100206/roi/left/tha_small.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/X113_small_1mm.npy b/tests/test_data/100206/streamlines/left/X113_small_1mm.npy
new file mode 100644
index 0000000000000000000000000000000000000000..ef3bfeb6f594073ea4285d9083d12518538b3c03
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/X113_small_1mm.npy differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_11101.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_11101.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..7fa009fa95c77fdc87d250ce4b490753b1c4f385
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_11101.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_11102.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_11102.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..3250d8d64256e8b9589e02f120d6091fadfb2826
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_11102.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_11103.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_11103.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..8a5d989e107d243c93899019d3b97bfb1234885f
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_11103.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_11104.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_11104.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..53fa8d9941ef2c02d7e4ca082c7ad6135d1764a2
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_11104.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_11105.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_11105.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..d8834d7ec0b14898335e902e5e0dfd69d6ecf905
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_11105.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_11106.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_11106.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..2313c2e7c7db56b0286c91a6b18111f4a87b9fac
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_11106.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_11107.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_11107.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..b5562b3954ba3191b0eba3892e2f9b6b017bc4e5
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_11107.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_11108.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_11108.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..c8f7c122b439fb39eaf9e98ca969e2f2b22d2131
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_11108.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_11109.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_11109.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..a8e9766ed05a091fc87202df986936e23edae80a
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_11109.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_11110.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_11110.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..196eb58a7e7d34517c5c9b2d6c178f4f0a510c3f
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_11110.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_11111.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_11111.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..c2a61c9f8ed1fe66a6df50f4ad8a39dd086f0f3b
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_11111.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_11112.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_11112.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..61408fc7804f06275a4ee3b35ca715494315f64f
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_11112.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_11113.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_11113.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..307f5def9e09953707f6ca8b64b21bb6a4c00261
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_11113.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_11114.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_11114.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..f74f454a43ec02f2ef8560a0b24bada1cf545169
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_11114.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_11115.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_11115.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..ea6e87817d4d923a2cab08ea411bbb4fd752e2d3
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_11115.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_11116.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_11116.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..1aff525ac06f9ea3ca8978e22ec59940457ae242
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_11116.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_11117.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_11117.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..8a5487ffa906b9eed9a67c639bede8aaaca4b411
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_11117.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_11118.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_11118.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..a077ae8255954f4f70fc5873afa546b4f95cdd7b
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_11118.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_11119.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_11119.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..03103404831c64aea748935f65377bb37bc995d7
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_11119.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_11120.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_11120.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..7eb41d69730c540d8d59813b4f2a720308547d2e
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_11120.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_11121.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_11121.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..79aaa28a9de5edf962ac8d7d7ad96a1ef8745995
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_11121.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_11122.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_11122.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..584fbb1ff68b26d5ed95e1c365e052ffdf2d3bc1
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_11122.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_11123.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_11123.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..fa327af9e147f782e93ea4277dc35a2f6647886f
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_11123.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_11124.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_11124.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..7afda9b02192fa044910236600f1197bfa6f3a30
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_11124.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_11125.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_11125.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..b849976f7e787b3af09bdd1735e19d2efe985fe2
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_11125.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_11126.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_11126.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..3c128015d812d0861cecaae50798f8767f63a555
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_11126.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_11127.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_11127.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..ad20cc2fb16da9faea1d0151d8110537db816681
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_11127.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_11128.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_11128.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..6d410c0d4563dfc05f94d5f53cfde9263f36bbc9
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_11128.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_11129.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_11129.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..25af7f19545b2bd4900053caa4e977ff317b1f2a
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_11129.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_11130.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_11130.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..5a67722034fcf77f79c0026d8b76d3eab3db1cdb
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_11130.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_11131.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_11131.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..4fc7473b0c597ef9eda9325e00a5f09f9c2f1317
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_11131.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_11132.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_11132.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..22c3ceb19cd503ad9339641bd18cdf4a3f88447c
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_11132.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_11133.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_11133.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..4ff4d2e40fc42a2e8aad312c85cd0a30632c3815
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_11133.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_11134.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_11134.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..5652071f5f592668a3aea9345f97e2cf4c4c22fe
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_11134.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_11135.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_11135.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..0313f83859420ce02d67cb4376fcad21c8a74964
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_11135.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_11136.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_11136.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..d595feb3058429adc29d1c6418796ca7392adcda
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_11136.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_11137.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_11137.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..9881177f8d55cc694884c9e0ea62064cce8a8b10
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_11137.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_11138.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_11138.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..f58d0eb85d1c7b7d7e782b1a97ffe8fb945f0738
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_11138.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_11139.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_11139.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..5aa4a014865bde00d677f95cbafc4945bd08f477
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_11139.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_11140.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_11140.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..e7ddd838e37629340ea4c6af802374eeee5ee7b8
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_11140.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_11141.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_11141.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..624185016adbadb2e4e656a8da55fbbbde54941c
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_11141.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_11142.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_11142.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..576c2ce62efec7df09b38261009707cb39df2a2e
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_11142.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_11143.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_11143.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..a3add64bf89afe345c2f63662fbb43a3721e81b1
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_11143.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_11144.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_11144.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..43fe8fe9024c788023ab285f21db7011b7ebc081
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_11144.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_11145.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_11145.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..364ab072e58cb7fddedbb917f737d20cec7d21cc
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_11145.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_11146.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_11146.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..270281c23576bf0245865a268ba1b3f5042c80ae
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_11146.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_11147.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_11147.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..adb8f243ef6a289826fd378a529a0766b9fed103
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_11147.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_11148.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_11148.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..c6a22801689e7b90d7ca224a52e4aa79373e50c4
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_11148.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_11149.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_11149.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..fe69ce3bca1877d536d0a352991d50c76ec0d8db
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_11149.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_11150.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_11150.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..5f5b1fb77c5ab04b9f308d701314549da4def4bd
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_11150.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_11151.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_11151.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..c76b6f76b1f73a521ca11e8133a629a02a06b623
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_11151.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_11152.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_11152.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..d826ce1a5e06d3f19d8f1b6ea0d4c2bdde4d0f3f
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_11152.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_11153.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_11153.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..12a4fd6221344aadf04fff49d2b00198c48cd5d3
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_11153.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_11154.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_11154.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..1c0bd6da8d9d7ab8be679bbe8b1a4e649c76afff
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_11154.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_11155.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_11155.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..d8c58a8fcd368bcf9cd8d2a33c1bc0386bcc8a8b
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_11155.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_11156.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_11156.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..ba577f412ff289593a8a6197d74e2879a16db858
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_11156.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_11157.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_11157.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..abf25d2687b9f9b57f659d2a53d2100608e48069
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_11157.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_11158.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_11158.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..43bc209c4109334dba9414c9e50c21ecff977a12
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_11158.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_11159.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_11159.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..1b1ca0a7ea52035188f400e5c666a297d54cfb63
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_11159.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_11160.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_11160.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..3ddfef63e2addfdba9c00fd2eda7d85aa0f611b0
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_11160.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_11161.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_11161.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..fb6a877c43c02c2e347f44fad9b5cf61c27a488a
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_11161.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_11162.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_11162.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..a2bd82381b639ecf4304c4b10b383fafc37dcccc
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_11162.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_11163.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_11163.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..410b3eaa7b53c4521f8c4eef941d18304d508870
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_11163.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_11164.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_11164.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..821f0645d1b0e6f2c3754ee02806f90e6aa2c540
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_11164.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_11165.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_11165.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..6a0eca8bede4d43645782b69969113057ece50c1
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_11165.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_11166.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_11166.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..88c5e1cfa7ddbbecf80df821a570f6bbfa63bd08
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_11166.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_11167.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_11167.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..b82f1fda41dc1b95f4b31339746657b95ede111b
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_11167.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_11168.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_11168.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..7cc89c3d4ea816399542a3e826d54605bd8c2fb5
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_11168.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_11169.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_11169.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..6128f32dc66a85a473e2de3ff130da0a1e2a685c
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_11169.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_11170.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_11170.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..7234a53c581bd283dca0721e43d66c408ff37ca6
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_11170.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_11171.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_11171.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..257e367c9f69a7349ff3d79704d1712274d44b55
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_11171.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_11172.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_11172.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..27ce8f35605da05660b15cc41577cd52662576e5
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_11172.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_11173.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_11173.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..4b9e93a3b20e40a7ccef8a09763615c7463a3cef
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_11173.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_11174.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_11174.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..0b7f470da705e99de8c9c23faac5be0eba8a4ce3
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_11174.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_11175.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_11175.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..fcf2e7317c796a049b2421c6e1013456e1de353a
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_11175.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_SCPCT_brainstem_60.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_SCPCT_brainstem_60.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..261a552f68e4709d87a2ac283bb520d3b13fb53d
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_SCPCT_brainstem_60.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_ar1.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_ar1.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..e16e9954cb1e74b732267eda2c1e01c8433f78a8
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_ar1.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_ar2.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_ar2.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..dddac592fe762fa66cc2b77d2cffa3b98922a30a
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_ar2.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_ar3.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_ar3.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..da96bc3bf60395bf44f9a74a5a82f8c82b7bcf19
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_ar3.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_ar4.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_ar4.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..49b36ea1c754d72bf1d7cba3ad8c330e1069aedc
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_ar4.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_ar5.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_ar5.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..ce264f6e29bb94a3798f49ed7beff9d1a0f87718
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_ar5.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_atr1.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_atr1.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..69b0019880db910cee313da56d5015416afa48d7
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_atr1.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_atr2.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_atr2.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..e472855f68dbde0b7825461e976e215bc893c3ea
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_atr2.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_atr3.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_atr3.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..06ea33c23685d58868f643641c6378009d3300ab
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_atr3.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_atr4.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_atr4.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..b2ebf429be017efb02dcf02ab5c505224eb4e99c
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_atr4.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_atr5.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_atr5.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..59d9ed0b563ae5d5529896b1953d4d0e972690cc
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_atr5.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_atr6.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_atr6.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..10c7b864cf6fd4f2887892108eadd9179b392fcf
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_atr6.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_contra_cerebellum_wm.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_contra_cerebellum_wm.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..576c2ce62efec7df09b38261009707cb39df2a2e
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_contra_cerebellum_wm.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_or1.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_or1.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..45a19739ee4d7a3cb0dfacef5109639dfb246904
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_or1.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_or2.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_or2.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..bf9246600113fa23217fbdbcc3497f9c01208818
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_or2.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_or3.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_or3.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..9809a7cdac2ee3123d17787c378f405e4b9913eb
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_or3.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_or4.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_or4.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..0801cdc1387a8972b19b9bfcb5f3479b306552de
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_or4.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_or5.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_or5.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..39c954758cdbd23785d27664e830dc83118ec41c
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_or5.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_or6.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_or6.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..e97d34c9bfca2505a87b9b72df68baf9832c2456
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_or6.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_scpct1.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_scpct1.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..c9cecd897d4f761ca529129282191fe64ff712cc
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_scpct1.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_scpct2.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_scpct2.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..92b5b2c392e5009d5b1154e3c36cbf7b884f994b
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_scpct2.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_scpct3.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_scpct3.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..7b3e4fd676c9f6d03d7a869edddb4f718dc70197
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_scpct3.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_str1.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_str1.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..4574db6133c33c43675965c0e970c591fa358809
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_str1.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_str2.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_str2.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..861347a78ecd3d5bd391acf039cb56b427810ed5
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_str2.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_str3.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_str3.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..ef544740c0330bdce26669bbfe36ef0123571b6f
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_str3.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_str4.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_str4.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..091b4657c2df1973ab5cc80fbc54b41acfb42e77
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_str4.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_str5.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_str5.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..7a75c8695bbe6ff8383aa68138ac32b3958025a2
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_str5.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_str6.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_str6.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..f6f46bb6b20d433797e6d98ea202e80ae248f93e
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_str6.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_to_postcentral1.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_to_postcentral1.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..d443f25758a803a53caacfd8550478547046d54e
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_to_postcentral1.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_to_postcentral2.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_to_postcentral2.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..5d2ceff6e4ca95cc4b2c20be6400fed0ce90adc9
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_to_postcentral2.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_to_postcentral3.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_to_postcentral3.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..291f3cf20581374a518c375c76e959aaf8cee737
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_to_postcentral3.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_to_postcentral4.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_to_postcentral4.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..ef934b9e0ec25b166ad92e2d853c3c91557d5d45
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_to_postcentral4.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_to_postcentral5.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_to_postcentral5.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..5374b8a123fedcebd80742063e598601ebd9f8ad
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_to_postcentral5.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_to_precentral1.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_to_precentral1.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..2faed8c48674899bc023d2e2cc8d8ef814ec187d
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_to_precentral1.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_to_precentral2.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_to_precentral2.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..dd7db860d351f5b0290120b0da6933ddb92fd817
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_to_precentral2.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_to_precentral3.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_to_precentral3.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..25e816d18d04e1958d3a667c67b1d553fae5b5da
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_to_precentral3.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_to_precentral4.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_to_precentral4.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..24743fb7839101ed2e1a2d76a4e509e4b3be373f
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_to_precentral4.nii.gz differ
diff --git a/tests/test_data/100206/streamlines/left/seeds_to_to_precentral5.nii.gz b/tests/test_data/100206/streamlines/left/seeds_to_to_precentral5.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..767db67dc8c914652f0e8d536821ee25ed5d3f1d
Binary files /dev/null and b/tests/test_data/100206/streamlines/left/seeds_to_to_precentral5.nii.gz differ
diff --git a/tests/test_data/100610/T1w_acpc_dc_restore.nii.gz b/tests/test_data/100610/T1w_acpc_dc_restore.nii.gz
new file mode 100755
index 0000000000000000000000000000000000000000..9e5b44faaa0b78adf80d2675b063ffe47b842471
Binary files /dev/null and b/tests/test_data/100610/T1w_acpc_dc_restore.nii.gz differ
diff --git a/tests/test_data/100610/T1w_acpc_dc_restore_1.nii.gz b/tests/test_data/100610/T1w_acpc_dc_restore_1.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..a9c30c03d17e4ce2f00c25ae108c71e0a552bb02
Binary files /dev/null and b/tests/test_data/100610/T1w_acpc_dc_restore_1.nii.gz differ
diff --git a/tests/test_data/100610/aparc.a2009s+aseg.nii.gz b/tests/test_data/100610/aparc.a2009s+aseg.nii.gz
new file mode 100755
index 0000000000000000000000000000000000000000..2bb9b1787e6d90426ea6123aa23c1e68060a1512
Binary files /dev/null and b/tests/test_data/100610/aparc.a2009s+aseg.nii.gz differ
diff --git a/tests/test_data/100610/standard1_to_native0.7_warp.nii.gz b/tests/test_data/100610/standard1_to_native0.7_warp.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..6557239847e1e678447bec8b4a8a1588b187518d
Binary files /dev/null and b/tests/test_data/100610/standard1_to_native0.7_warp.nii.gz differ
diff --git a/tests/test_data/104416/T1w_acpc_dc_restore.nii.gz b/tests/test_data/104416/T1w_acpc_dc_restore.nii.gz
new file mode 100755
index 0000000000000000000000000000000000000000..1770168407eb0e7eeb1fc8b699b1da7cf62af267
Binary files /dev/null and b/tests/test_data/104416/T1w_acpc_dc_restore.nii.gz differ
diff --git a/tests/test_data/104416/T1w_acpc_dc_restore_1.nii.gz b/tests/test_data/104416/T1w_acpc_dc_restore_1.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..75ca40801587e82c25378fd3a131dbff8227dd94
Binary files /dev/null and b/tests/test_data/104416/T1w_acpc_dc_restore_1.nii.gz differ
diff --git a/tests/test_data/104416/aparc.a2009s+aseg.nii.gz b/tests/test_data/104416/aparc.a2009s+aseg.nii.gz
new file mode 100755
index 0000000000000000000000000000000000000000..36e61f76b03b7fd67da69e7c70a30be1e8447734
Binary files /dev/null and b/tests/test_data/104416/aparc.a2009s+aseg.nii.gz differ
diff --git a/tests/test_data/104416/standard1_to_native0.7_warp.nii.gz b/tests/test_data/104416/standard1_to_native0.7_warp.nii.gz
new file mode 100644
index 0000000000000000000000000000000000000000..289d6b23f443e2a0c4884c329d2df48c1be1399e
Binary files /dev/null and b/tests/test_data/104416/standard1_to_native0.7_warp.nii.gz differ
diff --git a/tests/test_data/models/target_list.txt b/tests/test_data/models/target_list.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ad08f4973b1f1247b883b339c8a6c38b275af625
--- /dev/null
+++ b/tests/test_data/models/target_list.txt
@@ -0,0 +1,2 @@
+seeds_to_11101_1.nii.gz
+seeds_to_11102_1.nii.gz
diff --git a/tests/test_data/models/targets_list113_left.txt b/tests/test_data/models/targets_list113_left.txt
new file mode 100644
index 0000000000000000000000000000000000000000..575f2054219dcd350f2ad6d8602ccccf35ca767e
--- /dev/null
+++ b/tests/test_data/models/targets_list113_left.txt
@@ -0,0 +1,113 @@
+seeds_to_11101.nii.gz
+seeds_to_11102.nii.gz
+seeds_to_11103.nii.gz
+seeds_to_11104.nii.gz
+seeds_to_11105.nii.gz
+seeds_to_11106.nii.gz
+seeds_to_11107.nii.gz
+seeds_to_11108.nii.gz
+seeds_to_11109.nii.gz
+seeds_to_11110.nii.gz
+seeds_to_11111.nii.gz
+seeds_to_11112.nii.gz
+seeds_to_11113.nii.gz
+seeds_to_11114.nii.gz
+seeds_to_11115.nii.gz
+seeds_to_11116.nii.gz
+seeds_to_11117.nii.gz
+seeds_to_11118.nii.gz
+seeds_to_11119.nii.gz
+seeds_to_11120.nii.gz
+seeds_to_11121.nii.gz
+seeds_to_11122.nii.gz
+seeds_to_11123.nii.gz
+seeds_to_11124.nii.gz
+seeds_to_11125.nii.gz
+seeds_to_11126.nii.gz
+seeds_to_11127.nii.gz
+seeds_to_11128.nii.gz
+seeds_to_11129.nii.gz
+seeds_to_11130.nii.gz
+seeds_to_11131.nii.gz
+seeds_to_11132.nii.gz
+seeds_to_11133.nii.gz
+seeds_to_11134.nii.gz
+seeds_to_11135.nii.gz
+seeds_to_11136.nii.gz
+seeds_to_11137.nii.gz
+seeds_to_11138.nii.gz
+seeds_to_11139.nii.gz
+seeds_to_11140.nii.gz
+seeds_to_11141.nii.gz
+seeds_to_11142.nii.gz
+seeds_to_11143.nii.gz
+seeds_to_11144.nii.gz
+seeds_to_11145.nii.gz
+seeds_to_11146.nii.gz
+seeds_to_11147.nii.gz
+seeds_to_11148.nii.gz
+seeds_to_11149.nii.gz
+seeds_to_11150.nii.gz
+seeds_to_11151.nii.gz
+seeds_to_11152.nii.gz
+seeds_to_11153.nii.gz
+seeds_to_11154.nii.gz
+seeds_to_11155.nii.gz
+seeds_to_11156.nii.gz
+seeds_to_11157.nii.gz
+seeds_to_11158.nii.gz
+seeds_to_11159.nii.gz
+seeds_to_11160.nii.gz
+seeds_to_11161.nii.gz
+seeds_to_11162.nii.gz
+seeds_to_11163.nii.gz
+seeds_to_11164.nii.gz
+seeds_to_11165.nii.gz
+seeds_to_11166.nii.gz
+seeds_to_11167.nii.gz
+seeds_to_11168.nii.gz
+seeds_to_11169.nii.gz
+seeds_to_11170.nii.gz
+seeds_to_11171.nii.gz
+seeds_to_11172.nii.gz
+seeds_to_11173.nii.gz
+seeds_to_11174.nii.gz
+seeds_to_11175.nii.gz
+seeds_to_to_precentral1.nii.gz
+seeds_to_to_precentral2.nii.gz
+seeds_to_to_precentral3.nii.gz
+seeds_to_to_precentral4.nii.gz
+seeds_to_to_precentral5.nii.gz
+seeds_to_to_postcentral1.nii.gz
+seeds_to_to_postcentral2.nii.gz
+seeds_to_to_postcentral3.nii.gz
+seeds_to_to_postcentral4.nii.gz
+seeds_to_to_postcentral5.nii.gz
+seeds_to_ar1.nii.gz
+seeds_to_ar2.nii.gz
+seeds_to_ar3.nii.gz
+seeds_to_ar4.nii.gz
+seeds_to_ar5.nii.gz
+seeds_to_or1.nii.gz
+seeds_to_or2.nii.gz
+seeds_to_or3.nii.gz
+seeds_to_or4.nii.gz
+seeds_to_or5.nii.gz
+seeds_to_or6.nii.gz
+seeds_to_str1.nii.gz
+seeds_to_str2.nii.gz
+seeds_to_str3.nii.gz
+seeds_to_str4.nii.gz
+seeds_to_str5.nii.gz
+seeds_to_str6.nii.gz
+seeds_to_atr1.nii.gz
+seeds_to_atr2.nii.gz
+seeds_to_atr3.nii.gz
+seeds_to_atr4.nii.gz
+seeds_to_atr5.nii.gz
+seeds_to_atr6.nii.gz
+seeds_to_scpct1.nii.gz
+seeds_to_scpct2.nii.gz
+seeds_to_scpct3.nii.gz
+seeds_to_SCPCT_brainstem_60.nii.gz
+seeds_to_contra_cerebellum_wm.nii.gz
diff --git a/tests/test_data/models/tmp_model.pth b/tests/test_data/models/tmp_model.pth
new file mode 100644
index 0000000000000000000000000000000000000000..bd9e87afd684ab725530f512f0e3b3daf82d36f7
Binary files /dev/null and b/tests/test_data/models/tmp_model.pth differ
diff --git a/tests/test_data/models/vim_spatial_model.pth b/tests/test_data/models/vim_spatial_model.pth
new file mode 100644
index 0000000000000000000000000000000000000000..c8458989d107dc36e365e89bbbc7de5922929cc2
Binary files /dev/null and b/tests/test_data/models/vim_spatial_model.pth differ
diff --git a/tests/test_predict.py b/tests/test_predict.py
index e6e3dcd747113f8eea495b0be85bd03f29fb83f8..7b9da9d517b7c1cf815f8e8b6bdd100cca64027b 100644
--- a/tests/test_predict.py
+++ b/tests/test_predict.py
@@ -18,19 +18,25 @@ batches = [load_data(subject=os.path.join(f'{path_to_data}',subject),
                       target_path='streamlines/left', 
                       target_list=target_list, power=[1, 2], gamma=[0, 0.1]) for subject in subjects]
 
+
+def test_apply_model():
+    m = train(ShuffledDataLoader([batches[0], batches[1]]), 
+              ShuffledDataLoader([batches[2]]), n_epochs=5, spatial_model=False)
+    predictions = apply_model([X for (X, y) in batches], m)
+    for prediction, batch in zip(predictions, batches):
+        assert prediction.shape == batch[1].shape
+
     
 def test_apply_pretrained_model():
+    model_save_path = os.path.join(f'{path_to_data}', 'models', 'tmp_model.pth')
+    m = train(ShuffledDataLoader([batches[0], batches[1]]), 
+              ShuffledDataLoader([batches[2]]), n_epochs=5, spatial_model=False,
+              model_save_path=model_save_path)
     predictions = apply_pretrained_model(
         [X for (X, y) in batches], 
-        os.path.join(f'{path_to_data}', 'models', 'tmp_model.pth')
+        os.path.join(f'{path_to_data}', 'models', 'tmp_model.pth'),
+        spatial_model=False
         )
     for prediction, batch in zip(predictions, batches):
         assert prediction.shape == batch[1].shape
-        
-def test_train():
-    m = train(ShuffledDataLoader([batches[0], batches[1]]), 
-              ShuffledDataLoader([batches[2]]), n_epochs=5, 
-              model_save_path=os.path.join(f'{path_to_data}', 'models', 'tmp_model.pth'))
-    predictions = apply_model([X for (X, y) in batches], m)
-    for prediction, batch in zip(predictions, batches):
-        assert prediction.shape == batch[1].shape
\ No newline at end of file
+    os.remove(model_save_path)
\ No newline at end of file
diff --git a/tests/test_scripts.py b/tests/test_scripts.py
index f76dc40f0b86b34ccd7122a301f2628bf05f8dcd..beea4cf53f78d6a317bd1e4d6e7995a79ce5f972 100644
--- a/tests/test_scripts.py
+++ b/tests/test_scripts.py
@@ -1,6 +1,7 @@
 import pytest
 from unittest.mock import patch
-from localise.scripts.localise import parse_arguments
+from localise.args import parse_arguments
+from localise.utils import create_masks, create_tracts, connectivity_driven
 
 def test_parse_arguments():
 
@@ -56,3 +57,94 @@ def test_parse_arguments():
     with pytest.raises(SystemExit):
         with patch('argparse._sys.argv', ['localise']):
             args = parse_arguments()
+
+
+def test_create_masks():
+    # Mocking the environment variable
+    with patch.dict('os.environ', {'FSLDIR': 'some_value'}):
+        # Mocking the os.path.isfile function to always return True
+        with patch('os.path.isfile', return_value=True):
+            # Mocking the subprocess.run function to do nothing
+            with patch('subprocess.run') as mock_subprocess:
+                ref = "some_ref_path"
+                warp = "some_warp_path"
+                create_masks(ref, warp)
+                mock_subprocess.assert_called_once()
+
+    # Testing for missing FSLDIR environment variable
+    with patch.dict('os.environ', {}, clear=True):
+        with pytest.raises(ValueError, match="FSLDIR environment variable does not exist."):
+            create_masks("some_ref_path", "some_warp_path")
+
+    # Testing for missing ref file
+    with patch.dict('os.environ', {'FSLDIR': 'some_value'}):
+        with patch('os.path.isfile', side_effect=[False, True]):
+            with pytest.raises(ValueError, match=f"{ref} does not exist."):
+                create_masks(ref, warp)
+
+    # Testing for missing warp file
+    with patch.dict('os.environ', {'FSLDIR': 'some_value'}):
+        with patch('os.path.isfile', side_effect=[True, False]):
+            with pytest.raises(ValueError, match=f"{warp} does not exist."):
+                create_masks(ref, warp)
+                
+            
+def test_create_tracts():
+    # Mocking the environment variable
+    with patch.dict('os.environ', {'FSLDIR': 'some_value'}):
+        # Mocking the os.path.isdir function to always return True
+        with patch('os.path.isdir', return_value=True):
+            # Mocking the subprocess.run function to do nothing
+            with patch('subprocess.run') as mock_subprocess:
+                samples_dir = "some_samples_dir_path"
+                input_dir = "some_input_dir_path"
+                create_tracts(samples_dir, input_dir)
+                mock_subprocess.assert_called_once()
+
+    # Testing for missing FSLDIR environment variable
+    with patch.dict('os.environ', {}, clear=True):
+        with pytest.raises(ValueError, match="FSLDIR environment variable is missing."):
+            create_tracts(samples_dir, input_dir)
+
+    # Testing for missing samples_dir
+    with patch.dict('os.environ', {'FSLDIR': 'some_value'}):
+        with patch('os.path.isdir', side_effect=[False, True]):
+            with pytest.raises(ValueError, match=f"Directory '{samples_dir}' is missing."):
+                create_tracts(samples_dir, input_dir)
+
+    # Testing for missing input_dir
+    with patch.dict('os.environ', {'FSLDIR': 'some_value'}):
+        with patch('os.path.isdir', side_effect=[True, False]):
+            with pytest.raises(ValueError, match=f"Directory '{input_dir}' is missing."):
+                create_tracts(samples_dir, input_dir)
+                
+
+def test_connectivity_driven():
+    # Mocking the environment variable
+    with patch.dict('os.environ', {'FSLDIR': 'some_value'}):
+        # Mocking the os.path.isfile function to always return True
+        with patch('os.path.isfile', return_value=True):
+            # Mocking the subprocess.run function to do nothing
+            with patch('subprocess.run') as mock_subprocess:
+                target1 = "some_target1_path"
+                target2 = "some_target2_path"
+                out = "some_out_path"
+                connectivity_driven(target1, target2, out)
+                mock_subprocess.assert_called_once()
+
+    # Testing for missing FSLDIR environment variable
+    with patch.dict('os.environ', {}, clear=True):
+        with pytest.raises(ValueError, match="FSLDIR environment variable is missing."):
+            connectivity_driven(target1, target2, out)
+
+    # Testing for missing target1 file
+    with patch.dict('os.environ', {'FSLDIR': 'some_value'}):
+        with patch('os.path.isfile', side_effect=[False, True]):
+            with pytest.raises(ValueError, match=f"{target1} does not exist."):
+                connectivity_driven(target1, target2, out)
+
+    # Testing for missing target2 file
+    with patch.dict('os.environ', {'FSLDIR': 'some_value'}):
+        with patch('os.path.isfile', side_effect=[True, False]):
+            with pytest.raises(ValueError, match=f"{target2} does not exist."):
+                connectivity_driven(target1, target2, out)
\ No newline at end of file
diff --git a/tests/test_train.py b/tests/test_train.py
index 4c738400c15a79190e2c41bcfc4e307e744ce664..112ac2d790acd82af9ef7e811bd14b74b7f7b235 100644
--- a/tests/test_train.py
+++ b/tests/test_train.py
@@ -40,12 +40,12 @@ def test_train():
 
     
 def test_train_without_val():
-    m = train_without_val(ShuffledDataLoader(batches), n_epochs=5, 
+    m = train_without_val(ShuffledDataLoader(batches), n_epochs=5, model="MLP",
                           model_save_path=os.path.join(f'{path_to_data}', 'models', 'tmp_model.pth'))
     assert isinstance(m, FlexibleClassifier)
 
 
 def test_train_with_val():
-    m = train_with_val(ShuffledDataLoader(batches), n_epochs=5, 
+    m = train_with_val(ShuffledDataLoader(batches), n_epochs=5, model="MLP",
                           model_save_path=os.path.join(f'{path_to_data}', 'models', 'tmp_model.pth'))
     assert isinstance(m, FlexibleClassifier)
\ No newline at end of file
diff --git a/tests/test_utils.py b/tests/test_utils.py
index f90714895f448aff3612404202ac562f7e5b80d7..04976a90569755500ed02f5613c5a2be2a41fb7d 100644
--- a/tests/test_utils.py
+++ b/tests/test_utils.py
@@ -1,8 +1,12 @@
 import os, pytest
 import numpy as np
-from localise.utils import save_nifti, get_subjects
+import subprocess
+from localise.utils import save_nifti, save_nifti_4D, get_subjects
+from localise.utils import predict_mode, train_mode
+from localise.utils import run_command
 from pathlib import Path
 import nibabel as nib
+from unittest.mock import patch
 
 
 path_to_data = Path(__file__).parent / 'test_data'
@@ -20,6 +24,22 @@ def test_save_nifti():
     assert np.allclose(saved_data[mask_data != 0], vectors, atol=1e-6, rtol=1e-5)
 
 
+def test_save_nifti_4D():
+    subject = '100610'
+    mask = os.path.join(path_to_data, subject, 'roi', 'left', 'tha.nii.gz')
+    mask_data = nib.load(mask).get_fdata()
+    output_fname = os.path.join(path_to_data, subject, 'saved_file.nii.gz')
+
+    vectors = np.random.randn(np.count_nonzero(mask_data), 2)
+    save_nifti_4D(vectors, mask, output_fname)
+    
+    saved_data = nib.load(output_fname).get_fdata()
+    assert saved_data.shape[-1] == 2
+    for k in range(2):
+        saved_data_slice = saved_data[:, :, :, k]
+        assert np.allclose(saved_data_slice[mask_data != 0], vectors[:, k], atol=1e-6, rtol=1e-5)
+
+
 def test_get_subjects(tmp_path):
     # Test with file
     d = tmp_path / "subdir"
@@ -36,4 +56,72 @@ def test_get_subjects(tmp_path):
 
     # Test with invalid path
     with pytest.raises(ValueError):
-        get_subjects(str(tmp_path / "nonexistent"))
\ No newline at end of file
+        get_subjects(str(tmp_path / "nonexistent"))
+
+
+def test_predict_mode():
+    subject = f'{path_to_data}/100206'
+    mask = 'roi/left/tha_small.nii.gz'
+    target_path = 'streamlines/left'
+    target_list = f'{path_to_data}/models/targets_list113_left.txt'
+    atlas = 'roi/left/atlas.nii.gz'
+    out = 'roi/left/prediction.nii.gz'
+    model = f'{path_to_data}/models/vim_spatial_model.pth'
+
+    predict_mode(subject=subject, mask=mask, target_path=target_path, 
+                 target_list=target_list,atlas=atlas,out=out,model=model)
+    assert os.path.isfile(os.path.join(subject, out))
+    os.remove(os.path.join(subject, out))
+
+    predict_mode(subject=subject, mask=mask, structure='vim', target_path=target_path, 
+                 atlas=atlas, out=out, data_type='single32')
+    assert os.path.isfile(os.path.join(subject, out))
+    os.remove(os.path.join(subject, out))
+    
+    with pytest.raises(ValueError):
+        predict_mode(subject=subject, mask=mask, target_path=target_path, 
+                     atlas=atlas, out=out)
+        
+    with pytest.raises(ValueError):
+        predict_mode(subject=subject, mask=mask, structure='vim', target_path=target_path, 
+                     atlas=atlas, out=out)
+        
+    predict_mode(subject=subject, mask=mask, structure='vim', target_path=target_path, 
+                 target_list=target_list, atlas=atlas, out=out, data_type='single32')
+
+    assert os.path.isfile(os.path.join(subject, out))
+    os.remove(os.path.join(subject, out))
+
+    predict_mode(subject=subject, mask=mask, data='streamlines/left/X113_small_1mm.npy', 
+                 structure='vim', spatial=False,
+                 atlas=atlas, out=out, data_type='single32')
+
+    assert os.path.isfile(os.path.join(subject, out))
+    os.remove(os.path.join(subject, out))
+
+def test_train_mode():
+    subject = f'{path_to_data}/100206'
+    mask = 'roi/left/tha_small.nii.gz'
+    label = 'high-quality-labels/left/labels.nii.gz'
+    target_path = 'streamlines/left'
+    target_list = f'{path_to_data}/models/targets_list113_left.txt'
+    atlas = 'roi/left/atlas.nii.gz'
+    out_model = f'{path_to_data}/models/test_model.pth'
+
+    train_mode(subject=subject, mask=mask, label=label, target_path=target_path, 
+               target_list=target_list, atlas=atlas, out_model=out_model)
+    
+    assert os.path.isfile(out_model)
+    os.remove(out_model)
+    
+def test_run_command():
+    # Test successful command execution
+    with patch('subprocess.run') as mock_run:
+        run_command(['echo', 'hello'])
+        mock_run.assert_called_once_with(['echo', 'hello'], check=True)
+
+    # Test unsuccessful command execution
+    with patch('subprocess.run', side_effect=subprocess.CalledProcessError(1, 'bad_cmd')) as mock_run:
+        run_command(['bad_cmd'])
+        mock_run.assert_called_once_with(['bad_cmd'], check=True)
+    
\ No newline at end of file