Skip to content

Commit

Permalink
Completing first round of edits on base classes for NXem
Browse files Browse the repository at this point in the history
  • Loading branch information
atomprobe-tc committed Jan 17, 2025
1 parent 6194481 commit 866d624
Show file tree
Hide file tree
Showing 4 changed files with 47 additions and 77 deletions.
36 changes: 26 additions & 10 deletions base_classes/NXoptical_system_em.nxdl.xml
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,31 @@
The unit of the nominal dose rate is e-/(angstrom^2*s).
</doc>
</field>
<field name="dose_rate" type="NX_NUMBER" units="e-/(angstrom^2*s)">
<doc>Nominal dose rate.</doc>
</field>
<field name="rotation" type="NX_NUMBER" units="NX_ANGLE">
<doc>
In the process of passing through an :ref:`NXlens_em` electrons are typically accelerated
on a helical path about the optical axis. This causes an image rotation whose strength
is affected by the magnification.

Microscopes may be equipped with compensation methods (implemented in hardware
or software) that reduce but not necessarily eliminate this rotation.

See `L. Reimer &lt;https://doi.org/10.1007/978-3-540-38967-5&gt;`_ for details.
</doc>
</field>
<field name="focal_length" type="NX_NUMBER" units="NX_LENGTH">
<doc>
Distance which lies between the principal plane of the lens and the focal point
along the optical axis.

This concept is related to term `Focal Length`_ of the EMglossary standard.

.. _Focal Length: https://purls.helmholtz-metadaten.de/emg/EMG_00000029
</doc>
</field>
<field name="tilt_correction" type="NX_BOOLEAN">
<doc>
Details about an imaging setting used during acquisition to correct perspective
Expand Down Expand Up @@ -127,14 +152,5 @@
.. _Dynamic Refocusing: https://purls.helmholtz-metadaten.de/emg/EMG_00000017
</doc>
</field>
<field name="focal_length" type="NX_NUMBER" units="NX_LENGTH">
<doc>
Distance which lies between the principal plane of the lens and the focal point
along the optical axis.

This concept is related to term `Focal Length`_ of the EMglossary standard.

.. _Focal Length: https://purls.helmholtz-metadaten.de/emg/EMG_00000029
</doc>
</field>

</definition>
16 changes: 11 additions & 5 deletions base_classes/NXprocessing_reference_frame.nxdl.xml
Original file line number Diff line number Diff line change
Expand Up @@ -23,12 +23,17 @@
-->
<definition xmlns="http://definition.nexusformat.org/nxdl/3.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" category="base" type="group" name="NXprocessing_reference_frame" extends="NXcoordinate_system" xsi:schemaLocation="http://definition.nexusformat.org/nxdl/3.1 ../nxdl.xsd">
<doc>
Details about eventually relevant named directions that may give
reasons for anisotropies.
Base class to document details about processing reference frames.

The classical example is mechanical processing where one has to
specify which directions (e.g. rolling, transverse, and normal
direction) align how with the direction of the base vectors of the
Directional differences in processing materials can cause anisotropies
of material properties. Mechanical processing is one example where
the rotation of the NXsample_reference_frame with respect to another
processing_reference_frame is relevant.

Fields with suffix alias should be used to specify

how the base vectors of the reference frame for the (macroscopic) sampleare aligned different
directions (e.g. rolling, transverse, and normal direction) align how with the direction of the base vectors of the
:ref:`NXsample_reference_frame`.

It is assumed that the configuration is inspected by looking towards
Expand All @@ -43,6 +48,7 @@
the base vectors of this coordinate system as :math:`X_p, Y_p, Z_p`.
</doc>
<field name="x_alias" type="NX_CHAR">
<doc>Alias
<!--<enumeration>
<item value="Xp"/>
</enumeration>-->
Expand Down
35 changes: 0 additions & 35 deletions base_classes/NXscanbox_em.nxdl.xml
Original file line number Diff line number Diff line change
Expand Up @@ -46,16 +46,6 @@
of reproducibility in the way how the beam is scanned over the surface.
</doc>
</field>
<field name="calibration_style" type="NX_CHAR">
<doc>
TODO discuss with the electron microscopists.
</doc>
</field>
<field name="center" type="NX_NUMBER" units="NX_ANY">
<doc>
TODO discuss with the electron microscopists.
</doc>
</field>
<!--descriptors relevant from economic usage and dose management perspective-->
<field name="dwell_time" type="NX_NUMBER" units="NX_TIME">
<doc>
Expand All @@ -76,31 +66,6 @@
.. _Flyback Time: https://purls.helmholtz-metadaten.de/emg/EMG_00000028
</doc>
</field>
<field name="line_time" type="NX_NUMBER" units="NX_TIME">
<doc>
TODO discuss with the electron microscopists.
</doc>
</field>
<field name="pixel_time" type="NX_NUMBER" units="NX_TIME">
<doc>
TODO discuss with the electron microscopists.
</doc>
</field>
<field name="requested_pixel_time" type="NX_NUMBER" units="NX_TIME">
<doc>
TODO discuss with the electron microscopists.
</doc>
</field>
<field name="ac_line_sync" type="NX_BOOLEAN">
<doc>
TODO discuss with the electron microscopists.
</doc>
</field>
<field name="rotation" type="NX_NUMBER" units="NX_ANGLE">
<doc>
TODO discuss with the electron microscopists.
</doc>
</field>
<!--technical design perspective-->
<group type="NXdeflector"/>
<group type="NXcircuit"/>
Expand Down
37 changes: 10 additions & 27 deletions base_classes/NXstage_lab.nxdl.xml
Original file line number Diff line number Diff line change
Expand Up @@ -100,48 +100,45 @@
* `Specimens in atom probe &lt;https://doi.org/10.1007/978-1-4614-8721-0&gt;`_ (page 47ff)
* `Exemplar micro-manipulators &lt;https://nano.oxinst.com/products/omniprobe/omniprobe-200&gt;`_

We are looking forward to suggestions from the scientists.
</doc>
<field name="design" type="NX_CHAR">
<doc>
Principal design of the stage.

Exemplar terms could be side_entry, top_entry,
Principal design of the stage. Exemplar terms could be
side_entry, top_entry,
single_tilt, quick_change, multiple_specimen,
bulk_specimen, double_tilt, tilt_rotate,
heating_chip, atmosphere_chip,
electrical_biasing_chip, liquid_cell_chip
electrical_biasing_chip, or liquid_cell_chip.
</doc>
</field>
<field name="alias" type="NX_CHAR">
<doc>
Free-text field to give a term how that a stage_lab at this level of the
stage_lab hierarchy is commonly referred to. Examples could be stub,
puck, carousel, microtip, clip, holder, etc.
Free-text field to give a term how that stage_lab instance is commonly referred to.
Examples could be stub, puck, carousel, microtip, clip, holder, etc.
</doc>
</field>
<field name="tilt_1" type="NX_NUMBER" units="NX_ANGLE">
<doc>
The interpretation of this tilt should be specialized
and thus detailed via the application definition.
via an application definition.
</doc>
</field>
<field name="tilt_2" type="NX_NUMBER" units="NX_ANGLE">
<doc>
The interpretation of this tilt should be specialized
and thus detailed via the application definition.
via an application definition.
</doc>
</field>
<field name="rotation" type="NX_NUMBER" units="NX_ANGLE">
<doc>
The interpretation of this rotation should be specialized
and thus detailed via the application definition.
via an application definition.
</doc>
</field>
<field name="position" type="NX_NUMBER" units="NX_LENGTH">
<doc>
The interpretation of this position should be specialized
and thus detailed via the application definition.
via an application definition.
</doc>
<dimensions rank="1">
<dim index="1" value="3"/>
Expand All @@ -155,19 +152,5 @@
<!--NEW ISSUE: rather the field if possible should be specified-->
<group type="NXpositioner"/>
<group type="NXsensor"/>
<!--(NXactuator):
see for complicated positioning tools like an eucentric five-axis table stage in an SEM
https://www.nanotechnik.com/e5as.html
shipswing_tilt(NXpositioner):
normal_rotate(NXpositioner):
normal_height(NXpositioner):
inplane_translate1(NXpositioner):
inplane_translate2(NXpositioner):
NEW ISSUE: add temperature control units and components to apply external stimuli
NEW ISSUE: on the specimen such as NXmech_testing_unit and NXfurnace, NXreaction_cell
NEW ISSUE: by contrast, the purpose and design of so-called nano/or micromanipulators,
i.e. automatable devices to perform e.g. site-specific lift out, procedures warrants
to define an own class NXspecimen_manipulator given this is nothing else than
miniature robot arm essential one could also think about creating an own NXrobotarm class,
below are two examples of such tools as they are used in FIB and SEMs-->
<group type="NXactuator"/>
</definition>

0 comments on commit 866d624

Please sign in to comment.