Introduction

Maestro: Data Acquisition and Stimulus Control for Visual Neuroscience Research

Introducing Maestro 4 for Windows 10

Since Maestro is a Windows application, we must occasionally migrate the program to a newer major release of the Windows operating system. Back in 2012, Maestro 3 was introduced for the Windows 7 32-bit platform, augmented by RTX2011 from IntervalZero.

Fast-forward to 2018 and Windows 7 is now "end of life", with extended support coming to a close in January 2020. Windows 7 licenses are no longer available for new workstations. It is once again time to migrate Maestro to the latest OS, Windows 10. And since 32-bit RTX lacks support for Windows 10, we also need to remake it as a 64-bit application.

The Lisberger lab will be transitioning to Maestro 4 in summer/fall 2018. This 64-bit port of Maestro 3 will run on the "long-term stable" enterprise release of Windows 10, Win10 1607 LTSB, using RTX64 version 3.4.

Once the transition to Maestro 4 is complete, we will no longer continue development of Maestro 3.x. Any future features and bug fixes will only be available in Maestro 4.x

This online guide is applicable to both Maestro 3 and 4. Many of the sections are little changed, since Maestro 4 offers much of the same functionality as Maestro 3.  The most significant changes are in the Installation chapter, since the system requirements and installation procedure for Maestro 4 are very different. Be sure to review that chapter thoroughly if you plan to update from version 3 to version 4.

Note that Maestro 4 lacks hardware support for the obsolete XYScope display platform; nevertheless, you can still define XYScope targets in a Maestro 4 experiment document. We decided to preserve all XYScope-related code so that reading Maestro 3 documents containing XYScope target objects would be trivial, and in case we implement an alternative solution for that display platform in the future.

Maestro is a Windows® application developed in Steve Lisberger's laboratory to conduct a wide variety of behavioral and neurophysiological experiments focusing on smooth pursuit eye movements, the vestibular ocular reflex (VOR), and certain other aspects of the visual system. It provides real-time data acquisition and stimulus control to meet the particular research needs of the laboratory, and it is specifically tailored to the experimental apparatus employed there.

Maestro experiments record behavioral and neuronal responses to a rich variety of stimuli, primarily visual in nature -- from simple spots, to patches of moving random-dot patterns, to drifting gratings and Gabor patches, to the rotational motion of the turntable on which the animal sits. To support modelling efforts and other quantitative analyses, eye movement and neurophysiological data are recorded at 1KHz. The animal chair's motion is updated at rates as high as 1KHz, while visual stimuli are updated at the rate of the display monitor. Some experimental protocols require the ability to adapt predefined target trajectories during runtime in accordance with the subject’s behavioral response. The potential complexity of experiments that animate multiple targets simultaneously, along with the need to adjust target trajectories during runtime, place a premium on efficient communications with the relevant hardware and demand fine-grained, sub-millisecond responsiveness.

We developed Maestro to meet these operational demands while monitoring and controlling the apparatus upon which such experiments are conducted. Over the years Maestro has evolved from a distributed program with components hosted on a UNIX workstation and two DOS PCs to an all-in-one Windows NT/2000/XP application running on a single machine. In its current form, the application is once again distributed in nature, consisting of three functional modules. The user defines, modifies, and executes experimental protocols via a graphical user interface (GUI). The GUI module, acting as the “master”, sends protocol information and issues a variety of commands to the experiment control and hardware interface. The hardware controller does most of the heavy lifting: it communicates with all peripheral devices installed in the host PC, controls the frame-by-frame animation of visual targets during an experiment, records and saves analog and digital data streams, and provides feedback to the GUI in the form of status messages, data traces, and current eye and target position. The controller is the time-intensive component of Maestro. It is spawned by the GUI module at startup and runs as a "real-time", kernel-level process within IntervalZero's RealTime Extension (RTX) to Windows. The two modules run on a Windows workstation and communicate over interprocess shared memory. A third functional module, the OpenGL application RMVideo, drives the primary visual stimulus display -- a large, high-performance CRT monitor. This module runs on a separate Linux workstation and communicates with the Maestro hardware controller over a private, dedicated Ethernet link.

Maestro offers four distinct operational modes. The user creates or modifies experiment protocols in Idle mode. The hardware controller does very little in this mode, other than wait for commands from the GUI master and compensate for drift in the position of the animal chair. Experiments are conducted in one of two additional modes, each of which offer considerable flexibility in designing stimulus protocols. In Trial mode, an automated sequence of trials is presented to the subject in rapid succession. Individual trials are typically 1-2 seconds, but can be much longer and can animate as many as 25 different targets. A single trial may be presented repeatedly, or a large set of trials can be sequenced randomly or in a particular order. A special "staircase" trial sequencing mode is specifically geared toward work in human visual psychophysics. Velocity stabilization, noisy stimuli, forced two-choice experiments, a search task -- all of these are possible in Trial mode. The fundamental time slice in this mode is 1 millisecond. Analog data channels are sampled at 1KHz, and the Chair target is updated at that rate as well.

In Continuous mode, visual stimuli (often periodic in nature) can be presented and the subject's response recorded for an indefinite period of time. The investigator can manually start and stop either stimulus or the recording (or both) in this mode. Rewards are delivered periodically to maintain the subject's attention. Fixation targets may be turned on/off and moved manually -- a feature which helps users calibrate the subject's eye position before starting an experiment. VOR and optokinetic studies often use this mode of operation, and one past researcher made extensive use of random-dot patches in this mode to do spatio-temporal studies in anaesthesized monkeys. The fundamental time slice in this mode is also 1 ms.

A fourth operational mode, Test mode, is intended primarily for program development and testing of the external laboratory apparatus.

About this User Guide

This online guide is divided into a number of different chapters that explore different aspects of the application. Each chapter may be organized into a number of different sections, and so on. Use the left-hand sidebar to navigate through the guide. In addition, most topic pages include hyperlinks to other related pages in the guide.