Skip to content

Releases: Aharoni-Lab/Miniscope-DAQ-QT-Software

Minor feature update to track parameter changes during recording.

02 Jul 20:45
Compare
Choose a tag to compare

This minor update adds the capability for the software to time stamp and save all device parameter changes that happen during a recording session. In general it is a good idea to try and not change any parameters/settings during a recording but sometimes it is unavoidable. These changes will now be saved in the notes.csv file.

  • Every parameter change generates a new row in the csv file that includes the time stamp in milliseconds, the device name, the parameter name, and the new value of that parameter.
  • The parameter values saved in the metaData.JSON file are the initial values of these parameters at the start of the recording.

Major features added, quality of life improvements, and bug fixes

04 Jan 08:05
Compare
Choose a tag to compare

Miniscope DAQ Software Version 1.10 release

This release adds many new features and improvements over the previous release of the Miniscope DAQ Software. It also includes a lot of changes in the backend to make integration of future devices easier. To use just download the 'Miniscope-DAQ-Software_build_v1_10.zip' file below, unzip, and run the .exe file.

Added features

  • OpenGL time trace display for plotting real-time neuron activity and animal behavior.

  • Integration of DeepLabCut-Live for real-time animal pose estimation with custom OpenGL display. Real-time 2D occupancy map overlay.

  • A User Configuration File viewer and editor with tool-tip display.

  • Miniscope real-time neuron ROI selection and display along with improved dF/F display.

  • Ability to edit experiment parameters once a user configuration file is loaded.

  • Ability to run third-party .exe files on start and stop of recording.

  • Ability to play back video recordings.
  • Miniscope ROI selection for defining pixel area to be saved.
  • Embedded Python
  • Save edited user configuration files
  • Addition of a robustly commented example user configuration file

Bug fixes:

  • Frame rate initialized correctly on user config file load.
  • Better error handling of embedded Python and file loading.
  • Checks file paths to correct forward and back slashes.
  • Improved saved meta data structure.
  • More flexible structure and options in user configuration files.

Other

  • Restructuring of Miniscope and Behavior Camera classes to improve ease of incorporating new devices.
  • Restructuring of some OpenGL shaders and supporting code to make adjustment of OpenGL interfaces easier.
  • Added code to handle old and new user config structure of connected devices.
  • Added "enabled" key in most settings in user config file to allow enabling/disabling components without needing to completely remove them from user config.
  • Moved all overlay drawing on displayed images into OpenGL shaders.

Minor bug fixes for V4 LED and behavior cam ROIs

11 Sep 18:08
4e48dff
Compare
Choose a tag to compare

This release addresses a few bugs that have been reported since version 1.00's release.

Bug fixes:

  • V4 LED would incorrectly turn to max brightness when user set LED value to 0 in GUI. This has now been corrected.
  • Not setting the "ROI" values for behavior cameras in the user config file could cause the behavior camera video streams to save 0KB video files due to the software thinking the recording ROI was 0 px by 0px in size. This has now been fixed.
  • Added a check to see if user defined ROIs are outside the range of the video stream window based on "width" and "height" values set in the behaviorCams.json file. If ROI is drawn out of bounds the edge will be corrected to be within bounds and a warning is displayed.
  • Added a few more "WebCam" devices in the deviceConfig/behaviorCams.json file with different resolutions. You can add additional ones as well or submit an "issue" on this repo and I will include more resolutions on future releases.

Correct bug in V3 Miniscope device description

31 Aug 23:09
dce6c55
Compare
Choose a tag to compare

The v1.00 had an old GUI configuration defined for the V3 Miniscope which would cause the software to freeze when loading a User Configuration file which included a V3 Miniscope. This release corrects this bug and now the software should be fully functional with V3 Miniscopes.

You can also fix this issue yourself in the v1.00 release by opening the "miniscopes.json" file located in the "deviceConfigs" folder and change the "qmlFile" entry under "Miniscope_V3" from

"qmlFile": "qrc:/Miniscope_V3.qml",

to

"qmlFile": "qrc:/Miniscope_V4_BNO.qml",

Please reference for the v1.00 release for all other information.

Version 1.0 Release!

31 Aug 03:44
ced5094
Compare
Choose a tag to compare

This is the first full release of the new Miniscope DAQ Software!

Before going further please check the Releases Page for more up-to-date releases of the software.

This software has substantial improvements over the previous Miniscope software and supports all previous and current Miniscope devices.

You must use the newest version of the Miniscope DAQ Firmware. Follow the guide on the firmware page for how to update your DAQ. No extra cables or tools are needed.

More information can be found on the Miniscope Wikis

To use this software

  • Download the .zip file titled "Miniscope-DAQ-Software_build_v1_00.zip" below
  • Unzip the file and run "Miniscope-DAQ-QT-Software.exe"
  • To get started, check out the example User Configuration files in the "userConfigs" folder.

Major features

  • User Configuration JSON file for constructing experiment, GUI, and defining which devices to use
  • Supports a range of lossly and lossless video compression
  • Very stable (no known issues/bugs that cause crashes)
  • Can recover from coax cable disconnects
  • Can recover from Miniscope DAQ disconnects
  • Supports all Miniscope devices and all UVC webcams
  • Live dF/F display
  • Can handle many video streams/Miniscopes simultaniously
  • User defined data directory structure
  • Easily expandable to other devices and customizations

Bug fixes and QOL improvements

28 Aug 04:48
e42af8c
Compare
Choose a tag to compare
Pre-release

This release has a fix to an uncommon but significant bug that would crash the software. Everyone should update to this version and also make sure to use the newest Miniscope DAQ Firmware.

Major changes:

  • Fixed a bug that would case software to sometimes crash on slower computers and when running multiple Miniscope devices in one software instance. We now do not know of any bugs that cause the software to crash. If you come across one please submit an issue to this repo.
  • Added initial support for the MiniDAQ. This allows for the software to request a certain MODE of the TI SERDES even if the SERDES on the DAQ are not initially configured as such.
  • Added initial support for new Miniscope Project custom behavioral cameras (MiniCAMs).
  • Software should now recover nicely from fully disconnects of Miniscope DAQs. On reconnect the sotfware will attempt to restore data connection and re-initialized the DAQ and Miniscope device.

Add support for Mutli-device Miniscope DAQ Firmware

21 Jul 17:58
Compare
Choose a tag to compare

From this release forward, all Miniscope related devices will run off a single version of the Miniscope DAQ Firmware. This means you will no longer need to reprogram the Miniscope DAQ when switching between V3 Miniscopes, V4 Miniscopes, and other video streaming devices.

To accomplish this, a couple lines have been added to the Miniscope DAQ QT Software which lets the software tell the Miniscope DAQ which resolution, and therefore device, it expects to be connected to the DAQ.

Long story short, you will now only need to program a Miniscope DAQ once to support all devices but you will need to use this or future version of the Miniscope Software.

Linux Support and New Features

09 Jul 18:22
Compare
Choose a tag to compare
Pre-release

This release adds the following:

  • Real-time dF/F display option for Miniscope video stream
  • Add initial support for new open-source behavior cameras (Minicams) we have been developing.
  • ROI selection for behavioral cameras. This ROI can be adjusted in real time through the behavior camera video window or can be configured in the User Config file.
  • New head orientation real-time display showing if orientation data is not stable. The User Config now also includes the option to filter out unstable data.
  • Major improvement to external triggering thanks to suggestions from @dysonsphere-startmail. These include:
    • Excitation LED toggling on and off based on external trigger state.
    • The ability to start and stop recording even when external triggering is enabled.
  • Added a more flexible structure for defining the data directory in the User Config file. This comes thanks to a suggestion from @dysonsphere-startmail.
    • In "directoryStructure" you can now define your own name types and no longer be limited to the few initial name types supported by previous versions. Within the User Config File you will also then need to set a string value for these new name types. The save metaData.json file created during recording will also save this new name/value pairs.
    • For example, if you add "animalColor" to the "directoryStructure" then you will want to also add "animalColor": "Brownish-White" into the User Config file right under "directoryStructure".
  • Linux support thanks to contributions from @ximion and @phildong.

We will be updating the V4 Miniscope Wiki with more information on the new features and data structures within the User Config files but for now you can also look at the included example userConfig files to see how to handle defining behavior camera ROIs and how to enable head orientation data filtering.

Add error message on failed data folder creation

04 Mar 23:26
Compare
Choose a tag to compare
v0.163

Update UserConfigExample_V4_2C_Miniscope.json

Restructure thread safe handling of video stream acquisition to increase stability

26 Feb 20:32
Compare
Choose a tag to compare
  • Have now addressed all known sources of software crashes expect rare cases of a full frame buffer slowing down software to the point of it freezing. But you should not have full frame buffers when running experiments.
  • You should be able to unplug and replug the coax cable and USB cable during streaming and recording without the software crashing. The software will reconnect once video stream is back and continue where it left off.