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

Comments on NXluminescence.yaml #36

Open
wants to merge 3 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
5 changes: 4 additions & 1 deletion optical_spectroscopy/luminescence/NXbeam_path.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ doc: |
(NXaperture):
# NeXus manual: 'A beamline aperture. This group is deprecated, use NXslit
# instead.'
# also, duplicates NXpinhole?

(NXcrystal):
# doc: "A crystal monochromator or analyzer."
Expand All @@ -43,6 +44,7 @@ doc: |

(NXattenuator):
# doc: "A device that reduces the intensity of a beam by attenuation."
# another variant of NXfilter? i.e. neutral density filter

(NXgrating):
doc: "A diffraction grating. Define relevant parameters in the
Expand Down Expand Up @@ -74,6 +76,7 @@ doc: |

(NXbeam_splitter):
doc: "A beam splitter splitting the light beam in two."
# could infer that two independent NXbeam_path follow (unless it is part of a confocal setup splitting the excitation and detection paths)

(NXwaveplate): # or NXretarder?
doc: "A device that changes the polarization state of a light beam."
Expand All @@ -90,4 +93,4 @@ doc: |
doc: "An optical fiber."
# define: type/mode, material, refractive index, length, wavelength range,
# bandwidth or transfer rate, numerical aperture (angle)


31 changes: 27 additions & 4 deletions optical_spectroscopy/luminescence/NXluminescence.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -155,19 +155,26 @@ symbols:
luminescence_type:
enumeration: [photoluminescence, cathodoluminescence, electroluminescence,
x-rays, sonoluminescence, chemiluminescence, bioluminescence]
# 'x-ray fluorescence' instead of 'x-rays'?
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would say that X-ray fluorescence is just a particular case of photoluminescence or is there a good reason to separate those two?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well, the excitation sources will be quite different (and photoluminescence is usually associated with laser/lamp exciation), so a disambiguation would make sense I guess.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And in X-ray you may have energy resolved detectors without spectrograph/monochromator elements.


excitation(NXsubentry):
excitation(NXsubentry): #
doc: "Properties of the excitation source. The user has to define at
least one of the excitation sources, i.e. at least one of the
subclasses describing various sources has to be filled out.
The beam path between the excitation source and the sample should be
described in beam_path_before."

# 'beam_path_excitation' instead of 'beam_path_before'?

# An alternative could be that 'beam_path_excitation' actually moves up in the hierarchy,
# and then the source is the first element in the beam path

type:
doc: "Type of excitation source."
enumeration: [laser, lamp, X-rays, silicon carbide globar,
super continuum, chemical reaction, ultrasound, living organism,
other]
# 'electron beam' - in that case, to really track all relevant metadata, probably the corresponding
# NXclass for a scanning or transmission electron microscope would need to be used, see below
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

'electron source' added

other_source:
exists: optional
doc: "If you specified 'other' as excitation source type, please
Expand Down Expand Up @@ -201,7 +208,14 @@ symbols:
doc: "Source for bioluminescence. Describe what organism was used and
under what conditions."

electron_source(NXem): # use base class that is being developed for electron microscopy, so far only the vendor spedific NXem_nion
exists: optional
doc: "Source for cathodoluminescence. Describe the experimental
conditions under which the electron microscope is operated."
# sort sources alphabetically?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

NXem is an application definition. Couldn't find NXem_nion...

beam_path_before(NXbeam_path):
# 'beam_path_excitation' instead of 'beam_path_before'?
exists: optional
doc: "Description of the beam path between the excitation source and
the sample ('before' the sample). Describe all relevant optical
Expand All @@ -211,14 +225,20 @@ symbols:
doc: "The detection unit usually consists of a spectrometer, dispersive
element/monochromator, and a detector. Describe the beam path
between the sample and the detection unit in beam_path_after."
# 'beam_path_detection' instead of 'beam_path_after'?
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

changed to 'beam_path_detection'

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

well, as noted above: or emission.

# optical elements can be before or after the spectrometer (which can also be left out
# when working with filters only -> so maybe move spectrometer to the beam path>)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree. This would also allow to add a spectrometer in the excitation beam path which would allow for representing line scan experiments.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It would also allow for dual or triple monochromator setups

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, and "photoluminescence excitation (PLE)", where a monochromator comes after the lamp.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

An optional field '(NXmonochromator)' was added to NXbeam_path.


# An alternative could be that 'beam_path_detection' actually moves up in the hierarchy,
# and then the detector is the last element in the beam path

beam_path_after(NXbeam_path):
exists: optional
doc: "Description of the beam path between the sample and the
detector unit ('after' the sample). Describe all relevant optical
elements and their parameters in the appropriate subclasses."

spectrometer(NXdetector):
spectrometer(NXdetector): # NXmonochromomator? The detector is the CCD, PMT, StreakCamera, ...
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

changed to 'spectrometer(NXmonochromator)'

doc: "Which type of spectrometer/detector and dispersive element."

dispersive_element(NXmonochromator): # NXgrating?
Expand All @@ -237,6 +257,7 @@ symbols:
enumeration: [PMT, photodiode, avalanche diode, CCD camera,
CCD spectrometer, bolometer, other]
# x-ray detector?
# streak camera for time-resolved measurements?
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This could also be represented as a CCD camera as the detector and a MCT + electron tube + phosphorescence screen in the beam_path. But maybe this is too complicated?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sounds a bit complicated, usually the "streak camera" as a whole system is seen as a detector, I would say.

# which kind of CCD
# base class for optical detectors: details about CCD, PMT etc.
# detection mode (lock-in, etc.)
Expand Down Expand Up @@ -301,6 +322,7 @@ symbols:
dimensions:
rank: 1
dim: [[1, N_wavelength]]
# even though wavelength may be recommended, signal axis could also be in energy or wavenumber and then calling it wavelength is confusing

measured_data(NX_NUMBER):
doc: "Resulting data from the measurement, described by data type."
Expand Down Expand Up @@ -433,7 +455,7 @@ symbols:
in a free-text description, e.g. 'center of sample, long edge parallel to
plane of incidence'."

window(NXaperture):
window(NXaperture): # part of the beam path?
exists: optional
doc: "For environmental measurements, the environment (liquid, vapor etc.)
is enclosed in a cell, which has windows both in the direction
Expand Down Expand Up @@ -505,3 +527,4 @@ symbols:
doc: "We recommend to use wavelength as a default attribute, but it can be
replaced by any suitable parameter along the X-axis."
# How to record excitation spectrum?
# Possibility for Maps and Linescans, i.e. additional navigation axes
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is a general question I already raised for other appdefs: how do we represent arbitrary scan parameters in a clear manner?