API#
The RosettaSciIO Application Programming Interface allows other python packages to use its input/output (IO) capabilities.
Interfacing the RosettaSciIO plugins#
RosettaSciIO is designed as library offering file reading and writing capabilities
for scientific data formats to other python libraries. The IO plugins have a
common interface through the file_reader
and file_writer
(optionally)
functions. Beyond the filename
and in the case of writers object2save
, the
accepted keywords are specific to the different plugins. The object returned in
the case of a reader and passed to a writer is a python dictionary.
The dictionary contains the following fields:
'data'
– multidimensional numpy array'axes'
– list of dictionaries describing the axes containing the fields'name'
,'units'
,'index_in_array'
, andeither
'size'
,'offset'
, and'scale'
or a numpy array
'axis'
containing the full axes vector
'metadata'
– dictionary containing the parsed metadata'original_metadata'
– dictionary containing the full metadata tree from the input file
Interfacing the reader from one of the IO plugins:
from rsciio.hspy import file_reader
fdict = file_reader("norwegianblue.hspy")
Interfacing the writer from one of the IO plugins:
from rsciio.hspy import file_writer
file_writer("beautifulplumage.hspy", fdict)
Python packages using RosettaSciIO#
The following python packages available through PyPI and/or conda-forge use the RosettaSciIO plugins for reading/writing of data files:
HyperSpy: Multidimensional data analysis
Any HyperSpy extension that inherits the IO capabilities:
LumiSpy: Luminescence analysis with HyperSpy
Kikuchipy: Processing, simulating and analyzing electron backscatter diffraction (EBSD) patterns in Python
PyXem: An open-source Python library for multi-dimensional diffraction microscopy.
exSpy: Analysis of X-ray Energy Dispersive Spectroscopy (EDS) and Electron Energy Loss Spectroscopy (EELS).
holospy: Analysis of (off-axis) electron holography data.