Home
Name Modified Size InfoDownloads / Week
script_blocks.sh 2013-11-08 2.9 kB
README 2013-11-08 3.0 kB
recon-all-tunning 2013-11-07 223.6 kB
scheduler.c 2013-11-07 6.4 kB
Totals: 4 Items   235.9 kB 0
#################################################################
README - FreeSurfer Scheduler 

v.1.0

Date: Barcelona, October 2013

#################################################################

This is a scheduler for the Freesurfer MRI workflow execution using the
combination of the CPU and GPU capabilities using the last versions
of FreeSurfer. The scheduler was implemented by INNDACYT (Asociación para la 
Innovación en Análisis, Gestión y Procesamiento de Datos Científicos y Tecnológicos )
in colaboration with Port d'Informació Científica (www.pic.es) and the Computer 
Architecture & Operating Systems Department (CAOS) of the Universitat Autònoma 
de Barcelona (www.caos.uab.es). 

The work related to this software can be found in the paper called "Improving 
the execution performance of FreeSurfer:A new scheduled pipeline scheme for 
optimizing the use of CPU and GPU resources" J. Delgado, J.C. Moure, 
Y. Vives-Gilabert, M. Delfino, A. Espinosa, B. Gómez-Ansón published by [...]

This software is provided in agreement with the terms and conditions for use, 
reproduction, distribution and contribution found in the 'FreeSurfer 
Software License Agreement' contained in the file 'LICENSE' found in the 
FreeSurfer distribution, and here:

https://surfer.nmr.mgh.harvard.edu/fswiki/FreeSurferSoftwareLicense

The FreeSurfer Workflow Scheduler is provided without any warranty.


Please, read all these notes before to start using the scheduler.

0. File Description
-------------------

scheduler.c - Is the source code of the scheduler.

script_blocks.sh - This is a "script-in-the-middle" used to perform the 
executions of the defined blocks of the input workflow.

recon-all-tunning - This is a version of the recon-all script provided in 
FreeSurfer distributions, with a minor addings, grouping the steps of 
recon-all in a blocks, acording to the script_block.sh script.

1. Compiling the Scheduler code
-------------------------------

The file scheduler.c is the source code of the scheduler. It has to be
compiled as is:

gcc scheduler.c -Wall -o scheduler.out

2. Installing the scheduler
---------------------------

To install the scheduler, create a folder in your home and copy the compiled
version of the scheduler. Also copy the script_blocks.sh into the same path
as the scheduler.

Copy into your freesurfer/bin path the recon-all-tunning file.

Finally you should change the environment parameters of the script_blocks.sh
file according to your FreeSurfer local installation and input MRIs.

export FREESURFER_HOME=/path/to/your/freesurfer
source $FREESURFER_HOME/SetUpFreeSurfer.sh
export SUBJECTS_DIR=/output/path

3. Usage
--------

The scheduler has an input parameter (nsubj) to define the concurrent Subjects that
can be processed at the same time. This value should ve dimensioned according
on your hardware capabilites.

To execute the scheduler you should write in your folder:

./scheduler.out -nsubj <value> "SUBJECT1" "SUBJECT2" ... "SUBJECTN" 






Source: README, updated 2013-11-08