150 likes | 243 Vues
Learn about SOLEIL's data recording requirements and the NeXus format based on HDF and XML, ensuring efficient storage and generic configurability. Explore devices like DataRecorder, AuthServer, and NeXusReader that streamline data management processes at the facility. Discover the TWIST project for web-based data retrieval and software tools like NXextractor and IGOR extension for enhanced data processing.
E N D
@ With TANGO S. Poirier – Data management group
Short introduction • Devices servers • GUIs
Introduction • SOLEIL requirements for data recording • A system able to record any kind of data • Generic (independent from beamlines and experiments types) • That can easely configurated (even by users!) • The SOLEIL choice for data format: NeXus • Based on HDF (Hierarchical Data Format) and, recently, XML • Why ? • Logical organisation rather than physical organisation • Ability to store any kind of data • Self-describing format • Efficiency (binary, compression…) • Used in other facilities: DIAMOND, APS, LLB, ISIS, SNS, PSI, ESRF?
Introduction • a NeXus file is a tree structure, like a filesystem. • Datasets are recorded inside typed data groups (NXentry, NXsample, NXdata, NXsource, …) • Experimental data is recorded in NXdata groups • Metadata is recordedIn the other groups • Big datasets may becompressed In this sample, you show the data for 3 experiments
Devices servers • DataRecorder • Writes experimental data and associated metadata in NeXus files • AuthServer • Users enter login, password & project code. Then the ds generates a ‘key’ allowing DataRecorder to write data for a particular project in the right place in the storage facility. • NeXusReader • This device reads NeXus files and expose datasets, on demand, as dynamics attributes.
Devices servers • TechnicalData • Device that store two lists of ds containing data about the technical environment: • The DataRecorder reads theses lists and records the corresponding data at the begining and at the end of a recording session (i.e for a NXentry group) • SampleData • sample data collector device. The aim of this ds is to provide a unified interface to sample information.
DataRecorder : how it works ? • It’s based a on shared library: libDataStorage (written in C++). • This library don’t know Tango • But it knows how to record data in the NeXus format • Experimental data is collected through a plug-ins mechanism: data collectors • 2 collectors at this moment: libTangoCollect.so & libFileCollect.so • A tool can be used to export data from NeXus file into ASCII or binary based format (e.g. EDF) for users convenience
Data production diagram • From the DataRecorder point of view Data collectors
GUIs • Bolero • Edition of the devices servers recording configuration
GUIs • TechnicalData DS lists edition:
GUIs • Data Storage Control Center • Manage and monitor storage devices
GUIs • Baladi • A graphical tool to explore Nexus files
The TWIST project • Web portal for experimental data retreiving • Written in java and use JNLP technology • This not a pure TANGO project but, in order to allow browsing inside NeXus files, client app uses ATK components and exchange data with a NeXusReader device
Other software tools • NXextractor: a tool able to export data from a NeXus file into a file in a arbitrary format (ASCII or binary). It uses scripts to describe theses formats. • IGOR extension (XOP) for reading NeXus files • Next steps: adapt post-process software. To be planned.
The end ?