Skip to content

Python software for data acquisition and control of a Quantum Yield opto-electronic setup.

Notifications You must be signed in to change notification settings

jsmatias/QY-DAQInterface

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

68 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

QY-DAQInterface

QyApp v2.0.0

Available for production environment on MS Windows, MacOS and Linux.

Description

This software is able to control NI-DAQ ports (input and output). The main application for the current version is to modulate a laser driver using one of the output ports of the DAQ in order to excite upconverting nanoparticle samples and acquire their emission and transmission using the input ports.

Installation instruction

The installation requires Python 3.4 or above versions as well as its package manager (pip). Once python is installed:

  1. Download all the content from https://github.com/Biophotonics-Tyndall/QY-DAQInterface/tree/master
  2. Open the folder setup and double-click the install.bat file.
  3. To open the CLI, return to the root folder and double-click the QYAPPv110 file.
  4. To open the GUI, return to the root folder and double-click the QY-GUIv200 file.

Once installed, just repeat the step 3 or 4 to use the controller.

Running the controller

To use the controller make sure that the DAQ is connected to the computer by USB and it has installed its driver.

⚠️ For linux or MacOs the driver may not be available and should be installed manually if provided by NI.

Folder structure

  • gui/: Includes the code with a graphical user interface to control the QY system
  • setup/: Auxiliary files to install required packages
  • docs/: Manuals and Ni-DAQ6212 datasheets. (This files might not be available on github repository)
  • data/: Folder where the acquired raw-data is saved
  • output/: png plots are saved
  • source/: Python scripts to control the DAQ, create plots, manage the data, etc.

User manual

Graphical User Interface (GUI)

v2.0.0 includes a beta GUI of the controller. To start it, run the app.py file in the gui folder.

GUI

The parameters on the left hand side can be adjusted accordingly for the experiment. The Run button sends the settings to the DAQ controller, which controls the actual device. Once the acquisition is completed, the data are plotted on the panel on the right. The Save button saves the data and settings in the data directory. Each dataset is stored with an unique id (date_time of the acquisition).

Command Line Interface (CLI)

For windows, on the root folder double click on QyApp.bat file. This file will call python in a cmd and run the main code. The following user panel shall start.

User Panel

Done! Just follow the instruction on the screen.

Output example:

With data acquired the data is displayed in a dynamic graph with one subplot per channel acquired. You can add all the channels needed for the experiment.

First test

Contact info:

Author Jean Matias || email: jean.matias@tyndall.ie


Updates

v2.0.0 - GUI available

v1.1.0 - Minor update on measurement. New feature included

  • Include option on measurement to return laser current to 0 before ramping up to next step.

List of changes:

  1. reset option on config file
  2. step_reset column included on log file
  • Include flag of data not saved on front panel
  • Bug! Matplotlib raising error: RuntimeError: main thread is not in main loop description. Possible solution: pl.use("Qt5Agg") // or TkAgg or Agg. Details here

v1.0.1 - Minor changes and bugs fixed

  • Metadata columns renamed
  • Included channels connections to datalogs: ex.: ai1=PM
  • Bug on save data: Crashing after saved once

About

Python software for data acquisition and control of a Quantum Yield opto-electronic setup.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 99.6%
  • Batchfile 0.4%