NXevent_data_em¶
Status:
base class, extends NXobject
Description:
Metadata and settings of an electron microscope for scans and images.
The need for such a structuring of data is evident from the fact that electron microscopes are dynamic. Oftentimes it suffices to calibrate the instrument at the start of the session. Subsequently, data (images, spectra, etc.) can be collected. Users may wish to take only a single scan or image and complete their microscope session; however
frequently users are much longer at the microscope, recalibrate and take multiple data items (scans, images, spectra). Each item comes with own detector and on-the-fly processing settings and calibrations.
For the single data item use case one may argue that the need for an additional grouping is redundant. Instead, the metadata could equally be stored inside the respective groups of the top-level mandatory NXinstrument group. On the flip side, even for a session with a single image, it would also not harm to nest the data.
In fact, oftentimes scientists feel that there is a need to store details about eventual drift of the specimen in its holder (if such data is available) or record changes to the lens excitations caused or apertures used. Although current microscopes are usually equipped with stabilization systems for many of the individual components, it can still be useful to store time-dependent data in detail.
Another reason if not a need for having more finely granularizable options for storing time-dependent data, is that over the course of a session one may reconfigure the microscope. What is a reconfiguration? This could be the change of an aperture mode because a scientist may first collect an image with some aperture and then choose a different value. As the aperture affects the electron beam it will affect the system.
Let aside for a moment the technology and business models, an EM could be monitored (and will likely become so more in the future) for streaming out spatio-temporal details about its components, locations of objects, and eventually (externally) applied stimuli and positioning of the specimen.
Some snapshot or integrated data from this stream are relevant for understanding signal genesis and electron/ion-beam-sample interaction (paths). In such a generic case it might be necessary to sync these streaming data with those intervals in time when specific measurements are taken (spectra collected, images taken, diffraction images indexed on-the-fly).
Theoretically, an instrument and specimen should be considered as dynamic. Scientists often report or feel (difficult to quantify) observations that microscopes perform differently across sessions, without sometimes being able to identify clear root causes. Users of the instrument may consider such conditions impractical, or too poor and thus either abort their session or try to bring the microscope first into a state where conditions are considered stable and of high enough quality to reuse data collection.
In all these cases it is practical to store time-dependent data of the instrument state not in the respective instrument component groups of the top-level NXinstrument but in a sort of a log of event data. This is the idea behind the NXevent_data_em snapshot containers.
Ideally, NXevent_data_em are equipped with a start_time and end_time to represent a time interval (remind the idea of the instrument state stream) during which the scientist considered (or practically has to consider) the microscope (especially ebeam and specimen) as stable enough.
Arguably it is oftentimes tricky to specify a clear time interval when the microscope is stable enough. Take for instance the acquisition of an image or spectra stack. It is not fully possible (technically) to avoid that even within a single image instabilities of the beam are faced and drift occurs. But does this warrant to document the microscope state at an even finer and impractical in-between one collects signal time intervals?
This is a question of how finely does one granularize pieces of information. A possible solution is to consider each probed position, i.e. point in time when the beam was not blanked and illuminates a portion of the material, i.e. the interaction volume, whose signal contributions are then counted by the detector(s) as per pixel- or per voxel signal in the region-of-interest. In principle this application definition allows for such doing so. However, in most cases such a fine granularization would demand the collection of data which are as of now hardly retrievable with commercial instruments nor of primary interest.
A frequently made choice, mainly for convenience, is that drift and scan distortions are considered a feature or inaccuracy of the image and/or spectrum and thus one de facto accepts that the microscope was not as stable as expected during the acquisition of the image. We learn that the idea of a time interval during the microscope session may be interpreted differently by different users. Here we consider the choice to focus on images and spectra, and eventually single position measurements as the smallest granularization level. Which eventually may require to add optional NXprocess instances for respectively collected data to describe the relevant distortions. Nevertheless, the distortions are typically corrected for by numerical protocols. Which warrant an own consideration in the future. A more detailed overview of such computational steps to cope with scan distortions is available in the literature:
For specific simulation purposes, mainly in an effort to digitally repeat or simulate the experiment, it is tempting to consider dynamics of the instrument, implemented as time-dependent functional descriptions of e.g. lens excitations, beam shape functions, trajectories of groups of electrons, or detector noise models.
For now the preferred strategy to handle these cases is through customizations of the specific fields within NXevent_data_em instances.
Another alternative could be to sample finer, eventually dissimilarly along the time axis; however this may cause situations where an NXevent_data_em instance does not contain specific measurements (i.e. images, spectra of scientific relevance).
In this case one should better go for a customized application definition with a functional property description inside members (fields or groups) in NXevent_data_em instances; or resort to a specific offspring application definition of NXem which documents metadata for tracking explicitly electrons (with ray-tracing based descriptors/computational geometry descriptors) or tracking of wave bundles.
This perspective on much more subtle time-dependent considerations of electron microscopy can be advantageous also for storing details of time-dependent additional components that are coupled to and/or synced with a microscope.
Examples include cutting-edge experiments where the electron beam gets coupled/excited by e.g. lasers. In this case, the laser unit should be registered under the top-level NXinstrument section. Its spatio-temporal details could be stored inside respective groups of the NXinstrument though inside instances of here detailed NXevent_data_em.
Symbols:
No symbol table
- Groups cited:
NXebeam_column, NXibeam_column, NXimage_set_em_adf, NXimage_set_em_bf, NXimage_set_em_bse, NXimage_set_em_chamber, NXimage_set_em_df, NXimage_set_em_diffrac, NXimage_set_em_ecci, NXimage_set_em_kikuchi, NXimage_set_em_ronchigram, NXimage_set_em_se, NXinstrument, NXinteraction_vol_em, NXoptical_system_em, NXprocess, NXscanbox_em, NXspectrum_set_em_auger, NXspectrum_set_em_cathodolum, NXspectrum_set_em_eels, NXspectrum_set_em_xray, NXuser
Structure:
start_time: (optional) NX_DATE_TIME
ISO 8601 time code with local time zone offset to UTC information included when the snapshot time interval started. If the user wishes to specify an interval of time that the snapshot should represent during which the instrument was stable and configured using specific settings and calibrations, the start_time is the start (left bound of the time interval) while the end_time specifies the end (right bound) of the time interval.
end_time: (optional) NX_DATE_TIME
ISO 8601 time code with local time zone offset to UTC information included when the snapshot time interval ended.
event_identifier: (optional) NX_CHAR
Reference to a specific state and setting of the microscope components.
event_type: (optional) NX_CHAR
Which specific event/measurement type. Examples are:
In-lens/backscattered electron, usually has quadrants
Secondary_electron, image, topography, fractography, overview images
Backscattered_electron, image, Z or channeling contrast (ECCI)
Bright_field, image, TEM
Dark_field, image, crystal defects
Annular dark field, image (medium- or high-angle), TEM
Diffraction, image, TEM, or a comparable technique in the SEM
Kikuchi, image, SEM EBSD and TEM diffraction
X-ray spectra (point, line, surface, volume), composition EDS/EDX(S)
Electron energy loss spectra for points, lines, surfaces, TEM
Auger, spectrum, (low Z contrast element composition)
Cathodoluminescence (optical spectra)
Ronchigram, image, alignment utility specifically in TEM
Chamber, e.g. TV camera inside the chamber, education purposes.
detector_identifier: (optional) NX_CHAR
The detector or set of detectors that was used to collect this signal. The name of the detector has to match the names used for available detectors, i.e. if the instrument has an ebsd_camera named detector, instances of NXimage_em_kikuchi should use ebsd_camera as the detector name.
IMAGE_SET_EM_SE: (optional) NXimage_set_em_se
IMAGE_SET_EM_BSE: (optional) NXimage_set_em_bse
IMAGE_SET_EM_ECCI: (optional) NXimage_set_em_ecci
IMAGE_SET_EM_BF: (optional) NXimage_set_em_bf
IMAGE_SET_EM_DF: (optional) NXimage_set_em_df
IMAGE_SET_EM_ADF: (optional) NXimage_set_em_adf
IMAGE_SET_EM_KIKUCHI: (optional) NXimage_set_em_kikuchi
IMAGE_SET_EM_DIFFRAC: (optional) NXimage_set_em_diffrac
SPECTRUM_SET_EM_XRAY: (optional) NXspectrum_set_em_xray
SPECTRUM_SET_EM_EELS: (optional) NXspectrum_set_em_eels
SPECTRUM_SET_EM_AUGER: (optional) NXspectrum_set_em_auger
SPECTRUM_SET_EM_CATHODOLUM: (optional) NXspectrum_set_em_cathodolum
IMAGE_SET_EM_RONCHIGRAM: (optional) NXimage_set_em_ronchigram
IMAGE_SET_EM_CHAMBER: (optional) NXimage_set_em_chamber
em_lab: (optional) NXinstrument
A group where specific settings of the instrument during the event can be captured. This is the preferred way to keep track of different settings of the microscope during the session. For instance, a user may first take an overview image with different magnification and settings and then start a spectrum analyses. These should be stored as two NXevent_data_em instances in an application definition. Each storing the specific settings.
NXfabrication relevant details should not be repeated because we assume that the session is with the same microscope. Namely, it is hopefully not happening that someone builds out a component of the microscope while is taking a measurement with it. For this reason the specialized NXinstrument here contains no NXfabrication group.
EBEAM_COLUMN: (optional) NXebeam_column
IBEAM_COLUMN: (optional) NXibeam_column
ebeam_deflector: (optional) NXscanbox_em
ibeam_deflector: (optional) NXscanbox_em
OPTICAL_SYSTEM_EM: (optional) NXoptical_system_em
USER: (optional) NXuser
INTERACTION_VOL_EM: (optional) NXinteraction_vol_em
PROCESS: (optional) NXprocess
Hypertext Anchors¶
List of hypertext anchors for all groups, fields, attributes, and links defined in this class.