Introduction

In this documentation, you will find step-by-step instructions on setting up the package, detailed descriptions of its components, and all necessary information to fully leverage its functionalities.

Given the abundance of image processing software available, it is essential to clearly define the motivations behind piva, as well as its capabilities and limitations. This will provide users with a comprehensive overview of the package, highlighting the aspects that may be beneficial for their research or work.

What is piva

piva is a GUI application based on the PyQt5 and pyqtgraph toolkits, designed for the interactive and intuitive exploration of large image-like datasets. While it can generally display any multidimensional data, most of its functionalities are tailored for users performing Angle-Resolved Photoemission Spectroscopy (ARPES) experiments.

Graphical Interface and Interactive Viewers

The showcase video presented below offers a demonstration of the GUI’s layout and overall user experience, while also highlighting its core functionalities and key features in action.




The package allows for live investigation of various datasets individually, as well as linking separate datasets for simultaneous browsing. Interactive sliders enable the display of multidimensional data across all available directions (see DataViewers). In addition to numerous image processing methods, PIVA can represent ARPES images in momentum space and apply corrections specific to the experimental conditions under which the data were acquired.

Several utilities are particularly useful during the experimental phase, such as automated methods for finding the highest symmetry points, azimuthal rotation, and autogenerated experimental notebooks implemented for various beamlines at synchrotron sources worldwide.

The Fitters and PlotTool applications offer additional functionalities for detailed analysis and personalized representation of acquired results.

Data Format Standardization

Moreover, piva translates raw data into a standardized Dataset object, addressing the issue of diverse data formats within the ARPES community. The Dataset can be easily used outside of piva by simply importing the data_loaders.py module.

Analysis Tools

Unlike other experimental techniques, discrepancies in ARPES results between different physical systems necessitate the implementation of unique analysis methods for nearly every investigated system. To address this, piva includes a generic toolkit for handling photoemission results that can be further tailored to meet specific user needs. Additionally, it offers straightforward tools for exporting loaded datasets and opening them with a jupyter-lab notebook for more sophisticated analysis requiring hands-on scripting.

Custom Add-ons

The architecture of the piva package is designed with modularity in mind, providing users with a convenient platform for implementing custom data loaders and other plugins. Detailed descriptions and examples of configuring new modules can be found in this documentation.


In summary, piva provides an efficient, intuitive GUI application for examining multiple datasets and includes a platform for importing data into a convenient format. It is based on python and jupyter-lab environments, allowing users to easily conduct detailed analyses of their acquired data.