Biomedical Imaging workflows


Scientific researchers working on biomedical imaging are used to develop their own filters for processing the data. Each filter can be configured using a set of parameters. When composing several filters in a pipeline, the configuration of the execution pipeline and the parameters is difficult to manage.

A new approach for composition and execution of biomedical workflows is presented. Taverna Workbench is used as a scientific workflow composition tool and execution engine. GIMIAS is the intermediate layer that executes the requested workflow components providing a web services interface. ITK is used at the bottom layer for processing the data using the already available filters. However, other processing libraries like VTK, Netgen or VMTK can be used together at the bottom layer.

This approach has been successfully tested in a concrete complex workflow for anatomical atlas generation of the heart. The workflow has been tested using GIMIAS-1.5 (open source) with an input set of 10 patient CT images of the heart.

You can see a complete video showing this feature here.



Anatomical atlas generation workflow

This workflow computes an anatomical atlas based on a set of patient images using registration methods. The workflow is automatic and does not require user interaction. The computed anatomical atlas is composed of a mean image and the set of transformation registrations for each patient between the mean image and the patient image. The atlas can be used to segment the mean image once and propagate the segmentation results to each patient image automatically.


Taverna Workbench

Taverna Workbench provides the following features:



GIMIAS provides the set of components that are used by Taverna to compose the workflow. The filters are provided using web service methodology. The web services are deployed using the GIMIAS Web Services plugin. The WSDL of the service is generated automatically from an XML that defines the inputs/outputs and parameters.

The simplest method to deploy a web service in GIMIAS is using a command line plugin (CLP). A command line plugin is a small processing component that takes some input data and produces some output data. One or several filters can be combined in a CLP. The main benefits of a CLP are:

As an example, you can take a look at the Gaussian Blur Image filter.

The main features of GIMIAS for this approach are:



ITK provides a set of image processing filters that can be combined to create complex workflows. In this example, several registration filters are used for the computation of anatomical atlas



One strategy for execution of a workflow is to use a scripting language like Perl. The developer uses system calls to execute the applications and set the correct parameters and input/output file names for each step of the workflow. This strategy is difficult to handle, modify and share when creating complex workflows.


Anatomical atlas generation workflow in Taverna

The workflow is publicly available in myExperiment:

The first layer of the workflow is the main loop that iterates over the entire processing pipeline. The number of iterations can be configured in Taverna. The inputs are the:


The second layer is divided into two parts:


The Pairwise registration is composed of 5 steps:


Finally, the mean is composed of 7 steps:


Workflow Composition

All required command line plugins (CLP) are loaded in GIMIAS. WebServices plugin is started and all CLP are deployed as web services. From Taverna, the WSDL address of the local machine is introduced and the user can start composing the workflow.

Workflow Execution

When Taverna executes the workflow, several web services requests are send in parallel to GIMIAS. When a request is received, the SOAP message is translated to a command line call. Once the execution of the command line is finished, the request response is sent back to Taverna.


Several executions have been launched with and without parallel execution.


Conclusions and future work

An approach for composition and execution of biomedical imaging workflows is being proposed, showing a concrete example of this approach for a complex workflow. The workflow contains loops, conditional branches, parallel executions and batch processing. This approach presents advantages compared to the use of scripting and empowers reusability and sharing of workflows.

This is the list of issues that we plan to work for the future:


This work has been made possible thanks to the projects cvREMOD and VPHShare.