Skip to content

User_guide_create_execute_pipeline

blemasso edited this page Aug 13, 2020 · 13 revisions

How to create a pipeline and execute it ?

Check out our video tutorial here : https://youtu.be/QOULzRsrzzg

This page use data available at: https://github.com/nifm-gin/Data_Test_MP3

We provide a Graphical User Interface (GUI) dedicated to creation, management and execution of pipelines. This GUI can be launched with the Pipeline Manager push button, on the top right of the viewer.

Procedure to create a pipeline (a sequence of modules):

  • 1/ Select the data on which apply a pipeline
  • 2/ Select a module among the ones available
  • 3/ Parameter the module
  • 4/ Add the module to the pipeline
  • 5/ Repeat the steps 2 --> 4 if needed

1: Select the data

The database on the top left corner. Each scan has a color depending on its nature.

  • Blue : Raw scans, resulting from an importation
  • Pink : ROIs
  • Green : Derived scans, resulting from a MP3 pipeline execution.
  • Yellow : Virtual scans, that don't exist yet but that will be created after the execution of the current pipeline.

The listing menus on the left allows to filter the database. For instance, select 'Patient' above the button add displays all the different Patients of the database. Selecting one or more of these values and click on 'Add' filters the database by displaying only the scans belonging to the patient(s) selected. Once the data on which apply the pipeline is correctly filtered, one can select a module.

2: Select a module

Click on the listbox under the database to open the list of all available modules. They are sorted by categories depending on their behavior. Click on a module name will fill up the tables below with its description and parameters.

Some modules are furnished with the MP3 source code, others are available on https://github.com/nifm-gin/MP3_User_Modules_Repository. To create a new module, see Create a new module

3: Parameter the module

Click on each line displays on the bottom the values available to fill the parameters. It can be scalar, character, or an input depending on the database selected before (scan, ROI,...).

4: Add the module to the pipeline

Click on the push button Add module to a pipeline. The name of the module appears under the push button. This list contains all the modules of the current pipeline. On the right, the Jobs Explorator lists all the jobs belonging to a module. A job is an instance of a module. For example, if I design a module Smooth on an image called Image_to_smooth and if there are 3 scans Image_to_smooth in my database, the application of this module on my database creates 3 jobs. The others lists of the Jobs Explorator displays the different parameters of each job.

After adding a module to a pipeline, yellow lines appear on the database. Those lines represent the output files of the jobs of the pipeline. One call them 'virtual' because they don't exist yet, but as the output of unexecuted jobs, they can be set as inputs for others modules of the pipeline.

5: Repeat

One can repeat the operation and add another module to the current pipeline.

Save / Load

After a pipeline is designed, one can save it by clicking on Save. The pipeline is saved as a .mat file. One can also load a pipeline thanks to the Load button.

Execute

There are 2 ways to execute a MP3 pipeline.

  • In a Single Loop (ie in a basic 'for' loop) : Simplest way to execute a pipeline. All jobs are executed successively. Useful for small pipelines, or for development issues.
  • Using a pipeline execution system called PSOM (The Pipeline System for Octave and Matlab, Bellec P., Frontiers in neuroinformatics, 2012) that wisely distributes the jobs of a pipeline upon several cores.