From 3714db318f2fccefde7447ea4c069bbf191936ea Mon Sep 17 00:00:00 2001 From: Lukas Pielsticker <50139597+lukaspie@users.noreply.github.com> Date: Fri, 18 Jul 2025 15:03:33 +0200 Subject: [PATCH] move optical spectroscopy files to applications/base_classes --- .../NXellipsometry.nxdl.xml | 16 ------ .../NXoptical_spectroscopy.nxdl.xml | 20 ++------ .../NXraman.nxdl.xml | 24 --------- .../nyaml/NXellipsometry.yaml | 34 +------------ .../nyaml/NXoptical_spectroscopy.yaml | 41 +++------------- .../nyaml/NXraman.yaml | 49 +------------------ .../NXbeam_transfer_matrix_table.nxdl.xml | 2 +- .../NXoptical_lens.nxdl.xml | 0 .../NXoptical_window.nxdl.xml | 2 +- .../NXprogram.nxdl.xml | 0 .../NXwaveplate.nxdl.xml | 2 +- .../nyaml/NXbeam_transfer_matrix_table.yaml | 2 +- .../nyaml/NXoptical_lens.yaml | 0 .../nyaml/NXoptical_window.yaml | 6 +-- .../nyaml/NXprogram.yaml | 0 .../nyaml/NXwaveplate.yaml | 2 +- 16 files changed, 22 insertions(+), 178 deletions(-) rename {contributed_definitions => applications}/NXellipsometry.nxdl.xml (92%) rename {contributed_definitions => applications}/NXoptical_spectroscopy.nxdl.xml (97%) rename {contributed_definitions => applications}/NXraman.nxdl.xml (89%) rename {contributed_definitions => applications}/nyaml/NXellipsometry.yaml (90%) rename {contributed_definitions => applications}/nyaml/NXoptical_spectroscopy.yaml (96%) rename {contributed_definitions => applications}/nyaml/NXraman.yaml (87%) rename {contributed_definitions => base_classes}/NXbeam_transfer_matrix_table.nxdl.xml (99%) rename {contributed_definitions => base_classes}/NXoptical_lens.nxdl.xml (100%) rename {contributed_definitions => base_classes}/NXoptical_window.nxdl.xml (99%) rename {contributed_definitions => base_classes}/NXprogram.nxdl.xml (100%) rename {contributed_definitions => base_classes}/NXwaveplate.nxdl.xml (99%) rename {contributed_definitions => base_classes}/nyaml/NXbeam_transfer_matrix_table.yaml (99%) rename {contributed_definitions => base_classes}/nyaml/NXoptical_lens.yaml (100%) rename {contributed_definitions => base_classes}/nyaml/NXoptical_window.yaml (98%) rename {contributed_definitions => base_classes}/nyaml/NXprogram.yaml (100%) rename {contributed_definitions => base_classes}/nyaml/NXwaveplate.yaml (99%) diff --git a/contributed_definitions/NXellipsometry.nxdl.xml b/applications/NXellipsometry.nxdl.xml similarity index 92% rename from contributed_definitions/NXellipsometry.nxdl.xml rename to applications/NXellipsometry.nxdl.xml index 2721a77f0e..70a70e52af 100644 --- a/contributed_definitions/NXellipsometry.nxdl.xml +++ b/applications/NXellipsometry.nxdl.xml @@ -21,22 +21,6 @@ # # For further information, see http://www.nexusformat.org --> - diff --git a/contributed_definitions/NXoptical_spectroscopy.nxdl.xml b/applications/NXoptical_spectroscopy.nxdl.xml similarity index 97% rename from contributed_definitions/NXoptical_spectroscopy.nxdl.xml rename to applications/NXoptical_spectroscopy.nxdl.xml index d2dccd264d..cc22ff38f8 100644 --- a/contributed_definitions/NXoptical_spectroscopy.nxdl.xml +++ b/applications/NXoptical_spectroscopy.nxdl.xml @@ -22,21 +22,12 @@ # For further information, see http://www.nexusformat.org --> +--> @@ -386,14 +377,11 @@ TODO: surface normal) - A sample normal centered description is as well possible: + A sample normal centered description is possible as well: - angle of incidence (angle between incident beam and sample surface) - angle of detection (angle between detection beam and sample surface) - angle of incident and detection beam - angle of in-plane sample rotation (direction along the sample's surface normal) - - An arbitrary reference frame can be defined by "reference_frames" - and used via "instrument/angle_sample_and_beam_TYPE" diff --git a/contributed_definitions/NXraman.nxdl.xml b/applications/NXraman.nxdl.xml similarity index 89% rename from contributed_definitions/NXraman.nxdl.xml rename to applications/NXraman.nxdl.xml index 418e955847..5bfe38e325 100644 --- a/contributed_definitions/NXraman.nxdl.xml +++ b/applications/NXraman.nxdl.xml @@ -21,30 +21,6 @@ # # For further information, see http://www.nexusformat.org --> - - - diff --git a/contributed_definitions/nyaml/NXellipsometry.yaml b/applications/nyaml/NXellipsometry.yaml similarity index 90% rename from contributed_definitions/nyaml/NXellipsometry.yaml rename to applications/nyaml/NXellipsometry.yaml index a9604f432a..97786dfd38 100644 --- a/contributed_definitions/nyaml/NXellipsometry.yaml +++ b/applications/nyaml/NXellipsometry.yaml @@ -57,22 +57,6 @@ symbols: sample. N_incident_angles: | Number of angles of incidence of the incident beam. - -# 04/2024 -# A rework of the draft version(06/2022) of a NeXus application definition for ellipsometry. -# 09/2024 -# TODO (Workshop output): -# - Better categorization of ellipsometer types: -# Separate in spectral range and measurement types (In situ vs infrared?? This grouping does not make sense) -# Maybe make a given special field for "spectral_range" with units of eV or nm? -# - Add a StepScanAnalzer as measurement type (continuous/rotating mode the other? Ask Chris) -# - Redefine more/higher requirements for Ellipsometry compared to NXoptical_spectroscopy: Especially incident angle and polarization. -# - Refinements for ellipsometer_type and add ellipsometer_method/mode: -# "~ please consider renaming "ellipsometer_type" to "ellipsometer_method" or "ellipsometer_mode". Motivation: "rotating_compensator" etc. are methods of ellipsometry measurements, and some ellipsometers support multiple methods (e.g. rotating compensator, nulling etc). -# ~ please consider to use the field "ellipsometer_type" for entries directly related to the core instrument, i.e. "imaging ellipsometer", "standard ellipsometer" (or: "non-imaging ellipsometer"), maybe others such as "back-focal plane ellipsometer" " -# - Add a clear predefined data structure, as initially proposed, but dont add any restrictions regarding dimensions -# Make ois maybe similar to NXdata_mpes. In this way, at all FAIR assignments of the data is possible. As well use this to guide the people, to let them know, where they have to save their data. Just use NXdata is too vague. Could be easing the threshold to get into NeXus. -# This explicitly refers to a wish to add: "exposure time, number of scans" type: group NXellipsometry(NXoptical_spectroscopy): (NXentry): @@ -293,7 +277,7 @@ NXellipsometry(NXoptical_spectroscopy): Website of the software. # ++++++++++++++++++++++++++++++++++ SHA HASH ++++++++++++++++++++++++++++++++++ -# ed62540ae1100127dc375d0ba9c12c02afad440ef2a38f723704cebb398facd8 +# 439c6e2ace0f16356ed2af0b01104ee3c32601f1496bdccd29c90c8f266796e9 # # # -# # # # diff --git a/contributed_definitions/nyaml/NXoptical_spectroscopy.yaml b/applications/nyaml/NXoptical_spectroscopy.yaml similarity index 96% rename from contributed_definitions/nyaml/NXoptical_spectroscopy.yaml rename to applications/nyaml/NXoptical_spectroscopy.yaml index 88e9c37b52..81738ebb98 100644 --- a/contributed_definitions/nyaml/NXoptical_spectroscopy.yaml +++ b/applications/nyaml/NXoptical_spectroscopy.yaml @@ -23,21 +23,11 @@ symbols: was performed at three different temperatures and two different pressures N_measurements = 2*3 = 6. -# 04/2024 -# Extension of the Draft Version (05/2023) of a NeXus application definition which -# serves as a template for various optical spectroscopy experiments # TODO: # - Add NXoptical_lens and NXwaveplate to NXinstrument? -# - Make polfilter_TYPE(NXcomponent) own base class -\-> rework NXpolarizer_opt. and add them to NXinstrument. -# - Make spectralfilter_TYPE(NXcomponent) own base class -\-> extend NXfilter? and add them to NXinstrument. -# - Make offset angles for polar and azimuthal? -# - Can angle_reference_frame be replaced later by only using reference_frames and generic angle description? +# - Make polfilter_TYPE(NXbeam_device) own base class -\-> rework NXpolarizer_opt. and add them to NXinstrument. +# - Make spectralfilter_TYPE(NXbeam_device) own base class -\-> extend NXfilter? and add them to NXinstrument. # - Add optical elements and rework them: NXfiber, NXbeam_splitter, -# - Consider to make power flux recommended? Difficult parameter to measure. Relevant for some samples/techniques, but not for all. Powder density? Nominal vs. measured? -# - Is there something to describe the spot size? -# - Restructure the concept "type" in "source_TYPE" to medium and model(NXfabication) -\-> suggestion from Markus: "splitting up the concept into type(NXfabrication) and emitting medium(NXion/NXatom) is a better alternative?" -# - How to describe beam size properties? NXbeam/extend? Is this enough? or do we need more arbitrary shapes as elliptically? Maybe as well focus spot size? -# - Think of removing/reworking of (optional) NXfabrications? Con: bloats up the NeXus def (move it to base classes?) Pro: as the fixed name device_information is used, the structure is more FAIR / clean designed? type: group NXoptical_spectroscopy(NXobject): (NXentry): @@ -293,14 +283,11 @@ NXoptical_spectroscopy(NXobject): surface normal) - A sample normal centered description is as well possible: + A sample normal centered description is possible as well: - angle of incidence (angle between incident beam and sample surface) - angle of detection (angle between detection beam and sample surface) - angle of incident and detection beam - angle of in-plane sample rotation (direction along the sample's surface normal) - - An arbitrary reference frame can be defined by "reference_frames" - and used via "instrument/angle_sample_and_beam_TYPE" enumeration: [beam centered, sample-normal centered] omega(NX_NUMBER): exists: optional @@ -873,7 +860,7 @@ NXoptical_spectroscopy(NXobject): \@version: # ++++++++++++++++++++++++++++++++++ SHA HASH ++++++++++++++++++++++++++++++++++ -# a80446e818774501708ee6369d01b2af414a8aecd636c635a53e51a9e636e6c2 +# 2abaa11cec0a6ef98c266f2a2cf663d712ba684932dae831b3e2ad3d53ac1027 # # # # +# --> # # # @@ -1262,14 +1240,11 @@ NXoptical_spectroscopy(NXobject): # surface normal) # # -# A sample normal centered description is as well possible: +# A sample normal centered description is possible as well: # - angle of incidence (angle between incident beam and sample surface) # - angle of detection (angle between detection beam and sample surface) # - angle of incident and detection beam # - angle of in-plane sample rotation (direction along the sample's surface normal) -# -# An arbitrary reference frame can be defined by "reference_frames" -# and used via "instrument/angle_sample_and_beam_TYPE" # # # diff --git a/contributed_definitions/nyaml/NXraman.yaml b/applications/nyaml/NXraman.yaml similarity index 87% rename from contributed_definitions/nyaml/NXraman.yaml rename to applications/nyaml/NXraman.yaml index e3d8b1bff7..21a6155039 100644 --- a/contributed_definitions/nyaml/NXraman.yaml +++ b/applications/nyaml/NXraman.yaml @@ -70,29 +70,6 @@ symbols: It is 1 for only parallel polarization measurement, 2 for parallel and cross polarization measurement or larger, if i.e. the incident and scattered photon direction is varied. - -# N_incident_wavelengths: | -# Number of the incident wavelen -# N_incident_beams: | -# to be done.... - -# 04/2024 -# A draft version of a NeXus application definition for Raman spectroscopy. - -# 09/2024 -# TODO (Workshop output): -# - Talk with VIBSO people - possible to synchronize raman_experiment_type with this ontology? -# - Similar to ellipsometry: Separate in-situ from resonant/non-resonant stuff: OR maybe allow multiple selections? -# - Shorten raman_experiment_type by removal of Raman_spectroscopy, but as well fix the Raman Reader in the same run -# - Which for more dataconverters: Output from usually Raman setups to neXus format? -# - Spot size description? -# - Description of defocusing / maybe as well as experiment_type? -# Wishes for NXraman or general next workshop: -# "convert existing data to NeXus" -# "dictionary lookup keywords/fields in existing formats"(?) -# Template for specific experiments (i.e. too complex to get into NeXus/FAIRdata?) - unclear what to do. -# coorporation with VIBSO ontology? -# dataset examples (i.e. NXdata_raman) type: group NXraman(NXoptical_spectroscopy): (NXentry): @@ -166,7 +143,7 @@ NXraman(NXoptical_spectroscopy): wavelength(NX_NUMBER): # ++++++++++++++++++++++++++++++++++ SHA HASH ++++++++++++++++++++++++++++++++++ -# 14cf7eae6c7b23ce2836ab74734b7a6477b4c668dde01c95c276045f612c3a6f +# c5d06c501a185d18e65f69e222da31d55588a20c9ebf765f9059307068212045 # # # -# -# -# # # # diff --git a/contributed_definitions/NXbeam_transfer_matrix_table.nxdl.xml b/base_classes/NXbeam_transfer_matrix_table.nxdl.xml similarity index 99% rename from contributed_definitions/NXbeam_transfer_matrix_table.nxdl.xml rename to base_classes/NXbeam_transfer_matrix_table.nxdl.xml index 583f7072db..c094a91989 100644 --- a/contributed_definitions/NXbeam_transfer_matrix_table.nxdl.xml +++ b/base_classes/NXbeam_transfer_matrix_table.nxdl.xml @@ -114,4 +114,4 @@ - \ No newline at end of file + diff --git a/contributed_definitions/NXoptical_lens.nxdl.xml b/base_classes/NXoptical_lens.nxdl.xml similarity index 100% rename from contributed_definitions/NXoptical_lens.nxdl.xml rename to base_classes/NXoptical_lens.nxdl.xml diff --git a/contributed_definitions/NXoptical_window.nxdl.xml b/base_classes/NXoptical_window.nxdl.xml similarity index 99% rename from contributed_definitions/NXoptical_window.nxdl.xml rename to base_classes/NXoptical_window.nxdl.xml index ef008db2f3..93ed238397 100644 --- a/contributed_definitions/NXoptical_window.nxdl.xml +++ b/base_classes/NXoptical_window.nxdl.xml @@ -82,7 +82,7 @@ the reference data if a reference measurement for window correction was performed. - Ideally, the reference measurement was performed on on the same sample, + Ideally, the reference measurement was performed on the same sample, using the same conditions as for the actual measurement, with and, if possible, without windows. It should have been conducted as close in time to the actual measurement as possible. diff --git a/contributed_definitions/NXprogram.nxdl.xml b/base_classes/NXprogram.nxdl.xml similarity index 100% rename from contributed_definitions/NXprogram.nxdl.xml rename to base_classes/NXprogram.nxdl.xml diff --git a/contributed_definitions/NXwaveplate.nxdl.xml b/base_classes/NXwaveplate.nxdl.xml similarity index 99% rename from contributed_definitions/NXwaveplate.nxdl.xml rename to base_classes/NXwaveplate.nxdl.xml index 59c1ea8dbf..2fd59f6fbd 100644 --- a/contributed_definitions/NXwaveplate.nxdl.xml +++ b/base_classes/NXwaveplate.nxdl.xml @@ -165,4 +165,4 @@ Average reflectance of the waveplate in percentage. - \ No newline at end of file + diff --git a/contributed_definitions/nyaml/NXbeam_transfer_matrix_table.yaml b/base_classes/nyaml/NXbeam_transfer_matrix_table.yaml similarity index 99% rename from contributed_definitions/nyaml/NXbeam_transfer_matrix_table.yaml rename to base_classes/nyaml/NXbeam_transfer_matrix_table.yaml index 0878c0130b..ad1b83f2b2 100644 --- a/contributed_definitions/nyaml/NXbeam_transfer_matrix_table.yaml +++ b/base_classes/nyaml/NXbeam_transfer_matrix_table.yaml @@ -192,4 +192,4 @@ NXbeam_transfer_matrix_table(NXobject): # # # -# \ No newline at end of file +# diff --git a/contributed_definitions/nyaml/NXoptical_lens.yaml b/base_classes/nyaml/NXoptical_lens.yaml similarity index 100% rename from contributed_definitions/nyaml/NXoptical_lens.yaml rename to base_classes/nyaml/NXoptical_lens.yaml diff --git a/contributed_definitions/nyaml/NXoptical_window.yaml b/base_classes/nyaml/NXoptical_window.yaml similarity index 98% rename from contributed_definitions/nyaml/NXoptical_window.yaml rename to base_classes/nyaml/NXoptical_window.yaml index 64a46c580d..e862701bb3 100644 --- a/contributed_definitions/nyaml/NXoptical_window.yaml +++ b/base_classes/nyaml/NXoptical_window.yaml @@ -50,7 +50,7 @@ NXoptical_window(NXaperture): the reference data if a reference measurement for window correction was performed. - Ideally, the reference measurement was performed on on the same sample, + Ideally, the reference measurement was performed on the same sample, using the same conditions as for the actual measurement, with and, if possible, without windows. It should have been conducted as close in time to the actual measurement as possible. @@ -77,7 +77,7 @@ NXoptical_window(NXaperture): (similar to the angle of incidence). # ++++++++++++++++++++++++++++++++++ SHA HASH ++++++++++++++++++++++++++++++++++ -# 19829edf2cc70ea7a87dfe98f1c0ef1785a8923522b0185c237e1971f25acf72 +# 5fbdbc3ec2cf46c2adbe2c08207711d9584d29cc74618e7783dfc8eb358b34f1 # # #