peaks: a Python package for analysis of angle-resolved photoemission and related spectroscopies
The paper introduces \texttt{peaks}, a Python package designed for the interactive visualization, efficient processing, and hierarchical analysis of large-scale angle-resolved photoemission spectroscopy (ARPES) and related spectroscopic datasets.
Original paper licensed under CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). This is an AI-generated explanation of the paper below. It is not written or endorsed by the authors. For technical accuracy, refer to the original paper. Read full disclaimer
To understand how a material conducts electricity, reflects light, or stores heat, scientists must first map the hidden pathways of its electrons. In the quantum world, electrons do not roam freely; they are confined to specific energy levels and momentum states that form a complex landscape known as the electronic band structure. This structure acts as the blueprint for a solid's behavior. For decades, researchers have used a technique called angle-resolved photoemission spectroscopy to peek inside this blueprint. By shining light on a material and measuring the energy and direction of electrons that fly off, they can reconstruct a direct picture of how electrons move and interact. As technology has advanced, this method has evolved from taking simple snapshots into capturing rich, multi-dimensional movies that track how electrons change with temperature, spin, and even time.
However, this evolution has created a new problem: the data is becoming too vast and too complex for existing tools to handle efficiently. Modern experiments generate enormous datasets that require researchers to juggle different measurement setups, coordinate systems, and file formats, often while the experiment is still running. To solve this, Phil D. C. King and his team at the University of St Andrews have developed a new software package called peaks. This tool is designed specifically to manage the unique challenges of modern spectroscopy, allowing scientists to visualize, align, and analyze these massive, multi-layered datasets without getting bogged down by technical hurdles.
The core achievement of the peaks package is its ability to treat experimental data as a flexible, living structure rather than a static file. The software is built on a foundation that allows it to load data without needing to store the entire dataset in the computer's memory at once. This means researchers can work with experiments that are larger than their computer's available storage, processing only the specific slices of data they need at any given moment. It also enables the software to split tasks across multiple processors, speeding up calculations that would otherwise take hours. By organizing data in a way that mirrors the actual hierarchy of the experiment—grouping measurements by sample, temperature, or time—the software keeps the context of the research intact, ensuring that every step of the analysis can be traced back to its origin.
One of the most significant contributions of this work is its approach to standardization. In the past, scientists using different machines or working at different facilities often had to write custom code to translate data from one format to another, a process that was prone to errors and wasted time. peaks addresses this by providing a universal framework that understands the specific conventions of various major spectrometers and experimental setups. It automatically handles the differences in how angles and units are defined across the global community, allowing a researcher to load data from a facility in Europe and analyze it alongside data from a facility in Asia using the same set of tools. This capability is crucial for "on-the-fly" analysis, where scientists must make immediate decisions about sample alignment or measurement parameters while the experiment is in progress.
The software also brings advanced visualization and fitting tools directly into the interactive environment where scientists work. Instead of generating static images, peaks offers dynamic interfaces where users can explore four-dimensional datasets, slicing through layers of data to find specific features. It includes specialized tools for extracting curves that show how electron intensity changes with energy or momentum, and it can fit mathematical models to these curves to extract precise physical values. Crucially, these fitting operations can be performed on data that is still stored on a hard drive, loading only the necessary parts into memory as the user interacts with the graph. This allows for the analysis of incredibly large datasets, such as those mapping the surface of a material with high spatial resolution, without requiring supercomputers.
Looking ahead, the developers have designed peaks to grow with the field. The software already includes initial tools for machine learning, such as methods to identify patterns or remove noise from spatially resolved data, and the architecture is ready to incorporate more advanced artificial intelligence techniques in the future. It is also planned to expand its capabilities to handle spin-resolved data, which tracks the magnetic orientation of electrons. By providing an open-source platform that is transparent, reproducible, and adaptable, the team aims to foster a more collaborative approach to science. The package is now available for the community to use, offering a streamlined path through the complexity of modern electron spectroscopy and helping researchers focus on the physics rather than the data processing.
Drowning in papers in your field?
Get daily digests of the most novel papers matching your research keywords — with technical summaries, in your language.