Benchmarking of C++ image processing libraries within the Euclid project
2017 (English)Independent thesis Advanced level (degree of Master (Two Years)), 20 credits / 30 HE credits
Student thesis
Abstract [en]
In this report, the issue of selecting a C++ image processing library for the Euclid science ground segment (SGS) is tackled. A new benchmark is proposed to objectively compare libraries according to both static, development-related, and dynamic, execution-related criteria.
Instead of comparing isolated functions, a much more realistic scenario is implemented: a complete processing pipeline based on a use-case algorithm, called L.A. cosmic. Already existing in the SGS and used multiple times for the flagging of galactic cosmic rays (GCRs), this algorithm is the optimal choice for setting up the benchmark. This makes the results much more usable than with classical single- function benchmarks.
First, the used tools as well as both categories are explained with their respective criteria listed, all tailored to the needs of the SGS. This also introduces the statistical profiling used throughout the project. Additionally, a scientific validation is introduced that monitors the accuracy of the implementations created.
Afterwards, the benchmark is conducted and the results are presented and discussed. Indeed, including static criteria helps taking into account development and debugging time – key elements of the project life. Moreover, most library contenders are lacking important functions required for the implementation of the reference algorithm and are therefore excluded from further measurements. Documenting the missing or unclear functions gives then an overview about how user-friendly a library is to develop with.
The scientific validation depicts that a missing function in one of the contenders and the resulting deviation from the reference results in a lower accuracy. Leaving out the problematic part of the pipeline improves the results, yet only with a higher amount of stars being misinterpreted as GCRs.
The dynamic criteria report that all contenders perform better than a python reference version as well as a consistent linear dependency to the input image size, while also offering an approach to multi-core processing. Yet, the latter exhibits problems of some libraries to scale appropriately with more resources, leaving the results divided between the single- and multi-core setups for this benchmark.
When taking this parameter of cores into account, the benchmark allows to recommend the most appropriate library to the SGS.
Place, publisher, year, edition, pages
2017. , p. 50
Keywords [en]
C++, Euclid, benchmark, image processing
National Category
Computer Systems
Identifiers
URN: urn:nbn:se:ltu:diva-66177OAI: oai:DiVA.org:ltu-66177DiVA, id: diva2:1150172
External cooperation
CNES, Toulouse
Subject / course
Student thesis, at least 30 credits
Educational program
Space Engineering, master's level (120 credits)
Examiners
2017-10-202017-10-182017-10-20Bibliographically approved