16
NeXus Framework at DESY Jan Kota ´ nski Deutsches Elektronen-Synchrotron Sep 17, 2019 Jan Kota ´ nski (DESY) NeXus/HDF5 @ DESY Sep 17, 2019 1 / 16

NeXus Framework at DESY - The HDF Group › wp-content › uploads › 2019 › 09 › jan_kotanski_desy.pdfNeXus Framework at DESY ... Modular structure of the NeXus Framework

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: NeXus Framework at DESY - The HDF Group › wp-content › uploads › 2019 › 09 › jan_kotanski_desy.pdfNeXus Framework at DESY ... Modular structure of the NeXus Framework

NeXus Framework at DESY

Jan Kotanski

Deutsches Elektronen-Synchrotron

Sep 17, 2019

Jan Kotanski (DESY) NeXus/HDF5 @ DESY Sep 17, 2019 1 / 16

Page 2: NeXus Framework at DESY - The HDF Group › wp-content › uploads › 2019 › 09 › jan_kotanski_desy.pdfNeXus Framework at DESY ... Modular structure of the NeXus Framework

NeXus format and HDF5

• NeXus is a set of rules how data must be organizedwithin a particular format in order to become a valid file.

• Every NeXus file written by us is also a valid HDF5 file!

scalar and multidimensional data within a single filedata within the file in a tree like manageradditional attributes can be attached to objects in a filestoring metadata which might be required for later analysis

Jan Kotanski (DESY) NeXus/HDF5 @ DESY Sep 17, 2019 2 / 16

Page 3: NeXus Framework at DESY - The HDF Group › wp-content › uploads › 2019 › 09 › jan_kotanski_desy.pdfNeXus Framework at DESY ... Modular structure of the NeXus Framework

NeXus libraries

h5cpp – c++ wrapper for hdf5 library (ESS/DESY)pniio/pnicore – HL interface and NeXus structure from XML

c++ libraries used to store fast detector datapython modules used to store metadatahttps://github.com/pni-libraries/ https://github.com/ess-dmsc/h5cppdeb http://repos.pni-hdri.de/apt/debian

Jan Kotanski (DESY) NeXus/HDF5 @ DESY Sep 17, 2019 3 / 16

Page 4: NeXus Framework at DESY - The HDF Group › wp-content › uploads › 2019 › 09 › jan_kotanski_desy.pdfNeXus Framework at DESY ... Modular structure of the NeXus Framework

Modular structure of the NeXus Framework

Nexus WriterTango Servers

Devices

ExperimentalControl Client

File Server

Facility databasesproviding administrativeinformation

ConfigurationServer

Configuration DB

https://github.com/nexdatas/ NeXus Writer uses pninexus bindings (or h5py)

deb http://repos.pni-hdri.de/apt/debianfor debian buster, stretch, jessie and ubuntu bionic, xenial

Jan Kotanski (DESY) NeXus/HDF5 @ DESY Sep 17, 2019 4 / 16

Page 5: NeXus Framework at DESY - The HDF Group › wp-content › uploads › 2019 › 09 › jan_kotanski_desy.pdfNeXus Framework at DESY ... Modular structure of the NeXus Framework

NeXus Component Selector

Device Selection Editor/View – Detector Components

Select components of Pool channels and other TANGO devices.Disable display for TaurusGUI, e.g. nxsmacrogui.

Jan Kotanski (DESY) NeXus/HDF5 @ DESY Sep 17, 2019 5 / 16

Page 6: NeXus Framework at DESY - The HDF Group › wp-content › uploads › 2019 › 09 › jan_kotanski_desy.pdfNeXus Framework at DESY ... Modular structure of the NeXus Framework

Pilatus1M componentNeXus Semantic

Groups contain groups, fieldsand links. They generatethe hierarchical file structure.They have names, associatedattributes and types:

e.g. NXentry, NXdetctor, . . .

Fields contain data withtheir attributes: names, shape,data types and unit.

Attributes are descriptive infofor groups and fields.

Links refer to fields at differentlocations in the data tree.

scan$var.serialno

GROUP

NXentry

P03

GROUP

NXinstrument

Pilatus1M

GROUP

NXdetector

FIELD

x_pixel_size NX_FLOAT64 172

FIELD

y_pixel_size NX_FLOAT64 172

FIELD

layout NX_CHAR area

FIELD

description NX_CHAR Pilatus 1M

FIELD

data NX_UINT32

STRATEGY

POSTRUN /data/p03/2013B/xxyyzz

ATTRIBUTE

FileDir NX_CHAR $datasources.P1_fileDir

STRATEGY

FINAL

ATTRIBUTE

FilePostfix NX_CHAR $datasources.P1_filePostfix

STRATEGY

FINAL

ATTRIBUTE

signal NX_UINT 1

extra_info

GROUP

NXcollection

FIELD

delay_time NX_FLOAT64

STRATEGY

FINAL$datasources.P1_delayTime

FIELD

nb_exposures NX_FLOAT64

STRATEGY

FINAL$datasources.P1_nbExposures

data

GROUP

NXdata

LINK

data NXentry/NXinstrument/Pilatus1M:NXdetector/data

Jan Kotanski (DESY) NeXus/HDF5 @ DESY Sep 17, 2019 6 / 16

Page 7: NeXus Framework at DESY - The HDF Group › wp-content › uploads › 2019 › 09 › jan_kotanski_desy.pdfNeXus Framework at DESY ... Modular structure of the NeXus Framework

Detector data

Data from detectors0D and 1D – data in one file2D and fast 1D – strategy depends on vendor software

Configuration components for detectorsdata in master file during scan:0D, MCA, Mythen2, . . .master file and images file will be linked:Lambda, Eiger, . . .nxscollect for integrating TIFs, . . . into NeXus file:Pilatus, PE, PCO, Mythen1, MarCCD, . . .dedicated macros for detectors in continuous scans

All-in-one is easier to manageJan Kotanski (DESY) NeXus/HDF5 @ DESY Sep 17, 2019 7 / 16

Page 8: NeXus Framework at DESY - The HDF Group › wp-content › uploads › 2019 › 09 › jan_kotanski_desy.pdfNeXus Framework at DESY ... Modular structure of the NeXus Framework

NeXus Component Selector

Device Selection View – Description Components

Descriptive components are automatically deselectedif related to them motors are switch off.

Jan Kotanski (DESY) NeXus/HDF5 @ DESY Sep 17, 2019 8 / 16

Page 9: NeXus Framework at DESY - The HDF Group › wp-content › uploads › 2019 › 09 › jan_kotanski_desy.pdfNeXus Framework at DESY ... Modular structure of the NeXus Framework

NeXus Component Selector

Experiment metadata – User Data

To describe the experiment completelysome of the CLIENT data have to be provided by the user

Jan Kotanski (DESY) NeXus/HDF5 @ DESY Sep 17, 2019 9 / 16

Page 10: NeXus Framework at DESY - The HDF Group › wp-content › uploads › 2019 › 09 › jan_kotanski_desy.pdfNeXus Framework at DESY ... Modular structure of the NeXus Framework

Spock with NeXus Sardana Recorder

User scan in spock with the exp_mot07 motor.

For NeXus Recorder the file extension is .nxs

Jan Kotanski (DESY) NeXus/HDF5 @ DESY Sep 17, 2019 10 / 16

Page 11: NeXus Framework at DESY - The HDF Group › wp-content › uploads › 2019 › 09 › jan_kotanski_desy.pdfNeXus Framework at DESY ... Modular structure of the NeXus Framework

lavue: Live Image Viewer in SWMR mode

Single-Writer/Multiple-Reader modehttps://github.com/jkotan/lavue/ or deb http://repos.pni-hdri.de/apt/debian

Jan Kotanski (DESY) NeXus/HDF5 @ DESY Sep 17, 2019 11 / 16

Page 12: NeXus Framework at DESY - The HDF Group › wp-content › uploads › 2019 › 09 › jan_kotanski_desy.pdfNeXus Framework at DESY ... Modular structure of the NeXus Framework

Component templates

Standard component templates common all for beamlines:

default, beamtimeid, source, undulator, dcm,slit, absorber, beamstop, chcut, keithley,pinhole, qbpm, samplehkl, ...

Beamline specific componentsdiffractometer, mirrors, pcostage, microscope,samplehexapod, samplepiezo, saxstage, laser,interferometer, crl, lenshexapod, cryostage, ...

Advantages:Create components of the same type with different motorsChange motors by changing script parameters

Jan Kotanski (DESY) NeXus/HDF5 @ DESY Sep 17, 2019 12 / 16

Page 13: NeXus Framework at DESY - The HDF Group › wp-content › uploads › 2019 › 09 › jan_kotanski_desy.pdfNeXus Framework at DESY ... Modular structure of the NeXus Framework

Component Designer

The Configuration Client Tool allows to create configurationcomponents as well as datasources [for IT staff]

Jan Kotanski (DESY) NeXus/HDF5 @ DESY Sep 17, 2019 13 / 16

Page 14: NeXus Framework at DESY - The HDF Group › wp-content › uploads › 2019 › 09 › jan_kotanski_desy.pdfNeXus Framework at DESY ... Modular structure of the NeXus Framework

nxsconfig info

provides relation between components and datasources

Jan Kotanski (DESY) NeXus/HDF5 @ DESY Sep 17, 2019 14 / 16

Page 15: NeXus Framework at DESY - The HDF Group › wp-content › uploads › 2019 › 09 › jan_kotanski_desy.pdfNeXus Framework at DESY ... Modular structure of the NeXus Framework

nxsconfig geometry

shows physical information related to component fields

Jan Kotanski (DESY) NeXus/HDF5 @ DESY Sep 17, 2019 15 / 16

Page 16: NeXus Framework at DESY - The HDF Group › wp-content › uploads › 2019 › 09 › jan_kotanski_desy.pdfNeXus Framework at DESY ... Modular structure of the NeXus Framework

NeXus is production

Advantages

full description included, metadata and data0d and 1D data in one file(for 2D: external links or post-collection)beamline description, e.g. motor positions in INIT modeuser comments included, per scan

NeXus configuration components allow to fit sophisticatedNeXus structure into specific experiment and beamlineStandard component templates simplify beamlineconfiguration

Jan Kotanski (DESY) NeXus/HDF5 @ DESY Sep 17, 2019 16 / 16