Software Metapapers

VScope — Data Acquisition and Analysis for Voltagesensitive Dye Imaging Using Multiple Cameras and Electrophysiology

Authors: {'first_name': 'Daniel A.', 'last_name': 'Wagenaar'}


VScope is a software package for the acquisition and analysis of data from multiple cameras as well as electrophysiology. Its main intended purpose is to record fluorescent traces from neurons loaded with voltage-sensitive dyes along with associated electrophysiology. VScope can record simultaneously from any number of cameras and frame rates can be set independently for each camera. VScope can also record synchronized electrophysiology traces and digital channels. VScope is mainly intended to acquire fixed-duration trials, but it can also acquire electrophysiology continuously. A variety of electrical stimulation protocols can be created through an easy-to-use GUI.


Funding statement: VScope was developed in conjunction with research funded by the Broad Foundations (Broad Fellowship program at Caltech); the Burroughs Wellcome Fund (Career Award at the Scientific Interface #1007977) and the National Institutes of Health (R01-NS-094403).

Keywords: voltage-sensitive dyeselectrophysiologyneuroscienceimagingdata acquisitioncoherence analysis 
 Accepted on 31 Aug 2017            Submitted on 09 May 2017

(1) Overview


VScope was written to enable the recording of all data from complex neuroscience experiments, involving both electrophysiology and multiple cameras, in one convenient software environment. VScope can be used to record image sequences from multiple cameras that view different areas of a preparation [1] (manuscript in preparation), or that image the same area in different spectral regions, e.g., for ratiometric imaging using FRET-based dyes (e.g., [2]). In our lab, we mainly use VScope in conjunction with voltage-sentive dyes (VSDs), but naturally, it can equally well be used with calcium dyes. VScope can be set up to automatically start trials at fixed intervals, which can be used for timed behavioral experiments and also for time-lapse imaging. VScope incorporates a basic scripting language that can be used to programmatically change acquisition parameters between trials.

In addition to data acquisition, VScope also facilitates preliminary data analysis within its graphical user interface. Users can define regions of interest (ROIs) on the acquired image sequences; VScope then extracts optical signals (ratiometric or simple) from those ROIs and can display those along with any simultaneously recorded electrophysiological signals (Figure 1). This is particularly useful as it enables the use of voltage-sensitive or calcium dye imaging to target specific neurons for subsequent intracellular recording [3]. VScope can also apply coherence analysis [4] to the optical traces, using either an optical or an electrophysiological signal as a reference, and display results either on a polar plot or as a color map overlaid on the camera images, while the preparation is still alive. To facilitate more in-depth data analysis, VScope comes with an extensive library of Matlab (The Mathworks, Natick, MA) functions (all of which are 100% compatible with Octave [5]). A typical workflow ends up looking like this:

Figure 1 

A screenshot from VScope (reproduced from its user guide). Top left: A frame from a VSD recording with overlaid ROIs. Top right: Neuronal signals. Top to bottom: optical trace from the selected ROI (blue trace; outlined in red on the left); an intracellular trace (black trace), and other selected optical traces extracted from the VSD recording. (The red trace is a copy of the blue trace, to allow scale comparison.) Bottom: Touch screen–optimized user interface for recording and analysis.

Many neuroscience experiments involve recording responses to stimuli. VScope can generate electrical stimuli in a variety of shapes natively and has also been extended to drive external stimulators and video displays [6] (manuscript in preparation). VScope’s scripting language makes it straightforward to setup experiments involving multiple trials at predermined intervals with parameters that may vary between trials.

Naturally, VScope can also be used for experiments that only involve electrophysiology (e.g., [7]), although other software (e.g., pClamp (Molecular Devices, Sunnyvale CA)) exists that is more specialized for that goal. Conversely, VScope can be used for experiments that only involve imaging. While most camera manufacturers either sell software for this purpose or provide it for free with their cameras (e.g., PVCam (Photometrics, Tucson AZ)), these programs typically do not offer online ratiometric analysis of fluorescence signals.

Implementation and architecture

VScope was written in C++ using the Qt framework ( The distribution additionally includes a library of functions to handle VScope data files in Octave or Matlab.

Quality control

VScope has been in continuous development since 2008 and has been in daily use in our lab since early 2009. Although no formal test suite exists for VScope, its architecture is such that it is extremely unlikely to damage your data files. The correctness of its acquired electrical data has been verified by comparing with oscilloscope recordings; the correctness of its acquired optical data has been verified by recording scenes with known properties (a stopwatch and a microscope ruler). Built-in data analysis algorithms have been verified against Matlab implementations of the same algorithms.

(2) Availability

Project homepage Please be sure to read the user guide, available at:, which contains complete details on installation, including how to install required dependencies, as well as an example setup file for two-camera recording.

Operating system

VScope is fully compatible with Windows 10. (On 64-bit Windows, it runs as a 32-bit executable because of NI-DAQ issues). It is likely to work on older versions of Windows, provided its other dependencies can be met. VScope also runs under Linux, though only for data analysis. (Data acquisition regrettably cannot be supported due to lack of O.S. support by Photometrics and National Instruments). A binary package is available for Ubuntu 16.10; compilation from source is straightforward. At this time, no Mac OS version is available.

Programming language

The Octave/Matlab library that accompanies VScope is compatible with Octave 4.0 or later as well as Matlab R2013 or later.

Additional system requirements

For data acquisition, VScope requires one or more PVCam-compatible cameras and a National Instruments DAQ card. PVCam-compatible cameras include all cameras made by Photometrics ( and QImaging ( as well as many by Princeton Instruments (


VScope requires the PVCAM library (Photometrics/QImaging, version 3.3.1 or later), available at, as well as the NI-DAQmx library (National Instruments, version 16.0 or later), available through the “Download NI-DAQmx” link at To compile VScope from source, you will need the Qt libraries (version 5.6 or later), available at as well as Cygwin (version 2.7 or later), available at Most users, however, will not need to compile VScope themselves, and will not need to download Qt or Cygwin.

List of contributors

Daniel Wagenaar wrote the software and is its current maintainer.

Software location


  • Name: Zenodo Research Archive
  • Title: VScope
  • Persistent identifier:
  • Licence: GPL-3
  • Publisher: Daniel Wagenaar
  • Version published: 1.0.0
  • Date published: 3/27/2017

Code repository



(3) Reuse potential

Portions of the Octave/Matlab library that comes with VScope may have reuse potential. For instance, the “vscope_coherence” function can be used to perform coherence analysis on arbitrary data, not just recordings made with VScope. Since VScope is licensed under the GPL, anyone is free to reuse portions of the code in their own projects (under the conditions of the GPL, which are easy to satisfy in most academic contexts). If you are interested in contributing improvements to VScope, please contact the author at or through No formal support mechanisms exist for VScope, but the author is interested in receiving bug reports and is committed to fixing bugs and adding requested features as time permits.


Extensive testing of VScope was performed by John Nagarah, Pieter Laurens Baljon, Drew Lehmkuhl, Arun Muthusamy, and Yusuke Tomina. Their many bug reports on earlier versions are gratefully acknowledged.

Competing Interests

The author has no competing interests to declare.


  1. Tomina, Y and Wagenaar, D A (2016). Pan-neuronal recording in the leech nervous system using dual-sided voltage sensitive dye imaging. Society for Neuroscience, 46th annual meeting. San Diego CA abstract no 337.10. 

  2. Baca, S M, Marin-Burgin, A, Wagenaar, D A and Kristan, W B Jr (2008). Widespread inhibition proportional to excitation controls the gain of a leech behavioral circuit. Neuron 57(2): 276–289, DOI: PMID 18215624. 

  3. Briggman, K L, Abarbanel, H D I and Kristan, W B (2005). Optical imaging of neuronal populations during decision-making. Science 307(5711): 896–901, DOI: PMID 15705844. 

  4. Cacciatore, T W, Brodfuehrer, P D, Gonzalez, J E, Jiang, T, Adams, S R, Tsien, R Y, Kristan, W B and Kleinfeld, D (1999). Identification of neural circuits by imaging coherent electrical activity with FRET-based dyes. Neuron 23(3): 449–459, DOI: 

  5. Eaton, J W, Bateman, D, Hauberg, S and Wehbring, R (2015). The GNU Octave 4.0 Reference Manual: Free Your Numbers.  URL: retrieved May 9, 2017. 

  6. Muthusamy, A, Lehmkuhl, A M and Wagenaar, D A (2016). S-cell responses to visual and mechanical water waves in the leech Hirudo verbana. Society for Neuroscience, 46th annual meeting. San Diego CA abstract no 337.12. 

  7. Baljon, P L and Wagenaar, D A (2015). Responses to conflicting stimuli in a simple stimulus-response pathway. J Neurosci 35(6): 2398–2406, DOI: PMID 25673834.