NXstage_lab

Status:

base class, extends NXobject

Description:

A stage lab can be used to hold, align, orient, and prepare a specimen.

Modern stages are multi-functional devices. Many of which offer a controlled environment around (a part) of the specimen. Stages enable experimentalists to apply stimuli. A stage_lab is a multi-purpose/-functional tools which can have multiple actuators, sensors, and other components.

With such stages comes the need for storing various (meta)data that are generated while manipulating the sample.

Modern stages realize a hierarchy of components: For example the specimen might be mounted on a multi-axial tilt rotation holder. This holder is fixed in the support unit which connects the holder to the rest of the microscope.

In other examples, taken from atom probe microscopy, researchers may work with wire samples which are clipped into a larger fixing unit for convenience and enable for a more careful specimen handling. This fixture unit is known in atom probe jargon as a stub. Stubs in turn are positioned onto pucks. Pucks are then loaded onto carousels. A carousel is a carrier unit with which eventually entire sets of specimens can be moved in between parts of the microscope.

An NXstage_lab instance reflects this hierarchical design. The stage is the root of the hierarchy. A stage carries the holder. In the case that it is not practical to distinguish these two layers, the holder should be given preference.

Some examples for stage_labs in applications:

  • A nanoparticle on a copper grid. The copper grid is the holder. The grid itself is fixed to the stage.

  • An atom probe specimen fixed in a stub. In this case the stub can be considered the holder, while the cryostat temperature control unit is a component of the stage.

  • Samples with arrays of specimens, like a microtip on a microtip array is an example of a three-layer hierarchy commonly employed for efficient sequential processing of atom probe experiments.

  • With one entry of an application definition only one microtip should be described. Therefore, the microtip is the specimen, the array is the holder and the remaining mounting unit that is attached to the cryo-controller is the stage.

  • For in-situ experiments with e.g. chips with read-out electronics as actuators, the chips are again placed in a larger unit.

  • Other examples are (quasi) in-situ experiments where experimentalists anneal or deform the specimen via e.g. in-situ tensile testing machines which are mounted on the specimen holder.

To cover for an as flexible design of complex stages, users should nest multiple instances of NXstage_lab objects according to their needs to reflect the differences between what they consider as the holder and what they consider is the stage.

Instances should be named with integers starting from 1 as the top level unit. In the microtip example stage_lab_1 for the stage, stage_lab_2 for the holder (microtip array), stage_lab_3 for the microtip specimen, respectively. The depends_on keyword should be used with relative or absolute naming inside the file to specify how different stage_lab instances build a hierarchy if this is not obvious from numbered identifiers like the stage_lab_1 to stage_lab 3 example. The lower it is the number the higher it is the rank in the hierarchy.

For specific details and inspiration about stages in electron microscopes:

Symbols:

No symbol table

Groups cited:

NXfabrication, NXpositioner, NXtransformations

Structure:

design: (optional) NX_CHAR

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

name: (optional) NX_CHAR

Given name/alias for the components making the stage.

description: (optional) NX_CHAR

Ideally, a (globally) unique persistent identifier, link, or text to a resource which gives further details.

tilt_1: (optional) NX_FLOAT {units=NX_ANGLE}

Should be defined by the application definition.

tilt_2: (optional) NX_FLOAT {units=NX_ANGLE}

Should be defined by the application definition.

rotation: (optional) NX_FLOAT {units=NX_ANGLE}

Should be defined by the application definition.

position: (optional) NX_FLOAT (Rank: 1, Dimensions: [3]) {units=NX_LENGTH}

Should be defined by the application definition.

bias_voltage: (optional) NX_FLOAT {units=NX_VOLTAGE}

Voltage applied to the stage to decelerate electrons.

FABRICATION: (optional) NXfabrication

TRANSFORMATIONS: (optional) NXtransformations

The rotation, tilt and position of stage components can be specified either via NXtransformations or via the tilt_1, tilt_2, rotation, and position fields.

POSITIONER: (optional) NXpositioner

Hypertext Anchors

List of hypertext anchors for all groups, fields, attributes, and links defined in this class.

NXDL Source:

https://github.com/FAIRmat-Experimental/nexus_definitions/tree/fairmat/contributed_definitions/NXstage_lab.nxdl.xml