Event Abstract

CARMIN: a common web API for remote pipeline execution

  • 1 University of Lyon, CNRS, INSERM, CREATIS, France
  • 2 McConnell Brain Imaging Centre, Montreal Neurological Institute, McGill University, Canada
  • 3 DSV / I2BM / UNATI, CEA-EA, France
  • 4 Inria, VISAGES project-team, France
  • 5 INSERM, UMR 1101 LaTIM, CHU Morvan, France

Introduction Web platforms are changing the practice of neuroinformatics by enabling transparent, remote access to computing infrastructures (clusters, grids, and clouds) and to federated databases. However, their interfaces sometimes lack documentation and they remain non uniform, which is detrimental to wider adoption and sustainability. We describe the on-going efforts of the France Life-Imaging national infrastructure [1] to define CARMIN (Common API for Research Medical Imaging Network), a common API for pipeline execution on the web that will allow a greater integration between image data repositories and image processing workflows for both Push and Pull data streams. API concepts Our API manipulates objects that contain mandatory or optional attributes and functions. Function calls return a response envelope containing the status code returned by the function (0 in case of success), an optional message, and possibly the object returned by the function. The API is modular so that platforms may support only consistent functionality subsets, defined by a list of objects. Object functions referring to objects of a different module must be optional. Platforms advertise their list of supported modules and other presets through a GlobalProperties object. API definition Our API currently manipulates the following objects that are part of a Processing module: (1) Pipeline describes the input and output parameters of a pipeline, the pipeline name and version, and optional error codes and messages associated to the pipeline. Pipelines have two functions allowing to get the attributes of a specific pipeline, and to list pipelines available in the platform. (2) PipelineParameter defines the input and output of a pipeline. It has a name, a type (File, String, Boolean, Int64, Double, or List), and two booleans that specify whether the parameter is optional, and whether it is an input or an output. It may also have a default value and a description. (3) Execution is the object associated to a pipeline execution. It has a name, a status (Initializing, Ready, Running, Finished, InitializationFailed, ExecutionFailed, Unknown,or Killed), a timeout after which the execution is killed, a list of input values associated to pipeline parameters, and a list of returned values. An execution may also contain an error code, standard output and error, and a start and end date. Executions functions include get, update, init, play (launch), kill, delete, and getResults. Authentication Two authentication functions are available but only one of them must be supported by the platforms. authenticateHTTP implements basic HTTP authentication, i.e. the user name and password are passed in the HTTP header. authenticateSession works at a higher level, i.e. it leave it up to the platform to check the user’s credentials and set a session. Implementation The API is being implemented in the CATI [2], FLI-IAM WS, and VIP [3] execution platforms. We use SOAP Web-Services to ensure compatibility with other services in France Life-Imaging. Our API specification and on-going implementation are publicly released and available at https://github.com/fli-iam. Future work We are working on a Data module for data transfers, and on a Management module to interact with users and groups. A RESTful implementation is also under study. Furthermore, we are considering extensions to support other platforms, in particular CBRAIN [4]. We welcome any collaboration to further extend and improve this API specification.


This work is funded by the French National Agency for Research (ANR) through "France Life-Imaging".


1. France Life Imaging (Information Analysis and Management Node) [Internet]. [cited 26 May 2015]. Available: https://project.inria.fr/fli/en
2. CATI – Centre d’Acquisition et de Traitement des Images [Internet]. [cited 26 May 2015]. Available: http://cati-neuroimaging.com
3. Glatard T, Lartizien C, Gibaud B, da Silva RF, Forestier G, Cervenansky F, et al. A virtual imaging platform for multi-modality medical image simulation. IEEE Trans Med Imaging. 2013;32: 110–118.
4. Sherif T, Rioux P, Rousseau M-E, Kassis N, Beck N, Adalat R, et al. CBRAIN: a web-based, distributed computing platform for collaborative neuroimaging research. Front Neuroinform. ncbi.nlm.nih.gov; 2014;8: 54.

Keywords: API, web platform, Pipeline execution, CATI, VIP, FLI-WS

Conference: Neuroinformatics 2015, Cairns, Australia, 20 Aug - 22 Aug, 2015.

Presentation Type: Poster, to be considered for oral presentation

Topic: General neuroinformatics

Citation: Glatard T, Cointepas Y, Commowick O, Kain M, Laurent B, Leray F and Barillot C (2015). CARMIN: a common web API for remote pipeline execution. Front. Neurosci. Conference Abstract: Neuroinformatics 2015. doi: 10.3389/conf.fnins.2015.91.00053

Copyright: The abstracts in this collection have not been subject to any Frontiers peer review or checks, and are not endorsed by Frontiers. They are made available through the Frontiers publishing platform as a service to conference organizers and presenters.

The copyright in the individual abstracts is owned by the author of each abstract or his/her employer unless otherwise stated.

Each abstract, as well as the collection of abstracts, are published under a Creative Commons CC-BY 4.0 (attribution) licence (https://creativecommons.org/licenses/by/4.0/) and may thus be reproduced, translated, adapted and be the subject of derivative works provided the authors and Frontiers are attributed.

For Frontiers’ terms and conditions please see https://www.frontiersin.org/legal/terms-and-conditions.

Received: 31 May 2015; Published Online: 05 Aug 2015.

* Correspondence: Dr. Tristan Glatard, University of Lyon, CNRS, INSERM, CREATIS, Villeurbanne, France, tristan.glatard@concordia.ca