History of MatOFF
MatOFF is the outgrowth of a series of developments from the Laboratory of Neurophysiology (later, the Laboratory of Systems Neuroscience) of the National Institute of Mental Health (NIMH). MatOFF is maintained by the Laboratory of Neuropsychology. The orignal programs were developed to analyze neuronal activity during primate behavioral neurophysiology experiments.
The laboratory's earliest methods of computerized data collection used Digital Equipment Corporation (DEC) PDP 12 laboratory computers. The PDP 12 was a unique combination of a PDP 8 and a LINC (Laboratory INstrumentation Computer, developed initially at the Lincoln Labs of MIT), garnished with extra hardware for data acquisition and control, and aimed at the laboratory environment. Data collected with the PDP 12 were processed by redisplaying spike rasters on its video monitor, and using a 35 mm camera to photograph that display. The software was written by Bill Vaughn. Histograms were generated manually.
Data collection was later converted over to a new generation of DEC computers, the PDP 11, using the DATIN program. About the same time an off-line analysis program was written by Bill Stuart. This program was the first to allow convenient specification of events, stored as event codes, for off-line analysis after data collection. Epochs of spike data could be extracted from a continuous data stream, then aligned based on behavioral events, encoded as numeric codes, and displayed either as dot rasters or in histogram form. A single channel of analog data could also be aligned with the spike and histogram data. The off-line program worked in a batch mode.
The off-line analysis program went through a number of transformations. Eventually, a program was written to allow the same services as the off-line programs, but in an interactive environment. This was written by Karl Arrington, and dubbed KOFF. KOFF was developed on an LSI 11/23. A version was written for the VAX, but never used for data analysis. KOFF operated with two video displays. One display was the standard VT52 (a predecessor to the VT100); it was used by the operator to give commands and follow the status of operations.
The other display was a very simple 512 x 512 x 1 raster display made by Matrox. It provided monochrome graphics. The bitmapped images could be saved to files and printed on either a Printronix high speed dot matrix printer or a Versatec high speed thermal printer. Later, a Postscript program (LMPLOT) was written by David Powell of the Research Services Branch to print from 1 to 24 bitmap images/page on an Apple Laserwriter.
In an effort to phase out the LSI 11 computers the laboratory adopted the NIMH Cortex data acquisition program for some experiments. NIMH Cortex was developed by the Laboratory of Neuropsychology, NIMH. MAKDAT (by Andrew Mitz) was written to convert NIMH Cortex data files into DATIN files, the format used by KOFF.
PCOFF (written by a MELA, Inc. programming team headed by Todd McAnally) duplicated and expanded the services provided by KOFF, while porting the system from DEC PDP 11 hardware to the more powerful 80386/486/... PC hardware. PCOFF was intended to replace KOFF, obviate the need to maintain older equipment, take full advantage of the processing speed of personal computers, and provide a more modern platform for the development of new features. Along with PCOFF were two new programs: LP for printing files, and a new version of MAKDAT.
The new version of MAKDAT was eventually abandoned. In a subsequent contract, circa 1993, Todd McAnally added a number of improvements, including: simultaneous processing of two analog channels, X-Y plots, the ability to save results to one large, organized ASCII file rather than many small ones, break points in script files, and raster graphics.
A Microsoft Windows 95/98/2000 version of MatOFF, called WorkOFF (Workstation OFFline analysis program) was developed by Todd McAnally under a new contract in 1997. WorkOFF was a full 32 bit C language implementation intended for use with Microsoft Windows or any flavor of Unix. The initial version of WorkOFF was a text mode program suitable for batch analysis of data, but without graphics support. The goal was to tie graphic support to standard Windows products. That goal was achieve by converting WorkOFF to a Windows dynamic link library (dll) for use with MatLab from The Math Works, Inc.. WorkOFF was renamed MatOFF and development continued on the MatLab platform. From 1999 to 2000, MatOFF was rewritten by Andrew Mitz and Todd McAnally, eliminating the WorkOff dll. The new version allowed a more efficient data architecture.
The first alpha release of MatOFF was March of 2000. The Beta release and announcements were in June of 2000. Since its initial release MatOFF has been through over 45 revisions with the addition of many new features. Most of the upgrades were written by Andrew Mitz. Ethan Buch has also provided new code. MatOFF is in active use internationally and is maintained and updated on a regular basis. Major improvements include:
GUI-based Plexon-to-Cortex converter with support for down-sampling slow analog data CortexExplorer - a great tool for viewing and evaluating a Cortex data file. History Scripting - a MATLAB scripting from within MatOFF. Very powerful. Description published in J. Neuroscience Methods. Fill in missing event codes with History Scripting Analyze trials based on past and future trials with History Scripting Saccade detection with History Scripting Histograms can be composed of different epochs of time on a trial-by-trial basis WHY command - tells you why MatOFF did not plot your data. EZSTART - analyzes your data, sets parameters and then generates a plot. ENDIF - terminates batch processing under conditions you choose (e.g., missing data file) Compensates for the time lag of spike discrimination algorithms.
Development continues. Support is provided by Andrew Mitz.