Simplifying Scientific Data Acquisition with Nuts and Bolts Framework

Blake Bradford Avatar

·

autodidaqt: Simplifying Scientific Data Acquisition with Nuts and Bolts Framework

Scientific research often involves complex data acquisition processes that can be time-consuming and cumbersome for researchers. Meet autodidaqt, a nuts and bolts included framework designed specifically for scientific data acquisition (DAQ). Whether you are working on angle-resolved photoemission spectroscopy or any other experiment, autodidaqt can help streamline the entire process, allowing you to focus more on designing and running experiments rather than spending time on DAQ software.

What is autodidaqt?

autodidaqt combines the power of data acquisition (DAQ), user interface (UI) generation, reactivity, and instrument management into a comprehensive framework. With autodidaqt, researchers can specify the sequence of motions and data collection, and the framework takes care of managing the user interface, talking to and managing instruments, plotting interim data, data collation, and input/output operations.

In addition to its core features, autodidaqt also offers logging and notification support. Researchers can receive notifications via email or Slack when an experiment finishes, whether it was successful or not. This level of automation and communication ensures that researchers are always informed about the progress of their experiments, even when they are not physically present.

Key Features of autodidaqt

Automated DAQ

autodidaqt provides a uniform interface to wrap instruments and data sources. By specifying the sequence of motion and acquisition, autodidaqt handles async collection, input/output operations, and real-time visualization of acquired data. This automation helps researchers save time and focus on the actual research instead of dealing with low-level data acquisition processes.

UI Generation

autodidaqt leverages the power of PyQt and Qt5 to generate user interfaces for experiments. The framework also provides simple bindings (autodidaqt.ui) that simplify working with PyQt and UI scripting. With autodidaqt’s window manager, researchers can register their own windows, making it seamless to add extra functionality to experiments.

The UI bindings in autodidaqt are wrapped as RxPY observables, enabling seamless integration of PyQt UI into asynchronous applications. This level of integration simplifies the development of coherent and responsive experiments.

Installation and Usage

To get started with autodidaqt, follow these steps:

Requirements:

  • Python 3.7 or later
  • NoArch

Installation via pip:

bash
$ pip install autodidaqt

Installation from Source:

  1. Clone the autodidaqt repository.
  2. Install make if you are on a Windows system.
  3. Install poetry (the alternative Python package manager).
  4. Run make install from the directory containing the README file.

Once installed, explore the examples folder to find usage examples. Simply run the desired script using the following command:

bash
$ python -m autodidaqt.examples.[example_name]

Replace [example_name] with one of the available examples, such as:
– minimal_app
– plot_data
– simple_actors
– ui_panels
– wrapping_instruments
– scanning_experiment
– scanning_experiment_revisited
– scanning_interlocks
– scanning_custom_plots
– scanning_setup_and_teardown
– scanning_properties_and_profiles
– manuscript_fig4

For a complete list of available examples, run the following command:

bash
$ python -m autodidaqt.examples

Conclusion

autodidaqt revolutionizes scientific data acquisition by providing a comprehensive framework that simplifies the entire process. With its automation, UI generation, and instrument management capabilities, autodidaqt allows researchers to focus on the core aspects of their experiments. Its logging and notification support further enhance the research workflow, ensuring researchers stay informed about the progress of their experiments. Whether you are a researcher in the field of photoemission spectroscopy or any other scientific domain, autodidaqt can be your indispensable tool for efficient and automated data acquisition.

Source: GitHub – autodidaqt

References:
– AutodiDAQt receiver in its companion repository: GitHub – autodidaqt companion repository

Leave a Reply

Your email address will not be published. Required fields are marked *