Spike Histograms

This display panel was first introduced in Maestro version 1.3.0, specifically to display spike time histograms for any intra-trial tagged sections defined among the trials sequenced during an experiment. The panel is active only in Trial mode, and only when the trial set sequenced includes trials containing tagged sections.

At the beginning of a trial sequence, Maestro examines all trials in the set in search of any tagged sections and sets up the Spike Histograms panel accordingly. During sequencing, the program accumulates event timestamp data from its hardware controller -- at 1ms resolution -- and builds up histogram data for each tagged section found. Only events on digital input channel 0 are interpreted as spikes; events on any of the other digital inputs do not contribute to the histogram data collected. Each time a trial completes successfully, the panel is updated, so the user sees the histograms evolve over time. Event data from unsuccessful trials are ignored. Once the trial sequence stops, the panel's content is maintained until a new sequence begins.

The screenshot on the right shows the layout of the Spike Histograms panel (generated using artificial "spike" data). The name of the trial set being sequenced is shown in brackets in the panel's title bar. The section histograms are displayed in a single vertical column, so it is best to make the panel tall and narrow. The histograms are drawn from top to bottom in alphabetical order by their section tags. If you want your sections displayed in a particular order, assign the tag names accordingly. Note that the tag for each section is displayed in the top-left hand corner of the histogram plot. White up and down arrows in the upper right-hand corner serve as pseudo-scroll buttons, letting the user scroll the display up or down if there are too many histograms to display in the available space. The up/down arrow disappears once you have scrolled to the top/bottom of the histogram display.

Each section histogram includes a 50-millisecond "prolog" and a 150-millisecond "epilog" that are prepended and appended to the section proper. A short white tick mark along the baseline of each histogram marks the end of the prolog. The height of each histogram is fixed at 100 pixels, and the bin size is adjusted as necessary so that the longest section histogram fits in the width of the panel. If you are concerned that the bin size is too large, simply make the panel as wide as you can. All histograms are normalized to the max firing rate (in Hz) observed over all sections -- thus, it should be very easy to pick out which section shows the strongest response, at least in terms of firing rate. (If the maximum observed firing rate is less than 10Hz, all histograms are normalized to 10Hz.) The current maximum firing rate and bin size are reported in a text line at the top of the display.

The intent behind the intra-trial tagged sections feature in Maestro is that each distinct tagged section in a trial set will have the same duration in any trial in which it appears, and that the recorded data will cover the entire section as well as the prolog and epilog. In this case, accumulating the histogram data across any number of tagged sections and any number of trial repetitions is straightforward. However, Maestro cannot enforce this intent; the user can easily create a set of trials in which a named section has different lengths in different trials -- for example, any section could contain a segment with a randomized duration. In addition, if the user chooses a prolog and epilog that extend beyond the recorded portion of a trial, or if in some trials a tagged section begins before data recording is enabled, then some bins in the histogram will be undersampled because nothing was recorded in those bins for some fraction (or all) of the instances of the tagged sections presented during trial sequencing. For these reasons, as it accumulates histogram data for the Spike Histograms panel, Maestro keeps track of how many samples are accumulated in each bin. The accumulated spike count in each bin is then divided by the number of samples obtained for that bin -- not by the total number of times the tagged section was presented -- to calculate the "instantaneous" firing rate for that bin.