Abstract
Vision science studies often involve a combination of behavioral control, stimulus rendering/presentation, and precisely timed measurements of electrophysiological and/or behavioral responses. The constraints imposed by these various requirements can make it challenging to jointly satisfy all the necessary design specifications for experimental control systems. Since precise knowledge of the temporal relationships between behavioral and neuronal data is fundamental to understanding brain function, we are spearheading an open-source, flexible software suite for implementing behavioral control, high precision control of stimulus presentation, and electrophysiological recordings. The state-of-the-art system is being developed to implement highly demanding specifications (e.g., rendering geometrically correct stereoscopic images with large depth variations, binocular stimulus presentation at 240 Hz, and real-time enforcement of behavior such as binocular eye and head positions), making the system ideally suited for a broad range of vision studies. The Real-Time Experimental Control with Graphical User Interface (REC-GUI) consists of three major components: (i) experimenter control panel (Python), (ii) scripts for rendering 2D or 3D visual stimuli (MATLAB/Octave with PsychToolbox), and (iii) data acquisition components including eye/head monitoring (search coil: Crist Instruments; optical: EyeLink, SR-Research Inc.) and high-density neural recording (Scout Processor, Ripple Inc.). Because rendering and presenting complex visual stimuli like 3D stereoscopic images can require significant computing power capable of interrupting display synchronization, the system divides stimulus rendering/presentation and behavioral control between different processors. All processors communicate with each other over a network in real-time using User Datagram Protocol to minimize communication delays (average 767 ± 260 µsec over a gigabyte network switch). Because the system is modular, all components can be easily substituted to be compatible with different software, hardware, and data acquisition systems. For example, MATLAB-based stimulus rendering/presentation can be readily replaced with C-code. We will soon make all of the MATLAB/Octave and Python scripts available for customization and collaborative development.
Meeting abstract presented at VSS 2017