Difference between revisions of "Data Acquisition Software"

From UCLA Miniscope
Jump to: navigation, search
Line 4: Line 4:
 
When a video source (microscope or behavioral camera) is connected, a new processing thread is created which constantly polls the video source for a new frame. If the video is being recorded to disk, an addition thread is created which handles writing video data to disk without adding any overhead to the acquisition threads. While not fully implemented yet, the multithreaded nature of the software can support online image processing and real-time feedback without affecting data acquisition.
 
When a video source (microscope or behavioral camera) is connected, a new processing thread is created which constantly polls the video source for a new frame. If the video is being recorded to disk, an addition thread is created which handles writing video data to disk without adding any overhead to the acquisition threads. While not fully implemented yet, the multithreaded nature of the software can support online image processing and real-time feedback without affecting data acquisition.
  
[[File:DAQSoftware.png|thumb|600px]]
+
[[File:DAQSoftware.png|center|600px]]
<br clear=all>
 
 
== Data Structure ==
 
== Data Structure ==
 
The data recorded by the DAQ software is saved in a folder structure based on the data and time of recording.  
 
The data recorded by the DAQ software is saved in a folder structure based on the data and time of recording.  

Revision as of 14:03, 8 January 2016

OverviewDAQSoftware.png

The Data Acquisition (DAQ) Software developed for this project and provided through this wiki supports live streaming, syncing, and recording from up to two video sources. The software gives the user full control of camera properties (such as gain, exposure, frame rate) as well as controls the power of the excitation LED. Written in C++ using Microsoft Visual Studio, the software uses Open Computer Visions (OpenCV) to connect, control, and stream video data.

When a video source (microscope or behavioral camera) is connected, a new processing thread is created which constantly polls the video source for a new frame. If the video is being recorded to disk, an addition thread is created which handles writing video data to disk without adding any overhead to the acquisition threads. While not fully implemented yet, the multithreaded nature of the software can support online image processing and real-time feedback without affecting data acquisition.

DAQSoftware.png

Data Structure

The data recorded by the DAQ software is saved in a folder structure based on the data and time of recording.

  • Date/Time/ folder structure
    • For example, 6_29_15/H15_M45_S12/
  • ‘settings_and_notes.dat’ records scope settings and notes
  • ‘timestamp.dat’ holds timing and syncing data for video streams
  • ‘msCam1.avi’, ‘msCam2.avi’, etc. hold 1000 frames each of scope data
  • ‘behavCam1.avi’, behavCam2.avi’, etc. hold 1000 frames each of behavior camera data
DAQSoftwareDataStructure.png


Features

  • Live streaming/recording of microscope and behavioral camera video
  • Syncing of video streams and external devices
  • Controls exposure, gain, ROI, LED excitation power, frame rate
  • Embedded note taking with time stamps
  • Pixel saturation detection
  • Supports color and monochrome imaging sensors
  • Multithreaded software with dedicated thread for real-time feedback/processing
DAQSoftwareThreads.png


Installation Guide

An installation guide can be found here.

Download Software

The current and previous versions of the DAQ Software can be downloaded here.