.. auto-generated by dev_tools.docs.nxdl from the NXDL source contributed_definitions/NXcxi_ptycho.nxdl.xml -- DO NOT EDIT .. index:: ! NXcxi_ptycho (application definition) ! cxi_ptycho (application definition) see: cxi_ptycho (application definition); NXcxi_ptycho .. _NXcxi_ptycho: ============ NXcxi_ptycho ============ .. Contributors List .. |contrib_name| replace:: Sandor Brockhauser|sanbrock|https://avatars.githubusercontent.com/u/45483558?v=4|2022-07-07 .. |contrib_name| replace:: Pete R Jemian|prjemian|https://avatars.githubusercontent.com/u/2279984?v=4|2022-03-08 .. |contrib_name| replace:: Tobias Richter|zjttoefs|https://avatars.githubusercontent.com/u/856440?v=4|2018-10-27 **Status**: application definition, extends :ref:`NXobject` **Description**: .. collapse:: Application definition for a ptychography experiment, compatible with CXI from v ... Application definition for a ptychography experiment, compatible with CXI from version 1.6. This is compatible with CXI from version 1.6 if this application definition is put at the top "entry" level. Above this a "cxi_version" field should be defined. The CXI format is name based, rather than class based, and so it is important to pay attention to the naming convention to be CXI compatible. There are duplications due to the format merger. These should be achieved by linking, with hdf5 Virtual Dataset being used to restructure any data that needs to be remapped. To be fully CXI compatible, all units (including energy) must be in SI units. An example here is that CXI expects the data to always to have shape (npts_x*npts_y, frame_size_x, frame_size_y). For nexus this is only true for arbitrary scan paths with raster format scans taking shape (npts_x, npts_y, frame_size_x, frame_size_y). **Symbols**: These symbols will be used below to coordinate the shapes of the datasets. **npts_x**: The number of points in the x direction **npts_y**: Number of points in the y direction. **frame_size_x**: Number of detector pixels in x **frame_size_y**: Number of detector pixels in y **Groups cited**: :ref:`NXbeam`, :ref:`NXcollection`, :ref:`NXdata`, :ref:`NXdetector`, :ref:`NXentry`, :ref:`NXinstrument`, :ref:`NXmonitor`, :ref:`NXsample`, :ref:`NXsource`, :ref:`NXtransformations` .. index:: NXentry (base class); used in application definition, NXinstrument (base class); used in application definition, NXsource (base class); used in application definition, NXbeam (base class); used in application definition, NXdetector (base class); used in application definition, NXtransformations (base class); used in application definition, NXmonitor (base class); used in application definition, NXdata (base class); used in application definition, NXcollection (base class); used in application definition, NXsample (base class); used in application definition **Structure**: .. _/NXcxi_ptycho/entry_1-group: **entry_1**: (required) :ref:`NXentry` .. _/NXcxi_ptycho/entry_1/title-field: .. index:: title (field) **title**: (optional) :ref:`NX_CHAR ` :ref:`⤆ ` .. _/NXcxi_ptycho/entry_1/start_time-field: .. index:: start_time (field) **start_time**: (optional) :ref:`NX_DATE_TIME ` :ref:`⤆ ` .. _/NXcxi_ptycho/entry_1/end_time-field: .. index:: end_time (field) **end_time**: (optional) :ref:`NX_DATE_TIME ` :ref:`⤆ ` .. _/NXcxi_ptycho/entry_1/definition-field: .. index:: definition (field) **definition**: (required) :ref:`NX_CHAR ` :ref:`⤆ ` .. collapse:: Official NeXus NXDL schema to which this file conforms ... Official NeXus NXDL schema to which this file conforms Obligatory value: ``NXcxi_ptycho`` .. _/NXcxi_ptycho/entry_1/instrument_1-group: **instrument_1**: (required) :ref:`NXinstrument` :ref:`⤆ ` .. _/NXcxi_ptycho/entry_1/instrument_1/source_1-group: **source_1**: (required) :ref:`NXsource` :ref:`⤆ ` .. _/NXcxi_ptycho/entry_1/instrument_1/source_1/name-field: .. index:: name (field) **name**: (required) :ref:`NX_CHAR ` :ref:`⤆ ` .. _/NXcxi_ptycho/entry_1/instrument_1/source_1/energy-field: .. index:: energy (field) **energy**: (required) :ref:`NX_FLOAT ` :ref:`⤆ ` This is the energy of the machine, not the beamline. .. _/NXcxi_ptycho/entry_1/instrument_1/source_1/probe-field: .. index:: probe (field) **probe**: (required) :ref:`NX_FLOAT ` .. _/NXcxi_ptycho/entry_1/instrument_1/source_1/type-field: .. index:: type (field) **type**: (required) :ref:`NX_FLOAT ` .. _/NXcxi_ptycho/entry_1/instrument_1/beam_1-group: **beam_1**: (required) :ref:`NXbeam` :ref:`⤆ ` .. _/NXcxi_ptycho/entry_1/instrument_1/beam_1/energy-field: .. index:: energy (field) **energy**: (required) :ref:`NX_FLOAT ` .. _/NXcxi_ptycho/entry_1/instrument_1/beam_1/energy@units-attribute: .. index:: units (field attribute) **@units**: (required) :ref:`NX_CHAR ` .. _/NXcxi_ptycho/entry_1/instrument_1/beam_1/extent-field: .. index:: extent (field) **extent**: (optional) :ref:`NX_FLOAT ` :ref:`⤆ ` .. _/NXcxi_ptycho/entry_1/instrument_1/beam_1/extent@units-attribute: .. index:: units (field attribute) **@units**: (required) :ref:`NX_CHAR ` .. _/NXcxi_ptycho/entry_1/instrument_1/beam_1/incident_beam_divergence-field: .. index:: incident_beam_divergence (field) **incident_beam_divergence**: (optional) :ref:`NX_FLOAT ` :ref:`⤆ ` .. _/NXcxi_ptycho/entry_1/instrument_1/beam_1/incident_beam_divergence@units-attribute: .. index:: units (field attribute) **@units**: (required) :ref:`NX_CHAR ` .. _/NXcxi_ptycho/entry_1/instrument_1/beam_1/incident_beam_energy-field: .. index:: incident_beam_energy (field) **incident_beam_energy**: (required) :ref:`NX_FLOAT ` .. _/NXcxi_ptycho/entry_1/instrument_1/beam_1/incident_beam_energy@units-attribute: .. index:: units (field attribute) **@units**: (required) :ref:`NX_CHAR ` .. _/NXcxi_ptycho/entry_1/instrument_1/beam_1/incident_energy_spread-field: .. index:: incident_energy_spread (field) **incident_energy_spread**: (required) :ref:`NX_FLOAT ` .. _/NXcxi_ptycho/entry_1/instrument_1/beam_1/incident_energy_spread@units-attribute: .. index:: units (field attribute) **@units**: (required) :ref:`NX_CHAR ` .. _/NXcxi_ptycho/entry_1/instrument_1/detector_1-group: **detector_1**: (required) :ref:`NXdetector` :ref:`⤆ ` .. _/NXcxi_ptycho/entry_1/instrument_1/detector_1@axes-attribute: .. index:: axes (group attribute) **@axes**: (required) :ref:`NX_CHAR ` should have value "[, data]" .. _/NXcxi_ptycho/entry_1/instrument_1/detector_1@signal-attribute: .. index:: signal (group attribute) **@signal**: (required) :ref:`NX_CHAR ` should have value "data" .. _/NXcxi_ptycho/entry_1/instrument_1/detector_1/translation-field: .. index:: translation (field) **translation**: (required) :ref:`NX_FLOAT ` {units=\ :ref:`NX_LENGTH `} This is an array of shape (npts_x*npts_y, 3) and can be a Virtual Dataset of x and y .. _/NXcxi_ptycho/entry_1/instrument_1/detector_1/translation@units-attribute: .. index:: units (field attribute) **@units**: (required) :ref:`NX_CHAR ` .. _/NXcxi_ptycho/entry_1/instrument_1/detector_1/translation@axes-attribute: .. index:: axes (field attribute) **@axes**: (required) :ref:`NX_CHAR ` this should take the value "translation:$slowaxisname:$fastaxisname" .. _/NXcxi_ptycho/entry_1/instrument_1/detector_1/translation@interpretation-attribute: .. index:: interpretation (field attribute) **@interpretation**: (required) :ref:`NX_CHAR ` This should be "image" .. _/NXcxi_ptycho/entry_1/instrument_1/detector_1/data-field: .. index:: data (field) **data**: (required) :ref:`NX_INT ` (Rank: 3 for arbitrary scan, 4 for raster, Dimensions: [npts_x, npts_y, frame_size_x, frame_size_y]) .. _/NXcxi_ptycho/entry_1/instrument_1/detector_1/x_pixel_size-field: .. index:: x_pixel_size (field) **x_pixel_size**: (required) :ref:`NX_FLOAT ` {units=\ :ref:`NX_LENGTH `} :ref:`⤆ ` .. _/NXcxi_ptycho/entry_1/instrument_1/detector_1/x_pixel_size@units-attribute: .. index:: units (field attribute) **@units**: (required) :ref:`NX_CHAR ` .. _/NXcxi_ptycho/entry_1/instrument_1/detector_1/y_pixel_size-field: .. index:: y_pixel_size (field) **y_pixel_size**: (required) :ref:`NX_FLOAT ` {units=\ :ref:`NX_LENGTH `} :ref:`⤆ ` .. _/NXcxi_ptycho/entry_1/instrument_1/detector_1/y_pixel_size@units-attribute: .. index:: units (field attribute) **@units**: (required) :ref:`NX_CHAR ` .. _/NXcxi_ptycho/entry_1/instrument_1/detector_1/distance-field: .. index:: distance (field) **distance**: (required) :ref:`NX_FLOAT ` {units=\ :ref:`NX_LENGTH `} :ref:`⤆ ` The distance between the detector and the sample .. _/NXcxi_ptycho/entry_1/instrument_1/detector_1/distance@units-attribute: .. index:: units (field attribute) **@units**: (required) :ref:`NX_CHAR ` .. _/NXcxi_ptycho/entry_1/instrument_1/detector_1/beam_center_x-field: .. index:: beam_center_x (field) **beam_center_x**: (optional) :ref:`NX_FLOAT ` {units=\ :ref:`NX_LENGTH `} :ref:`⤆ ` .. _/NXcxi_ptycho/entry_1/instrument_1/detector_1/beam_center_x@units-attribute: .. index:: units (field attribute) **@units**: (required) :ref:`NX_CHAR ` .. _/NXcxi_ptycho/entry_1/instrument_1/detector_1/beam_center_y-field: .. index:: beam_center_y (field) **beam_center_y**: (optional) :ref:`NX_FLOAT ` {units=\ :ref:`NX_LENGTH `} :ref:`⤆ ` .. _/NXcxi_ptycho/entry_1/instrument_1/detector_1/beam_center_y@units-attribute: .. index:: units (field attribute) **@units**: (required) :ref:`NX_CHAR ` .. _/NXcxi_ptycho/entry_1/instrument_1/detector_1/transformations-group: **transformations**: (required) :ref:`NXtransformations` :ref:`⤆ ` .. _/NXcxi_ptycho/entry_1/instrument_1/detector_1/transformations/vector-field: .. index:: vector (field) **vector**: (required) :ref:`NX_NUMBER ` :ref:`⤆ ` .. _/NXcxi_ptycho/entry_1/instrument_1/detector_1/data_1-link: **data_1**: :ref:`link` (suggested target: ``/NXentry/NXinstrument/NXdetector/data``) .. collapse:: This data must always have shape (npts_x*npts_y, frame_size_x, frame_siz ... This data must always have shape (npts_x*npts_y, frame_size_x, frame_size_y) regardless of the scan pattern. Use hdf5 virtual dataset to achieve this. .. _/NXcxi_ptycho/entry_1/instrument_1/MONITOR-group: **MONITOR**: (optional) :ref:`NXmonitor` .. _/NXcxi_ptycho/entry_1/instrument_1/MONITOR/data-field: .. index:: data (field) **data**: (required) :ref:`NX_FLOAT ` (Rank: 1 for arbitrary scan, 2 for raster, Dimensions: [npts_x, npts_y]) .. _/NXcxi_ptycho/DATA-group: **DATA**: (required) :ref:`NXdata` .. _/NXcxi_ptycho/DATA@axes-attribute: .. index:: axes (group attribute) **@axes**: (required) :ref:`NX_CHAR ` :ref:`⤆ ` This should be "[x,.]" for arbitrary scanning patterns, and "[x,.,.]" for raster .. _/NXcxi_ptycho/DATA@signal-attribute: .. index:: signal (group attribute) **@signal**: (required) :ref:`NX_CHAR ` :ref:`⤆ ` This should be "data" .. _/NXcxi_ptycho/DATA/x_indices-field: .. index:: x_indices (field) **x_indices**: (required) :ref:`NX_CHAR ` .. _/NXcxi_ptycho/DATA/y_indices-field: .. index:: y_indices (field) **y_indices**: (required) :ref:`NX_CHAR ` .. _/NXcxi_ptycho/DATA/data-link: **data**: :ref:`link` (suggested target: ``/NXentry/NXinstrument/NXdetector/data``) .. _/NXcxi_ptycho/DATA/x-link: **x**: :ref:`link` (suggested target: ``/NXentry/NXsample/NXtransformations/x``) .. _/NXcxi_ptycho/DATA/y-link: **y**: :ref:`link` (suggested target: ``/NXentry/NXsample/NXtransformations/y``) .. _/NXcxi_ptycho/data_1-group: **data_1**: (required) :ref:`NXcollection` .. collapse:: To ensure CXI compatibility the data in this group must always have shape that ... To ensure CXI compatibility the data in this group must always have shape that is (npts_x*npts_y, frame_size_x, frame_size_y). For nexus-style raster scans it is proposed that hdf5 virtual dataset is used. .. _/NXcxi_ptycho/data_1/data-link: **data**: :ref:`link` (suggested target: ``/NXentry/NXinstrument/NXdetector/data``) .. _/NXcxi_ptycho/data_1/translation-link: **translation**: :ref:`link` (suggested target: ``/NXentry/NXinstrument/NXdetector/translation``) .. _/NXcxi_ptycho/sample_1-group: **sample_1**: (required) :ref:`NXsample` .. _/NXcxi_ptycho/sample_1/name-field: .. index:: name (field) **name**: (optional) :ref:`NX_CHAR ` :ref:`⤆ ` .. _/NXcxi_ptycho/sample_1/transformations-group: **transformations**: (required) :ref:`NXtransformations` :ref:`⤆ ` .. collapse:: This must contain two fields with the x and y motors that are linked via the ... This must contain two fields with the x and y motors that are linked via the dependency tree according to the real-life motor layout dependency. For raster scans x and y will have shape (npts_x, npts_y) For arbitrary scans x and y will be (npts_x*npts_y,) An attribute with the units for each motor is required. .. _/NXcxi_ptycho/sample_1/transformations@vector-attribute: .. index:: vector (group attribute) **@vector**: (required) :ref:`NX_NUMBER ` .. _/NXcxi_ptycho/sample_1/geometry_1-group: **geometry_1**: (required) :ref:`NXcollection` .. _/NXcxi_ptycho/sample_1/geometry_1/translation-link: **translation**: :ref:`link` (suggested target: ``/NXentry/NXinstrument/NXdetector/translation``) Hypertext Anchors ----------------- List of hypertext anchors for all groups, fields, attributes, and links defined in this class. * :ref:`/NXcxi_ptycho/DATA-group ` * :ref:`/NXcxi_ptycho/DATA/data-link ` * :ref:`/NXcxi_ptycho/DATA/x-link ` * :ref:`/NXcxi_ptycho/DATA/x_indices-field ` * :ref:`/NXcxi_ptycho/DATA/y-link ` * :ref:`/NXcxi_ptycho/DATA/y_indices-field ` * :ref:`/NXcxi_ptycho/DATA@axes-attribute ` * :ref:`/NXcxi_ptycho/DATA@signal-attribute ` * :ref:`/NXcxi_ptycho/data_1-group ` * :ref:`/NXcxi_ptycho/data_1/data-link ` * :ref:`/NXcxi_ptycho/data_1/translation-link ` * :ref:`/NXcxi_ptycho/entry_1-group ` * :ref:`/NXcxi_ptycho/entry_1/definition-field ` * :ref:`/NXcxi_ptycho/entry_1/end_time-field ` * :ref:`/NXcxi_ptycho/entry_1/instrument_1-group ` * :ref:`/NXcxi_ptycho/entry_1/instrument_1/beam_1-group ` * :ref:`/NXcxi_ptycho/entry_1/instrument_1/beam_1/energy-field ` * :ref:`/NXcxi_ptycho/entry_1/instrument_1/beam_1/energy@units-attribute ` * :ref:`/NXcxi_ptycho/entry_1/instrument_1/beam_1/extent-field ` * :ref:`/NXcxi_ptycho/entry_1/instrument_1/beam_1/extent@units-attribute ` * :ref:`/NXcxi_ptycho/entry_1/instrument_1/beam_1/incident_beam_divergence-field ` * :ref:`/NXcxi_ptycho/entry_1/instrument_1/beam_1/incident_beam_divergence@units-attribute ` * :ref:`/NXcxi_ptycho/entry_1/instrument_1/beam_1/incident_beam_energy-field ` * :ref:`/NXcxi_ptycho/entry_1/instrument_1/beam_1/incident_beam_energy@units-attribute ` * :ref:`/NXcxi_ptycho/entry_1/instrument_1/beam_1/incident_energy_spread-field ` * :ref:`/NXcxi_ptycho/entry_1/instrument_1/beam_1/incident_energy_spread@units-attribute ` * :ref:`/NXcxi_ptycho/entry_1/instrument_1/detector_1-group ` * :ref:`/NXcxi_ptycho/entry_1/instrument_1/detector_1/beam_center_x-field ` * :ref:`/NXcxi_ptycho/entry_1/instrument_1/detector_1/beam_center_x@units-attribute ` * :ref:`/NXcxi_ptycho/entry_1/instrument_1/detector_1/beam_center_y-field ` * :ref:`/NXcxi_ptycho/entry_1/instrument_1/detector_1/beam_center_y@units-attribute ` * :ref:`/NXcxi_ptycho/entry_1/instrument_1/detector_1/data-field ` * :ref:`/NXcxi_ptycho/entry_1/instrument_1/detector_1/data_1-link ` * :ref:`/NXcxi_ptycho/entry_1/instrument_1/detector_1/distance-field ` * :ref:`/NXcxi_ptycho/entry_1/instrument_1/detector_1/distance@units-attribute ` * :ref:`/NXcxi_ptycho/entry_1/instrument_1/detector_1/transformations-group ` * :ref:`/NXcxi_ptycho/entry_1/instrument_1/detector_1/transformations/vector-field ` * :ref:`/NXcxi_ptycho/entry_1/instrument_1/detector_1/translation-field ` * :ref:`/NXcxi_ptycho/entry_1/instrument_1/detector_1/translation@axes-attribute ` * :ref:`/NXcxi_ptycho/entry_1/instrument_1/detector_1/translation@interpretation-attribute ` * :ref:`/NXcxi_ptycho/entry_1/instrument_1/detector_1/translation@units-attribute ` * :ref:`/NXcxi_ptycho/entry_1/instrument_1/detector_1/x_pixel_size-field ` * :ref:`/NXcxi_ptycho/entry_1/instrument_1/detector_1/x_pixel_size@units-attribute ` * :ref:`/NXcxi_ptycho/entry_1/instrument_1/detector_1/y_pixel_size-field ` * :ref:`/NXcxi_ptycho/entry_1/instrument_1/detector_1/y_pixel_size@units-attribute ` * :ref:`/NXcxi_ptycho/entry_1/instrument_1/detector_1@axes-attribute ` * :ref:`/NXcxi_ptycho/entry_1/instrument_1/detector_1@signal-attribute ` * :ref:`/NXcxi_ptycho/entry_1/instrument_1/MONITOR-group ` * :ref:`/NXcxi_ptycho/entry_1/instrument_1/MONITOR/data-field ` * :ref:`/NXcxi_ptycho/entry_1/instrument_1/source_1-group ` * :ref:`/NXcxi_ptycho/entry_1/instrument_1/source_1/energy-field ` * :ref:`/NXcxi_ptycho/entry_1/instrument_1/source_1/name-field ` * :ref:`/NXcxi_ptycho/entry_1/instrument_1/source_1/probe-field ` * :ref:`/NXcxi_ptycho/entry_1/instrument_1/source_1/type-field ` * :ref:`/NXcxi_ptycho/entry_1/start_time-field ` * :ref:`/NXcxi_ptycho/entry_1/title-field ` * :ref:`/NXcxi_ptycho/sample_1-group ` * :ref:`/NXcxi_ptycho/sample_1/geometry_1-group ` * :ref:`/NXcxi_ptycho/sample_1/geometry_1/translation-link ` * :ref:`/NXcxi_ptycho/sample_1/name-field ` * :ref:`/NXcxi_ptycho/sample_1/transformations-group ` * :ref:`/NXcxi_ptycho/sample_1/transformations@vector-attribute ` **NXDL Source**: https://github.com/nexusformat/definitions/blob/main/contributed_definitions/NXcxi_ptycho.nxdl.xml