19 Matching Annotations
  1. Aug 2022
    1. 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

    2. 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

    3. 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||"

    4. (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."

    5. 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]

    6. 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"

    7. 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

    8. 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."

    9. operation_mode

      Mapping IFES APT TC APT HDF5 v1 on NXapm:

      Replaces field "ExperimentType"

    10. 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."

    11. name

      Mapping IFES APT TC APT HDF5 v1 on NXapm:

      Takes the role of "ApertureUniqueIdentifier"

    12. 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"

    13. 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"

    14. 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."

    1. 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"

    2. 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"

    3. 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?

    4. 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"

    5. 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."