Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add sub-reader for PHI Versaprobe data #5

Merged
merged 36 commits into from
Mar 28, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
d1adc04
remove print statement
lukaspie Feb 19, 2024
b333a6d
fix pynxtools-xps imports in Phi reader
lukaspie Mar 15, 2024
c13198b
readd lost Phi files
lukaspie Mar 18, 2024
ced4310
add missing __init__ file
lukaspie Mar 18, 2024
1d67eb5
use XPS data class in Phi reader
lukaspie Mar 18, 2024
dfc65c5
enable Phi metadata in Vamas reader
lukaspie Mar 18, 2024
a82c2e4
make vamas reader mypy-comptible
lukaspie Mar 18, 2024
2449b66
parse files with multiply repeated spectra
lukaspie Mar 18, 2024
5cb87ca
improved parsing of binary data
lukaspie Mar 19, 2024
cfb122f
add PHI subreader to file parser
lukaspie Mar 21, 2024
170b1d3
take out constant dictionaries
lukaspie Mar 21, 2024
10b26ff
allow for double or floating precision
lukaspie Mar 21, 2024
177808d
remove test from phi parser
lukaspie Mar 21, 2024
b90357d
add example folder
lukaspie Mar 21, 2024
993e095
add x-ray source parameters to config file
lukaspie Mar 21, 2024
69604b5
parse all metadata in config
lukaspie Mar 22, 2024
3de741c
add additional units in data model
lukaspie Mar 22, 2024
152050a
add some default units, improve region parsing, remove unneeded code
lukaspie Mar 22, 2024
a702369
fix errors in config file
lukaspie Mar 24, 2024
7289047
add readme for example files
lukaspie Mar 25, 2024
ca60412
Remove link for energy axis since link resolving is currently broken
lukaspie Mar 25, 2024
392b595
improve time parsing, use common mapping keys
lukaspie Mar 25, 2024
9454718
rename eln files in test for distinguishing
lukaspie Mar 25, 2024
eba3753
change energy and detector data writing
lukaspie Mar 25, 2024
1c03277
error fixes + alignment of mapping keys for all readers
lukaspie Mar 25, 2024
e1bf5b8
error fix in example readme
lukaspie Mar 25, 2024
7e46aeb
remove unneeded comments
lukaspie Mar 25, 2024
cd02e0d
add function docstrings where missing
lukaspie Mar 25, 2024
eb75b63
add type hinting
lukaspie Mar 25, 2024
a79ff1b
re compiling, readme update, small writing update
lukaspie Mar 27, 2024
c3c29b2
iterate dict instead of checking every single condition, cleaner entr…
lukaspie Mar 27, 2024
cf5fb8d
add example and test data for Phi reader
lukaspie Mar 28, 2024
52d0003
acknowledgements for data providers
lukaspie Mar 28, 2024
f300cfd
Merge branch 'main' into 1-add-xps-sub-reader-for-phi-versaprobe-data
lukaspie Mar 28, 2024
a5f8acf
parametrise reader test with phi data
lukaspie Mar 28, 2024
6cdfe9b
remove extra .nxs example file
lukaspie Mar 28, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ within the field of X-ray photoelectron spectroscopy into a standardized represe

## Supported file formats
The reader decides which parser to use based on the file extension of the files provided. For the main XPS files, the following file extensions are supported:
- .spe, .pro: [Phi MultiPak](https://www.phi.com/surface-analysis-equipment/genesis.html#software:multi-pak-data-reduction-software/) files, propietary format of PHI Electronics
- .sle: [SpecsLabProdigy](https://www.specs-group.com/nc/specs/products/detail/prodigy/) files, propietary format of SPECS GmbH (1 and v4)
- .xml: SpecsLab 2files, XML format from SPECS GmbH (v1.6)
- .vms: VAMAS files, ISO standard data transfer format ([ISO 14976](https://www.iso.org/standard/24269.html)), both in regular and irregular format
Expand Down
18 changes: 18 additions & 0 deletions examples/phi/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Example for data from Phi VersaProbe 4 instruments

This is an example for [Phi MultiPak](https://www.phi.com/surface-analysis-equipment/genesis.html#software:multi-pak-data-reduction-software/) .spe (single spectra) and .pro (sputter profile / external parameter scan / ....) files, which is the propietary format of PHI Electronics used for their VersaProbe 4 instrumens. The Phi MultiPak software version that was used to measure this data is SS 3.3.3.2.1.
We thank Sebastian Benz and Dr. Joachim Sann from [Justus-Liebig-Universität Gießen](https://www.uni-giessen.de/de) for providing these example data sets.

The example conversion can be run with the following commands.

### For the .spe data (single spectrum):
```console_
user@box:~$ dataconverter SnO2_10nm.spe eln_data_phi.yaml --reader xps --nxdl NXmpes --output SnO2_10nm.spe.nxs
```
### For the .pro data (profiling):
```console_
user@box:~$ dataconverter SnO2_10nm_1.pro eln_data_phi.yaml --reader xps --nxdl NXmpes --output SnO2_10nm_1.pro.nxs
```

## Contact person in FAIRmat for this example
Lukas Pielsticker
Binary file added examples/phi/SnO2_10nm.spe
Binary file not shown.
Binary file added examples/phi/SnO2_10nm.spe.nxs
Binary file not shown.
Binary file added examples/phi/SnO2_10nm_1.pro
Binary file not shown.
Binary file added examples/phi/SnO2_10nm_1.pro.nxs
Binary file not shown.
162 changes: 162 additions & 0 deletions examples/phi/eln_data_phi.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,162 @@
definition:
value: NXmpes
version: 1.0
title: SnO2_10nnm
experiment_institution: Justus-Liebig-Universität Gießen
experiment_facility: AG Spektroskopie und Optik
experiment_laboratory: XPS Lab
user:
name: Sebastian Benz
affiliation: Justus-Liebig-Universität Gießen, AG Spektroskopie und Optik
orcid: null
email: null
instrument:
energy_resolution:
type: calibrated
resolution:
value: 0.1
unit: eV
source_xray:
type: Fixed Tube X-ray
probe: photon
device_information:
vendor: PHI Electronics
model: VersaProbe 4 X-ray Source
identifier: null
beam_xray:
distance:
value: 0.0
unit: mm
source_gas_cluster_ion_beam:
description: argon cluster GCIB
source_neutral_ion_gun:
description: monoatomic ion source
source_sputter_gun:
description: sputter gun
analyser:
description: hemispherical
device_information:
vendor: PHI Electronics
model: VersaProbe 4 Hemispherical Analyser
identifier: null
collectioncolumn:
scheme: angular dispersive
device_information:
vendor: PHI Electronics
model: VersaProbe 4
identifier: null
energydispersion:
scheme: hemispherical
diameter:
unit: mm
value: 150
device_information:
vendor: PHI Electronics
model: VersaProbe 4 Hemispherical Analyser
identifier: null
detector:
amplifier_type: channeltron
detector_type: Multi-anode
device_information:
vendor: PHI Electronics
model: 1D-DLD detector
identifier: null
manipulator:
device_information:
vendor: PHI Electronics
model: 5-axis manipulator
identifier: null
temperature_sensor:
name: type K thermocouple
measurement: temperature
attached_to: sample
type: type K thermocouple
value:
value: 298.0
unit: K
sample_heater:
name: Sample heater
physical_quantity: temperature
type: IR diode laser
heater_power:
value: 0.0
unit: W
pid:
setpoint:
value: 298.0
unit: K
cryostat:
name: null
physical_quantity: null
type: null
pid:
setpoint: null
drain_current_amperemeter:
name: Amperemeter 1.0
measurement: current
type: wire
value:
value: 0.1
unit: nA
sample_bias_voltmeter:
name: XPS sample voltmeter
measurement: voltage
attached_to: sample
type: oscilloscope
value:
value: 0.0
unit: V
sample_bias_potentiostat:
name: XPS sample potentiostat
physical_quantity: voltage
type: potentiostat
pid:
setpoint:
value: 0.0
unit: V
pressure_gauge:
name: Pirani
measurement: pressure
type: pirani gauge
value:
value: 0.000000001
unit: mbar
value_log:
value:
value: null
unit: null
flood_gun:
name: VersaProbe 4 flood gun
physical_quantity: current
type: low energy electron source
current:
value: 0.0
unit: A
current_log:
value:
value: null
unit: null
sample:
name: SnO2 10nnm
sample_id: 1
atom_types: Sn, O
physical_form: pellet
situation: vacuum
substance:
name: SnO2
molecular_mass:
value: 150.71
unit: g/mol
cas_number: 18282-10-5
molecular_formula_hill: SnO2
sample_history:
sample_preparation:
start_time: 2022-01-22T12:48:00.200Z
end_time: 2022-01-22T13:18:00.200Z
description: sputter cleaned with Ar ions for 20 min
method: Ar sputtering
PHYSICAL_PROCESS[sample_loading]:
start_time: 2022-01-22T12:30:00.200Z
end_time: 2022-01-22T12:31:00.200Z
description: loaded into the VersaProbe 4
method: vacuum transfer
Loading
Loading