FIREpyDAQ

FIREpyDAQ logo

FIREpyDAQ is a python based Facilitated Interface for Recording Experiments (FIRE), for devices that are traditionally used for data acquisition. The device list and general requirements are given below.

Installation

Using pip, you can install this package. pip will also install relevant dependencies.

$ pip install firepydaq

Hardware/Communication Requirements

This interface can be used for three types of devices simultaneously,

  • NI hardware, which requires installation of NI-DAQmx driver from National Instruments.

    • This has been built so far only for Analog Input and Output data.

  • Alicat Mass Flow Controllers and Mass Flow Meter, which is based via serial communication and python API available from Numat.

  • Thorlabs CLD101X, which is based on serial communication

Architecture

_images/FIREpyDAQArchitecture.svg

Usage

firepydaq can be compiled by using one of the following scripts. A video showing the usage is provided on Github.

# On Windows: Protect your script from importing child processes
# Required if you need dashboard access.
# Dashboard is spawned as a separate process. 
if __name__ == "__main__":
    from firepydaq.FIREpyDAQ_Acquisition import FIREpyDAQ_Acquisition
    FIREpyDAQ_Acquisition()

Alternatively, you can run the following.

# On Windows: Protect your script from importing child processes 
# Required if you need dashboard access.
# Dashboard is spawned as a separate process. 
if __name__ == "__main__":
  import multiprocessing as mp
  mp.freeze_support()
  from firepydaq.acquisition.acquisition import application
  import sys
  from PySide6.QTWidgets import QApplication

  app = QApplication(sys.argv)
  main_app = application()
  main_app.show()
  sys.exit(app.exec())

Example of Acquisition interface during acquisition: Acquisition

Example of how the dashboard looks like during acquisition: Dashboard

Citation

Full citation:

Note

Chaudhari, D. M., & Mishra, A. (2024). FIREpyDAQ: Facilitated Interface for Recording Experiments (FIRE), a python-package for Data Acquisition. (v0.1.0). Zenodo. https://doi.org/10.5281/zenodo.13486708

Bib:

@misc{firepydaq,
title={FIREpyDAQ: Facilitated Interface for Recording Experiments (FIRE), a python-package for Data Acquisition. (v0.1.0)},
url = {https://github.com/ulfsri/firepydaq},
author = {Chaudhari, Dushyant M. and Mishra, Anvii},
publisher = {Zenodo},
doi = {10.5281/zenodo.13486708},
year = {2024}
}

Acknowledgement

The contributors are grateful to the Fire Safety Research Institute, part of UL Research Institute, for supporting the development of this package.