||The High Level Data Reduction Library
||495, Astronomical Data Analysis Software and Systems XXIV (ADASS XXIV)
||Ballester, P.; Gabasch, A.; Jung, Y.; Modigliani, A.; Taylor, J.; Coccato, L.; Freudling, W.; Neeser, M.; Marchetti, E.
||The European Southern Observatory (ESO) provides pipelines to reduce data for
most of the instruments at its Very Large telescope (VLT).
These pipelines are written as part of the development
of VLT instruments, and are used both in the ESO's operational
environment and by science users who receive VLT data. All the pipelines are
highly specific geared toward instruments. However, experience showed that the
independently developed pipelines include significant overlap, duplication and
slight variations of similar algorithms. In order to reduce the cost of
development, verification and maintenance of ESO pipelines, and at the same
time improve the scientific quality of pipelines data products, ESO decided to
develop a limited set of versatile high-level scientific functions that are to
be used in all future pipelines. The routines are provided by the High-level
Data Reduction Library (HDRL). To reach this goal, we first compare several
candidate algorithms and verify them during a prototype phase using data sets
from several instruments.
Once the best algorithm and error model have been chosen, we start a
design and implementation phase. The coding of HDRL is done in plain C
and using the Common Pipeline Library (CPL) functionality. HDRL adopts
consistent function naming conventions and a well defined API to
minimise future maintenance costs, implements error propagation, uses
pixel quality information, employs OpenMP to take advantage of
multi-core processors, and is verified with extensive unit and
regression tests. This poster describes the status of the project and
the lesson learned during the development of reusable code implementing
algorithms of high scientific quality.