- Oct 2022
-
fairmat-experimental.github.io fairmat-experimental.github.io
-
em
event_data_em
-
at
_data_em
-
ime point/time interval
a point in time or an interval?
-
capabilities: (optional) NX_CHAR
Add a base class for micromanipulator (this is nothing but a miniature version of a robot arm with welding capabilities, meaning it should also have a source) omniprobe
-
name but a few.
Detector instances need to have different names, what currently prevents this additional constraint set
-
semi_
why semi if it is really half the angle for the convergence angle this should be written in the docstring
-
(optional)
example of constraint conflict should be recommended for TEM but optional for SEM
-
ebeam_deflector
this has to be all capital because if we have e.g. two ion columns we would also need two deflecting units which may be different ones and may be controlled by different devices
-
current: (required) NX_FLOAT
what if this is a complicated spatiotemporal profile then rather use an NXmonitor?
-
,
-
EBEAM_COLUMN
example of a constraint conflict like also the case for IBEAM_COLUMN
Has to be all capital to a allow for having more than one column but then there how to then make a prefix mandatory? ebeam_column_ID where <ID> can then be replaced by 0, 1 etc.
-
ABERRATION
aberration
-
FABRICATION
fabrication like here and in many other places
-
FABRICATION
fabrication
-
FABRICATION
fabrication
-
t
components
-
event.
respective NXevent_em section
-
for i
within
-
one would otherwise ask to
why one may wish to store
-
information
generic example of that the concept of an error should be attached to the quantity or a field with <same_name>_error should be added
-
sample history.
no line break sample_history.
-
At the point it enters the microscope the session starts.
After this point it enters the microscope and the session starts. This could be misleading as one may e.g. polish a sample today put it in an desiccator and measure the next day. The idea behind NXem is that we follow the spatiotemporal trajectory/course of the sample and research. For some point in time the prepared sample is then in some atmosphere and conditions, nothing prevents us from describing this, at some point the sample is picked up and transferred in microscope. When the storage is relevant we should be able to know how long the sample surface has been exposed to a medium, of course if we want to know more that becomes an own characterization task for which ideally then there is another appdef and thus sample_history would point to that appdef.
-
Technician operating the microscope. Student, postdoc, principle investigator, guest are common examples.
Suggestions for controlled terms are welcome here so that this field can become an enumeration instead of a free text.
-
least one person
example of redundant cardinality constraint via docstring
-
needs
example of a cross-group constraint
-
with
by
-
ever
add: ideally remove: ever
-
NXprocess instances
in the respective NXevent_data_em instances which hold the data that were processed with these tools.
-
though
-
start_time and end_time
a start_time and an end_time value
-
another
Thereby an application definition includes a terminology and taxonomy. The additional choice that an application definition also specifies constraints on the each attribute, field, and group via the NXDL rule set of NeXus makes an instance of an application definition an instance of a knowledge graph. Thereby, NXem can be used to encode a specifically constrainted nstance of a knowledge graph in an HDF5 or JSON file.
-
,
remove
-
A key question often asked with EM experiments is how the actual (meta)data should be stored (in memory or on disk).
Bold
-
tasks with a controlled
steps modelled as :ref:
NXprocess
which use terms from a controlled vocabulary. -
in SEM)
full-stop
-
ts)
full-stop
-
should be stored as NXdata instances
should use NXdata instances to hold data at the earliest possible step in the computational processing (which is usually performed with the microscope control and or integrated analysis software).
-
though HDF5 is often used.
When two- and three-dimensional geometric primitive data are stored it is useful to write additional optional XDMF fields which support additional plotting of the data with visualization software like Paraview or Blender.
-
and images
remove
-
, taking a set
or EBSD line scans
-
taking
the taking of
-
specimens
link to figure session is the longest time span at the microscope
-
metadata
data, i.e. metadata, numerical and categorical data in research with electron microscopes.
-
is to
should cater for the needs of a number of instrument from different groups and technology partners.
-
place to hold these nested representations; however as discussed at the cost of generality.
Users are encouraged to export further fields in respective groups when creating instances of the NXem application definitions but these have to remain optional for the specific schema NXem.
-
e, often undocumented in detail by vendors.
and are not always fully documented by technology partners. The design was on extreme situations either current real current or value ,i .e. set_point_value
-
vendor-agnostic
system-agnostic
-
A particular challenge with electron microscopes as physical instruments are their dynamics.
add a figure above this paragraph which gives the rational that quantities = f(t) observed and assumed constant with or without specified error within [t, t + delta t]
-
EM experiments by design illuminate the specimen with electrons as a consequence of which the specimen changes if not may get destroyed. As such, repeatability of numerical processing and clear descriptions of procedures and system setups should be addressed first.
Move this section to the paragraph above on beam damage.
-
EM experiments by desig
By design,
-
as vendors also have a relevant interest in finding a compromise between being open to their user and securing their business.
technology partners users
-
make them
but leave them as
-
) method.
underscore method e.g. NXem_my_new_fancy_method.
-
This application definition takes a key step towards standardization of EM data.
make bold
-
So far many conditions and requirements are formulated in the docstrings of the respective entries of the application definition.
As long as this step has not been fully completed the NXem application definition specifies conditions .... in the docstrings...
-
and strictly speaking an application definition can only be really general if it does not make a single entry required, in which case however it would also not offer much value as even empty datasets would be compliant.
break sentence before "and" and make rest boldBold
-
vendors
technology partners building
-
the EM community to focus their software development efforts
a focusing of the softw. ...
-
vendor
remove
-
software
the software of a specific
-
We are happy for receiving your feedback.
make bold
-
as what this application definition and its base classes provide
as what is provided by ....
-
proprietary
remove because irrelevant
-
vendors
can help with incentivizing
-
cer
a
-
academia
and industry
-
in EM
remove
-
as possible are open
swop "as possible" with "are open"
-
all data are compliant with/or use the schema
the data generated with such schemes
-
vocabulary in use with implementations of these
terms with different implementation into many data models for EM and file formats.
There should be references added.
-
the development in the past has shown
the history of electron microscopy has shown
-
he addressed user base is
it is the addressed circle of users
-
Consequently, detectors can also be similar if not exactly the same
Often these detectors have a similar design and technology if not they are used both in SEM and TEM.
-
o
ask for designing
-
to
to enable an illumination through
-
Compared to SEMs, TEMs have a different relative arrangement between the lenses and the specimen which is most obvious by the different relative arrangement of the objective lens versus the specimen.
remove
-
used mainly
swop words
-
level of corrected for aberrations
corrected for aberrations.
-
application definitions
schemes
-
T
The usage of electron microscopes motivates the development of an embracing schema:
-
Oftentimes the scientists operate the instrument themselves either on-site or remotely and can ask technicians for support.
Instruments are usually controlled on-premises but also more and more functionalities for remote control becomes available. Scientists oftentimes can ask technicians for support.
-
operating
control
-
of EM
remove
-
EM
electron microscope
-
either
remove
-
(EM),
(EM) esearch
-
and session with one sample in
of one sample/specimen during a session on
-
- Aug 2022
-
fairmat-experimental.github.io fairmat-experimental.github.io
-
isotope_vector:
Maybe for the sake of simplicity, consider making this a 2 x n_ivec_max vector so that, although slightly less efficient, the hashed representation is replaced by a row/column table of number of protons and number of neutrons. The table/matrix should have n_ivec_max columns. The first row gives the number of protons, the second column the number of neutrons, if isotopic identities are irrelevant the entries in this second row can all remain zero.
Alternatively one could also give the mass number in the first column and the number of protons (ordnungszahl) then in the second row to match closer to the way how elements are written out in elementary physics. An example
185 12 0 ... 0<br> 75 6 0 ... 0<br>
A hypothetical rhenium carbide molecular ion
-
-
fairmat-experimental.github.io fairmat-experimental.github.io
-
Structure:
Mapping IFES APT TC APT HDF5 v1 on NXapm:
Consider adding a field evaporation_id and id_offset to indicate if counting start from 0 or 1
Language precision: Keywords such as “must” “required” “should”, etc are as per RFC-2119 [RFC2119]. https://tools.ietf.org/html/rfc2119
https://gitlab.com/apt_software_toolbox/apt-hdf5 an implementation for an IFES APT TC APT HDF5 v1 verifier
-
base_temperature:
Mapping IFES APT TC APT HDF5 v1 on NXapm:
Definition of the tip/specimen temperature not as precise in NXapm as in APT HDF:
"TipTemperature: Real, 1xn, array, (K) The best estimate, at experiment time, for the temperature at the sample base (furthest point along sample apex and holding assembly that is removable from the sample stage)."
Consider adding a field how this base_temperature is translated/approximated/assumed to tell us sth about the temperature at the apex: TipTempereatureModel: String Short descriptive string, identifying model for estimate of the apex temperature, e.g. “Conduction/radiation”, “calibrated” or “extrapolated”, maximum 200 characters"
In APT HDF there is no field ApexTemperature but a temperature model, this is not interpretable directly
-
raw_tof:
Mapping IFES APT TC APT HDF5 v1 on NXapm:
There are subtle but important differences between APT HDF5 and NXapm and NXapm wrt to how time-of-flight (tof) data should be stored, these should be resolved.
"TimeOfFlight: Real 1xn, array, (s) The as-measured time of flight, as measured by the detector and free of any post-corrections. Must have same dimensions as PulseNumber May include primary corrections from instrument, but must exclude any per-experiment user input."
"TimeOfFlightCorrectionModel: String, This provides information that allows the time of flight correction information to be generated, such as a filename or experiment string which can allow for the linking back to a dataset that can be used to regenerate the TOF corrections applied in the Time-Of-Flight above."
-
hit_positions:
Mapping IFES APT TC APT HDF5 v1 on NXapm:
Interpretation in APT HDF5 is different: "Contains the X-Y hit positions, as measured by the detector, without any corrections, The (0,0) position must correspond to the centre of the detector. Valid range: DetectorSize/2>||X,Y||"
-
(required) NXmanufacturer
Mapping IFES APT TC APT HDF5 v1 on NXapm:
Make sure that there is the equivalent of an InstrumentIdentifier: string, "A unique identifier that indicates the manufacturer, model and serial information. This must not change for any given machine configuration at any time. Example : “CompanyID.MyAPT 123”, A company should use a persistent identifier, that will survive product or company renamings.Each identifier must be unique per machine, including any modifications that materially alter the reconstruction of the data."
-
ion_detector
Mapping IFES APT TC APT HDF5 v1 on NXapm:
Additional fields:
an equivalent of DetectorGeometryOpticalEquiv: "Real, array 1x2, (m) The effective size of the detector, at the virtual imaging distance, such that the optical path can, for reconstruction purposes, be approximated by a fixed detector, valid range > 0"
Can these fields be reasonably set to required, can people fill it in, can they collect these data from the instrument?
DetectorSize " Real, 1x2 array, (m), The minimum size of the rectangular bounding box that can contain the complete active detector area. The distances should wherever possible be given in the laboratory “X+” (1st entry) and “Z+” frame (2nd entry), valid range for each entry > 0"
DetectorResolution: real, 1xn array (m), the minimum resolvable spacing on the detector. A single value may be used. Valid range > 0"
DetectorReadout: String, The detector operating method used to convert the detector potentials into hit timings, current values allowed are: [threshold, discriminator, time-resolved, unspecified]
-
atom_probe
Mapping IFES APT TC APT HDF5 v1 on NXapm:
Additional fields:
FlightPathTiming: "Real, (m), the distance that an ion that leaves the tip normally will traverse, on average, before striking the detector, along the electrostatic trajectory followed by an ion that leaves the central position of the tip, Valid range > 0"
-
flight_path_length
Mapping IFES APT TC APT HDF5 v1 on NXapm:
Not precisely enough defined:
"FlightPathSpatial : Real, (m) Virtual imaging distance between sample and detector, from centre of tip sphere to detector centre, for an ion leaving in the forwards direction from a tip aligned at a neutral rotation. Units are in m. The virtual imaging distance is defined as the distance that would be required to achieve a stereographic projection as if the tip was being imaged in a free-flight configuration. Valid Range : > 0"
Also consider adding a drawing
-
end_time
Mapping IFES APT TC APT HDF5 v1 on NXapm:
Should be required "Experiment is to be considered when sample pulsing stops, and should not wait for further user input."
-
operation_mode
Mapping IFES APT TC APT HDF5 v1 on NXapm:
Replaces field "ExperimentType"
-
start_time
Mapping IFES APT TC APT HDF5 v1 on NXapm:
"Experiment is to be considered started when pulsing is initiated to the sample or electrode."
-
name
Mapping IFES APT TC APT HDF5 v1 on NXapm:
Takes the role of "ApertureUniqueIdentifier"
-
APERTURE_EM
Mapping IFES APT TC APT HDF5 v1 on NXapm:
Name of the aperture should not be flexible Should add a field ApertureType "Specifies the type of aperture/counter-electrode that is in use. Currently this may be: i) “none” - No aperture is present in the experiment ii) “conical” - a conical aperture with a circular hole iii) “feedthrough” - an aperture where the sample protrudes through a circular hole iv) “custom” - A user modified aperture, which is otherwise non-standard"
-
The transformation here resolves this ambiguity by specifying how the positive z-axes of either coordinate systems is oriented. Consult the work of A. J. Breen and B. Gault and team for further details.
Mapping IFES APT TC APT HDF5 v1 on NXapm:
"Spatial transformations are always active transformations; i.e. the location and direction of a vector in one coordinate system is expressed by the following transformation matrix, T Ptransformed = TPoriginal"
-
COORDINATE_SYSTEM_SET:
Mapping IFES APT TC APT HDF5 v1 on NXapm:
Conventions: right-handed, Cartesian, 3D Euclidean CS should be used Laboratory space to be set by "This is the space that is set by the chassis of the instrument. The Z direction must be reasonably parallel to gravity (+ve defined to be gravity vector pointing towards lowest ground), but can be defined to be a direction that is nominally parallel to gravity during an experiment. The origin must be placed within a bounding box of the chassis." Tip space instead of specimen space, "The space occupied by a tip in the neutral position when ready for analysis. Z+ should be located in the direction of the needle (apex is Z+ from needle centreline). i) If the specimen moves relative to the laboratory frame, and the electrode does not, or if no electrode is present, then the space should be defined such that when the tip is moved physically, it also moves through tip space. ii) If the electrode moves relative to the laboratory frame, then the space should be defined such that, in tip space, the electrode’s position does not change. iii) The transformation between laboratory space and Tip space must be describable by a fixed 3x3 transformation matrix." "Detector space: This is a 2D space only, and contains X+ and Y+ directions. X+ and Y+ should indicate primary directions on the detector, and should be, for an equivalent straight-flight-path configuration, such that X+ and Y+ is matched to that of tip space." Laser space missing: "Laser space: The coordinate frame describing the impinging wavefront on the sample. Z+ is the vector of the propagating wavefront. X+ is the orthogonal component of the tip direction within the tip-laser plane. The origin shall be placed at the best estimate for tip apex position at the start of the experiment. " "Reconstruction space : The space occupied by a correctly reconstructed dataset. X+ and Y+ should correspond to X+ and Y+ in the detector space. Z+ should be such that the needle centre line is normal to the detector position. The origin shall be placed at the tip apex."
-
-
fairmat-experimental.github.io fairmat-experimental.github.io
-
Structure:
Mapping IFES APT TC APT HDF v1 to NXapm:
Consider adding field:
"ReflectronVoltage: Real, 1xn array (V) Must be present if ReflectronInfo is not “None” The maximum voltage applied to the reflectron, relative to system ground."
Ensure that voltages are captured correctly.
-
-
fairmat-experimental.github.io fairmat-experimental.github.io
-
standing_voltage:
Mapping IFES APT TC APT HDF5 v1 on NXapm:
Change docstring to match better: "StandingVoltage : array, 1xn, (V)The standing voltage applied to the sample, relative to system [component electrical ground] ground."
-
pulse_fraction
Mapping IFES APT TC APT HDF5 v1 on NXapm:
Different definition in APT HDF: "PulseFraction: Real, 1xn array (-) If a standing voltage is applied, this gives nominal pulse fraction (as a function of standing voltage), Otherwise this field should not be present, or should contain zero only. Values in the range range[0,100]. Must have same dimensions as PulseNumber"
-
pulse_frequency
Mapping IFES APT TC APT HDF5 v1 on NXapm:
This can change over the course of the experiment, APT HDF defines it therefore as follows: "PulseFrequency : Real array, 2xn (Hz) This is the frequency of the high voltage or laser pulser. first entry : first pulse number where the spacing between this and all subsequent pulses are considered to be at the selected frequency. Each first entry must be strictly increasing in value. The second entry contains the frequency value"
-
spot_position
Mapping IFES APT TC APT HDF5 v1 on NXapm:
What to do when there is no laser but the field is required? What to do if the field is optional and there is a laser, do we then escape a verification if LaserEnergy is there?
-
Structure:
Mapping IFES APT TC APT HDF5 v1 on NXapm:
Should add a field for
PulseNumber: "Integer, array, 1xn (64 bit integer) absolute number of pulses starting from the beginning of the experiment, one per ion event"
-
laser_beam
Mapping IFES APT TC APT HDF5 v1 on NXapm:
Should ensure that there is the equivalent of
"LaserIncidence: Real, 1x3 array A vector in tip space that describes the direction in which the laser impinges on the sample, i.e. the mean vector parallel to the laser propagation direction. Vector must be normalised, such that ||v|| =1, within numerical precision."
-
- Mar 2022
-
fairmat-experimental.github.io fairmat-experimental.github.io
-
laser | high voltage
Should not be either or, can also be both, LEAP6000 instrument !
-
- Feb 2022
-
mkuehbach.github.io mkuehbach.github.io
-
Welcome to the user manual of the NeXus for FAIRmat project
annotating from g7
-
-
Local file Local file
-
Draft application definition for atom probe tomography and related field-ion microscopy,
Are you really sure Markus if this makes sense?
-
-
mkuehbach.github.io mkuehbach.github.io
-
https://www.nexusformat.org/
we were a little bit more adventuours
-