Scipp: multi-dimensional arrays with labeled dimensions and physical units
- 30 minutes
Inspired by Xarray, Scipp (scipp.github.io) enriches raw NumPy-like multi-dimensional data arrays by adding named dimensions and associated coordinates. For an even more intuitive and less error-prone user experience, Scipp adds physical units to arrays and their coordinates. Scipp data arrays additionally support a dictionary of masks, as well as histogram bin-edge coordinates.
One of Scipp's key features is the possibility of using multi-dimensional non-destructive binning to sort record-based "tabular"/"event" data into arrays of bins. This provides fast and flexible binning, rebinning, and filtering operations, all while preserving the original individual records.
Scipp ships with data display and visualization features for Jupyter notebooks, including a powerful plotting interface. Named Plopp, this tool uses a graph of connected nodes to provide interactivity between multiple plots and widgets, requiring only a few lines of code from the user.
This presentation will be in the form of a live demo of the Scipp package in Jupyter.
Scipp is an open-source project developed by the European Spallation Source under the BSD-3 licence.
It is a Python library built around a C++ core, which uses TBB for multi-threading, providing good out-of-the-box performance.
It is installable on Linux, Mac and Windows via
conda, and the documentation is hosted at https://scipp.github.io .
The source code can be found at https://github.com/scipp .
Co-authors (but not co-speakers): Simon Heybrock, Jan-Lukas Wynen, Sunyoung Yoo.