Picto Software

In the Lee Lab, we utilize our custom developed Picto software framework for the design and execution of experiments and data analyses. The software provides a simple and intuitive development environment for designing experiments and defining data extraction and analysis algorithms. It abstracts the complexity of coordinating behavioral and neural data collection: obtaining precise timings, dealing with the non-real time nature of the computer operating system, synchronizing the presentation of stimuli with the timing of the visual display, providing rewards, and the like. The result is that researchers are free to focus on research without worrying about the technical details of managing a complex experimental framework. The Picto framework was developed by Joseph Schnurr, Matthew Gay, and Mark Hammond.

picto-exp design

Figure. One level of an experiment’s control flow in the Picto Experiment Editor

Experiment Editor. The Picto Experiment Editor is a “drag and drop” development environment. Execution flow is defined by simply drawing the execution flow chart on screen. Graphical elements for user display, state variables, and standard control logic components are “dragged and dropped” into the workspace as well. More detailed custom execution logic is added to the flow chart where needed in simple javascript. The result is a clear, robust, self-documenting experimental design.

Analysis Design. In Picto, Analyses are designed as a layer on top of the experimental design. Analysis output objects, such as a plot or simple text file are added to the workspace in the same way that graphical elements are added to the workspace in the experimental design. Simple analysis scripts are added in this layer at defined points in the experiment’s flow chart to be called when the execution state reaches them. Analysis scripts have access to all data in the experiment but are invisible to the experiment itself. This definitive separation allows analyses to be imported to sessions that have already been run in order to investigate features of interest that are identified after experimental execution.


Figure. A live experimental session as viewed by the Picto Workstation.

Experiment Execution. In Picto, experiments are run on a dedicated computer. This computer does not save any data locally, but rather sends it over the network to a Picto Server computer that writes it to disk. Researchers monitor experimental progress by connecting to the Picto Server from a Picto Workstation application that can be installed on any standard PC.
Parameters defined in an experimental design appear in the Workstation during experimental execution. Researchers can alter these parameters as need be during the course of the experiment. They can also provide manual rewards, start, pause and stop the experiment, add notes and monitor neural activity all from the Workstation.

Neural Data Capture. A Picto Proxy runs on the neural data acquisition platform during experimental sessions and sends the neural data to the Picto Server. The Server aligns neural data times with behavioral times during the experiment and makes the neural data available for Workstation viewing in real time. The Proxy currently supports Plexon and TDT neural data acquisition systems.

Playback and Analysis. The Picto Session Player loads and plays back saved experimental sessions. It contains a “record” function for saving sections of the session to a standard video file for inclusion in presentations or other use. Analyses designed in the Experimental Editor can be run as part of session playback. In these cases, during the course of session playback, output from the analyses will be displayed. Output data can be saved to disk when playback is complete.

Pictobox.  Any standard PC can be used to run Picto experiments; however, typical experiments require at least two channels of analog input for a position signal, a high current output for reward delivery and a parallel port connection for neural timing synchronization. We have developed a custom Pictobox computer that provides these standard interfaces and more all in one convenient rack mounted device. The Pictobox includes 8 channels of analog input, 8 channels of digital output, a 25 pin parallel port, 4 high current 12V reward ports, an LCD display setup for system information and buttons for manual reward delivery.

Tutorial (youtube)