Skip to main content

Transforming the understanding
and treatment of mental illnesses.

Laboratory of Neuropsychology (LN)

MatOFF Revision History

Version 0.77 Released: 20 May 2014

  • mplx2ctx uses the latest Plexon SDK to open .PLX files.
  • other small fixes

Version 0.76 Released: 4 April 2014

  • mplx2ctx now supports Plexon files created by Tucker David Technology.
  • other small fixes

Version 0.75 Released: 3 August 2012

  • Many small changes to improve efficiency and readability of code.
  • Fixed crash of SET SORT PEAK when no analog data selected
  • HISTORY REWRITE DELETE
  • mplx2ctx mapping file now allows spaces before each command ®
  • There was a limit to how much analog data could be stored in one MatOFF file. That limit was removed.

Version 0.74 Released: 7 September 2009

  • New MATLAB commands let you modify or add analog channels to Plexon files before conversion to Cortex. Modified analog data is stored in "external analog files". See external analog files in mgplx2ctx documentation.
  • The MatOFF GUIs scale better across platforms. That is, MatOFF can now be used on an Apple Mac without looking too stupid.
  • To run mgplx2ctx under recent versions of MATLAB (e.g., R2009a) contact Plexon, Inc. for a new MATLAB Client Development Kit.
  • mgplx2ctx EOG decimation removed from the GUI and moved to the mapping file.
  • Fixed bug in mgplx2ctx that caused a crash when truncating the number of EOG samples.
  • Fixed long standing bug in SAVE LAYOUT command. Recently changed values in GUI were not getting saved to disk.
  • Fixed long standing bug in COPY command. Recently changed values in GUI were not getting copied.
  • Added "NEXT" parameter to OLD PLOT command. Adds 1 to current plot number.
  • Added NEXTPLOT command. Sets current plot number without plotting.
  • Fixed bug caused by Java accelerator in evaluate function of mgplx2ctx.
  • Recognizes Windows Vista.
  • Fixed dir and ls commands which failed when issued without parameters
  • Fixed bug in average analog that gave a flat line when averaging only one trial.

Version 0.73 maintanence update Released: 28 October 2008

  • Small bug fix in mplx2ctx truncation of EOG file length

Version 0.73 Released: 25 October 2008

  • mgplx2ctx handles saturating A/D signals a little better
  • Some errors in the SAVE command have been corrected
  • VALIDATESPIKES has been better documented
  • CLEAN has been documented
  • Better error recovery if a protocol file is called from a protocol file

Version 0.72 Released: 10 June 2008

  • Plexon to Cortex converter
  • mgplx2ctx and CortexExplorer now gracefully handles data files that have only one A/D channel
  • mgplx2ctx is better at handling fractional sample rates.
  • mgplx2ctx now handles 15 analog channels. See the new mapping file rules for analog. "A" channels are the orignal two EOG channels (3 and 4). The other channels (now called "E" channels) are for slower EPP data and can be down-sampled during the conversion.
  • CortexExplorer - CortexExplorer will now display EPP analog data Makdat
  • Makdat converts EPP channels.
  • MatOFF supports 15 analog channels, but still only displays two at a time.
  • The unit name can now be accessed by History scripts.
  • A bug that prevented analyzing behavioral data with no spikes was caused by the new VALIDATESPIKES command. That bug was fixed.
  • A bug in HISTORY SPOT COLOR was fixed
  • A bug in the MATLAB Java accellerator caused mplx2ctx to crash MATLAB when doing two or more Plexon to Cortex conversions in a row. The bug has been circumvented.
  • The internal program setenv.m has been renamed to nsetenv.m to avoid conflicting with the MATLAB SETENV command

Version 0.71 Released: 8 October 2007

  • Spike validation now supports coloring of "invalid" spikes.
  • A few initialization bugs fixed.

Version 0.70 Released: 27 September 2007 [BETA]

  • Major revision of LOG command. Stores more information. All warnings, errors, and debug messages routed to LOG command when logging is on.
  • History scripts now support logging with logfile_write().
  • Spike validation. Spike validation marks (start and end times) when spikes are "valid". Only valid spikes contribute to the histogram. Invalid spikes are colored differently in the rasters (future). Start and end times are created and stored as history classes. WHY command tells a bit about the current file, unit, spike channel. It will be expanded to help the user figure out why an output does not look as expected.
  • mgplx2ctx has been completely rewritten. It provides detailed information about channel mapping, digitizing rates, etc. Has a much improved evaluation function and handles files converted to Plexon format from Alpha-Omega .MAP files.
  • A number of the layouts have more line colors to choose from.
  • The menus have a cleaner look.
  • Some better error checking has been added.
  • More examples have been added to the distribution file to help new users.
  • The following features are still not implemented: Average XY plots, Set/Keep Histogram, RIP, Sort Delta, Sort Integral, XY Overlap, Validate Spike Color

Version 0.63 Released: 15 May 2007

  • Directory structure has changed to make finding examples and documents easier.
  • Ezstart command. Will take any Cortex data file and rapidly create a raster/histogram plot. It comes with an example data file. Under the directory example_files there is a complete example of MatOFF with its own data file.
  • Poorly formatted SEQUENCE commands are handled more gracefully now.
  • CENTER command now supports centering on a history class. If the center value is greater than the number of sequence groups and above 99, the value will be interpreted as a class. Class values must be saved in milliseconds. Trials that do not have class values will be centered at time zero.
  • Environmental variable HISTORYPATH was being ignored.
  • Fixed. list_events() history script support function is now much more efficient.
  • CortexExplorer (now v1.6) numerically displays the first and last trials that an event occurs when plotting an event histogram. This helps locate which trials the event occurs.
  • Bug fix in count_time_spikes() example history script.
  • Major improvements to mgplx2ctx Evaluate function.

Version 0.62 Released: 6 October 2006 [BETA]

  • CENTER command now supports centering on a history class. If the center value is greater than the number of sequence groups and above 99, the value will be interpreted as a class. Class values must be saved in milliseconds. Trials that do not have class values will be centered at time zero.
  • Environmental variable HISTORYPATH was being ignored. Fixed.
  • list_events() history script support function is now much more efficient.
  • Poorly formatted SEQUENCE commands are handled more gracefully now. 

Version 0.61 Released: 24 April 2006

  • Text positioning fixed. Now you can define a position relative to the current plot TEXT FRAME ON or relative to the whole page TEXT FRAME OFF.
  • History script can now access center and mark codes, as well as center and mark values.
  • SET EPOCH KEEP: the COUNT and TRIAL variables were reversed in some printouts.
  • COPY command with TEXT option was not fully implemented. Fixed.
  • COPY command did not copy text lines 8 and 9. Fixed
  • COPY command sometimes did not work. Fixed.
  • HELP COPY fixed Default sourcetrials changed from [1-200] to [1-2000] Fixed
  • SORT PIT. It was crashing when analog values were not found in the selected time range.
  • TrialFunction help documentation and error reporting improved.
  • A bug in MAKDAT put data from the previous Cortex file into a UNIT if the listed Cortex file was not found. Now, if any file is missing from a UNIT, the whole UNIT is invalidated. 

Version 0.60a Released: 13 April 2006

  • mgPlx2Ctx (v0.7) has been rewritten to handle Plexon files with missing or out-of-order electrode numbers 

Version 0.60 Released: 30 March 2006

  • This is the first new release since V0.51, so look back at all the changes.
  • Also, this version has two new major tools for handling Cortex files: CortexExplorer V1.5 to browse Cortex files. mgplx2ctx V0.6 a GUI-based Plexon to Cortex converter. Both tools have some very helpful features. Both tools require MATLAB R13 or later. 

Version 0.51 beta5 Not released

  • CortexExplorer V1.01 introduced.A stand-alone MATLAB program to view the contents of a Cortex file. Requires MATLAB R13 or higher. show spiketimes updated. has new alias "spiketimes"
  • Makdat command can now shifts all spike times by x.x milliseconds. Shifting is used to adjust for the detection times of different spike detection systems. For example, Plexon files place the spike timestamps at the detector's threshold crossing (near the spike). BAK window discriminators place the timestamp at the last detection criterion (plus a few microseconds). Alpha-Omega MSD places the timestamp 50 us after the template window. The Alpha-Omega ASD (or AlphaLab) places the timestamp at the start of the template window. MatOFF does the shift during the Makdat step. To set this shift, use one of the following methods: Set the environmental variable: SPIKETIMEOFFSET Use Makdat List file entry: PARAM SPIKETIMEOFFSET Values greater than 20.0 ms will be tagged with a warning.
  • Meaningless spikes were appearing on the first clock tick of each new trial. These were showing up in the spike counts of Index and other commands. Now Makdat removes any spike that is cotemporaneous with the first clock tick of a new trial.
  • Some long-standing spelling errors in this revision history file have been corrected. 

Version 0.51 beta4 Not released

  • New command: 
    ENDIF terminates a protocol file under certain testable conditions. 
    ENDIF NOANALOG terminates if there is no X analog data 
    ENDIF NOUNIT terminates if the previous UNIT command failed
  • A hack was added to the very end of the makdat.m file. It can be used to process Cortex files that use event code 0 (normally not allowed).
  • Histories were not being loaded by the FILE command when FILEPATH was different from the DEFAULTPATH. That has been fixed.
  • Using ERROR_M in a history script caused the script to terminate. Fixed.
  • The Windows plx2ctx Plexon to Cortex converter program is now part of the MatOFF package 

Version 0.51 beta3 Released: 23 December 2004

  • The scan engine has been rewritten for greater speed, especially with history scripts
  • A new version of plx2ctx (wplx2ctx) has been introduced. It works without needing a separate dll.
  • Line plots (analog, histogram, centerline, etc.) now support colored lines.
  • Makdat error reporting improved.
  • Makdat can now safely be run from either the Matlab prompt or the MatOFF prompt.
  • History script can now access data file name and environmental variables.
  • MATOFF now requires exactly one ANALOGSTART and one ANALOGSTOP in the trial to process analog data.
  • history_class_dump.m example script added for easy listing of history classes
  • MatOFF now has a FAQ. (A work in progress).
  • Documentation has been updated and improved, especially for the HISTORY commands.
  • DUMP HISTORY fixed.
  • XY OVERLAP ON XY plot fills whole plot. OFF is the old way with XY plot to the left of the raster.
  • XY TIME CLASSES truncate XY analog traces using history class values 

Version 0.50 Released: 27 July 2004

  • MatOFF can now automatically set the A/D frequency, see FREQUENCY AUTO DUMP INDEX fixed.
  • HISTORY REWRITE fixed.
  • New History script support function: list_spikes() More graceful handling of metafile errors
  • More Metafile replacement variables: $1 to $9 and $A to $K
  • errorlevel serious - Normally each command is echoed when it is executed from the GUI or a protocol file. errorlevel serious stops this echo except for a few commands (e.g., FILE and UNIT). Use errorlevel serious at the start of a long batch file so that error messages are not missed.
  • errorlevel warnings - can be used at the end of the batch file to return the system to the default mode.
  • ANALOGSTART, ANALOGSTOP environmental variables - event codes 100 and 101 (analog start and stop) can be changed in the environment
  • Environmental variable menu is now more complete
  • New technical documentation on some of the functions used by MatOFF.
  • Fixed missing carriage return in DUMP SPIKES output.
  • Some layout parameters fixed to fix INITIALIZE and COPY commands
  • Fixed bug when RIP is requested (still not supported) 

Version 0.49 Released: 22 April 2004 - MAJOR REVISION

  • Major new feature: History scripting
  • History commands: 
    history file - MATLAB script called each time a trial matches the sequence 
    history on - activate script file 
    history rewrite - save history information with data file
    history spot - mark rasters using history information 
    history data - send data from protocol file to history script 
  • History scripts MATLAB '.m' script that can receive data from MatOFF (spike times, event codes, analog data) and store results. Results are stored as values in classes. Within a class, each trial can have a class value. These class values can be used to accept or reject trials during the sequence scan, to mark rasters on a plot, or to order the rasters on a plot. Since the History script is a MATLAB script, it can write to disk or do anything else MATLAB is allowed.
  • The scripts subdirectory has some useful examples of history scripts.
  • Sort history sort trials based on values stored in a class
  • Environmental variable HISTORYPATH
  • Documentation now includes history_scripting.html
  • Other new features:
  • Matoff now automatically detects version of Windows
  • Exit and Quit are different commands now. Exit leaves MATLAB altogether. Quit ends MatOFF, but keep MATLAB running.
  • LOG command now saves error, warning, or debug information to a file
  • Bug fixes: Epochstats format file could not eliminate heading. Fixed.
  • Segstats failed when there were exactly 2 trials with no spikes. Fixed.
  • Internally, MAKDAT now forces all trials to start at time 0.1 ms. This only affects files converted with plx2ctx and only affects History scripting.
  • SegmentsStats and MWU Keep crash on empty spiketrials. Fixed. 

Version 0.47 beta 6 Released: 18 February 2004 [released later as beta 7]

  • MAKDAT now reports each output file name during normal processing.
  • Windows XP option (option 3) in Matoff.m was broken. Fixed.
  • OUTPUT option in MAKDAT list files was broken. Fixed.
  • AXIS MULTIPLOT did not accept values above 12. Fixed.
  • Plot #36 (of 48) was positioned wrong and affected some other subplots. Fixed.
  • Up to 72 plots/page are allowed!
  • READ RELEVANT lists all event codes for a unit in a compact format. Can also be saved to disk.
  • All forms of the READ command can now either overwrite to disk or append to disk.
  • SET/KEEP EVENTS had been omitted from V 0.46. Now they are back.
  • "test vectors" have been removed. They were a part of the very early debugging code.
  • Fixed some errors in DUMP SPIKES SET SORT KEEP was loosing trials with no spikes under some conditions.
  • SET EPOCH SHOW/KEEP had center-mark time reversed with spike count. Fixed. 

Version 0.46 Released: 16 January 2004

  • Histograms were broken in V 0.45. Fixed.
  • Using multiple layouts never worked right. Might be ok now.
  • You can now save and restore the main menu positions. menuposition save <file name> menuposition load <file name>
  • You can now plot twice on the same axes. For example, you can plot two histogram curves or two sets of rasters. The new command is: overplot
  • Remember, if you don't like a command name, you can make a simple Metafile to change it. 

Version 0.45 Released: 5 January 2004

  • Added Format keyword option to sort.fmt
  • Added Close Append to smoothly close a Set <process> Keep file after appending.
  • New environmental variables to control Dump Spikes: DUMPTEXT (string) This string prepends every line of the Dump spikes output file DUMPMODE When set to "APPEND" the Dump spikes command appends to the output file. 

Version 0.45 beta 3 Released: 29 September 2003

  • Fixed index command to tolerate more than 2 analog channels.
  • Updated some help commands.
  • DUMP EVENTS added.Makes list of event codes that matched the sequence for each trial.
  • DUMP SPIKES fixed
  • SET/KEEP EVENTS added.
  • Fixed several small errors in ASCII dump formats
  • Updated html documentation. Better description of protocol files and batch files. 

Version 0.45 beta 2 Released: 13 May 2003

  • Two new environmental variables: MAXINPUTTRIALS replaces TRIALLIMIT. Limits the number of trials that Makdat will read. Used for debugging. MAXTRIALSFOUND limits the number of trials that a sequence will match = number of trials plotted. Default value is 250. Larger values create larger arrays for rasters, statistics, etc., and can tax your system resources.
  • PARAM TAGS (tag event codes) greatly expanded. This adds event codes to a file during the MAKDAT operation. 

Version 0.45 beta 1 Released: 12 December 2002

  • Fixed initial positioning of layout menu
  • Increased maximum number of plots per page to 48 

Version 0.44 Released: 18 November 2002

  • Text lines can be positioned relative to plot frame (subplot) or relative to entire page. See TEXT FRAME command.
  • Histogram can be plotted as raw counts (rather than scaled to bin-size and trials). See HISTOGRAM RAW command.
  • Histogram supports "reference lines" +/- n standard deviations from a mean set by Segment A. See HISTOGRAM REFERENCE command.
  • MatOFF will now list how many of each possible sequence matched the search criteria. See FOUND command.
  • Fixed a bug so now MatOFF properly supports all 9 text lines.
  • Removed some unused environmental variables.
  • Makdat now uses DATAPATH for Cortex (input), MatOFF (output), and List files.
  • Some of Makdat's output was not respecting the MAKDUMP environmental variable. Fixed.
  • Numerous documentation refinements
  • Analog was broken. Seems to be fixed now. 

Version 0.43 4 Released: September 2002

  • Was too lax in accepting existing environment variables at startup.
  • Fixed. Added THIN parameter to Makdat Command
  • Makdat is more forgiving if no default channel is specified
  • Documentation for the OUTPUT command in the Makdat list file has been corrected
  • Sequence, Globalignore, and some other menu entries no longer cause warning message in Matlab V6
  • Index command now reports which analog channels are in the dataset
  • Fixed bug in Read command, was looking at wrong analog channel.
  • Read command now supports "which" option
  • Added DATE command
  • Special protocol files variables: %10 = date string, %11 = time string 

Version 0.42 13 Released: February 2002

  • Added option in matoff.m to accomodate different versions of Windows
  • Fixed bug in HIDE PLOT, SHOW PLOT (caused Matoff start-up failure)

Version 0.41 11 Released: February 2002

  • Fixed headings in Makdat show analog display
  • Fixed warning about detected errors in A/D sample rate
  • Fixed X-Y time range control
  • Much better use of space when XY plot is displayed
  • Ave XY does not appear to work yet.
  • Multiple plots/page does not look good yet when using XY plot.
  • Makdat documentation improved
  • Allow color printing of plots (set print color / nocolor)
  • Fixed errorlevel bug (fileerror) during batch files
  • PCOFF batch command no longer looks for a subunit
  • HIDE PLOT and SHOW PLOT are now synonyms for SET PLOT NOSHOW/SHOW
  • Note: default editor path will not work with Windows NT or XP. Set a new one.

Version 0.40 (Beta) Released: 6 July 2001

  • COUNT and DTIME were switched in epoch stats output. That has been fixed.
  • Makedat list file now tolerates a UNIT command without a CHAN number COPY LAYOUT command now implemented
  • New command: axis on/off or show/noshow turns on or off X axis on the plot
  • Text layout menu cleaned up
  • Load command now disables autoupdate

Version 0.39 (Beta) 23 April 2001

  • Fixed "edit event code file" and "edit spike remap file" buttons in the Makdat Menu.
  • Fixed typo in parse_command.m.
  • Fixed read analog command. (Still only reads X channel at the moment).
  • Fixed failure of set epoch keep to use epoch.fmt file.
  • Updated documentation for epoch.fmt. 

Version 0.38 (Beta) Released: 17 April 2001

  • Fixed errors in ascii dump format files
  • Updated dump format documentation

Version 0.37 (Beta) Released: 12 January 2001

  • Introduced plx2ctx converts
  • Plexon files to Cortex file format
  • Fixed a number of problems with menus

Version 0.36 (Beta) Released: 11 October 2000

  • Fixed crash when exactly one trial is found.
  • Print command and menu now support different paper sizes
  • "Histogram scale auto" is now equivalent to "scale auto"
  • Text string Y position now measured from top of page.
  • Improved documentation for layout commands.
  • Fixed "help errorlevel".

Version 0.35 (Beta) Released: 5 October 2000

  • Koflay_default.dat file no longer used
  • Fixed bug that caused Matlab errors if mark value was too large
  • More sane startup values
  • Fixed a bunch of broken links in the documentation
  • Removed some unused files from the installation tree
  • Cleaned up links in html help files

Version 0.34 (Beta) Released: 2 October 2000

  • Documentation updates
  • Makdat and Env Editor windows can now be deleted by user without bad consequences.
  • Text strings added to layout and commands
  • Automatically repairs broken Koflay.dat file

Version 0.33 (Beta) Released: 26 September 2000

  • Added Sort Peak, Sort Pit, Sort Min, Sort Max
  • Bug fix for sorting non-contiguous trial lists

Version 0.32 (Beta) Released: 15 September 2000

  • Fixed Set segstats keep/show bug associated with absolute units
  • Added Set mwu keep/show command
  • Improved documentation on the Set <process> keep/show commands
  • Changed the format of the date and time in keep/show outputs
  • Fixed bug in Set sort that ignored the Trials list

Version 0.31 (Beta) Released: 7 September 2000

  • Fixed serious bug in Makdat associated with the TRIM command
  • Fixed bug that caused plotting to crash if there was a warning message.
  • Fixed the response to an illegal SPAN command
  • Added Span All documentation

Version 0.30 (Beta) Released: 17 August 2000

  • Fixed two bugs in Makdat introduced by changes to fid structures
  • New: Makdat menu
  • New: Environment menu
  • New: Edit command
  • Added environmental variable: editor
  • Added environmental variable: eogsamplerate
  • Expanded documentation on scripting
  • Expanded documentation on Append, Close, Open, rWite
  • Synchronized Units/pcoff-absolute GUI with environment.displayunits

Version 0.27 (Beta) Released: 14 August 2000

  • Implemented Open, Append, and Write commands
  • The Close command now takes parameters
  • Internal changes to fid and fn structures
  • Any line beginning with ";" is now a comment line
  • Example html generation with metafiles
  • Fixed plot file numbering bug
  • Added Print and Plot to help files

Version 0.26 (Beta) Released: 9 August 2000

  • Fixed a Makdat bug that choked when a data file name had both upper and lower case characters.
  • Save command was not saving the SEGMENT show/noshow property properly.
  • Plot command has been rewritten to support different graphic file types
  • Set plot has been modified
  • New environmental variable GRAPHICSFORMAT has been added
  • Some unused commands were removed Documentation was improved in several places, especially the
  • Set and Plot commands

Version 0.25 (Beta) Released: 3 August 2000

  • Makdat list file CHANNEL option now accepts a list of channels
  • A bug in the sequence scanning operation was fixed
  • A bug in recognizing file paths was fixed
  • BELL command is more flexible

Version 0.24 (Beta) Released: 13 July 2000

  • SHOW SPIKECOUNTS now handles larger files
  • More error trapping for bad Mark and Sourcetrials values

Version 0.23 (Beta) Released: 11 July 2000

  • Show spikecounts command fixed
  • Environmental variable MAKDUMP added
  • Makdat documentation improved
  • Setenv DISPLAYUNITS fixed