From fe9c57e08c32f6bedda284f66788fb84f2b4cf59 Mon Sep 17 00:00:00 2001 From: rettigl Date: Tue, 18 Jun 2024 22:52:14 +0200 Subject: [PATCH 1/8] original version of FLASH NXmpes config --- sed/config/NXmpes_config-HEXTOF.json | 257 +++++++++++++++++++++++++++ sed/config/flash_example_config.yaml | 8 +- 2 files changed, 261 insertions(+), 4 deletions(-) create mode 100755 sed/config/NXmpes_config-HEXTOF.json diff --git a/sed/config/NXmpes_config-HEXTOF.json b/sed/config/NXmpes_config-HEXTOF.json new file mode 100755 index 00000000..40735365 --- /dev/null +++ b/sed/config/NXmpes_config-HEXTOF.json @@ -0,0 +1,257 @@ +{ + "/@default": "entry", + "/ENTRY[entry]/@default": "data", + "/ENTRY[entry]/definition": "NXmpes", + "/ENTRY[entry]/definition/@version": "None", + "/ENTRY[entry]/title": "@attrs:metadata/scientificMetadata/title", + "/ENTRY[entry]/start_time": "@attrs:metadata/creationTime", + "/ENTRY[entry]/experiment_institution": "Deutsches Elektronen-Synchrotron DESY", + "/ENTRY[entry]/experiment_facility": "Free-Electron Laser FLASH", + "/ENTRY[entry]/experiment_laboratory": "@attrs:metadata/creationLocation", + "/ENTRY[entry]/entry_identifier": "@attrs:metadata/_id", + "/ENTRY[entry]/USER[user]": { + "name": "@attrs:metadata/principalInvestigator", + "role": "Principal investigator", + "email": "@attrs:metadata/contactEmail" + }, + "/ENTRY[entry]/INSTRUMENT[instrument]": { + "name": "Time-of-flight momentum microscope equipped with eight segment delay line detector, at the HEXTOF endstation of the PG2 beamline at FLASH", + "name/@short_name": "HEXTOF @ PG2", + "energy_resolution": { + "resolution": 130.0, + "resolution/@units": "meV", + "physical_quantity": "energy", + "type": "estimated" + }, + "RESOLUTION[temporal_resolution]": { + "resolution": 150.0, + "resolution/@units": "fs", + "physical_quantity": "time", + "type": "estimated" + }, + "RESOLUTION[momentum_resolution]": { + "resolution": "@link:/entry/instrument/electronanalyser/momentum_resolution", + "resolution/@units": "1/angstrom", + "physical_quantity": "momentum", + "type": "estimated" + }, + "pressure_gauge": { + "name": "sample_chamber_pressure", + "measurement": "pressure", + "value": "@attrs:metadata/scientificMetadata/Sample/sample_pressure/value", + "value/@units": "@attrs:metadata/scientificMetadata/Sample/sample_pressure/unit" + } + }, + + "/ENTRY[entry]/INSTRUMENT[instrument]/ELECTRONANALYSER[electronanalyser]": { + "description": "HEXTOF Momentum Microscope", + "device_information": { + "vendor": "None", + "model": "None" + }, + "fast_axes": [ + "kx", + "ky", + "E" + ], + "slow_axes": "@attrs:metadata/instrument/analyzer/slow_axes", + "energy_resolution": { + "resolution": "@attrs:metadata/instrument/analyzer/energy_resolution", + "resolution/@units": "meV", + "physical_quantity": "energy", + "type": "estimated" + }, + "momentum_resolution": { + "resolution": "@attrs:metadata/instrument/analyzer/momentum_resolution", + "resolution/@units": "1/angstrom", + "physical_quantity": "momentum", + "type": "estimated" + }, + "spatial_resolution": { + "resolution": "@attrs:metadata/instrument/analyzer/spatial_resolution", + "resolution/@units": "µm", + "physical_quantity": "length", + "type": "estimated" + } + }, + "/ENTRY[entry]/INSTRUMENT[instrument]/ELECTRONANALYSER[electronanalyser]/COLLECTIONCOLUMN[collectioncolumn]": { + "projection": "@attrs:metadata/scientificMetadata/Collection/projection", + "scheme": "None", + "lens_mode": "@attrs:metadata/scientificMetadata/Collection/lens_mode", + "extractor_voltage": "@attrs:metadata/scientificMetadata/Collection/extractor_voltage", + "extractor_voltage/@units": "V", + "extractor_current": "t.b.d.", + "extractor_current/@units": "µA", + "working_distance": 4.0, + "working_distance/@units": "mm", + "field_aperture": { + "shape": "round", + "size": "@attrs:metadata/scientificMetadata/Collection/field_aperture", + "size/@units": "µm", + "POSITIONER[fa_m1]": { + "value": "@attrs:metadata/scientificMetadata/Collection/field_aperture_x", + "value/@units": "mm" + }, + "POSITIONER[fa_m2]": { + "value": "@attrs:metadata/scientificMetadata/Collection/field_aperture_y", + "value/@units": "mm" + } + }, + "contrast_aperture": { + "shape": "round", + "size": "OPEN", + "size/@units": "µm", + "POSITIONER[ca_m3]": { + "value": 0.0, + "value/@units": "mm" + } + } + }, + "/ENTRY[entry]/INSTRUMENT[instrument]/ELECTRONANALYSER[electronanalyser]/ENERGYDISPERSION[energydispersion]": { + "pass_energy": "@attrs:metadata/scientificMetadata/Collection/tof_voltage", + "pass_energy/@units": "eV", + "scheme": "tof", + "tof_distance": 0.8, + "tof_distance/@units": "m" + }, + "/ENTRY[entry]/INSTRUMENT[instrument]/ELECTRONANALYSER[electronanalyser]/DETECTOR[detector]": { + "amplifier_type": "MCP", + "detector_type": "DLD", + "sensor_pixels": [ + 1800, + 1800 + ], + "amplifier_bias": 20.0, + "amplifier_bias/@units": "V", + "amplifier_voltage": 1850.0, + "amplifier_voltage/@units": "V", + "detector_voltage": 2250.0, + "detector_voltage/@units": "V" + }, + "/ENTRY[entry]/INSTRUMENT[instrument]/source_TYPE[source_probe]": { + "name": "@attrs:metadata/scientificMetadata/Source/name", + "probe": "@attrs:metadata/scientificMetadata/Source/probe", + "type": "@attrs:metadata/scientificMetadata/Source/type", + "mode": "Single Bunch", + "frequency": "@attrs:metadata/scientificMetadata/Source/repetition_rate/value", + "frequency/@units": "@attrs:metadata/scientificMetadata/Source/repetition_rate/unit", + "associated_beam": "/entry/instrument/beam_probe" + }, + "/ENTRY[entry]/INSTRUMENT[instrument]/beam_TYPE[beam_probe]": { + "distance": 0.0, + "distance/@units": "mm", + "incident_energy": "@attrs:metadata/scientificMetadata/Source/photon_energy/value", + "incident_energy/@units": "@attrs:metadata/scientificMetadata/Source/dispersion/unit", + "incident_energy_dispersion": "@attrs:metadata/scientificMetadata/Source/dispersion/value", + "incident_energy_dispersion/@units": "@attrs:metadata/scientificMetadata/Source/dispersion/unit", + "pulse_duration": "t.b.d.", + "pulse_duration/@units": "fs", + "incident_polarization": "horizontal", + "incident_polarization/@units": "None", + "associated_source": "/entry/instrument/source_probe" + }, + "/ENTRY[entry]/INSTRUMENT[instrument]/source_TYPE[source_pump]": { + "name": "OPCPA @ TR-ARPES @ FHI", + "probe": "visible light", + "type": "Optical Laser", + "mode": "Single Bunch", + "frequency": 1000, + "frequency/@units": "kHz", + "associated_beam": "/entry/instrument/beam_pump" + }, + "/ENTRY[entry]/INSTRUMENT[instrument]/beam_TYPE[beam_pump]": { + "distance": 0.0, + "distance/@units": "mm", + "incident_wavelength": "@attrs:metadata/scientificMetadata/Laser/wavelength/value", + "incident_wavelength/@units": "@attrs:metadata/scientificMetadata/Laser/wavelength/unit", + "pulse_duration": "@attrs:metadata/scientificMetadata/Laser/wavelength/pulse duration/value", + "pulse_duration/@units": "@attrs:metadata/scientificMetadata/Laser/wavelength/pulse duration/unit", + "incident_polarization": "@attrs:metadata/instrument/beam/pump/incident_polarization", + "incident_polarization/@units": "V^2/mm^2", + "pulse_energy": "@attrs:metadata/scientificMetadata/Laser/wavelength/pulse_energy/value", + "pulse_energy/@units": "@attrs:metadata/scientificMetadata/Laser/wavelength/pulse_energy/unit", + "associated_source": "/entry/instrument/source_pump" + }, + "/ENTRY[entry]/INSTRUMENT[instrument]/MANIPULATOR[manipulator]": { + "temperature_sensor": { + "name": "sample_temperature", + "measurement": "temperature", + "value": "@attrs:metadata/scientificMetadata/sample/temperature/value", + "value/@units": "@attrs:metadata/scientificMetadata/sample/temperature/unit" + }, + "sample_bias_voltmeter": { + "name": "sample_bias", + "measurement": "voltage", + "value": "@attrs:metadata/scientificMetadata/Manipulator/sample_bias", + "value/@units": "V" + } + }, + "/ENTRY[entry]/SAMPLE[sample]": { + "description": "@attrs:metadata/scientificMetadata/sample/sample_chemical_name", + "name": "@attrs:metadata/scientificMetadata/sample/sample", + "situation": "vacuum", + "temperature": { + "temperature_sensor": "@link:/entry/instrument/manipulator/temperature_sensor" + }, + "gas_pressure": { + "pressure_gauge": "@link:/entry/instrument/pressure_gauge" + }, + "bias": { + "voltmeter": "@link:/entry/instrument/manipulator/sample_bias_voltmeter" + } + }, + "/ENTRY[entry]/PROCESS[process]/DISTORTION[distortion]": { + "symmetry": "@attrs:metadata/momentum_correction/correction/rotsym", + "original_centre": "@attrs:metadata/momentum_correction/correction/pcent", + "original_points": "@attrs:metadata/momentum_correction/correction/pouter", + "cdeform_field": "@attrs:metadata/momentum_correction/correction/cdeform_field", + "rdeform_field": "@attrs:metadata/momentum_correction/correction/rdeform_field" + }, + "/ENTRY[entry]/PROCESS[process]/REGISTRATION[registration]": { + "depends_on": "@attrs:metadata/momentum_correction/registration/depends_on", + "TRANSFORMATIONS[tranformations]": { + "AXISNAME[trans_x]": "@attrs:metadata/momentum_correction/registration/trans_x/value", + "AXISNAME[trans_x]/@transformation_type": "@attrs:metadata/momentum_correction/registration/trans_x/type", + "AXISNAME[trans_x]/@units": "@attrs:metadata/momentum_correction/registration/trans_x/units", + "AXISNAME[trans_x]/@vector": "@attrs:metadata/momentum_correction/registration/trans_x/vector", + "AXISNAME[trans_x]/@depends_on": "@attrs:metadata/momentum_correction/registration/trans_x/depends_on", + "AXISNAME[trans_y]": "@attrs:metadata/momentum_correction/registration/trans_y/value", + "AXISNAME[trans_y]/@units": "@attrs:metadata/momentum_correction/registration/trans_y/units", + "AXISNAME[trans_y]/@transformation_type": "@attrs:metadata/momentum_correction/registration/trans_y/type", + "AXISNAME[trans_y]/@vector": "@attrs:metadata/momentum_correction/registration/trans_y/vector", + "AXISNAME[trans_y]/@depends_on": "@attrs:metadata/momentum_correction/registration/trans_y/depends_on", + "AXISNAME[rot_z]": "@attrs:metadata/momentum_correction/registration/rot_z/value", + "AXISNAME[rot_z]/@units": "@attrs:metadata/momentum_correction/registration/rot_z/units", + "AXISNAME[rot_z]/@transformation_type": "@attrs:metadata/momentum_correction/registration/rot_z/type", + "AXISNAME[rot_z]/@offset": "@attrs:metadata/momentum_correction/registration/rot_z/offset", + "AXISNAME[rot_z]/@vector": "@attrs:metadata/momentum_correction/registration/rot_z/vector", + "AXISNAME[rot_z]/@depends_on": "@attrs:metadata/momentum_correction/registration/rot_z/depends_on" + } + }, + "/ENTRY[entry]/PROCESS[process]/energy_calibration":{ + "coefficients": "@attrs:metadata/energy_calibration/calibration/coefficients", + "fit_function": "@attrs:metadata/energy_calibration/calibration/fit_function", + "original_axis": "@attrs:metadata/energy_calibration/tof", + "calibrated_axis": "@attrs:metadata/energy_calibration/calibration/axis" + }, + "/ENTRY[entry]/PROCESS[process]/CALIBRATION[kx_calibration]": { + "scaling": "@attrs:metadata/momentum_calibration/calibration/kx_scale", + "offset": "@attrs:metadata/momentum_calibration/calibration/x_center", + "calibrated_axis": "@attrs:metadata/momentum_calibration/calibration/kx_axis" + }, + "/ENTRY[entry]/PROCESS[process]/CALIBRATION[ky_calibration]": { + "scaling": "@attrs:metadata/momentum_calibration/calibration/ky_scale", + "offset": "@attrs:metadata/momentum_calibration/calibration/y_center", + "calibrated_axis": "@attrs:metadata/momentum_calibration/calibration/ky_axis" + }, + "/ENTRY[entry]/data": { + "@axes": "@data:dims", + "AXISNAME_indices[@*_indices]": "@data:*.index", + "@signal": "data", + "data": "@data:data", + "data/@units": "counts", + "AXISNAME[*]": "@data:*.data", + "AXISNAME[*]/@units": "@data:*.unit", + "energy/@type": "@attrs:metadata/energy_calibration/calibration/energy_scale" + } +} \ No newline at end of file diff --git a/sed/config/flash_example_config.yaml b/sed/config/flash_example_config.yaml index 7f9187cb..778b04a8 100644 --- a/sed/config/flash_example_config.yaml +++ b/sed/config/flash_example_config.yaml @@ -187,7 +187,7 @@ dataframe: # scicat_token: # The nexus collection routine shall be finalized soon for both instruments -# nexus: -# reader: "flash" -# definition: "NXmpes" -# input_files: ["NXmpes_config_HEXTOF_light.json"] +nexus: + reader: "mpes" + definition: "NXmpes" + input_files: ["NXmpes_config-HEXTOF.json"] From 81d5c4be9c6281aaf6f551c75334a8a19101a254 Mon Sep 17 00:00:00 2001 From: rettigl Date: Tue, 18 Jun 2024 22:53:23 +0200 Subject: [PATCH 2/8] add example and fix various fields --- sed/config/NXmpes_config-HEXTOF.json | 116 +++++++++------------------ sed/config/flash_example_config.yaml | 3 +- tutorial/4_hextof_workflow.ipynb | 41 +++++++++- 3 files changed, 76 insertions(+), 84 deletions(-) diff --git a/sed/config/NXmpes_config-HEXTOF.json b/sed/config/NXmpes_config-HEXTOF.json index 40735365..0a8ba7fb 100755 --- a/sed/config/NXmpes_config-HEXTOF.json +++ b/sed/config/NXmpes_config-HEXTOF.json @@ -8,9 +8,10 @@ "/ENTRY[entry]/experiment_institution": "Deutsches Elektronen-Synchrotron DESY", "/ENTRY[entry]/experiment_facility": "Free-Electron Laser FLASH", "/ENTRY[entry]/experiment_laboratory": "@attrs:metadata/creationLocation", - "/ENTRY[entry]/entry_identifier": "@attrs:metadata/_id", + "/ENTRY[entry]/entry_identifier": "@attrs:metadata/pid", "/ENTRY[entry]/USER[user]": { "name": "@attrs:metadata/principalInvestigator", + "affiliation": "t.b.d.", "role": "Principal investigator", "email": "@attrs:metadata/contactEmail" }, @@ -38,8 +39,8 @@ "pressure_gauge": { "name": "sample_chamber_pressure", "measurement": "pressure", - "value": "@attrs:metadata/scientificMetadata/Sample/sample_pressure/value", - "value/@units": "@attrs:metadata/scientificMetadata/Sample/sample_pressure/unit" + "value": "@attrs:metadata/scientificMetadata/sample/sample_pressure/value", + "value/@units": "@attrs:metadata/scientificMetadata/sample/sample_pressure/unit" } }, @@ -54,21 +55,21 @@ "ky", "E" ], - "slow_axes": "@attrs:metadata/instrument/analyzer/slow_axes", + "slow_axes": "t.b.d.", "energy_resolution": { - "resolution": "@attrs:metadata/instrument/analyzer/energy_resolution", + "resolution": 100, "resolution/@units": "meV", "physical_quantity": "energy", "type": "estimated" }, "momentum_resolution": { - "resolution": "@attrs:metadata/instrument/analyzer/momentum_resolution", + "resolution": 0.08, "resolution/@units": "1/angstrom", "physical_quantity": "momentum", "type": "estimated" }, "spatial_resolution": { - "resolution": "@attrs:metadata/instrument/analyzer/spatial_resolution", + "resolution": 1, "resolution/@units": "µm", "physical_quantity": "length", "type": "estimated" @@ -76,12 +77,10 @@ }, "/ENTRY[entry]/INSTRUMENT[instrument]/ELECTRONANALYSER[electronanalyser]/COLLECTIONCOLUMN[collectioncolumn]": { "projection": "@attrs:metadata/scientificMetadata/Collection/projection", - "scheme": "None", + "scheme": "momentum dispersive", "lens_mode": "@attrs:metadata/scientificMetadata/Collection/lens_mode", "extractor_voltage": "@attrs:metadata/scientificMetadata/Collection/extractor_voltage", "extractor_voltage/@units": "V", - "extractor_current": "t.b.d.", - "extractor_current/@units": "µA", "working_distance": 4.0, "working_distance/@units": "mm", "field_aperture": { @@ -98,18 +97,12 @@ } }, "contrast_aperture": { - "shape": "round", - "size": "OPEN", - "size/@units": "µm", - "POSITIONER[ca_m3]": { - "value": 0.0, - "value/@units": "mm" - } + "shape": "open" } }, "/ENTRY[entry]/INSTRUMENT[instrument]/ELECTRONANALYSER[electronanalyser]/ENERGYDISPERSION[energydispersion]": { - "pass_energy": "@attrs:metadata/scientificMetadata/Collection/tof_voltage", - "pass_energy/@units": "eV", + "drift_energy": "@attrs:metadata/scientificMetadata/Collection/tof_voltage", + "drift_energy/@units": "eV", "scheme": "tof", "tof_distance": 0.8, "tof_distance/@units": "m" @@ -128,7 +121,7 @@ "detector_voltage": 2250.0, "detector_voltage/@units": "V" }, - "/ENTRY[entry]/INSTRUMENT[instrument]/source_TYPE[source_probe]": { + "/ENTRY[entry]/INSTRUMENT[instrument]/sourceTYPE[source_probe]": { "name": "@attrs:metadata/scientificMetadata/Source/name", "probe": "@attrs:metadata/scientificMetadata/Source/probe", "type": "@attrs:metadata/scientificMetadata/Source/type", @@ -137,20 +130,18 @@ "frequency/@units": "@attrs:metadata/scientificMetadata/Source/repetition_rate/unit", "associated_beam": "/entry/instrument/beam_probe" }, - "/ENTRY[entry]/INSTRUMENT[instrument]/beam_TYPE[beam_probe]": { + "/ENTRY[entry]/INSTRUMENT[instrument]/beamTYPE[beam_probe]": { "distance": 0.0, "distance/@units": "mm", "incident_energy": "@attrs:metadata/scientificMetadata/Source/photon_energy/value", - "incident_energy/@units": "@attrs:metadata/scientificMetadata/Source/dispersion/unit", - "incident_energy_dispersion": "@attrs:metadata/scientificMetadata/Source/dispersion/value", - "incident_energy_dispersion/@units": "@attrs:metadata/scientificMetadata/Source/dispersion/unit", - "pulse_duration": "t.b.d.", + "incident_energy/@units": "@attrs:metadata/scientificMetadata/Source/photon_energy/unit", + "pulse_duration": 100, "pulse_duration/@units": "fs", - "incident_polarization": "horizontal", - "incident_polarization/@units": "None", + "incident_polarization": [1, 1, 0, 0], + "incident_polarization/@units": "V^2/mm^2", "associated_source": "/entry/instrument/source_probe" }, - "/ENTRY[entry]/INSTRUMENT[instrument]/source_TYPE[source_pump]": { + "/ENTRY[entry]/INSTRUMENT[instrument]/sourceTYPE[source_pump]": { "name": "OPCPA @ TR-ARPES @ FHI", "probe": "visible light", "type": "Optical Laser", @@ -159,25 +150,27 @@ "frequency/@units": "kHz", "associated_beam": "/entry/instrument/beam_pump" }, - "/ENTRY[entry]/INSTRUMENT[instrument]/beam_TYPE[beam_pump]": { + "/ENTRY[entry]/INSTRUMENT[instrument]/beamTYPE[beam_pump]": { "distance": 0.0, "distance/@units": "mm", "incident_wavelength": "@attrs:metadata/scientificMetadata/Laser/wavelength/value", "incident_wavelength/@units": "@attrs:metadata/scientificMetadata/Laser/wavelength/unit", - "pulse_duration": "@attrs:metadata/scientificMetadata/Laser/wavelength/pulse duration/value", - "pulse_duration/@units": "@attrs:metadata/scientificMetadata/Laser/wavelength/pulse duration/unit", - "incident_polarization": "@attrs:metadata/instrument/beam/pump/incident_polarization", + "incident_energy": "@attrs:metadata/scientificMetadata/Laser/energy/value", + "incident_energy/@units": "@attrs:metadata/scientificMetadata/Laser/energy/unit", + "pulse_duration": "@attrs:metadata/scientificMetadata/Laser/pulse duration/value", + "pulse_duration/@units": "@attrs:metadata/scientificMetadata/Laser/pulse duration/unit", + "incident_polarization": "@attrs:metadata/scientificMetadata/Laser/polarization", "incident_polarization/@units": "V^2/mm^2", - "pulse_energy": "@attrs:metadata/scientificMetadata/Laser/wavelength/pulse_energy/value", - "pulse_energy/@units": "@attrs:metadata/scientificMetadata/Laser/wavelength/pulse_energy/unit", + "pulse_energy": "@attrs:metadata/scientificMetadata/Laser/pulse_energy/value", + "pulse_energy/@units": "@attrs:metadata/scientificMetadata/Laser/pulse_energy/unit", "associated_source": "/entry/instrument/source_pump" }, "/ENTRY[entry]/INSTRUMENT[instrument]/MANIPULATOR[manipulator]": { "temperature_sensor": { "name": "sample_temperature", "measurement": "temperature", - "value": "@attrs:metadata/scientificMetadata/sample/temperature/value", - "value/@units": "@attrs:metadata/scientificMetadata/sample/temperature/unit" + "value": "@attrs:metadata/scientificMetadata/sample/sample_temperature/value", + "value/@units": "@attrs:metadata/scientificMetadata/sample/sample_temperature/unit" }, "sample_bias_voltmeter": { "name": "sample_bias", @@ -200,58 +193,21 @@ "voltmeter": "@link:/entry/instrument/manipulator/sample_bias_voltmeter" } }, - "/ENTRY[entry]/PROCESS[process]/DISTORTION[distortion]": { - "symmetry": "@attrs:metadata/momentum_correction/correction/rotsym", - "original_centre": "@attrs:metadata/momentum_correction/correction/pcent", - "original_points": "@attrs:metadata/momentum_correction/correction/pouter", - "cdeform_field": "@attrs:metadata/momentum_correction/correction/cdeform_field", - "rdeform_field": "@attrs:metadata/momentum_correction/correction/rdeform_field" - }, - "/ENTRY[entry]/PROCESS[process]/REGISTRATION[registration]": { - "depends_on": "@attrs:metadata/momentum_correction/registration/depends_on", - "TRANSFORMATIONS[tranformations]": { - "AXISNAME[trans_x]": "@attrs:metadata/momentum_correction/registration/trans_x/value", - "AXISNAME[trans_x]/@transformation_type": "@attrs:metadata/momentum_correction/registration/trans_x/type", - "AXISNAME[trans_x]/@units": "@attrs:metadata/momentum_correction/registration/trans_x/units", - "AXISNAME[trans_x]/@vector": "@attrs:metadata/momentum_correction/registration/trans_x/vector", - "AXISNAME[trans_x]/@depends_on": "@attrs:metadata/momentum_correction/registration/trans_x/depends_on", - "AXISNAME[trans_y]": "@attrs:metadata/momentum_correction/registration/trans_y/value", - "AXISNAME[trans_y]/@units": "@attrs:metadata/momentum_correction/registration/trans_y/units", - "AXISNAME[trans_y]/@transformation_type": "@attrs:metadata/momentum_correction/registration/trans_y/type", - "AXISNAME[trans_y]/@vector": "@attrs:metadata/momentum_correction/registration/trans_y/vector", - "AXISNAME[trans_y]/@depends_on": "@attrs:metadata/momentum_correction/registration/trans_y/depends_on", - "AXISNAME[rot_z]": "@attrs:metadata/momentum_correction/registration/rot_z/value", - "AXISNAME[rot_z]/@units": "@attrs:metadata/momentum_correction/registration/rot_z/units", - "AXISNAME[rot_z]/@transformation_type": "@attrs:metadata/momentum_correction/registration/rot_z/type", - "AXISNAME[rot_z]/@offset": "@attrs:metadata/momentum_correction/registration/rot_z/offset", - "AXISNAME[rot_z]/@vector": "@attrs:metadata/momentum_correction/registration/rot_z/vector", - "AXISNAME[rot_z]/@depends_on": "@attrs:metadata/momentum_correction/registration/rot_z/depends_on" - } - }, - "/ENTRY[entry]/PROCESS[process]/energy_calibration":{ + "/ENTRY[entry]/PROCESS_MPES[process]/energy_calibration":{ "coefficients": "@attrs:metadata/energy_calibration/calibration/coefficients", "fit_function": "@attrs:metadata/energy_calibration/calibration/fit_function", "original_axis": "@attrs:metadata/energy_calibration/tof", - "calibrated_axis": "@attrs:metadata/energy_calibration/calibration/axis" - }, - "/ENTRY[entry]/PROCESS[process]/CALIBRATION[kx_calibration]": { - "scaling": "@attrs:metadata/momentum_calibration/calibration/kx_scale", - "offset": "@attrs:metadata/momentum_calibration/calibration/x_center", - "calibrated_axis": "@attrs:metadata/momentum_calibration/calibration/kx_axis" - }, - "/ENTRY[entry]/PROCESS[process]/CALIBRATION[ky_calibration]": { - "scaling": "@attrs:metadata/momentum_calibration/calibration/ky_scale", - "offset": "@attrs:metadata/momentum_calibration/calibration/y_center", - "calibrated_axis": "@attrs:metadata/momentum_calibration/calibration/ky_axis" + "calibrated_axis": "@attrs:metadata/energy_calibration/calibration/axis", + "calibrated_axis/@units": "eV" }, "/ENTRY[entry]/data": { "@axes": "@data:dims", - "AXISNAME_indices[@*_indices]": "@data:*.index", + "@*_indices": "@data:*.index", "@signal": "data", "data": "@data:data", "data/@units": "counts", - "AXISNAME[*]": "@data:*.data", - "AXISNAME[*]/@units": "@data:*.unit", + "*": "@data:*.data", + "*/@units": "@data:*.unit", "energy/@type": "@attrs:metadata/energy_calibration/calibration/energy_scale" } -} \ No newline at end of file +} diff --git a/sed/config/flash_example_config.yaml b/sed/config/flash_example_config.yaml index 778b04a8..0d2623b3 100644 --- a/sed/config/flash_example_config.yaml +++ b/sed/config/flash_example_config.yaml @@ -78,6 +78,7 @@ dataframe: sampleTemperature: 'K' dldTime: 'ns' delay: 'ps' + delayStage: 'ps' timeStamp: 's' energy: 'eV' E: 'eV' @@ -190,4 +191,4 @@ dataframe: nexus: reader: "mpes" definition: "NXmpes" - input_files: ["NXmpes_config-HEXTOF.json"] + input_files: ["../sed/config/NXmpes_config-HEXTOF.json"] diff --git a/tutorial/4_hextof_workflow.ipynb b/tutorial/4_hextof_workflow.ipynb index 4fcbaa9d..43301e82 100644 --- a/tutorial/4_hextof_workflow.ipynb +++ b/tutorial/4_hextof_workflow.ipynb @@ -863,6 +863,24 @@ "Once all the calibrations are done, a new run can be loaded by simply calling all the calibration functions." ] }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from sed.core.config import load_config\n", + "import numpy as np\n", + "metadata = load_config(path + \"/44824_20230324T060430.json\")\n", + "\n", + "# Fix metadata\n", + "metadata[\"scientificMetadata\"][\"Laser\"][\"wavelength\"][\"value\"] = float(metadata[\"scientificMetadata\"][\"Laser\"][\"wavelength\"][\"value\"][:-2])\n", + "metadata[\"scientificMetadata\"][\"Laser\"][\"energy\"] = {\"value\": 1239.84/metadata[\"scientificMetadata\"][\"Laser\"][\"wavelength\"][\"value\"], \"unit\": \"eV\"}\n", + "metadata[\"scientificMetadata\"][\"Laser\"][\"polarization\"] = [1, 1, 0, 0]\n", + "metadata[\"scientificMetadata\"][\"Collection\"][\"field_aperture_x\"] = float(metadata[\"scientificMetadata\"][\"Collection\"][\"field_aperture_x\"])\n", + "metadata[\"scientificMetadata\"][\"Collection\"][\"field_aperture_y\"] = float(metadata[\"scientificMetadata\"][\"Collection\"][\"field_aperture_y\"])\n" + ] + }, { "cell_type": "code", "execution_count": null, @@ -877,7 +895,8 @@ " runs=[44824,44825,44826,44827],\n", " config=config_override,\n", " system_config=config_file,\n", - " collect_metadata=False\n", + " metadata = metadata,\n", + " collect_metadata=False,\n", ")" ] }, @@ -945,7 +964,16 @@ "metadata": {}, "outputs": [], "source": [ - "sp.save('binned.h5')" + "sp.save('runs44824-27.h5')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "sp.save('runs44824-27.tiff')" ] }, { @@ -954,8 +982,15 @@ "metadata": {}, "outputs": [], "source": [ - "sp.save('binned.tiff')" + "sp.save(\"runs44824-27.nxs\")" ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { From c43952c7815e96a8d23408cb3137594c8315e7f6 Mon Sep 17 00:00:00 2001 From: rettigl Date: Tue, 18 Jun 2024 23:26:01 +0200 Subject: [PATCH 3/8] update pynxtools version --- poetry.lock | 2 +- sed/config/NXmpes_config-HEXTOF.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/poetry.lock b/poetry.lock index 7c357a82..776bf255 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 1.8.3 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.6.1 and should not be changed by hand. [[package]] name = "aiofiles" diff --git a/sed/config/NXmpes_config-HEXTOF.json b/sed/config/NXmpes_config-HEXTOF.json index 0a8ba7fb..81bee4f6 100755 --- a/sed/config/NXmpes_config-HEXTOF.json +++ b/sed/config/NXmpes_config-HEXTOF.json @@ -142,7 +142,7 @@ "associated_source": "/entry/instrument/source_probe" }, "/ENTRY[entry]/INSTRUMENT[instrument]/sourceTYPE[source_pump]": { - "name": "OPCPA @ TR-ARPES @ FHI", + "name": "FLASH pump laser", "probe": "visible light", "type": "Optical Laser", "mode": "Single Bunch", From 7a3f067d667de4396ed28eb87dac780b2d876a9b Mon Sep 17 00:00:00 2001 From: rettigl Date: Thu, 4 Jul 2024 20:37:16 +0200 Subject: [PATCH 4/8] add paths for monochomator dispersion --- .cspell/custom-dictionary.txt | 2 ++ poetry.lock | 33 +++++++++++++++++++++------- sed/config/NXmpes_config-HEXTOF.json | 4 ++++ 3 files changed, 31 insertions(+), 8 deletions(-) diff --git a/.cspell/custom-dictionary.txt b/.cspell/custom-dictionary.txt index 128efab7..37b5c9a7 100644 --- a/.cspell/custom-dictionary.txt +++ b/.cspell/custom-dictionary.txt @@ -78,6 +78,7 @@ datestring ddir delaxes Desy +Deutsches dfield dfops dfpart @@ -92,6 +93,7 @@ dtype easimon ecalibdict electronanalyser +Elektronen endstation energycal energycalfolder diff --git a/poetry.lock b/poetry.lock index 776bf255..62ba167a 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 1.6.1 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.5.1 and should not be changed by hand. [[package]] name = "aiofiles" @@ -2915,12 +2915,13 @@ files = [ [package.dependencies] numpy = [ + {version = ">=1.21.0", markers = "python_version <= \"3.9\" and platform_system == \"Darwin\" and platform_machine == \"arm64\""}, + {version = ">=1.19.3", markers = "python_version >= \"3.6\" and platform_system == \"Linux\" and platform_machine == \"aarch64\" or python_version >= \"3.9\""}, + {version = ">=1.17.0", markers = "python_version >= \"3.7\""}, + {version = ">=1.17.3", markers = "python_version >= \"3.8\""}, + {version = ">=1.21.2", markers = "python_version >= \"3.10\""}, + {version = ">=1.21.4", markers = "python_version >= \"3.10\" and platform_system == \"Darwin\""}, {version = ">=1.23.5", markers = "python_version >= \"3.11\""}, - {version = ">=1.21.2", markers = "platform_system != \"Darwin\" and python_version >= \"3.10\" and python_version < \"3.11\""}, - {version = ">=1.19.3", markers = "platform_system == \"Linux\" and platform_machine == \"aarch64\" and python_version >= \"3.8\" and python_version < \"3.10\" or python_version > \"3.9\" and python_version < \"3.10\" or python_version >= \"3.9\" and platform_system != \"Darwin\" and python_version < \"3.10\" or python_version >= \"3.9\" and platform_machine != \"arm64\" and python_version < \"3.10\""}, - {version = ">=1.17.3", markers = "(platform_system != \"Darwin\" and platform_system != \"Linux\") and python_version >= \"3.8\" and python_version < \"3.9\" or platform_system != \"Darwin\" and python_version >= \"3.8\" and python_version < \"3.9\" and platform_machine != \"aarch64\" or platform_machine != \"arm64\" and python_version >= \"3.8\" and python_version < \"3.9\" and platform_system != \"Linux\" or (platform_machine != \"arm64\" and platform_machine != \"aarch64\") and python_version >= \"3.8\" and python_version < \"3.9\""}, - {version = ">=1.21.0", markers = "python_version <= \"3.9\" and platform_system == \"Darwin\" and platform_machine == \"arm64\" and python_version >= \"3.8\""}, - {version = ">=1.21.4", markers = "python_version >= \"3.10\" and platform_system == \"Darwin\" and python_version < \"3.11\""}, ] [[package]] @@ -3036,9 +3037,9 @@ files = [ [package.dependencies] numpy = [ - {version = ">=1.23.2", markers = "python_version >= \"3.11\""}, - {version = ">=1.21.0", markers = "python_version >= \"3.10\" and python_version < \"3.11\""}, {version = ">=1.20.3", markers = "python_version < \"3.10\""}, + {version = ">=1.21.0", markers = "python_version >= \"3.10\""}, + {version = ">=1.23.2", markers = "python_version >= \"3.11\""}, ] python-dateutil = ">=2.8.2" pytz = ">=2020.1" @@ -3588,6 +3589,7 @@ mergedeep = "*" numpy = ">=1.22.4,<2.0.0" pandas = ">=1.3.2" PyYAML = ">=6.0" +setuptools = ">=64.0.1" xarray = ">=0.20.2" [package.extras] @@ -4360,6 +4362,21 @@ nativelib = ["pyobjc-framework-Cocoa", "pywin32"] objc = ["pyobjc-framework-Cocoa"] win32 = ["pywin32"] +[[package]] +name = "setuptools" +version = "70.2.0" +description = "Easily download, build, install, upgrade, and uninstall Python packages" +optional = false +python-versions = ">=3.8" +files = [ + {file = "setuptools-70.2.0-py3-none-any.whl", hash = "sha256:b8b8060bb426838fbe942479c90296ce976249451118ef566a5a0b7d8b78fb05"}, + {file = "setuptools-70.2.0.tar.gz", hash = "sha256:bd63e505105011b25c3c11f753f7e3b8465ea739efddaccef8f0efac2137bac1"}, +] + +[package.extras] +doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "pyproject-hooks (!=1.1)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier"] +test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "importlib-metadata", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "jaraco.test", "mypy (==1.10.0)", "packaging (>=23.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-home (>=0.5)", "pytest-mypy", "pytest-perf", "pytest-ruff (>=0.3.2)", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] + [[package]] name = "six" version = "1.16.0" diff --git a/sed/config/NXmpes_config-HEXTOF.json b/sed/config/NXmpes_config-HEXTOF.json index 81bee4f6..9dd471ee 100755 --- a/sed/config/NXmpes_config-HEXTOF.json +++ b/sed/config/NXmpes_config-HEXTOF.json @@ -121,6 +121,10 @@ "detector_voltage": 2250.0, "detector_voltage/@units": "V" }, + "/ENTRY[entry]/INSTRUMENT[instrument]/MONOCHROMATOR[monochromator]": { + "energy_dispersion": "@attrs:metadata/scientificMetadata/Source/dispersion/value", + "energy_dispersion/@units": "@attrs:metadata/scientificMetadata/Source/dispersion/unit" + }, "/ENTRY[entry]/INSTRUMENT[instrument]/sourceTYPE[source_probe]": { "name": "@attrs:metadata/scientificMetadata/Source/name", "probe": "@attrs:metadata/scientificMetadata/Source/probe", From c76dc9fe23ee6f406083ea90bca967e0e76ee5f4 Mon Sep 17 00:00:00 2001 From: rettigl Date: Fri, 5 Jul 2024 18:57:14 +0200 Subject: [PATCH 5/8] update pynxtools --- poetry.lock | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/poetry.lock b/poetry.lock index 62ba167a..9abefe88 100644 --- a/poetry.lock +++ b/poetry.lock @@ -3589,7 +3589,6 @@ mergedeep = "*" numpy = ">=1.22.4,<2.0.0" pandas = ">=1.3.2" PyYAML = ">=6.0" -setuptools = ">=64.0.1" xarray = ">=0.20.2" [package.extras] @@ -4362,21 +4361,6 @@ nativelib = ["pyobjc-framework-Cocoa", "pywin32"] objc = ["pyobjc-framework-Cocoa"] win32 = ["pywin32"] -[[package]] -name = "setuptools" -version = "70.2.0" -description = "Easily download, build, install, upgrade, and uninstall Python packages" -optional = false -python-versions = ">=3.8" -files = [ - {file = "setuptools-70.2.0-py3-none-any.whl", hash = "sha256:b8b8060bb426838fbe942479c90296ce976249451118ef566a5a0b7d8b78fb05"}, - {file = "setuptools-70.2.0.tar.gz", hash = "sha256:bd63e505105011b25c3c11f753f7e3b8465ea739efddaccef8f0efac2137bac1"}, -] - -[package.extras] -doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "pyproject-hooks (!=1.1)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier"] -test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "importlib-metadata", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "jaraco.test", "mypy (==1.10.0)", "packaging (>=23.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-home (>=0.5)", "pytest-mypy", "pytest-perf", "pytest-ruff (>=0.3.2)", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] - [[package]] name = "six" version = "1.16.0" From f1e11daaa549eab98450d494eed185e80b82d38b Mon Sep 17 00:00:00 2001 From: Zain Sohail Date: Wed, 10 Jul 2024 20:28:30 +0200 Subject: [PATCH 6/8] updates from dima --- sed/config/NXmpes_config-HEXTOF.json | 195 +++++++++++++++++---------- 1 file changed, 122 insertions(+), 73 deletions(-) diff --git a/sed/config/NXmpes_config-HEXTOF.json b/sed/config/NXmpes_config-HEXTOF.json index 9dd471ee..fb3652bd 100755 --- a/sed/config/NXmpes_config-HEXTOF.json +++ b/sed/config/NXmpes_config-HEXTOF.json @@ -8,18 +8,24 @@ "/ENTRY[entry]/experiment_institution": "Deutsches Elektronen-Synchrotron DESY", "/ENTRY[entry]/experiment_facility": "Free-Electron Laser FLASH", "/ENTRY[entry]/experiment_laboratory": "@attrs:metadata/creationLocation", - "/ENTRY[entry]/entry_identifier": "@attrs:metadata/pid", - "/ENTRY[entry]/USER[user]": { - "name": "@attrs:metadata/principalInvestigator", - "affiliation": "t.b.d.", + "/ENTRY[entry]/entry_identifier": "@attrs:metadata/_id", + "/ENTRY[entry]/USER[user0]": { + "name": "@attrs:metadata/pi/last_name", "role": "Principal investigator", - "email": "@attrs:metadata/contactEmail" + "affiliation": "@attrs:metadata/pi/institute", + "email": "@attrs:metadata/pi/email" + }, + "/ENTRY[entry]/USER[user1]": { + "name": "@attrs:metadata/leader/last_name", + "role": "proposer", + "affiliation": "@attrs:metadata/leader/institute", + "email": "@attrs:metadata/leader/email" }, "/ENTRY[entry]/INSTRUMENT[instrument]": { - "name": "Time-of-flight momentum microscope equipped with eight segment delay line detector, at the HEXTOF endstation of the PG2 beamline at FLASH", + "name": "HEXTOF", "name/@short_name": "HEXTOF @ PG2", "energy_resolution": { - "resolution": 130.0, + "resolution": 100.0, "resolution/@units": "meV", "physical_quantity": "energy", "type": "estimated" @@ -31,7 +37,7 @@ "type": "estimated" }, "RESOLUTION[momentum_resolution]": { - "resolution": "@link:/entry/instrument/electronanalyser/momentum_resolution", + "resolution": 0.05, "resolution/@units": "1/angstrom", "physical_quantity": "momentum", "type": "estimated" @@ -43,7 +49,6 @@ "value/@units": "@attrs:metadata/scientificMetadata/sample/sample_pressure/unit" } }, - "/ENTRY[entry]/INSTRUMENT[instrument]/ELECTRONANALYSER[electronanalyser]": { "description": "HEXTOF Momentum Microscope", "device_information": { @@ -55,98 +60,103 @@ "ky", "E" ], - "slow_axes": "t.b.d.", "energy_resolution": { - "resolution": 100, + "resolution": "@link:/entry/instrument/energy_resolution", "resolution/@units": "meV", "physical_quantity": "energy", "type": "estimated" }, "momentum_resolution": { - "resolution": 0.08, + "resolution": "@link:/entry/instrument/momentum_resolution", "resolution/@units": "1/angstrom", "physical_quantity": "momentum", "type": "estimated" }, "spatial_resolution": { - "resolution": 1, + "resolution": 0.5, "resolution/@units": "µm", "physical_quantity": "length", "type": "estimated" } }, "/ENTRY[entry]/INSTRUMENT[instrument]/ELECTRONANALYSER[electronanalyser]/COLLECTIONCOLUMN[collectioncolumn]": { - "projection": "@attrs:metadata/scientificMetadata/Collection/projection", + "projection": "@attrs:metadata/scientificMetadata/collectioncolumn/projection", "scheme": "momentum dispersive", - "lens_mode": "@attrs:metadata/scientificMetadata/Collection/lens_mode", - "extractor_voltage": "@attrs:metadata/scientificMetadata/Collection/extractor_voltage", - "extractor_voltage/@units": "V", + "lens_mode": "@attrs:metadata/scientificMetadata/collectioncolumn/lens_mode", + "extractor_voltage": "@attrs:metadata/scientificMetadata/collectioncolumn/extractor_voltage/value", + "extractor_voltage/@units": "@attrs:metadata/scientificMetadata/collectioncolumn/extractor_voltage/unit", + "extractor_current": "@attrs:metadata/scientificMetadata/collectioncolumn/extractor_current/value", + "extractor_current/@units": "@attrs:metadata/scientificMetadata/collectioncolumn/extractor_current/unit", "working_distance": 4.0, "working_distance/@units": "mm", "field_aperture": { - "shape": "round", - "size": "@attrs:metadata/scientificMetadata/Collection/field_aperture", - "size/@units": "µm", + "shape": "@attrs:metadata/scientificMetadata/collectioncolumn/field_aperture_shape", + "size": "@attrs:metadata/scientificMetadata/collectioncolumn/field_aperture_size/value", + "size/@units": "@attrs:metadata/scientificMetadata/collectioncolumn/field_aperture_size/unit", "POSITIONER[fa_m1]": { - "value": "@attrs:metadata/scientificMetadata/Collection/field_aperture_x", - "value/@units": "mm" + "value": "@attrs:metadata/scientificMetadata/collectioncolumn/field_aperture_x/value", + "value/@units": "@attrs:metadata/scientificMetadata/collectioncolumn/field_aperture_x/unit" }, "POSITIONER[fa_m2]": { - "value": "@attrs:metadata/scientificMetadata/Collection/field_aperture_y", - "value/@units": "mm" + "value": "@attrs:metadata/scientificMetadata/collectioncolumn/field_aperture_y/value", + "value/@units": "@attrs:metadata/scientificMetadata/collectioncolumn/field_aperture_y/unit" } }, "contrast_aperture": { - "shape": "open" + "shape": "circle", + "size": "@attrs:metadata/scientificMetadata/collectioncolumn/contrast_aperture_size/value", + "size/@units": "@attrs:metadata/scientificMetadata/collectioncolumn/contrast_aperture_size/unit", + "POSITIONER[ca_m3]": { + "value": 0.0, + "value/@units": "mm" + } } }, "/ENTRY[entry]/INSTRUMENT[instrument]/ELECTRONANALYSER[electronanalyser]/ENERGYDISPERSION[energydispersion]": { - "drift_energy": "@attrs:metadata/scientificMetadata/Collection/tof_voltage", - "drift_energy/@units": "eV", + "pass_energy": "@attrs:metadata/scientificMetadata/collectioncolumn/tof_voltage/value", + "pass_energy/@units": "@attrs:metadata/scientificMetadata/collectioncolumn/tof_voltage/unit", "scheme": "tof", "tof_distance": 0.8, "tof_distance/@units": "m" }, "/ENTRY[entry]/INSTRUMENT[instrument]/ELECTRONANALYSER[electronanalyser]/DETECTOR[detector]": { - "amplifier_type": "MCP", - "detector_type": "DLD", - "sensor_pixels": [ - 1800, - 1800 - ], - "amplifier_bias": 20.0, - "amplifier_bias/@units": "V", - "amplifier_voltage": 1850.0, - "amplifier_voltage/@units": "V", - "detector_voltage": 2250.0, - "detector_voltage/@units": "V" - }, - "/ENTRY[entry]/INSTRUMENT[instrument]/MONOCHROMATOR[monochromator]": { - "energy_dispersion": "@attrs:metadata/scientificMetadata/Source/dispersion/value", - "energy_dispersion/@units": "@attrs:metadata/scientificMetadata/Source/dispersion/unit" + "amplifier_type": "@attrs:metadata/scientificMetadata/detector/amplifier_type", + "detector_type": "@attrs:metadata/scientificMetadata/detector/detector_type", + "sensor_pixels": "@attrs:metadata/scientificMetadata/detector/sensor_pixels", + "amplifier_bias": "@attrs:metadata/scientificMetadata/detector/amplifier_bias/value", + "amplifier_bias/@units": "@attrs:metadata/scientificMetadata/detector/amplifier_bias/unit", + "amplifier_voltage": "@attrs:metadata/scientificMetadata/detector/amplifier_voltage/value", + "amplifier_voltage/@units": "@attrs:metadata/scientificMetadata/detector/amplifier_voltage/unit", + "detector_voltage": "@attrs:metadata/scientificMetadata/detector/detector_voltage/value", + "detector_voltage/@units": "@attrs:metadata/scientificMetadata/detector/detector_voltage/unit" }, "/ENTRY[entry]/INSTRUMENT[instrument]/sourceTYPE[source_probe]": { - "name": "@attrs:metadata/scientificMetadata/Source/name", - "probe": "@attrs:metadata/scientificMetadata/Source/probe", - "type": "@attrs:metadata/scientificMetadata/Source/type", + "name": "@attrs:metadata/scientificMetadata/source/name", + "probe": "@attrs:metadata/scientificMetadata/source/probe", + "type": "@attrs:metadata/scientificMetadata/source/type", "mode": "Single Bunch", - "frequency": "@attrs:metadata/scientificMetadata/Source/repetition_rate/value", - "frequency/@units": "@attrs:metadata/scientificMetadata/Source/repetition_rate/unit", + "frequency": "@attrs:metadata/scientificMetadata/source/repetition_rate/value", + "frequency/@units": "@attrs:metadata/scientificMetadata/source/repetition_rate/unit", "associated_beam": "/entry/instrument/beam_probe" }, "/ENTRY[entry]/INSTRUMENT[instrument]/beamTYPE[beam_probe]": { "distance": 0.0, "distance/@units": "mm", - "incident_energy": "@attrs:metadata/scientificMetadata/Source/photon_energy/value", - "incident_energy/@units": "@attrs:metadata/scientificMetadata/Source/photon_energy/unit", - "pulse_duration": 100, - "pulse_duration/@units": "fs", - "incident_polarization": [1, 1, 0, 0], + "incident_energy": "@attrs:metadata/scientificMetadata/source/photon_energy/value", + "incident_energy/@units": "@attrs:metadata/scientificMetadata/source/dispersion/unit", + "incident_energy_dispersion": "@attrs:metadata/scientificMetadata/source/dispersion/value", + "incident_energy_dispersion/@units": "@attrs:metadata/scientificMetadata/source/dispersion/unit", + "incident_polarization": [ + 1, + 1, + 0, + 0 + ], "incident_polarization/@units": "V^2/mm^2", "associated_source": "/entry/instrument/source_probe" }, "/ENTRY[entry]/INSTRUMENT[instrument]/sourceTYPE[source_pump]": { - "name": "FLASH pump laser", + "name": "PIGLET @ FLASH @ DESY", "probe": "visible light", "type": "Optical Laser", "mode": "Single Bunch", @@ -157,19 +167,20 @@ "/ENTRY[entry]/INSTRUMENT[instrument]/beamTYPE[beam_pump]": { "distance": 0.0, "distance/@units": "mm", - "incident_wavelength": "@attrs:metadata/scientificMetadata/Laser/wavelength/value", - "incident_wavelength/@units": "@attrs:metadata/scientificMetadata/Laser/wavelength/unit", - "incident_energy": "@attrs:metadata/scientificMetadata/Laser/energy/value", - "incident_energy/@units": "@attrs:metadata/scientificMetadata/Laser/energy/unit", - "pulse_duration": "@attrs:metadata/scientificMetadata/Laser/pulse duration/value", - "pulse_duration/@units": "@attrs:metadata/scientificMetadata/Laser/pulse duration/unit", - "incident_polarization": "@attrs:metadata/scientificMetadata/Laser/polarization", - "incident_polarization/@units": "V^2/mm^2", - "pulse_energy": "@attrs:metadata/scientificMetadata/Laser/pulse_energy/value", - "pulse_energy/@units": "@attrs:metadata/scientificMetadata/Laser/pulse_energy/unit", + "incident_wavelength": "@attrs:metadata/scientificMetadata/laser/wavelength/value", + "incident_wavelength/@units": "@attrs:metadata/scientificMetadata/laser/wavelength/unit", + "incident_energy": "@attrs:metadata/scientificMetadata/laser/incident_energy/value", + "incident_energy/@units": "@attrs:metadata/scientificMetadata/laser/incident_energy/unit", + "pulse_duration": "@attrs:metadata/scientificMetadata/laser/pulse_duration/value", + "pulse_duration/@units": "@attrs:metadata/scientificMetadata/laser/pulse_duration/unit", + "incident_polarization": "@attrs:metadata/scientificMetadata/laser/incident_polarization/value", + "incident_polarization/@units": "@attrs:metadata/scientificMetadata/laser/incident_polarization/unit", + "pulse_energy": "@attrs:metadata/scientificMetadata/laser/pulse_energy/value", + "pulse_energy/@units": "@attrs:metadata/scientificMetadata/laser/pulse_energy/unit", "associated_source": "/entry/instrument/source_pump" }, "/ENTRY[entry]/INSTRUMENT[instrument]/MANIPULATOR[manipulator]": { + "type": "@attrs:metadata/scientificMetadata/manipulator/type", "temperature_sensor": { "name": "sample_temperature", "measurement": "temperature", @@ -179,14 +190,15 @@ "sample_bias_voltmeter": { "name": "sample_bias", "measurement": "voltage", - "value": "@attrs:metadata/scientificMetadata/Manipulator/sample_bias", - "value/@units": "V" + "value": "@attrs:metadata/scientificMetadata/manipulator/sample_bias/value", + "value/@units": "@attrs:metadata/scientificMetadata/manipulator/sample_bias/unit" } }, "/ENTRY[entry]/SAMPLE[sample]": { "description": "@attrs:metadata/scientificMetadata/sample/sample_chemical_name", - "name": "@attrs:metadata/scientificMetadata/sample/sample", + "name": "@attrs:metadata/scientificMetadata/sample/sample_name", "situation": "vacuum", + "preparation_description": "@attrs:metadata/scientificMetadata/sample/preparation_description", "temperature": { "temperature_sensor": "@link:/entry/instrument/manipulator/temperature_sensor" }, @@ -197,21 +209,58 @@ "voltmeter": "@link:/entry/instrument/manipulator/sample_bias_voltmeter" } }, - "/ENTRY[entry]/PROCESS_MPES[process]/energy_calibration":{ + "/ENTRY[entry]/PROCESS[process]/DISTORTION[distortion]": { + "symmetry": "@attrs:metadata/momentum_correction/correction/rotsym", + "original_centre": "@attrs:metadata/momentum_correction/correction/pcent", + "original_points": "@attrs:metadata/momentum_correction/correction/pouter", + "cdeform_field": "@attrs:metadata/momentum_correction/correction/cdeform_field", + "rdeform_field": "@attrs:metadata/momentum_correction/correction/rdeform_field" + }, + "/ENTRY[entry]/PROCESS[process]/REGISTRATION[registration]": { + "depends_on": "@attrs:metadata/momentum_correction/registration/depends_on", + "TRANSFORMATIONS[transformations]": { + "AXISNAME[trans_x]": "@attrs:metadata/momentum_correction/registration/trans_x/value", + "AXISNAME[trans_x]/@transformation_type": "@attrs:metadata/momentum_correction/registration/trans_x/type", + "AXISNAME[trans_x]/@units": "@attrs:metadata/momentum_correction/registration/trans_x/units", + "AXISNAME[trans_x]/@vector": "@attrs:metadata/momentum_correction/registration/trans_x/vector", + "AXISNAME[trans_x]/@depends_on": "@attrs:metadata/momentum_correction/registration/trans_x/depends_on", + "AXISNAME[trans_y]": "@attrs:metadata/momentum_correction/registration/trans_y/value", + "AXISNAME[trans_y]/@units": "@attrs:metadata/momentum_correction/registration/trans_y/units", + "AXISNAME[trans_y]/@transformation_type": "@attrs:metadata/momentum_correction/registration/trans_y/type", + "AXISNAME[trans_y]/@vector": "@attrs:metadata/momentum_correction/registration/trans_y/vector", + "AXISNAME[trans_y]/@depends_on": "@attrs:metadata/momentum_correction/registration/trans_y/depends_on", + "AXISNAME[rot_z]": "@attrs:metadata/momentum_correction/registration/rot_z/value", + "AXISNAME[rot_z]/@units": "@attrs:metadata/momentum_correction/registration/rot_z/units", + "AXISNAME[rot_z]/@transformation_type": "@attrs:metadata/momentum_correction/registration/rot_z/type", + "AXISNAME[rot_z]/@offset": "@attrs:metadata/momentum_correction/registration/rot_z/offset", + "AXISNAME[rot_z]/@vector": "@attrs:metadata/momentum_correction/registration/rot_z/vector", + "AXISNAME[rot_z]/@depends_on": "@attrs:metadata/momentum_correction/registration/rot_z/depends_on" + } + }, + "/ENTRY[entry]/PROCESS[process]/energy_calibration": { "coefficients": "@attrs:metadata/energy_calibration/calibration/coefficients", "fit_function": "@attrs:metadata/energy_calibration/calibration/fit_function", "original_axis": "@attrs:metadata/energy_calibration/tof", - "calibrated_axis": "@attrs:metadata/energy_calibration/calibration/axis", - "calibrated_axis/@units": "eV" + "calibrated_axis": "@attrs:metadata/energy_calibration/calibration/axis" + }, + "/ENTRY[entry]/PROCESS[process]/CALIBRATION[kx_calibration]": { + "scaling": "@attrs:metadata/momentum_calibration/calibration/kx_scale", + "offset": "@attrs:metadata/momentum_calibration/calibration/x_center", + "calibrated_axis": "@attrs:metadata/momentum_calibration/calibration/kx_axis" + }, + "/ENTRY[entry]/PROCESS[process]/CALIBRATION[ky_calibration]": { + "scaling": "@attrs:metadata/momentum_calibration/calibration/ky_scale", + "offset": "@attrs:metadata/momentum_calibration/calibration/y_center", + "calibrated_axis": "@attrs:metadata/momentum_calibration/calibration/ky_axis" }, "/ENTRY[entry]/data": { "@axes": "@data:dims", - "@*_indices": "@data:*.index", + "AXISNAME_indices[@*_indices]": "@data:*.index", "@signal": "data", "data": "@data:data", "data/@units": "counts", - "*": "@data:*.data", - "*/@units": "@data:*.unit", + "AXISNAME[*]": "@data:*.data", + "AXISNAME[*]/@units": "@data:*.unit", "energy/@type": "@attrs:metadata/energy_calibration/calibration/energy_scale" } } From 4790410438c6cb07a036e13fb02f066976d0df85 Mon Sep 17 00:00:00 2001 From: rettigl Date: Mon, 7 Oct 2024 11:24:06 +0200 Subject: [PATCH 7/8] update config file --- poetry.lock | 41 ++++--- sed/config/NXmpes_config-HEXTOF.json | 162 +++++++++------------------ tutorial/4_hextof_workflow.ipynb | 4 +- 3 files changed, 77 insertions(+), 130 deletions(-) diff --git a/poetry.lock b/poetry.lock index 9abefe88..462e45ed 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 1.5.1 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.8.3 and should not be changed by hand. [[package]] name = "aiofiles" @@ -2915,13 +2915,12 @@ files = [ [package.dependencies] numpy = [ - {version = ">=1.21.0", markers = "python_version <= \"3.9\" and platform_system == \"Darwin\" and platform_machine == \"arm64\""}, - {version = ">=1.19.3", markers = "python_version >= \"3.6\" and platform_system == \"Linux\" and platform_machine == \"aarch64\" or python_version >= \"3.9\""}, - {version = ">=1.17.0", markers = "python_version >= \"3.7\""}, - {version = ">=1.17.3", markers = "python_version >= \"3.8\""}, - {version = ">=1.21.2", markers = "python_version >= \"3.10\""}, - {version = ">=1.21.4", markers = "python_version >= \"3.10\" and platform_system == \"Darwin\""}, {version = ">=1.23.5", markers = "python_version >= \"3.11\""}, + {version = ">=1.21.2", markers = "platform_system != \"Darwin\" and python_version >= \"3.10\" and python_version < \"3.11\""}, + {version = ">=1.19.3", markers = "platform_system == \"Linux\" and platform_machine == \"aarch64\" and python_version >= \"3.8\" and python_version < \"3.10\" or python_version > \"3.9\" and python_version < \"3.10\" or python_version >= \"3.9\" and platform_system != \"Darwin\" and python_version < \"3.10\" or python_version >= \"3.9\" and platform_machine != \"arm64\" and python_version < \"3.10\""}, + {version = ">=1.17.3", markers = "(platform_system != \"Darwin\" and platform_system != \"Linux\") and python_version >= \"3.8\" and python_version < \"3.9\" or platform_system != \"Darwin\" and python_version >= \"3.8\" and python_version < \"3.9\" and platform_machine != \"aarch64\" or platform_machine != \"arm64\" and python_version >= \"3.8\" and python_version < \"3.9\" and platform_system != \"Linux\" or (platform_machine != \"arm64\" and platform_machine != \"aarch64\") and python_version >= \"3.8\" and python_version < \"3.9\""}, + {version = ">=1.21.0", markers = "python_version <= \"3.9\" and platform_system == \"Darwin\" and platform_machine == \"arm64\" and python_version >= \"3.8\""}, + {version = ">=1.21.4", markers = "python_version >= \"3.10\" and platform_system == \"Darwin\" and python_version < \"3.11\""}, ] [[package]] @@ -3037,9 +3036,9 @@ files = [ [package.dependencies] numpy = [ - {version = ">=1.20.3", markers = "python_version < \"3.10\""}, - {version = ">=1.21.0", markers = "python_version >= \"3.10\""}, {version = ">=1.23.2", markers = "python_version >= \"3.11\""}, + {version = ">=1.21.0", markers = "python_version >= \"3.10\" and python_version < \"3.11\""}, + {version = ">=1.20.3", markers = "python_version < \"3.10\""}, ] python-dateutil = ">=2.8.2" pytz = ">=2020.1" @@ -3568,13 +3567,13 @@ windows-terminal = ["colorama (>=0.4.6)"] [[package]] name = "pynxtools" -version = "0.7.1" +version = "0.7.4" description = "Extend NeXus for experiments and characterization in Materials Science and Materials Engineering and serve as a NOMAD parser implementation for NeXus." optional = false python-versions = ">=3.8" files = [ - {file = "pynxtools-0.7.1-py3-none-any.whl", hash = "sha256:7f1a3eeef599b31a5571980cb2105074dc96c58dccb729703e1f4c4c46decbfd"}, - {file = "pynxtools-0.7.1.tar.gz", hash = "sha256:076b65cbe17ca822cb11d69841693a16c716fcb8c1452eba9bd27eec035242a1"}, + {file = "pynxtools-0.7.4-py3-none-any.whl", hash = "sha256:16a6a52ea8feb5847696bc6e474e31099840ae2fbcd1297bc5c37e756b7e6a62"}, + {file = "pynxtools-0.7.4.tar.gz", hash = "sha256:3e75a60cd92f0fea6eb9d456c135d62cf0f30cbdc54d73e71023d1db42920094"}, ] [package.dependencies] @@ -4102,19 +4101,19 @@ files = [ [[package]] name = "rich" -version = "13.8.1" +version = "13.9.1" description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal" optional = false -python-versions = ">=3.7.0" +python-versions = ">=3.8.0" files = [ - {file = "rich-13.8.1-py3-none-any.whl", hash = "sha256:1760a3c0848469b97b558fc61c85233e3dafb69c7a071b4d60c38099d3cd4c06"}, - {file = "rich-13.8.1.tar.gz", hash = "sha256:8260cda28e3db6bf04d2d1ef4dbc03ba80a824c88b0e7668a0f23126a424844a"}, + {file = "rich-13.9.1-py3-none-any.whl", hash = "sha256:b340e739f30aa58921dc477b8adaa9ecdb7cecc217be01d93730ee1bc8aa83be"}, + {file = "rich-13.9.1.tar.gz", hash = "sha256:097cffdf85db1babe30cc7deba5ab3a29e1b9885047dab24c57e9a7f8a9c1466"}, ] [package.dependencies] markdown-it-py = ">=2.2.0" pygments = ">=2.13.0,<3.0.0" -typing-extensions = {version = ">=4.0.0,<5.0", markers = "python_version < \"3.9\""} +typing-extensions = {version = ">=4.0.0,<5.0", markers = "python_version < \"3.11\""} [package.extras] jupyter = ["ipywidgets (>=7.5.1,<9)"] @@ -4692,13 +4691,13 @@ test = ["pytest", "ruff"] [[package]] name = "tomli" -version = "2.0.1" +version = "2.0.2" description = "A lil' TOML parser" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"}, - {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, + {file = "tomli-2.0.2-py3-none-any.whl", hash = "sha256:2ebe24485c53d303f690b0ec092806a085f07af5a5aa1464f3931eec36caaa38"}, + {file = "tomli-2.0.2.tar.gz", hash = "sha256:d46d457a85337051c36524bc5349dd91b1877838e2979ac5ced3e710ed8a60ed"}, ] [[package]] diff --git a/sed/config/NXmpes_config-HEXTOF.json b/sed/config/NXmpes_config-HEXTOF.json index fb3652bd..3bd38a41 100755 --- a/sed/config/NXmpes_config-HEXTOF.json +++ b/sed/config/NXmpes_config-HEXTOF.json @@ -1,25 +1,24 @@ { "/@default": "entry", "/ENTRY[entry]/@default": "data", - "/ENTRY[entry]/definition": "NXmpes", - "/ENTRY[entry]/definition/@version": "None", "/ENTRY[entry]/title": "@attrs:metadata/scientificMetadata/title", "/ENTRY[entry]/start_time": "@attrs:metadata/creationTime", "/ENTRY[entry]/experiment_institution": "Deutsches Elektronen-Synchrotron DESY", "/ENTRY[entry]/experiment_facility": "Free-Electron Laser FLASH", "/ENTRY[entry]/experiment_laboratory": "@attrs:metadata/creationLocation", - "/ENTRY[entry]/entry_identifier": "@attrs:metadata/_id", + "/ENTRY/entry_identifier": { + "identifier":"@attrs:metadata/pid" + }, "/ENTRY[entry]/USER[user0]": { - "name": "@attrs:metadata/pi/last_name", + "name": "!@attrs:metadata/principalInvestigator", "role": "Principal investigator", - "affiliation": "@attrs:metadata/pi/institute", - "email": "@attrs:metadata/pi/email" + "affiliation": "!@attrs:metadata/pi/institute" }, "/ENTRY[entry]/USER[user1]": { - "name": "@attrs:metadata/leader/last_name", + "name": "!@attrs:metadata/owner", "role": "proposer", - "affiliation": "@attrs:metadata/leader/institute", - "email": "@attrs:metadata/leader/email" + "affiliation": "!@attrs:metadata/proposer/institute", + "email": "@attrs:metadata/contactEmail" }, "/ENTRY[entry]/INSTRUMENT[instrument]": { "name": "HEXTOF", @@ -80,32 +79,28 @@ } }, "/ENTRY[entry]/INSTRUMENT[instrument]/ELECTRONANALYSER[electronanalyser]/COLLECTIONCOLUMN[collectioncolumn]": { - "projection": "@attrs:metadata/scientificMetadata/collectioncolumn/projection", + "projection": "@attrs:metadata/scientificMetadata/Collection/projection", "scheme": "momentum dispersive", - "lens_mode": "@attrs:metadata/scientificMetadata/collectioncolumn/lens_mode", - "extractor_voltage": "@attrs:metadata/scientificMetadata/collectioncolumn/extractor_voltage/value", - "extractor_voltage/@units": "@attrs:metadata/scientificMetadata/collectioncolumn/extractor_voltage/unit", - "extractor_current": "@attrs:metadata/scientificMetadata/collectioncolumn/extractor_current/value", - "extractor_current/@units": "@attrs:metadata/scientificMetadata/collectioncolumn/extractor_current/unit", + "lens_mode": "@attrs:metadata/scientificMetadata/Collection/lens_mode", + "extractor_voltage": "@attrs:metadata/scientificMetadata/Collection/extractor_voltage", + "extractor_voltage/@units": "V", "working_distance": 4.0, "working_distance/@units": "mm", "field_aperture": { - "shape": "@attrs:metadata/scientificMetadata/collectioncolumn/field_aperture_shape", - "size": "@attrs:metadata/scientificMetadata/collectioncolumn/field_aperture_size/value", - "size/@units": "@attrs:metadata/scientificMetadata/collectioncolumn/field_aperture_size/unit", + "shape": "circle", + "size": "@attrs:metadata/scientificMetadata/Collection/field_aperture", + "size/@units": "µm", "POSITIONER[fa_m1]": { - "value": "@attrs:metadata/scientificMetadata/collectioncolumn/field_aperture_x/value", - "value/@units": "@attrs:metadata/scientificMetadata/collectioncolumn/field_aperture_x/unit" + "value": "@attrs:metadata/scientificMetadata/Collection/field_aperture_x", + "value/@units": "mm" }, "POSITIONER[fa_m2]": { - "value": "@attrs:metadata/scientificMetadata/collectioncolumn/field_aperture_y/value", - "value/@units": "@attrs:metadata/scientificMetadata/collectioncolumn/field_aperture_y/unit" + "value": "@attrs:metadata/scientificMetadata/Collection/field_aperture_y", + "value/@units": "mm" } }, "contrast_aperture": { - "shape": "circle", - "size": "@attrs:metadata/scientificMetadata/collectioncolumn/contrast_aperture_size/value", - "size/@units": "@attrs:metadata/scientificMetadata/collectioncolumn/contrast_aperture_size/unit", + "shape": "open", "POSITIONER[ca_m3]": { "value": 0.0, "value/@units": "mm" @@ -113,48 +108,44 @@ } }, "/ENTRY[entry]/INSTRUMENT[instrument]/ELECTRONANALYSER[electronanalyser]/ENERGYDISPERSION[energydispersion]": { - "pass_energy": "@attrs:metadata/scientificMetadata/collectioncolumn/tof_voltage/value", - "pass_energy/@units": "@attrs:metadata/scientificMetadata/collectioncolumn/tof_voltage/unit", + "pass_energy": "@attrs:metadata/scientificMetadata/Collection/tof_voltage", + "pass_energy/@units": "V", "scheme": "tof", "tof_distance": 0.8, "tof_distance/@units": "m" }, "/ENTRY[entry]/INSTRUMENT[instrument]/ELECTRONANALYSER[electronanalyser]/DETECTOR[detector]": { - "amplifier_type": "@attrs:metadata/scientificMetadata/detector/amplifier_type", - "detector_type": "@attrs:metadata/scientificMetadata/detector/detector_type", - "sensor_pixels": "@attrs:metadata/scientificMetadata/detector/sensor_pixels", - "amplifier_bias": "@attrs:metadata/scientificMetadata/detector/amplifier_bias/value", - "amplifier_bias/@units": "@attrs:metadata/scientificMetadata/detector/amplifier_bias/unit", - "amplifier_voltage": "@attrs:metadata/scientificMetadata/detector/amplifier_voltage/value", - "amplifier_voltage/@units": "@attrs:metadata/scientificMetadata/detector/amplifier_voltage/unit", - "detector_voltage": "@attrs:metadata/scientificMetadata/detector/detector_voltage/value", - "detector_voltage/@units": "@attrs:metadata/scientificMetadata/detector/detector_voltage/unit" + "amplifier_type": "MCP", + "detector_type": "DLD", + "sensor_pixels": [2024, 2048] }, "/ENTRY[entry]/INSTRUMENT[instrument]/sourceTYPE[source_probe]": { - "name": "@attrs:metadata/scientificMetadata/source/name", - "probe": "@attrs:metadata/scientificMetadata/source/probe", - "type": "@attrs:metadata/scientificMetadata/source/type", + "name": "@attrs:metadata/scientificMetadata/Source/name", + "probe": "@attrs:metadata/scientificMetadata/Source/probe", + "type": "@attrs:metadata/scientificMetadata/Source/type", "mode": "Single Bunch", - "frequency": "@attrs:metadata/scientificMetadata/source/repetition_rate/value", - "frequency/@units": "@attrs:metadata/scientificMetadata/source/repetition_rate/unit", + "frequency": "@attrs:metadata/scientificMetadata/Source/repetition_rate/value", + "frequency/@units": "@attrs:metadata/scientificMetadata/Source/repetition_rate/unit", "associated_beam": "/entry/instrument/beam_probe" }, "/ENTRY[entry]/INSTRUMENT[instrument]/beamTYPE[beam_probe]": { "distance": 0.0, "distance/@units": "mm", - "incident_energy": "@attrs:metadata/scientificMetadata/source/photon_energy/value", - "incident_energy/@units": "@attrs:metadata/scientificMetadata/source/dispersion/unit", - "incident_energy_dispersion": "@attrs:metadata/scientificMetadata/source/dispersion/value", - "incident_energy_dispersion/@units": "@attrs:metadata/scientificMetadata/source/dispersion/unit", - "incident_polarization": [ + "incident_energy": "@attrs:metadata/scientificMetadata/Source/photon_energy/value", + "incident_energy/@units": "@attrs:metadata/scientificMetadata/Source/dispersion/unit", + "incident_polarization_stokes": [ 1, 1, 0, 0 ], - "incident_polarization/@units": "V^2/mm^2", + "incident_polarization_stokes/@units": "V^2/mm^2", "associated_source": "/entry/instrument/source_probe" }, + "/ENTRY[entry]/INSTRUMENT[instrument]/monochromator[MONOCHROMATOR]": { + "energy_dispersion": "@attrs:metadata/scientificMetadata/Source/dispersion/value", + "energy_dispersion/@units": "@attrs:metadata/scientificMetadata/Source/dispersion/unit" + }, "/ENTRY[entry]/INSTRUMENT[instrument]/sourceTYPE[source_pump]": { "name": "PIGLET @ FLASH @ DESY", "probe": "visible light", @@ -167,20 +158,20 @@ "/ENTRY[entry]/INSTRUMENT[instrument]/beamTYPE[beam_pump]": { "distance": 0.0, "distance/@units": "mm", - "incident_wavelength": "@attrs:metadata/scientificMetadata/laser/wavelength/value", - "incident_wavelength/@units": "@attrs:metadata/scientificMetadata/laser/wavelength/unit", - "incident_energy": "@attrs:metadata/scientificMetadata/laser/incident_energy/value", - "incident_energy/@units": "@attrs:metadata/scientificMetadata/laser/incident_energy/unit", - "pulse_duration": "@attrs:metadata/scientificMetadata/laser/pulse_duration/value", - "pulse_duration/@units": "@attrs:metadata/scientificMetadata/laser/pulse_duration/unit", - "incident_polarization": "@attrs:metadata/scientificMetadata/laser/incident_polarization/value", - "incident_polarization/@units": "@attrs:metadata/scientificMetadata/laser/incident_polarization/unit", - "pulse_energy": "@attrs:metadata/scientificMetadata/laser/pulse_energy/value", - "pulse_energy/@units": "@attrs:metadata/scientificMetadata/laser/pulse_energy/unit", + "incident_wavelength": "@attrs:metadata/scientificMetadata/Laser/wavelength/value", + "incident_wavelength/@units": "@attrs:metadata/scientificMetadata/Laser/wavelength/unit", + "incident_energy": "@attrs:metadata/scientificMetadata/Laser/energy/value", + "incident_energy/@units": "@attrs:metadata/scientificMetadata/Laser/energy/unit", + "pulse_duration": "@attrs:metadata/scientificMetadata/Laser/pulse duration/value", + "pulse_duration/@units": "@attrs:metadata/scientificMetadata/Laser/pulse duration/unit", + "incident_polarization": "@attrs:metadata/scientificMetadata/Laser/polarization", + "incident_polarization/@units": "deg", + "pulse_energy": "@attrs:metadata/scientificMetadata/Laser/pulse_energy/value", + "pulse_energy/@units": "@attrs:metadata/scientificMetadata/Laser/pulse_energy/unit", "associated_source": "/entry/instrument/source_pump" }, "/ENTRY[entry]/INSTRUMENT[instrument]/MANIPULATOR[manipulator]": { - "type": "@attrs:metadata/scientificMetadata/manipulator/type", + "type": "@attrs:metadata/scientificMetadata/Manipulator/type", "temperature_sensor": { "name": "sample_temperature", "measurement": "temperature", @@ -190,69 +181,24 @@ "sample_bias_voltmeter": { "name": "sample_bias", "measurement": "voltage", - "value": "@attrs:metadata/scientificMetadata/manipulator/sample_bias/value", - "value/@units": "@attrs:metadata/scientificMetadata/manipulator/sample_bias/unit" + "value": "@attrs:metadata/scientificMetadata/Manipulator/sample_bias", + "value/@units": "V" } }, "/ENTRY[entry]/SAMPLE[sample]": { "description": "@attrs:metadata/scientificMetadata/sample/sample_chemical_name", - "name": "@attrs:metadata/scientificMetadata/sample/sample_name", + "name": "@attrs:metadata/scientificMetadata/sample/sample", "situation": "vacuum", - "preparation_description": "@attrs:metadata/scientificMetadata/sample/preparation_description", - "temperature": { + "temperature_env": { "temperature_sensor": "@link:/entry/instrument/manipulator/temperature_sensor" }, - "gas_pressure": { + "gas_pressure_env": { "pressure_gauge": "@link:/entry/instrument/pressure_gauge" }, "bias": { "voltmeter": "@link:/entry/instrument/manipulator/sample_bias_voltmeter" } }, - "/ENTRY[entry]/PROCESS[process]/DISTORTION[distortion]": { - "symmetry": "@attrs:metadata/momentum_correction/correction/rotsym", - "original_centre": "@attrs:metadata/momentum_correction/correction/pcent", - "original_points": "@attrs:metadata/momentum_correction/correction/pouter", - "cdeform_field": "@attrs:metadata/momentum_correction/correction/cdeform_field", - "rdeform_field": "@attrs:metadata/momentum_correction/correction/rdeform_field" - }, - "/ENTRY[entry]/PROCESS[process]/REGISTRATION[registration]": { - "depends_on": "@attrs:metadata/momentum_correction/registration/depends_on", - "TRANSFORMATIONS[transformations]": { - "AXISNAME[trans_x]": "@attrs:metadata/momentum_correction/registration/trans_x/value", - "AXISNAME[trans_x]/@transformation_type": "@attrs:metadata/momentum_correction/registration/trans_x/type", - "AXISNAME[trans_x]/@units": "@attrs:metadata/momentum_correction/registration/trans_x/units", - "AXISNAME[trans_x]/@vector": "@attrs:metadata/momentum_correction/registration/trans_x/vector", - "AXISNAME[trans_x]/@depends_on": "@attrs:metadata/momentum_correction/registration/trans_x/depends_on", - "AXISNAME[trans_y]": "@attrs:metadata/momentum_correction/registration/trans_y/value", - "AXISNAME[trans_y]/@units": "@attrs:metadata/momentum_correction/registration/trans_y/units", - "AXISNAME[trans_y]/@transformation_type": "@attrs:metadata/momentum_correction/registration/trans_y/type", - "AXISNAME[trans_y]/@vector": "@attrs:metadata/momentum_correction/registration/trans_y/vector", - "AXISNAME[trans_y]/@depends_on": "@attrs:metadata/momentum_correction/registration/trans_y/depends_on", - "AXISNAME[rot_z]": "@attrs:metadata/momentum_correction/registration/rot_z/value", - "AXISNAME[rot_z]/@units": "@attrs:metadata/momentum_correction/registration/rot_z/units", - "AXISNAME[rot_z]/@transformation_type": "@attrs:metadata/momentum_correction/registration/rot_z/type", - "AXISNAME[rot_z]/@offset": "@attrs:metadata/momentum_correction/registration/rot_z/offset", - "AXISNAME[rot_z]/@vector": "@attrs:metadata/momentum_correction/registration/rot_z/vector", - "AXISNAME[rot_z]/@depends_on": "@attrs:metadata/momentum_correction/registration/rot_z/depends_on" - } - }, - "/ENTRY[entry]/PROCESS[process]/energy_calibration": { - "coefficients": "@attrs:metadata/energy_calibration/calibration/coefficients", - "fit_function": "@attrs:metadata/energy_calibration/calibration/fit_function", - "original_axis": "@attrs:metadata/energy_calibration/tof", - "calibrated_axis": "@attrs:metadata/energy_calibration/calibration/axis" - }, - "/ENTRY[entry]/PROCESS[process]/CALIBRATION[kx_calibration]": { - "scaling": "@attrs:metadata/momentum_calibration/calibration/kx_scale", - "offset": "@attrs:metadata/momentum_calibration/calibration/x_center", - "calibrated_axis": "@attrs:metadata/momentum_calibration/calibration/kx_axis" - }, - "/ENTRY[entry]/PROCESS[process]/CALIBRATION[ky_calibration]": { - "scaling": "@attrs:metadata/momentum_calibration/calibration/ky_scale", - "offset": "@attrs:metadata/momentum_calibration/calibration/y_center", - "calibrated_axis": "@attrs:metadata/momentum_calibration/calibration/ky_axis" - }, "/ENTRY[entry]/data": { "@axes": "@data:dims", "AXISNAME_indices[@*_indices]": "@data:*.index", diff --git a/tutorial/4_hextof_workflow.ipynb b/tutorial/4_hextof_workflow.ipynb index 43301e82..d21aaa57 100644 --- a/tutorial/4_hextof_workflow.ipynb +++ b/tutorial/4_hextof_workflow.ipynb @@ -878,7 +878,9 @@ "metadata[\"scientificMetadata\"][\"Laser\"][\"energy\"] = {\"value\": 1239.84/metadata[\"scientificMetadata\"][\"Laser\"][\"wavelength\"][\"value\"], \"unit\": \"eV\"}\n", "metadata[\"scientificMetadata\"][\"Laser\"][\"polarization\"] = [1, 1, 0, 0]\n", "metadata[\"scientificMetadata\"][\"Collection\"][\"field_aperture_x\"] = float(metadata[\"scientificMetadata\"][\"Collection\"][\"field_aperture_x\"])\n", - "metadata[\"scientificMetadata\"][\"Collection\"][\"field_aperture_y\"] = float(metadata[\"scientificMetadata\"][\"Collection\"][\"field_aperture_y\"])\n" + "metadata[\"scientificMetadata\"][\"Collection\"][\"field_aperture_y\"] = float(metadata[\"scientificMetadata\"][\"Collection\"][\"field_aperture_y\"])\n", + "metadata[\"pi\"] = {\"institute\": \"JGU Mainz\"}\n", + "metadata[\"proposer\"] = {\"institute\": \"TU Dortmund\"}\n" ] }, { From fc818a3dcb87f9d912c419fb8caded2a765044a4 Mon Sep 17 00:00:00 2001 From: rettigl Date: Mon, 11 Nov 2024 19:50:31 +0100 Subject: [PATCH 8/8] add meta_path --- tutorial/4_hextof_workflow.ipynb | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/tutorial/4_hextof_workflow.ipynb b/tutorial/4_hextof_workflow.ipynb index d21aaa57..334671a9 100644 --- a/tutorial/4_hextof_workflow.ipynb +++ b/tutorial/4_hextof_workflow.ipynb @@ -31,6 +31,8 @@ }, "outputs": [], "source": [ + "%load_ext autoreload\n", + "%autoreload 2\n", "from typing import List\n", "from pathlib import Path\n", "import os\n", @@ -68,11 +70,13 @@ "beamtime_dir = \"/asap3/flash/gpfs/pg2/2023/data/11019101\" # on Maxwell\n", "if os.path.exists(beamtime_dir) and os.access(beamtime_dir, os.R_OK):\n", " path = beamtime_dir + \"/raw/hdf/offline/fl1user3\"\n", + " meta_path = beamtime_dir + \"/shared\"\n", " buffer_path = \"Gd_W110/processed/\"\n", "else:\n", " # data_path can be defined and used to store the data in a specific location\n", " dataset.get(\"Gd_W110\") # Put in Path to a storage of at least 10 GByte free space.\n", " path = dataset.dir\n", + " meta_path = path\n", " buffer_path = path + \"/processed/\"" ] }, @@ -167,7 +171,7 @@ "metadata": {}, "outputs": [], "source": [ - "sp = SedProcessor(runs=[44762], config=config_override, system_config=config_file, collect_metadata=False, force_recreate=True)\n", + "sp = SedProcessor(runs=[44762], config=config_override, system_config=config_file, collect_metadata=False)\n", "# You can set collect_metadata=True if the scicat_url and scicat_token are defined" ] }, @@ -871,7 +875,7 @@ "source": [ "from sed.core.config import load_config\n", "import numpy as np\n", - "metadata = load_config(path + \"/44824_20230324T060430.json\")\n", + "metadata = load_config(meta_path + \"/44824_20230324T060430.json\")\n", "\n", "# Fix metadata\n", "metadata[\"scientificMetadata\"][\"Laser\"][\"wavelength\"][\"value\"] = float(metadata[\"scientificMetadata\"][\"Laser\"][\"wavelength\"][\"value\"][:-2])\n",