Picto Software

One level of an experiment's control flow in the Picto Experiment Editor

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 layered over experimental design in the Picto Experiment Editor

Analysis design layered over experimental design in the Picto Experiment Editor

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.

A live experimental session as viewed by the Picto Workstation

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 in an experimental session as viewed by the Picto Workstation

Neural data in an experimental session as viewed by the Picto 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. 

Playing back an Experimental Session in the Picto Session Player

Playing back an Experimental Session in the Picto Session Player

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.