Skip to content

Documentation for pynxtools-spm

Motivation for pynxtools-spm

Data from Scanning Probe Microscopy (SPM) techniques such as Scanning Tunneling Microscopy (STM), Scanning Tunneling Spectroscopy (STS), and Atomic Force Microscopy (AFM) are widely produced and analyzed in condensed matter physics and surface science. However, the data formats rendered by different SPM lab instruments often follow proprietary data models and are incompatible with each other. To improve this non interoperable situation, FAIRmat has developed NeXus application definitions NXspm, NXstm, NXsts, and NXafm. Using these NeXus application definitions, pynxtools-spm provides a standardized way to convert raw data from various STM/STS/AFM experiments into the NeXus format according to the application definitions, making the data accessible for everyone regardless of the providing instruments and softwares used to acquire the data from experiments. The data can be stored and shared in research data management platforms, e.g., NOMAD.

pynxtools-spm provides a unified data processing workflow for converting SPM data into the NeXus format. As a reader plugin of pynxtools (see documentation) pynxtools-spm takes advantage of the dataconverter framework. The framework provides a Template (a key-value paired hash map where key is defined according to the NeXus application definitions) to store curated data, a template validator for templated data according to the application definition, and a writer to write the curated data in a NeXus file. pynxtools-spm package embraces Python modular structure for parsers that read raw data and formatters that curate the data following corresponding application definition (see Reader Structure).

Project and Community

The pynxtools-spm reader is part of the project FAIRmat, a FAIR data infrastructure for condensed-matter physics and the chemical physics of solids.