Sampo project - Reflex - Documents

The ESO Recipe Flexible Execution Workbench

The concept

The ESO Reflex application provides a new approach to astronomical data reduction. The innovative integration of a modern graphical user interface and field-proven legacy data reduction algorithms gives the astronomer the best of both worlds: ease of use combined with accurate scientific results.


Much of the raw data produced by ESO instruments is reduced using CPL recipes. The CPL recipes are C programs following an ESO standard and utilizing routines provided by the Common Pipeline Library (CPL). Each of these recipes performs a single task in the reduction process. Until the introduction of ESO Reflex the recipes were run one at a time using a command line application EsoRex or a GUI-based application Gasgano.

The Workflow Approach

ESO Reflex is based on the state-of-the-art graphical workflow engine Taverna. It allows the user to define and execute a sequence of recipes using an easy and flexible GUI. Instead of running the recipes one at a time, a sequence of recipes can be run as a workflow where the output of a recipe is used as an input to another recipe.

Reflex main window
The main window of ESO Reflex

The workflow defines the pipeline from raw data to reduced data. The user can either use the application to execute standard workflows provided by ESO or define workflows of his/her own. The standard workflows can also be easily modified to suit any particular needs the user might have. For example, extra visualisation steps or user-programmed scripts can be added to the processing flow. The workflow can also execute in parallel for more efficient computing on multi-processor or multi-core systems.

Reflex workflow execution
Workflow execution in progress

ESO Reflex allows the user to execute the workflow either automatically or one step at a time. When running the workflow in a step-by-step manner the user can make changes to the input data or parameters during the execution.

The data classification functionality offered by ESO Reflex helps the user to select the right data for input, which also reduces the likelihood of errors. ESO Reflex also detects errors that occur during the execution of the recipes, and appropriate action can then be taken by the user.

Reflex data organizer
The ESO Reflex data classifier

The Taverna workflow engine design assumes that many services would be remote rather than local and, as a result, it has comprehensive built-in support for web services. Future plans for Reflex include experiments that will use these facilities to access virtual observatory services from workflows.

Technical Details

The ESO Reflex application is programmed in Java (version 1.5). The workflow creation and execution functionality is offered by Taverna, and some FITS file classification functionality is offered by Gasgano. ESO Reflex uses either JNI or EsoRex to execute the CPL Recipes.

Reflex overview
Architectural view

Supported platforms are all platforms that can run CPL Recipes, EsoRex and Gasgano. At the moment Linux has been tested.

Valid HTML 4.0 Transitional