A pynxtools reader plugin for transferring Raman data from vendor formats to NeXus and NOMAD.
+This pynxtools plugin was generated with cookiecutter using the pynxtools-plugin-template template.
It is recommended to use python 3.12 with a dedicated virtual environment for this package. Learn how to manage python versions and virtual environments.
This package is a reader plugin for pynxtools and should be installed together with pynxtools:
uv pip install pynxtools[raman]This reader plugin for pynxtools is used to translate diverse file formats from the scientific community and technology partners
within the field of raman into a standardized representation using the
NeXus application definition NXraman.
You see three Folders:
examples: contains example datasets to show how the data conversion is done (currently one example from WITec and one example from the Raman Open Database)tests: contains a test procedure and files, which are required for software developmentsrc/pynxtools_raman: source files, which contain the sub-reader function for Raman experiments. This only works in combination with the Python package pynxtools. This is a specialization of the Multiformat Reader. There are also sub-reader functions for a WITec device and files from the Raman Open Database. In addition,config.jsonfiles are located insrc/pynxtools_raman/config. These are necessary to map the input data via theMultiformatReaderto the NeXus concepts. These config files allow individual adjustments, as different laboratories may have different electronic lab notebook structures.
Perform a data conversion
for the WITec dataset via:
dataconverter examples/witec/txt/eln_data.yaml examples/witec/txt/Si-wafer-Raman-Spectrum-1.txt src/pynxtools_raman/config/config_file_witec.json --reader raman --nxdl NXraman --output new_witec_example_nexus.nxsand for the Raman Open Database dataset set via:
dataconverter examples/database/rod/rod_file_1000679.rod src/pynxtools_raman/config/config_file_rod.json --reader raman --nxdl NXraman --output new_rod_example_nexus.nxsFor Example for the Raman Open Database command:
- You assign the reader name via
--reader raman. - You assign the NeXus application definition, on which the output will be based via
--nxdl NXraman. - You specify the name and path of the output file via
--output new_rod_example_nexus.nxs. - You assign an individualized config file via
src/pynxtools_raman/config/config_file_rod.json. The config file is detected by its extension.json. - You give the file which includes the meta and measurement data via
examples/database/rod/rod_file_1000679.rod. The parser is specified to detect the.rodfile, and handle the content appropriately.
Then you can inspect the generated file at this website or in VScode via the extension "H5web".
More information about this pynxtools plugin is available in the documentation. You will find information about getting started, how-to guides, the supported file formats, how to get involved, and much more there.
Lukas Pielsticker