Back to Search Start Over

Scipp: Scientific data handling with labeled multi-dimensional arrays for C++ and Python.

Authors :
Heybrock, Simon
Arnold, Owen
Gudich, Igor
Nixon, Daniel
Vaytet, Neil
Herwig, Kenneth W.
Iverson, Erik B.
Source :
Journal of Neutron Research; 2020, Vol. 22 Issue 2/3, p169-181, 13p
Publication Year :
2020

Abstract

scipp is heavily inspired by the Python library xarray. It enriches raw NumPy-like multi-dimensional arrays of data by adding named dimensions and associated coordinates. Multiple arrays are combined into datasets. On top of this, scipp introduces (i) implicit handling of physical units, (ii) implicit propagation of uncertainties, (iii) support for histograms, i.e., bin-edge coordinate axes, which exceed the data's dimension extent by one, and (iv) support for event data. In conjunction these features enable a more natural and more concise user experience. The combination of named dimensions, coordinates, and units helps to drastically reduce the risk for programming errors. The core of scipp is written in C++ to open opportunities for performance improvements that a Python-based solution would not allow for. On top of the C++ core, scipp's Python components provide functionality for plotting and content representations, e.g., for use in Jupyter Notebooks. While none of scipp's concepts in isolation is novel per-se, we are not aware of any project combining all of these aspects in a single coherent software package. [ABSTRACT FROM AUTHOR]

Details

Language :
English
ISSN :
10238166
Volume :
22
Issue :
2/3
Database :
Complementary Index
Journal :
Journal of Neutron Research
Publication Type :
Academic Journal
Accession number :
146528788
Full Text :
https://doi.org/10.3233/JNR-190131