In the past, the two primary uses for stimulus runs in Continuous mode were VOR studies using only the Chair (and a fixation target defined in the Active Targets list), or receptive field characterization using the specialized XYseq target, which uses a grid of XYScope targets.
Lab members have not conducted these kinds of studies for many years, so the stimulus run feature has seen little or no use since Maestro 3 was introduced. There are no longer any viable vector oscilloscopes available, so the XYSeq target cannot be used. Maestro 4 lacks hardware support for the XYScope display platform, and Maestro 5 removes the XYScope entirely from the application user interface. Furthermore, you cannot use an RMVideo target in a stimulus run; you can only use it as a fixation target in the Active Targets list. Finally, the PSGM module never really saw any use (and a limitation in the PSGM hardware prevented its use in Continuous mode) and was removed entirely in Maestro 5.0.2.
Thus, the only available "target" for a stimulus run in Maestro is the Chair -- and there may not be any experiment rigs remaining that offer a rotational turntable for the animal chair!
A stimulus run is the fundamental experimental protocol in Continuous mode. Like trials, stimulus runs are grouped into run sets in the experiment document tree. While not as versatile as a trial, a stimulus run is designed specifically to present repetitive or periodic stimuli for an indefinite period of time. It is characterized by a few general parameters and a set of up to 20 different stimulus channels. Each channel describes a motion trajectory for a particular target. The table below details the types of stimulus channels currently supported in Maestro, and the motion modes available for each channel type.
One of the most important characteristics of the Chair stimulus channel type is that more than one channel of that type can be turned "on" simultaneously, and all such channels are added to form a composite stimulus waveform. Thus, one can define a rich variety of relatively complex, continuously-changing stimuli driving the animal chair's motion.
Like other objects in a Maestro experiment document, a stimulus run is created by selecting the appropriate command from the Object|New menu. To load a stimulus run into the Run Editor, simply double-click on its label in the document object tree. The editor includes several individual controls at the top of the form, above a grid control displaying the parameters for every stimulus channel defined in the run. A sample snapshot of the editor is shown below.
Duty Cycle -- This edit control displays the duration of one cycle of the stimulus run, in milliseconds. Any integer value in [0..999999] is admissible. At the end of each duty cycle, all active stimuli are immediately turned off and the run repeats from the beginning. Thus, it is important to design the stimulus channels so that they are finished by the end of the specified duty cycle; otherwise, unexpected behavior with the Chair may result.
#Cycles to Auto-stop -- If this parameter is nonzero, Maestro will automatically terminate the stimulus run after the specified number of duty cycles have elapsed. If it is zero, the stimulus run will repeat indefinitely until the user manually stops it. The edit control admits any integer value in [0..9999].
Duty Marker Pulse -- This combo box selects the digital marker pulse channel on which a brief pulse is delivered at the start of each duty cycle; channels DO<1..10> on the marker pulse delivery module (see Apparatus) are available for this purpose. Rigs are typically configured to route such "marker pulses" back into the Maestro's digital input port so that they are timestamped during presentation of the stimulus run. Analysis programs can use such markers to help parse each duty cycle's worth of data from the recorded file.
Pos Offset H, V -- These parameters were intended to allow the user to offset the initial position of a Fiber1 or Fiber2 target at the start of the stimulus run. Since these "optic bench" targets are no longer supported, these parameters are no longer used.
The grid control filling the bottom portion of the Run Editor displays the parameters of all Chair stimulus channels currently defined in the stimulus run object. Each channel is represented by a single row in the table. The first column displays the channel number, and the next five columns list parameters that are common to all supported stimulus channel types:
ON/off -- This flag determines whether or not a stimulus channel is presented at all. This might seem unnecessary -- typically, a user constructs a separate stimulus run for each distinct experimental protocol, so why bother to define a stimulus channel if you do not turn it on?! However, another approach might be to create a stimulus run with a long list of channels, only some of which are ON to achieve the desired composite stimulus. Different experimental protocols could be "created" on the fly by turning on different groups of channels in this "master" stimulus run.
Marker -- This multiple-choice parameter selects a marker pulse channel on which a brief pulse is delivered to mark the start of the stimulus. Allowed values are [DOUT1 .. DOUT10] and NONE; in the latter case, no pulse is sent. As with the Duty Marker Pulse, these channel marker pulses are typically recorded during the experiment to ease the task of parsing the data file and synchronizing the timeline of behavioral and neuronal responses with the stimuli presented.
Type -- The stimulus channel type: As of Maestro 5.0.2, this can only be Chair.
Motion -- The motion mode.
t0 -- The start time of the stimulus relative to the beginning of the run's duty cycle, in milliseconds. Any integer in [0..999999] is admissible here.
The remaining four parameters in a Chair stimulus channel depend on the motion mode selected, either Sine or Pulse. See the table at the top of this page for a complete discussion of the parameters. There are no header labels for parameters following the t0 column. You can check the identity of any such parameter by right-clicking on the cell. A tooltip displaying the parameter's name appears immediately above the cell for a few seconds.
All parameters in the stimulus channel table fall into two categories: numeric or multiple-choice. To edit a numeric parameter, double-click on the cell or simply start typing if the focus is already on that cell. An in-place edit control appears on top of the cell. Type in the new value and hit Enter or click somewhere else on the grid. The new value appears in the grid, corrected if necessary. The edit control restricts keyboard input, allowing only the digits 0-9, the minus (-) sign if negative values are permissible, and one decimal point (.) if floating-point values are allowed. The control also restricts the total number of characters that can be entered, and the number of digits that can be entered after the decimal point.
To edit a multiple-choice parameter, double-click on the cell to invoke an in-place combo box control. Its dropdown list is initially displayed, and the current choice is selected in this list. Use the mouse or arrow keys to make a new selection. Alternatively, right-click (or Shift-right-click) on the cell to move to the next (or previous) choice in the list without invoking the combo box.
A newly created stimulus run will initially contain no channels. To add a stimulus channel, right-click on the first column of the stimulus channel grid. A context menu appears, offering a selection of commands that operate on the grid. Some commands will be selectively disabled depending on the context.
Remove All -- Removes all stimulus channels defined in the run object. Use this command to "start from scratch".
Copy -- Make a copy of the stimulus channel displayed in the row that was right-clicked. The copy can then be pasted somewhere else in the grid via the Paste command.
Cut -- Same as Copy, except that the selected stimulus channel is removed from the grid.
Delete -- Remove the stimulus channel displayed in the row that was right-clicked. No copy is made; the definition of the stimulus channel is lost.
Paste -- Insert a copy of the stimulus channel that was last "copied" to the clipboard. The command is disabled if there's nothing in the clipboard. The new channel is inserted into the row that was right-clicked, shifting the other channels down one row as needed.
Insert -- Insert a new stimulus channel (with default parameter values) at the row that was right-clicked, shifting the other channels down one row as needed.
Append -- Append a new stimulus channel (with default parameter values) at the bottom of the channel grid.