NOMAD CAMELS (short: CAMELS) is a configurable, open-source
+ measurement software that records fully self-describing experimental
+ data. It has its origins in the field of experimental physics where a
+ wide variety of measurement instruments are used in frequently
+ changing experimental setups and measurement protocols. CAMELS
+ provides a graphical user interface (GUI) which allows the user to
+ configure experiments without the need of programming skills or deep
+ understanding of instrument communication. CAMELS translates
+ user-defined measurement protocols into stand-alone executable Python
+ code for full transparency of the actual measurement sequences.
+ Existing large-scale, distributed control systems, such as EPICS
+ (
Research data management has piqued greater and greater interest in
+ recent years. Today, research funding agencies demand sustainable
+ research data strategies. The key criterion is to create research data
+ following the FAIR principles and thereby improve world-wide
+ data-driven research
+ (
In experimental physics many custom-built measurement setups are
+ controlled by very specific software written by individual
+ researchers. This results in a heterogeneous landscape of software
+ fragments for measurements written in many different languages and
+ with often incomplete documentation, making it almost impossible for
+ other researchers to extend existing code. The degree to which the
+ stored raw data is understandable varies greatly but is often
+ unintelligible even for researchers from the same lab. Important
+ metadata such as instrument settings or the actual measurement steps
+ performed to obtain the final raw data are rarely recorded, making it
+ virtually impossible to reproduce experiments. Therefore, the
+ documentation of experiments is incomplete, preventing FAIR research
+ data. Although there are some tools available to realise control of
+ arbitrary measurement instruments, such as
Visualization of CAMELS functionality and workflow.
+ CAMELS connects directly with local instruments and/or large-scale
+ lab infrastructure running network protocols, e.g., EPICS.
+ Customizable measurements protocols are translated into Python code
+ and executed. The output is FAIR-compliant measurement data.
+
CAMELS is an open-source tool that automatically collects all
+ computer-accessible experimental metadata. It features a user-friendly
+ graphical interface that enables the creation and customization of
+ measurements without the need for programming knowledge. By default,
+ the data is stored in a structured HDF5 file format that closely
+ resembles the structure of the NeXus standard
+ (
CAMELS is a stand-alone desktop application. It allows for direct
+ access to the
CAMELS builds on
CAMELS provides a comprehensive set of functionalities that can be + split into three primary components: instrument management, + measurement protocols, and manual controls.
+Scientific instruments can be added to CAMELS in two ways: The
+ first involves the
The second way is to add self-built drivers by creating the
+ necessary files locally and placing these in the directory specified
+ in the CAMELS settings. To facilitate this process CAMELS provides a
+
In general, a CAMELS driver comprises two files: One containing
+ the hardware interface communication, the other one defining the
+ available instrument settings. Data communication to instruments is
+ handled via
In CAMELS a
CAMELS translates the protocol created in the GUI into a Python + script, which is then executed. The script can be viewed, run + independently of CAMELS, and modified if required. CAMELS protocols + and settings can be stored and shared with colleagues enabling easy + repeatability of experiments.
+Certain scientific instruments require manual control before
+ starting predefined measurement routines, e.g., adjusting stages,
+ controlling temperature, valves, pumps, etc. In CAMELS this is
+ achieved through the
CAMELS stores measurement data together with rich
+ metadata collected automatically into a structured HDF5 file by
+ default. This includes
After executing the measurement protocol, the time-stamped data
+ is by default saved to an HDF5 file with a structure similar to the
+ NeXus standard
+ (
The stored data can be divided into distinct sections:
+-
+
Time-stamped raw data obtained during the execution of the + measurement protocol.
+Instrument settings.
+Human-readable summary of the measurement protocol
+ information (see
+
Complete Python script that recorded the data (see
+
User-defined metadata, e.g., sample and user information.
+In-depth documentation and guides for installing, using and
+ troubleshooting can be found on the
+
We thank Patrick Oppermann (Fritz-Haber-Institut der + Max-Planck-Gesellschaft) for valuable discussions.
+NOMAD CAMELS is being developed within the NFDI consortium
+