MatOFF Commands (In alphabetical order)
This page includes a list of commands for MatOff.
Ana2 command controls the channel selection and display features of the second analog channel. (The second analog channel is plotted as Y in X-Y plots.) Choosing an analog channel of zero, or setting the analog channel off, disables all processing of the second analog channel. The display feature options are for the trial-by trial display of the second analog data.
|ana2 show||enable display of 2nd analog traces on plots|
|ana2 noshow||disable display of 2nd analog traces on plot|
|ana2 off||set channel number to 0, this disables the analog channel|
|ana2 line <type>||line type for analog traces|
|ana2 ypos <y>||vertical position the first trace (see separation, Layout Parameters for MatOFF )|
|ana2 separation <value>||separation between traces on the plot, a negative value reverses the order of display|
|ana2 size <value>||vertical size (gain) of each trace|
|ana2 <n>||select input channel for 2nd analog, a value of 0 disables the 2nd analog|
ana2 size 30
Analog command controls the primary analog channel. The primary channel is the channel used as X for X-Y displays. The options are:
|analog show||turn trace on|
|analog noshow||turn trace on|
|analog off||set channel number to 0, this disables the analog channel|
|analog line <type>||line type for analog traces|
|analog <y>||y position of 1st analog trace in percent|
|analog separation <value>||separation between traces on the plot, a negative value reverses the order of display|
|analog size <value>||vertical size (gain) of each trace|
|analog <n>||select input channel for 1st analog trace, a value of 0 disables the 1st analog|
Creating, Printing and Saving Plots | Ana2 [ANA2] | AvAnalog [AVAN] | AvFirstDx [AVF] | AvSmooth (not implemented) | FirstDx | Layout Parameters for MatOFF | Set [SET] | Smooth (not implemented) | Trials [TRI] | XY [XY]
Append opens an existing file for writing with the Write [WRI] command. Data written to the file is added to the file after the existing data. See the section on Protocol scripting files( MatOFF Scripting Language ) for more details.
AutoUpdate forces MatOFF to update the current plot each time a parameter is changed. It does not matter if the parameter is changed by a typed command or via the GUI. Commands that would not change the graph do not cause the graph to update. AutoUpdate stays in effect until the ManualUpdate command is given.
|Plot will update immediately after this command|
AvAnalog creates and controls the display of a single trace that is an equally-weighted average of all the first analog channel data. Only the trials currently selected for display are included in the average. The options are:
|avanalog show||turn trace on|
|avanalog noshow||turn trace off|
|avanalog line <type>||line type for average analog trace|
|avanalog ypos <y>||line type for analog traces|
|avanalog size <value>||vertical size (gain) of average analog trace|
Av2Analog creates and controls the display of a single trace that is an equally-weighted average of all the first analog channel data. Only the trials currently selected for display are included in the average. The options are:
|av2analog show||turn trace on|
|av2analog noshow||turn trace off|
|av2analog line <type>||line type for average analog trace|
|av2analog ypos <y>||line type for analog traces|
|av2analog size <value>||vertical size (gain) of average analog trace|
|avfirstdx show||turn trace on|
|avfirstdx noshow||turn trace off|
|avfirstdx line <type>||line type for averaged derivative of first analog channel|
|avfirstdx ypos <y>||y position for averaged derivative of first analog|
|avfirstdx size <value>||vertical size (gain) for averaged derivative of first analog|
AvSmooth (not implemented)
Avsmooth command controls the calculation and display of a single trace that is an average of the smoothed analog trials for the first analog channel. Only the trials that meet all display criteria are included in the average. The options are:
|avsmooth show||turn trace on|
|avsmooth noshow||turn trace off|
|avsmooth line <type>||line type for average of smoothed first analog traces|
|avsmooth ypos <y>||y position for average of smoothed first analog traces|
|avsmooth size <value>||vertical size (gain) for average of smoothed first analog traces|
The Axis command controls the X axis of the plot. It has several main parameters: xatzero, units, multiplot, subplot. Xatzero controls the zero of the x axis. Normally, zero time is aligned on the centering code. When xatzero is turned on, zero time is aligned on the left edge of the plot. All times become positive. Multiplot allows up to 72 graphs on one plot. Use the subplot parameter to choose which position the next graph will be placed.
|axis on||show the x axis on the plot|
|axis off||do not show the x axis on the plot (see 'hide x axis' in the Layout Menu)|
|axis show||show the x axis on the plot (same as axis on)|
|axis noshow||show the x axis on the plot (same as axis off)|
|axis xatzero on||rescale x axis with zero on the left side of plot window|
|axis xatzero off||normal scaling, with zero aligned on the centering code|
|axis units pcoff||no longer supported, all units are absolute|
|axis units absolute||no longer supported, all units are absolute|
|axis multiplot <graphs per page>||set the number of graphs on one plot (plots per page)|
subplot position numbering scheme:
3 or 4 plots/page
5, 6, 7, or 8 plots/page
9, 10, 11 or 12 plots/page
13 to 24 plots/page
25 to 48 plots/page
49 to 78 plots/page
axis xatzero on
The Batch command simulates the DOS batch command for processing many different data files. It recognizes a few special commands and sends all unrecognized commands to the DOS interpreter.Batch supports DOS "replaceable parameters" (e.g., %1, %2, etc.). It can also issue a Call to another batch file, but cannot be nested beyond the first Call command. See the Protocol scripting files ( MatOFF Scripting Language ) section for more details.
Commands processed by Batch:
|Pcoff||Load a protocol file, load a data file, and set up a series of replacement parameters|
|Set||Execute a Setenv MatOFF command using the traditional DOS SET command format|
|Call||Simulate a DOS Call command, which calls another batch file|
The file "monday.bat" contains:
pcoff daily_recoding.pro day25 unit3 dummy [23-24] d25
Bell sends a beep sound to the operator. It is most useful in a protocol scripting files( MatOFF Scripting Language ).
|bell||beep using the current parameters|
|bell <frequency> <duration>||beep using new parameters. Both parameters must be specified. <frequency> is in hertz, <duration> is in seconds|
The width of the histogram bins are set by the BinWidth command. The BinWidth value is either the number of pixels per bin or the number of milliseconds per bin, as set by the Axis [AX] command.
axis units absolute
Display 6 seconds of histogram data with 30 ms bins.
The Break is strictly a protocol file command. It pauses protocol file execution and waits for the operator to enter commands. The operator can issue any MatOFF commands. Then, the protocol file can be continued. The Continue command is used to return to the pending protocol file.
One of the primary functions of MatOFF is to search through the data and find trials that are related to each another based on the search criteria. The selected trials must be aligned in time on some common event. The Center command identifies the event for alignment. Actually, it does not identify an event, per se. It identifies which bracketed group of events in the search sequence to use for alignment. Alternatively, the value can identify a history class that contains the absolute time (in milliseconds) in each trial to use as the alignment point for that trial.
The center value indicates a event code group when the value is less than or equal to the number of groups in the sequence:
The above sequence has 4 groups of event codes. The command "center 3" indicates that the third sequence element ([28-30]) will be used for centering. All trials will be aligned on whichever code (28, 29, or 30) was found when a trial matched the search criteria. In this case 28 was a "go left", 29 was a "go right", and 30 was a "go down". All trials will be centered on the "go" signal, regardless of the direction of the "go" signal. The operator must be careful not to confuse event codes with the ordinal number used in the Center specification. Thus, "center 3" does not mean to center on code "3"; it means to center on the third group of codes.
If the center value is above 99 (and if there are fewer than 99 groups), then the center value indicates a history class. The class value for each trial will be used as the centering time (in milliseconds). Centering on a class is one of the many advanced features of MatOFF History Scripts .
history file centering_script.m
The above example uses history class 200 for the centering values. The history script "centering_script.m" sets the centering time for each trial and saves that value (in milliseconds from the start of the trial) in class 200. The plot will reflect the new centering times.
CenterLine layout command controls the display of a vertical line centered at the centering code.
|centerline show||turn center line on|
|centerline noshow||turn center line off|
|centerline line <type>||set line type|
|centerline ypos <y>||y position of top of center line in percent (0 to 100%)|
|centerline size <vs>||vertical size (0 to 100%)|
If an abbreviated form of the CenterLine command (e.g., center) is accidentally used without including any parameters, MatOFF will interpret the command as a Center command.
The Clean command closes all open MatOFF files (protocol, metafiles, data files, etc.). It is used primarily for debugging after a MatOFF error leads to a MATLAB prompt.
Close will close a currently open ASCII text file or data file.
|close||close ASCII file if one is open, otherwise close the data file if one is open|
|close ascii||close ASCII file if one is open, otherwise do nothing|
|close datafile||close data file if one is open, otherwise do nothing|
|close append||close all open Set [SET] <process> APPEND files|
Close with no parameter will look for an open ASCII text file and close it. If there is no ASCII file open, it will close the currently open data file. Close ascii will close a file that was opened with either Open or Append commands. Close datafile will only try to close a currently open data file. Close append will close all open Set [SET] <process> APPEND files.
set epoch keep
Cmd leaves the MATLAB command line and returns control to MatOFF. Return to the MATLAB command prompt by entering the Matlab [MAT] command.
copy koflay.dat oldlayout.dat
In this example we use MATLAB to make a backup of the koflay.dat layout file, then return to MatOFF.
When a protocol file issues a Break command, control of MatOFF goes to the user's keyboard. the user may resume the protocol file at any time with the Continue command. If a new protocol file is loaded, the Continue command becomes invalid until a new Break command occurs. If Fileerror [FILERR] has been issued with the break option, then any error caused by a File [FI] command will mimic a Break command. The Continue command can then be used to resume processing.
Continue processing the protocol file.
A layout is a detailed description of the elements to place on a plot. Ten layouts reside in MatOFF at any one time; only one layout is in use at any given time. The parameters of one layout can be copied to another layout using the Copy command. The origin and destination are simply the layout numbers (1..10). Text is handled separately. To copy text the Copy command must include the "text" keyword. Line numbers after the text keyword indicate which lines of text to copy. Omitting the "text lines" parameter will cause all text lines to be copied.
copy 4 5
Copy all parameters from layout 4 to layout 5.
copy 1 2 text
Copy only the text from layout 1 to layout 2.
|spikes||spike times for each trial on plot|
|index||same as Index command, but Dump can output to a printer or file|
|setstats||list the status of all Set command options|
|events||event codes found (for each search sequence group) for every trial found|
|history||trial numbers and class values for each history class|
The Date command prints the current date. In a protocol you can use the variable %10 for the current date.
Directory is similar to the DOS DIR command. It will display the contents of a disk directory. If no path is specified, the current default path is used (not the DEFAULTPATH environmental variable value). If no file extension is given, none is assumed. Ls is a synonym.
Whenever the Show [SHO] , New plot [NEW PLO] , or Old plot [OLD PLO] command is given without parameters, the display list is used to select which layout(s) will be used for graphical display. If the display list has only one number, that layout will be used. If the display list is larger, the same data set will be displayed once for each layout. Note that the Display command does not initiate the display of data, it only sets the layout list for the Show [SHO] command. The list may include ranges (e.g. 1-3), but it must be limited to values between 1 and 10. The display list can also be changed by the Show [SHO] command.
Use layouts 1 and 3 next time the Show [SHO] command is issued without parameters.
Dump will print or save to disk information that has been gathered, organized, or calculated by MatOFF. The general form of the Dump command is:
dump <datatype> [OUTPUT] <filename>
The data types are listed below. "OUTPUT" is a keyword. It indicates that the data should be sent to the printer or a file. OUTPUT is always followed by the filename. The Dump command is a simplified way to get internal values from MatOFF. However, see the Set command, which is the primary method for moving data to other programs. Both are detailed in Exporting Results .
Spike times are listed for the trials that match the sequence, and in the order based on current sort option. The spike times are all in milliseconds relative to the centering code. On the screen, spikes are dumped as one spike time per line. With the [OUTPUT] option, spike times are listed this way:sorted trial number :unsorted trial number :time,time,time
- :15 :1336,1427,1430,1693
- :21 :720,1752,1754,1916,3260,3514,3528,3530,3561,3573,3574,3593,3608,3611,3655,3657,3694,3976,3978,4214,
- :24 :1450,1498,1512,1571
- :23 :776,1732,1734,1781,1793,1857,5074,5471
- :25 :768,785,1777,1785,1813,1838,6104,6106,6213,6215,6572,6573,7179,7199,7201,7248,7249
Dump spikes uses three environmental variables:
|DUMPMODE||Controls the output file write method. Use APPEND or NOAPPEND to determine if any existing file is overwritten.|
|DUMPPATH||Path for Dump command output files|
|DUMPTEXT||This text string will be placed before each line created by the Dump spikes command.|
dump index OUTPUT index.txt
Print the index of the currently opened file to a text file.
Show the current settings of all the Set [SET] command options.
Edit opens a windows text editor. The editor is specified in the EDIT environmental variable.
|edit <file name>||open a windows editor to edit specified file|
The environmental variable EDITOR must be set before using this command
setenv editor c:\windows\notpad.exe
End terminates the execution of a current protocol file. It will also terminate the execution of the current metafile. If the metafile is called by a protocol file, using End in the metafile does not affect the execution of the protocol file.
end <---- terminate the protocol file early (for testing)
The ENDIF command terminates a protocol file if the condition is met. The ENDIF command can only be used in a protocol file. It will be echoed, but have no effect in a metafile or on the command line.
|endif noanalog||Exit the current protocol file if there is no data on the primary analog channel|
|endif nounit||Exit the current protocol file if the last Unit [UNI] command failed|
This is in a protocol file:
ENDIF NOUNIT <---- end the protocol file if no unit was found
analog 3 ENDIF NOANALOG <--- end the protocol file if there is no analog data
ErrorLevel controls the reporting of errors and warnings.
|errorlevel debug||print out debugging information as well as all other messages|
|errorlevel warning||print out warnings, and error messages, this is the default error level|
|errorlevel serious||inhibit warnings and do not echo most commands|
|errorlevel fatal||print a message only if program cannot proceed|
The debug level of error messages provides the most information. The fatal level of error messages prevents all messages except for program failures. The serious level of error messages can be used with batch files to suppress long lists of commands (e.g. layout commands), since errors are often missed when many commands are send to the screen. All of these messages can be sent to a log file. See the Log [LOG]] command. MatOFF History Scripts can make use of the same ErrorLevel control by using the issue_message() support function.
The Makdat [MAKD] command has a separate set of message reporting options.
Turn off warnings.
Exit MatOFF and MATLAB immediately, without confirmation. It is different from the Quit [QUIT] command, which keeps MATLAB running.
When MatOFF exits, it saves the current set of layouts to the file koflay.dat.
File opens a new data file for analysis. If no path is specified, the DATAPATH environmental variable is used. If DATAPATH is not assigned, DEFAULTPATH is used. If the File command is issued with no arguments, MatOFF will print the file name of the currently open file. If the File command is issued with the same name as the currently open file, MatOFF will just issue a warning message. Otherwise, the File command will close the currently open file and attempt to open the new one. To close and open files of the same name, issue the Close [CLO] command first. A file cannot be opened unless it is a MatOFF file. Use The MatOFF Makdat Command to process Cortex files for use with MatOFF. See Importing Data for more information.
Fileerror tells MatOFF what action to take if a File [FI] command fails during the execution of script ( MatOFF Scripting Language ) file. If a File [FI] command is issued from the command line, or with a mouse, an error message is printed on the user's screen. If a File [FI] command is issued in a script, there are three possible actions depending upon the most recent Fileerror command. The Fileerror command options are:
|fileerror||current fileerror state is printed on the user's screen|
|fileerror break||issue a Break command if a file open error occurs|
|fileerror continue||display error message and continue processing if a file open error occurs|
|fileerror exit||continue to next batch file entry if a file open error occurs|
The Fileerror exit form of the command is intended to be used with the Pcoff [PCOFF] command. The Pcoff [PCOFF] command can only used inside a batch file using the Batch command. Fileerror exit causes an abort of the current Pcoff [PCOFF] command, which allows the batch file to continue. If Fileerror break is used and a file error occurs, then the Continue command can be used to resume processing of the protocol file.
If MatOFF cannot find a data file during a Pcoff [PCOFF] command within the indyunits.bat file, MatOFF will move to the next batch command in that file.
FirstDx layout command controls the calculation and display of traces that are first derivatives of the analog data for each trial. The options are:
|firstdx show||turn trace on|
|firstdx noshow||turn trace off|
|firstdx line <type>||line type for trace|
|firstdx ypos <y>||y position of trace in percent (0 to 100%)|
|firstdx separation <sep>||distance between traces in percent. Negative value reverses the order of display|
|firstdx size <vs>||vertical size of each trace, in percent|
FirstDx only operates on the primary analog channel.
Found prints a list of the sequences that matched the search criteria during the most recent scan. Each matching sequence is listed once. The sequence list is preceded by a number that indicates how many trials were found with that exact sequence.
|6||65 98 65 44 87 47 41|
|6||65 99 65 42 87 46 41|
|5||65 98 65 44 87 46 41|
|1||65 98 65 43 87 47 41|
If analog data are included in any analysis, it is essential to tell MatOFF the frequency that the analog data were collected. Any integer value can be entered, but it must match the frequency of the data for the selected analog channel. If two channels have been selected by the Analog [ANAL] command, both channels are assumed to be digitized at the same rate.
|freq <value>||value is an integer in samples/second|
|freq auto||MatOFF will look at the data file and try to calculate an A/D frequency|
|freq auto <list>||MatOFF will look at the data file, calculate an approximate A/D frequency, then select any value from the list that is within 5% of the calculated A/D frequency|
glo auto 1-500
freq auto 250 500 1000
The first example tells MatOFF to use analog channel 1, and to indicate that channel 1 was recorded at a frequency of 250 Hz. The second example tells MatOFF to select an A/D rate of 250, 500, or 1000, based on the calculated A/D rate. Before you can use the auto option, you must have a successful scan. The sequence must include the A/D start and stop event codes (default are 100 and 101). The A/D rate estimate is best when at least 20 trials are found.
If you are using Cortex to collect the data, the A/D storage rate setting in Cortex corresponds to the following sampling frequencies listed below. The table assumes only 2 channels of A/D data are being collected (i.e., EOG but not EPP data).
|A/D storage rate setting||Sample rate (Hz)|
GlobalIgnore identifies event codes that are to be completely ignored during the event search and all subsequent analyses.
|globalignore [list]||Ignore the listed codes. The codes in the list must not be in the sequence.|
|globalignore auto [list]||Automatically prune globalignore list by removing any codes currently in the sequence.|
Instructs MatOFF to act as if the listed event codes do not exist in the data file.
global auto [10-300]
These two commands will automatically create a global ignore list that looks like:
The Hair command enables the mouse to precisely measure time values in a plot window. Left click the mouse to drag a marker within the plot window. Let up on the mouse button to measure the precise time location of the marker. Time is given in PCOFF pixels or in absolute time dependend on the Axis [AX] command setting.
Locate a position on the plot with the mouse.
MatOFF will include six lines of information on the graphics display as a heading. The information includes the file, unit name, search sequence, globalignore list, etc.
|heading show||turn heading on|
|heading noshow||turn heading off|
|heading ypos <y>||y position of bottom left corner in pixels|
|heading size <points>||font size for heading in point size|
The Help command is available for on-line assistance. A list of topics can be obtained by entering "help". The HTML documentation is more complete.
Find out more about the Sequence [SEQ] command.
The Hide Plot command inhibits the screen drawings (plots) when the Show [SHO] command is given. This command is most useful during batch file operation when statistical outputs are of interest, but drawings are not. The reverse command is Show [SHO] (a synonym for Set [SET] plot show).
Histogram layout command controls the display of a cumulative histogram of spike data. The histogram displayed by MatOFF is based on those trials that meet all the search and display criteria. That is, all trials that would be shown if a Raster [RAS] command is issued.Histogram values can be further restricted to specific parts of each trial using the ValidateSpikes [VALID] command. The bin sizing of the histogram is controlled by the BinWidth [BIN] command. The MatOFF Scale command is the same as the Histogram scale command. Normally, the scaling of the histogram is relative to the bin width and the number of trials to provide a normalized pulses-per-second value. If Histogram raw command is used, scaling is calculated from the number of counts in each bin independent of the bin width or number of trials. Histogram reference commands will draw three horizontal reference lines on the histogram. One line will be the average firing rate for all bins that fall completely within Segment A (see > Segment [SEG] command). The other two lines will be above and below this mean based on the reference value. The reference value is the number of standard deviations above and below the mean for these two lines.
|histogram show||turn histogram on|
|histogram noshow||turn histogram off|
|histogram on||same as histogram show|
|histogram off||same as histogram noshow|
|histogram scale show||turn histogram scale on|
|histogram scale noshow||turn histogram scale off|
|histogram scale auto||automatic scaling of histogram|
|ana2 <n>||select input channel for 2nd analog, a value of 0 disables the 2nd analog|
|histogram scale <n>||set range of histogram scale in pulses per second (PPS)|
|histogram line <type>||selects color of bars and fill style for histogram|
|histogram size <size>||vertical size in percent (100 = fill plot window)|
|histogram ypos <position>||vertical position of baseline, in percent (0=bottom, 100=top)|
|histogram rawcounts||scale histogram to raw counts, ignore bin width and number of trials|
|histogram normal||scale histogram in spikes/second|
|histogram reference show||turn on reference lines|
|histogram reference noshow||turn off reference lines|
|histogram reference on||same as histogram reference show|
|histogram reference off||same as histogram reference noshow|
|histogram reference <value>||number of standard deviations above and below the mean for reference lines|
|histogram reference color <value>||color for reference lines (1=black, 2=green, 3=red, 4=blue)|
The history command provides is a powerful method to make decisions about behavioral events. See History Scripting for details.
|history clear||remove all history data from memory, does not affect the file|
|history data <list>||supply a numeric list of values or single string to the history script, list items must be separated with commas|
|history file <filename>||load a history script|
|history off||skip history processing|
|history on||process the user's history script and use the result to keep/reject trials|
|history rewrite <all>||save history to disk, use "all" to update all units with the same behavioral trials as the current unit|
|history rewrite delete||delete history of the current unit|
|history spot firstclass||first class to use for history spots (valid class numbers are 1 to 20,000)|
|history spot lastclass||last class to use for history spots (valid class numbers are 1 to 20,000)|
|history spot noshow||do not display history spot times|
|history spot show||display history spot times|
history file myscript.m
Initialize resets all layout parameters of the currently-selected layout to a standard default set. It is used primarily in protocol files to set the layout to a known state. See Layout Parameters for MatOFF section for more details.
Ten layouts reside in MatOFF at any one time. A plot is drawn based on the currently selected layout. The current layout can be modified using either typed commands or through the layout menus. The Layout command allows the user to select which layout is current. A new set of 10 layouts can be loaded from a file using Layout file form of the command. If the Layout file command opens a new file, all layouts will be initialized to default values. The existing layouts can be saved using Layout save . The current set of layouts is automatically stored as koflay.dat when MatOFF is exited. This file may be copied and loaded with the Layout file command. The currently selected layout can be preserved as a protocol file using the Save [SAV] command.
|layout <n>||choose layout number n to be the current layout|
|layout file <filename>||load a group of 10 layouts from the specified file|
|layout save <filename>||save current group of 10 layouts to the specified file|
layout file indylay.dat
This example opens a layout file, makes layout 5 current, turns on the average analog trace, then displays the current search data using that layout.
Load reads and executes MatOFF commands from a text file. The text file is referred to as a protocol file, and usually has a .pro extension. If the PROTOCOLPATH environmental variable is set, it used to determine the directory of the requested protocol file. Files created with the Save [SAV] command have the format of a protocol file. The protocol file STARTUP.PRO is automatically executed when MatOFF is first started. Protocol files must follow certain rules described in the section on MatOFF Scripting Language .
Opens the protocol file RGB.PRO and executes each MatOFF command in the file.
Log sends error, warning, debugging and other information to a text file. When logging, errors, warnings, and debugging messages do not reach the console, but all other messages do. Log always appends to any existing file. The file is placed in the default path.
|log file <filename>||Open a file for logging. Actual logging depends on the log on command. There are no file naming restrictions.|
|log on||Start logging. A logging file must be open.|
|log off||Stop logging.|
|log close||Close the logging file. If not properly closed, the data will be lost. Logging is turned off if it was on.|
log file output.log
First two lines are a trick to erase an old log file "output.log" if it exists. Next line opens the log file. Log on starts the logging. All error, warning, and debug messages will be appended to output.log and will not be displayed on the user’s screen. Other user screen messages will be sent to both the user screen and log file. Set [process] show output will not go to the log file. Log off is not really necessary here, since log close will also turn off logging. Log close is essential to save the data.
ManualUpdate ends the effects of AutoUpdate [AUT]. AutoUpdate [AUT] makes MatOFF update the current plot each time a parameter is changed. It does not matter if the parameter is changed by a typed command or via the graphical menus. Commands that would not change the current plot do not cause an update.
window 2000 Plot will update immediately after this command
Usually the Show command is used to start or reprocess data after making a change to the search strategy. Show relies on context to determine where in the process sequence to begin. Map overrides the context sensitivity of Show and forces a new data mapping. The Map command is rarely used.
Mark is used in conjunction with the Center [CEN] command to identify two events in each trial that can be used for sorting of trials and for some trial-by-trial statistics. A square marker is placed immediately under each raster at the point in the raster that the marked code occurred. If rasters are not displayed, the marked event can still be used for sorting, e.g. sorting of analog traces.
The above sequence has 4 groups of event codes. The command "mark 4" indicates that the fourth sequence element () will be marked. In the graphics display a solid square below each raster is used to identify the exact moment that the marked code occurred. Note that the Mark specification follows the same rules as the Center [CEN] specification. The operator must be careful not to confuse event codes with the ordinal number used in the Mark specification. Thus, "mark 4" does not mean to mark code "4" in this case.
MenuPosition save saves the current screen arrangement of the main MatOFF menus. The menu arrangement can be recalled using the MenuPosition load version of the command. The user can save many different menu layouts and choose the most convenient arrangement as needed. MenuPosition is also helpful for users who use different screen resolutions at different times.
The menu arrangement is saved to the current default directory. No file suffix is assumed. The main menus are: File Menu, Sequence Menu, Plot & Print Menu, Layout Menu 1, Layout Menu 2, Layout Menu 3, and Text Menu.
>menu save best_for_search.mnu
>menu load best_for_layouts.mnu
mgplx2ctx is a stand-alone, graphical MATLAB program for converting Plexon ".plx" files to Cortex data files. It requires a recent version of MATLAB (R13 or later).
See the Plexon to Cortex file conversion program: mgplx2ctx page for details. See Plexon to Cortex file conversion program: mgplx2ctx if you are using an older version of MATLAB.
The Wilcoxon Mann Whitney Statistic is a powerful nonparametric test. It is useful when the statistical assumptions inherent in t-tests are violated. The null hypothesis tested by this test is that the medians of the two groups are equal. A z-value that is large enough so that the null hypothesis is rejected indicates that the chance of the medians being from a common distribution is sufficiently small. The statistic is obtained by first ranking two sets of data as a combined set and then comparing the sum of the ranks in the two individual sets.
MWFiles compares two sets of pulse data. Pulse (spike) data are saved each time a Show [SHO] command is issued after the Set [SET] command is given. The pulse data are always stored in two files: Ax.MWU and Bx.MWU. A and B represent the two time segments of the currently displayed data, specified with the Segment [SEG] command. The value of x in the file names is from 0 to 9999. These values start at 0 and are incremented once each time a new pair of files are generated. The starting value can be changed with the Set [SET] command. The MWFiles command tests any two MWU files against each other. MWU files are saved to and recalled from the directory assigned to the STATPATH Environmental Variables , if set; otherwise, the DEFAULTPATH environmental variable is used.
The commands Set [SET] MWU Show and Set [SET] MWU NoShow control whether the results of testing the most recent Ax.MWU file with the most recent Bx. MWU file are displayed on the screen each time the Show [SHO] command is executed.
axis units absolute
segment a -200 100
segment b 300 600
set mwu filenumber 0
set mwu keep
mwfiles a0 b0
mwfiles b0 b1
In this example a time window (segment a) is created that covers 200 ms before to 200 ms after the centering code. This period is used as a control period in this experiment. A second time window (segment b) is created to cover 300 ms to 600 ms after the centering code. This period is the test period in this experiment. The rasters are placed in chronological order using Sort [SORT xx] . The first 10 trials are selected with Trials [TRI] 1-10. Show displays these 10 trials and generates files A0.MWU and B0.MWU. A0.MWU is the statistic for segement a, B0.MWU is the statistic for segement b. The second 10 trials of the same recording are selected by using the Trials [TRI] 81-90 command. This second group is viewed and two additional files A1.MWU and B1.MWU are created. A Mann Whitney U-test is performed first between the control and test periods for the first 10 trials. This checks for significant firing rate change between the control period and the test period early in the recording. A Mann Whitney U-test is then performed between the test period for the first 10 trials and the same period for the second 10 trials. This looks for a change in the test period between trials recorded early and trials recorded later in the same file.
Typical output display:
Significant= 0 m= 10 n= 21 z= 1.315
"Significant" will equal 1 if the null hypothesis can be rejected with a probability greater than 0.05 (two-tailed test).
New plot [NEW PLO]
New plot is a synonym of the Show [SHO] command, except it will always make the plot in a new window. Show [SHO] uses the current window. New plot will create multiple plots if the "display list" has more than one value. See the Show [SHO] command for details.
Reprocess if necessary, then draw a plot in a new window.
Nextplot sets the plot number without generating a plot.
Reprocess if necessary, then draw a plot in figure window 14. Create figure 14 if it does not already exist.
Old plot [OLD PLO]
Old plot is a synonym for Show [SHO] , except it can be used to specify which graphics output window to use for display. Old plot with no parameters has the same action as Show [SHO] with no parameters. See the Show [SHO] command for more details. See Overplot [OVER] for drawing twice on the same display.
|Old plot <figure number>||Make plot with explicit selection of the figure window. <figure number> is optional.|
|Old plot next||Add + 1 to current plot number, then make a plot|
axis subplot 1
axis multiplot 1
old plot 11
axis multiplot 2
old plot 12
axis subplot 2
Draw a plot in window 11. Draw the same plot in window 12 side-by-side with another view of the same data (shifted 1.5 seconds).
Open creates and opens a file for writing. The Write [WRI] command moves ASCII data to that file. If a file with the same filename already exists on the disk, the file is overwritten by the Open command. Use Append to add to an existing file. See the section on Protocol scripting files ( MatOFF Scripting Language ) for more details.
Overplot plots on top of an existing plot. Normally, any existing plot is cleared first. Overplot leaves the current drawing on the figure and adds to that drawing. Overplot will only work properly if used on the most-recently created figure. See Show [SHO] for more details on what happens when a new drawing is requested.
This sequence will make a plot using layout 1. A second graph, based on layout 2, is overlaid on the first. The second plot has a different centering code and uses a different layout (layout 2).
The Pcoff command is used with the Batch [BAT] command. The Batch [BAT] command simulates DOS batch file processing. The Pcoff command is used in a batch file to load a data file, a protocol file, a unit, and a group of parameters in one batch file command line.
pcoff <protocol file> <data file> <unit> <pcoff param1> <pcoff param2> ...
|<protocol file>||file name of a file that has a list of MatOFF commands|
|<data file>||name of the data file to process|
|<unit>||name of the unit to process|
|<pcoff param1>||the value placed in the Pcoff command line replaces "$1" in the protocol file|
|<pcoff param2>||the value placed in the Pcoff command line replaces "$2" in the protocol file|
See the section on MatOFF Scripting Language for more details.
The file "monday.bat" contains:
pcoff daily_recoding.pro day25 unit3 [23-24] d25
This command runs the "daily_recording.pro" protocol script file using data from "day25". It loads unit "unit3" and everywhere the parameter $1 occurs in "daily_recording.pro" the character string "[23-24]" is inserted (in this case, in a Sequence [SEQ] command). Also, the character string "d25" is inserted wherever parameter $2 occurs in the protocol file.
Plot stores a figure (plot) to disk. Plot name can be fixed or numeric and automatically incremented.
|plot||save the current graphics screen to disk|
|plot <figure number>||save an arbitrary graphics screen to disk|
The figure number is the MATLAB figure number. It is the same figure number as specified in the Old plot [OLD PLO] command. The Set [SET] command and the GRAPHICSFORMAT Environmental Variables control the destination file and file format of the Plot [PLO] command.
Automatic generation of plot files
Naming the plot file
The Set [SET] plot name <filename> command sets the name of all subsequent plot files. Plot file creation is destructive. That is, it erases any existing file of the same name.
Automatic naming of the plot file
If the plot file has not been named, then the plot file names are numeric and generated automatically. The first plot file is named 0.png. Subsequent file names are 1.png, 2.png, etc. The ".png" suffix depends on the graphics file type (see below). If the plot file has been named, use the Set [SET] plot name <filename> with a blank filename to enable automatic naming.
Controlling the number used in automatic file naming
The Set [SET] plot filenumbercommand sets the name of all subsequent plot files. Plot file creation is destructive. That is, it erases any existing file of the same name.
Automatic naming of the plot file
If the plot file has not been named, then the plot file names are numeric and generated automatically. The first plot file is named 0.png. Subsequent file names are 1.png, 2.png, etc. The ".png" suffix depends on the graphics file type (see below). If the plot file has been named, use the Set plot name <filename> with a blank filename to enable automatic naming.
Controlling the number used in automatic file naming
The Set plot filenumber <#> command sets the number of the next file saved automatically.
Controlling the graphics file type that is saved to disk
The command Setenv [SETENV] GRAPHICSFORMAT <graphics type> sets the type of graphics file save to disk. The available graphics types are:
|tiff||compressed Tag Image File Format (TIFF)|
|tiffn||uncompressed Tag Image File Format TIFF|
|hpgl||HP Graphics Language (HPGL)|
|jpeg||Joint Photographic Experts Group (JPEG)|
|png||Portable Network Graphics (PNG)|
Creating a web page from a plot
See the secton on Protocol scripting files ( MatOFF Scripting Language ) for an example of how to automatically create a HTML files from plots.
set plot filename best_unit
setenv graphicsformat jpeg
Plx2ctx is a stand-alone, command-line Windows program for converting Plexon ".plx" files to Cortex data files.
See the Plx2ctx page for details. If you are using a recent version of MATLAB (R13 or later), use mgplx2ctx.
plx2ctx -mplx2ctx.map m01.plx m01 (This is done in a DOS Window)
Convert m01.plx Plexon file to one or more Cortex files using the plx2ctx.map mapping scheme.
Print sends a copy of the graphics screen to the current default Windows printer. It can optionally choose a different graphics screen.
|print the current graphics screen|
|print <figure number>||print an arbitrary graphics screen|
|print orientation <orientation>||portrait or landscape|
|print papertype <paper type>||letter, legal, or A4|
print orientation landscape
print papertype a4
Single-unit (spike) data can be collected on up to 25 different pulse channels (numbered 0 through 24). Only one channel of data can be studied at a time. PulseChannel specifies which channel to analyze. If an unused pulse channel is specified and a Show [SHO] command is given, MatOFF will tell the user which channels have data. Also, the Index [IND] command can be used to list the available pulse channels. Note that the Makdat [MAKD] command controls which pulse channels are converted from other file formats. If you expect data from a pulse channel, but no data is there, see if that channel was properly requested in the Makdat [MAKD] "list" file.
pulse 1: Indicates pulse channel 1 will be used for analysis
pulse off: Indicates no pulse data will be studied. This is useful for studying only the behavioral aspects of an experiment.
Q (not implemented)
The Raster layout command controls the display of spike rasters. When active, there is one spike raster for each trial of data. Spike rasters are composed of two horizontal lines of information. The first line has vertical tick marks, one for each spike. The second horizontal line has squares("o") or plus signs ("+") under them. A single square marks when in the trial the "mark" code occurs (see the Mark [MAR] command). Plus signs indicate when in the trial a spot code was encountered (see the Spot [SPO] command). There can be multiple spots in a trial. mark and spot marker sizes are controlled by the "labels" option value. The size of the vertical tick marks for each spike is controlled by the "size" option value. The various Sort [SORT xx] commands control the order in which the rasters are displayed. The Set [SET] sort command can reverse that order.
|raster show||turn trace on|
|raster noshow||turn trace off|
|raster labels <size>||set size of raster markers|
|raster line <type>||line type for vertical tick marks (spikes)|
|raster separation <percent>||distance between traces in percent. Negative value reverses the order of display|
|raster ypos <y>||location of first raster display line, in percent.|
Read displays or saves detailed information about the current unit.
read <options> out=<filename>
read <options> append=<filename>
Any number of options may be included in the command. Only the first 3 characters of an option are necessary. Using 'out=' will create an ASCII file to the device listed under <filename> instead of displaying the results on the user's screen. The 'out=' option will destroy the contents of an existing file with the same file name. Using 'append=' will also write to a file, but will append to an existing file.
|all||synonym for 'events pulses analog'|
|analog||include analog values|
|codes||synonym for 'events'|
|events||include event codes and event code times|
|page||pause at the end of each page|
|pulses||include pulses and pulse times|
|relevant||list event codes without times, and omit those event codes listed in GlobalIgnore [GLO]. This option operates independently and overrides the others|
|spikes||synonym for the 'pulses' option|
|which||make summary listing of all channels and codes found in the unit's data|
read all out=mydump.txt
Creates a file with all event codes, pulses, marks, and analog data.
read relevant out=events.txt
This is the output file from read relevant. The first value is the source trial number for the file (see SourceTrials [SOU] ). The second number is the ordinal number of the trial in this unit. The remaining numbers in each line are the event codes (in order) for that trial. Any code included in the GlobalIgnore [GLO] list will not be included in the output file.
RIP (not implemented)
RIP layout command controls the display of a cumulative reciprocal interval plot of spike data.
|rip show||turn rip on|
|rip noshow||turn rip off|
|rip fill||connect rip points|
|rip nofill||do not connect rip points|
|rip labels <label>||scale labeling|
|rip ypos <position>||y position of lower left corner in percent|
|rip size <size>||vertical size in pixels for rip|
The Save command creates a protocol file. The file it creates is a snapshot of all the current settings. Execution of the saved file using the Load [LOA] command will return MatOFF to the same state it was in when the Save command was issued. The graphical layout settings can be saved independently of the other settings depending upon with form of the Save command is used. Save uses the default extension of .PRO. If the PROTOCOLPATH environmental variable is set, Save uses that path to determine the target directory.
|save <filename>||save everything but the graphical layout information|
|save <filename> layout||save everything|
|save <filename> only||save only the layout information|
save rgb layout
Saves all the current settings, including layout information, to the file RGB.PRO.
Whenever a histogram is specified in the current layout, the current value of Scale is used to set its vertical range in impulses per second (ips). Scale Auto instructs MatOFF to use the maximum histogram bin value to set the scale range. The Scale command is the same as the Histogram [HIS] scale command.
|scale show||turn histogram scale on|
|scale noshow||turn histogram scale off|
|scale auto||automatic scaling of histogram|
|scale <n>||set range of histogram scale in pulses per second (PPS)|
Instruct MatOFF to plot histogram data for current data. Histogram will have 120 bins of 50 ms each (= 6 seconds of data), and have a full-scale firing rate of 50 pps
The Show, Old plot [OLD PLO] and New plot [NEW PLO] commands are normally used to start or reprocess data after making a change to the search strategy. These commands automatically decide which processing steps are required before a plot can be drawn. The Scan command overrides the automatic decision-making and forces a new scan for trials that match the search criteria. The Scan command is used to trigger the processing of History scripting.
SecondDx layout command controls the calculation and display of a traces that are second derivatives of the analog data for each trial.
|seconddx show||turn trace on|
|seconddx noshow||turn trace off|
|seconddx labels <size>||choose label size|
seconddx line <type> line type for trace
seconddx xpos x x position of trace in pixels
seconddx ypos y y position of trace in pixels
seconddx separation x number of pixels between traces. A negative value reverses the order of display
seconddx size x vertical size in pixels for trace
SecondDx only operates on the primary analog channel (see AnalogChannel command).
There are several statistical calculations which can be made by MatOFF. Two of them, segment statistics and Mann Whitney U are based upon comparison of spike density between the two raster segments, "A" and "B". These segments are time periods marked-off on the graphics display. Their boundaries are specified in pixels using the Segment command. The time scale on the graphics display can be mapped onto 600 screen pixels for backwords compatibility with the old PCOFF program. Otherwise, values are specified in absolute time (milliseconds) across the X axis. The units are selected by the Axis [AX] command. Two different segments can be defined simultaneously to make intra-trial calculations easier. Once segments are set the user can extract information about those segments using the Dump segments command, or the Set [SET] segmentstats command.
|segment show||display segments on the graph|
|segment noshow||do not display segments on graph|
|segment a1 <value>||set the start of the time range for segment a. <value> can be "m" for mouse selection|
|segment a2 <value>
||set the end of the time range for segment a. <value> can be "m" for mouse selection|
|segment b1 <value>||set the start of the range for segment b. <value> can be "m" for mouse selection|
|segment b2 <value>||set the end of the time range for segment b. <value> can be "m" for mouse selection|
|segment a <value> <value>||set the whole time range for segment a|
|segment b <value> <value>||set the whole time range for segment b|
The format <value> - <value>, (e.g., 300-400) is allowed if Axis [AX] units< is set to PCOFF. This form of the command is for backwards compatibility, but cannot work with absolute units. With absolute units the dash would be interpreted as a minus sign. The mouse can be used to select the segment value in the a1, a2, b1, and b2 versions of the command.
seg a 200 300
seg b 300 320
set segstats show
Using the old PCOFF mapping, define segment A as the 500 ms period before the centering code, and segment B as the first 100 ms after the centering code. After the Show command, spike counts for each trial, and descriptive statistics for these two window periods, will be listed on the console.
Sequence is one of the most important commands in MatOFF. It sets the search strategy for identifying trials (epochs) of interest. The sequence is composed of a series of event codes based on the event codes inserted into the data stream by the data collection or data conversion program. Event codes are grouped in brackets. Within a bracket, codes are logically ORed. Between brackets, codes are logically ANDed in temporal sequence. Thus the sequence: [23,24] means to search for a 23 or a 24, followed by a 25, then a 26. Two difference code sequences can satisfy this requirement: 23 25 26 and 24 25 26. Note that the sequence 23 15 25 26 is not acceptable. The code 15 interrupts the specified sequence and thus the trial would be rejected. Likewise, the sequence 23 24 25 26 would also be rejected, because code 24 interrupts the sequence. It is possible to "ignore" an intervening code. The way to ignore a code is to "globally" ignore it using the GlobalIgnore [GLO] command.
MatOFF will look through the data for each sequence of codes which satisfy this specification. For example, if the codes 1 3 17 9 were encountered in the data stream in that order, uninterrupted by other codes, data for the trial will be accepted for analysis and display.
To ease typing, MatOFF tries to be as "open-minded" as possible when it comes to entering the Sequence command. The above sequence can be entered with:
seq 1] 2,3] 15-19] 9]
General operations of the Set command
The Set command is a powerful method for saving data after each search. This is the primary method MatOFF uses for exporting data to other programs. Set is also used to enable or disable some built-in features of MatOFF. When used for saving data, the Set command prints or saves onto the disk each time a Show, Old plot [OLD PLO], or New plot [NEW PLO] command is issued. Thus, the Set command automatically stores results each time a plot is created. Set is a rather complex command with multiple options and special files to define the ASCII format of any files that are saved. See Exporting Results for important details on using the Set command. Dump Sets can be used to display the status of many set "processes".
The Set commands for moving data to the screen have the general form:
|set <process> show||Enable automatic data dump to screen|
|set <process> noshow||Disable automatic data dump to screen|
|set <process> name <filename>||Set the disk file name for the process, disable the automatic file numbering system|
|set <process> keep||Enable automatic data dump to disk|
|set <process> nokeep||Disable automatic data dump to disk|
|set <process> append||Each new data dump is appended to the current data file|
|set <process> noappend||Each new data dump erases any existing data in the file|
|epochstats||Statistics on the number of pulses between the center and mark event codes|
|segmentstats||Statistics on the number of pulses between two segment markers|
|sort||Statistics on the values used to in the current sort. Values depend upon the Sort [SORT xx] option|
|mwu||Spike counts. Can be used with the MWFiles command to do non-parametric statistical tests|
|histogram||Bin data used for the current spike histogram (not yet implemented)|
|events||The list of event codes that matched the sequence for each trial|
|set sort reverse||Reverse the order of raster and analog traces on the plot|
|set sort noreverse||Use the normal order of raster and analog traces|
|set plot noshow
set plot show
|Set plot noshow will inhibit plotting the data. It is used to generate statistical files without the additional delay of making plots on the screen. Set plot show returns MatOFF to normal operation.|
|set segmentstats pcoff
set segmentstats absolute
|Set segmentstats pcoff will make MatOFF scale nearly all x-axis values to the range of 0 to 599. This range provide backwards compatibility with the legacy PCOFF system. Set segementstats absolute returns MatOFF to normal operations, where x-axis units are in milliseconds.|
|set print color||Enable color printing|
|set print nocolor||Print only in black and white|
Output formats of ASCII files
The ASCII files generated by the Set command have a format that can be controlled using special format files. See Exporting Results for detailed information on how to control the output file formats. See also the DUMPLABEL environmental variable.
Automatic file numbering and the Append/Overwrite modes
When using the Set <option> Keep form of the instruction, MatOFF generates files with numeric names. For example:
set histogram keep
This statement will generate files named 0.HST, 1.HST, etc., incrementing each time a new Show [SHO] command is issued. The numbering can be controlled by setting the current number with:
set histogram filenumber <n>
<n> is the starting number of the sequential file names.
Alternatively, the numbering scheme can be disabled with Set <process> Name <filename>. When this form of the Set command is used, every Show [SHO] command write data to the specified file. The file name is no longer incremented. Any existing data in the file is overwritten with each new Show [SHO] , unless the Set <process> Append command is used or the user renames the output file for the process just before each Show [SHO] command. To turn off the append mode and return to the default overwrite mode, use the Set <process> NoAppend command. After appending to a file, use the Close [CLO] append command to close all files that have been opened with the Set <process> Append command. To return to the default (filenumber) naming use the Set <process> Name command with no file name. After writing to a file with Set <process> Append, use Close [CLO] append to close it. Files written with Set <process> NoAppend are closed automatically. Here are some examples.
Example 1, change the name of the output file before each Show [SHO] command.
set histogram keep
set histogram name rb101_left
set histogram name rb101_right
Example 2, save all results to one file
set histogram keep
set histogram append
set histogram name rb101_all
Checking the status of all the Set processes
To check status of the set processes use the Dump Set command.
Specific Set Processes
Set epochstats lists trial-by-trial information for the data that fall between the center code and the mark code. The information listed includes: unsorted trial number, number of spikes between the center and mark codes, elapse time between center and mark codes, and number if impulses per second (spikes / time) for that same period. Only the trials in the trial list (from the Trials command) are included. The output is in the same order as the plot. That is, the current sort function is applied. The unsorted trial numbers are the trial numbers before the sort function is applied. If a disk file is created using the Keep option, file format is controlled by the EPOCH.FMT file. The "dump label" is controlled by an Environmental variable. See Exporting Results for more information on formatting the output. The default file extension for disk files is .EPK.
example epochstats output:
>set epoch show
TRIAL DELTA T COUNT IPS 1 0.721 0 0.0 2 0.721 0 0.0 6 0.721 2 2.8 8 0.721 1 1.4 20 0.721 0 0.0 21 0.721 0 0.0 TRIALS AVE SUM AVE ------------------------------------- 6 4.326 3 0.7
Set events lists the specific sequence of events for each trial that matched the sequence. A file created with the by Set events keep can be used to evaluate behavioral measures.
In this example, the event list can be used to see which stimuli (events 80-89) evoke event 41 and which stimuli evoke event 42.
example events output:
set events show
|1||81 15 16 42|
|2||81 15 16 41|
|3||81 15 16 41|
|4||81 15 16 41|
|5||81 15 16 42|
Set segmentstats lists trial-by-trial information for the data that fall within segment A and within segment B. See the Segment command for instructions on how to select segements. The information listed includes the unsorted trial number and number if impulses per second (spikes / time) for each segment. For each segment the "Trailer" includes: number of samples (N), sum of all the samples, mean of the samples, sum of squares (SSq) for the samples, and standard deviation (SD). Only the trials in the trial list (from the Trials command) are included. The output is in the same order as the plot. That is, the current sort function is applied. The unsorted trial numbers are the trial numbers before the sort function is applied. If a disk file is created using the Keep option, file format is controlled by the SEGSTAT.FMT file. See Exporting Results for more information on formatting the output. The default file extension for disk files is .SEG.
example segstats output:
>set seg show
Set sortlists trial-by-trial information for the data that were the criteria used for sorting. The information depends on the type of sort selected with the Sort [SORT xx] command. The sorted trial number and unsorted trial number are listed, along with a value that was used to determine the sort order (sort criterion):
|Type of sort||Data listed by Set sort|
|Sort Center||centering code|
|Sort delta (not implemented)||difference between analog values at the two test points|
|Sort epoch||number of spikes between center and mark codes|
|Sort integral (not implemented)||area under the analog trace in the selected time interval|
|Sort maximum||maximum value of analog data between two time values|
|Sort minimum||minimum value of analog data between two time values|
|Sort off||unsorted trial number|
|Sort peak||time to maximum value of analog data between two time values|
|Sort pit||time to minimum value of analog data between two time values|
|Sort pulse||number of spikes between two time values|
|Sort time||time between center and mark codes|
|Sort zero (not implemented)||time to first zero value of analog data between two time values|
Only the trials in the trial list (from the Trials [TRI] command) are included. The output is in the same order as the plot. That is, the current sort function is applied. The unsorted trial numbers are the trial numbers before the sort function is applied. If a disk file is created using the Keep option, file format is controlled by the SORT.FMT file. See Exporting Results for more information on formatting the output. The default file extension for disk files is .SRT.
ana2 size 30
MatOFF has environmental variables that can be set with either the DOS SET command or the MatOFF Setenv command. Each environmental variable controls a different aspect of MatOFF behavior.
|datapath||'.'||default location of data files if no path given|
|defaultpath||'.'||default location of any files if no variable or other path defined|
|displayunits||'pcoff||default for units setting x axis units. See Axis [AX] command|
|dumplabel||"||text inserted in the header of Set [SET] <process> keep/show commands|
|dumpmode||'NOAPPEND'||set to APPEND for appending spike times in the Dump spikes command|
|dumppath||'.'||default location to place files created with Dump command|
|dumptext||"||text inserted before each line of data in Dump spikes command|
|editor||'c:\windows\notepad.exe||default editor to open when editing text files|
|formatpath||'default.evc'||file that describes each event code. used by Makdat when listing events|
|graphicsformat||'.'||default location to find .fmt format files|
|layoutpath||'png'||graphics file format used with Plot [PLO] command or Set [SET] plot keep. See Plot [PLO] command|
|makdat||''||default option list for Makdat [MAKD] command|
|makdump||''||If a file is defined here, all Makdat [MAKD] command debugging information will be dumped to that file.|
|metachar1||'$'||prefix for protocol file replacement parameters with Pcoff [PCOFF] command|
|metachar2||'%'||prefix for protocol file replacment parameters in a metafile. See Protocol scripting files MatOFF Scripting Language .|
|metapath||'.'||default location to find metafiles|
|plotpath||'.'||default path for Plot [PLO] command|
|protocolpath||'.'||default location to find protocol files. See Protocol scripting files ( MatOFF Scripting Language ) and the Load [LOA] command.|
|remapfile||'default.rmp'||default spike mapping file for Makdat [MAKD] command|
|statpath||'.'||default location to put statistical output files|
|maxinputtrials||5000||Makdat [MAKD] will quit after this number of trials in each file. This command is used only for debugging.|
|maxtrialsfound||250||Makdat [MAKD] will stop looking for a sequence match after this number of trials.|
setenv datapath c:\data\
All data on the graphics display are aligned on the centering code. With a Shift> value of 0, the centering code is in the center of the time scale. The Shift command allows the user to reposition the location of the centering code with respect to the time scale on the display. The rasters, analog data, histogram, and RIP move with the centering code, which effectively "slides" all the data forward or backwards in time.
Shift values are in milliseconds. A positive shift value will move the centering point to the left. Negative shift values move the centering code to the right.
shift <shift value (milliseconds)>
Center on the last code in the sequence (). Look at the trials starting from 500 milliseconds before the last code, and ending 1 second after the last code.
Show creates a graphics display. It is context sensitive in that it will do whatever processing is necessary to create a display based on what parametric changes have been made since the last Show command. For example, if the search sequence was modified since the last Show command, MatOFF will search the data again for matching sequences, then do all necessary processing to plot the current data. Show is also used to display the status of certain MatOFF parameters. Many of the same parameters can be displayed using the associated command with no parameters. For example the Unitname command (with no parameters) is the same as the Show unitname command.
|show||Start processing and generate plots and data files|
|show binwidth||Display histogram bin width|
|show center||Display center group number|
|show filename||Display name of current file|
|show frequency||Display A/D sampling frequency setting|
|show globalignore||Display globalingore list|
|show mark||Display mark group number|
|show plot||Enable display of plots (same as Plot show)|
|show pulsechannel||Display spike channel number|
|show segment||Display segment ranges|
|show sequence||Display sequence list|
|show source||Display source trial list|
|show span||Display span range|
|show spikecounts||Display each pulse channel and the number of spikes it has|
|show trials||Display list of display trials|
|show unitname||Display name of current unit|
|show window||Display size of raster display window|
The Show command with no parameters is the MatOFF "go" command. It tells MatOFF to build a plot from the currently open file using all the parameters that have been specified. Normally, Show is used to generate a single plot. If the user is making multiple plots on a page (see the multiplot option of the Axis command) one Show command is used for each plot on the page.
It is possible to generate a whole group of plots with one Show command. MatOFF is able to store up to 10 simultaneous "layouts". Each layout is a description of how to arrange a plot on the page. For example, one layout could be a set of rasters with matching analog data, and another layout could be rasters with a histogram. The Layout command selects which layout is currently selected for editing. But, regardless of which layout is currently selected, the Display command controls which layout to use for plotting the data. The Display command can specify a list of layouts (layout list), and Show will create one plot for each layout. This way, you can get several views of the same data with one Show command. With the development of powerful scripting (see MatOFF Scripting Language) the use of layout lists is less common.
In addition to creating a plot, the Show command tells MatOFF to generate any statistical and other numerical data that have been specified by the Set <process>commands.
Show Plot is a special variant of the Show command. It is a synonym for Set plot show. Set plot noshow inhibits screen plots and is used for batch files that save results to disk and are only slowed down by the screen display. Set plot show returns MatOFF to normal operation.
Each plot is a numbered MATLAB window. Numbering begins at 11. (The first 10 windows are reserved for menus.) Show always uses the current window. If a display list is used, Show will increment by one for each new plot in the display list. Show can be used to put multiple plots on the current page as described above. The command New plot is a synonym for Show, except it will find an unused plot number and create a new windows before plotting. The command Erase will erase the current plot window. If you use only one plot window for all plots, use Erase to clear that window just before making a new plot. When writing scripts, you sometimes want very explicit control of which plot number is being used. The Old plot command is another synonym for Show, except that it specifies explicitly which plot window to use. Despite the name "Old," it can be used to create a new plot by specifying a currently unused plot window number.
Reprocess if necessary, then shows current data using layouts 1, 2, and 3. Also, makes the current display list[1,2,3].
Smo2 (not implemented)
Smo2 layout command controls the display of smo2ed second analog for the first analog trace.
|smo2 show||turn trace on|
|smo2 noshow||turn trace off|
|smo2 line <type>||line type for smooth 2nd analog trace|
|smo2 ypos <y>||y position of smoothed 2nd analog trace|
|smo2 separation <sep>||vertical space between traces. A negative value reverses the order of display|
|smo2 size <size>||vertical size of each trace|
Smooth (not implemented)
Smooth layout command controls the display of smoothed analog for the first analog trace.
|smooth show||turn trace on|
|smooth noshow||turn trace off|
|smooth line <type>||line type for smooth trace|
|smooth ypos <y>||y position of smoothed analog trace|
|smooth separation <sep>||vertical space between traces. A negative value reverses the order of display|
|smooth size <size>||vertical size of each trace|
Sort [SORT xx]
The data trials that match a specified sequence can be reordered for display or analysis. Raster and analog displays are ordered by selecting a sorting criteria.
|Sort center||Order the display of trials based on the centering code|
|Sort delta <start> <stop>
|Order the display of trials based on the magnitude of the difference between two values in the analog data|
|Sort epoch||Order the display of trials according to the number of spikes between the center and mark codes|
|Sort history <class>||Order the display of trials according to the values stored in a history class|
|Sort integral <start> <stop>
|Order the display of trials according to the area under the analog trace in a selected time interval|
|Sort maximum <start> <stop>||Order the display of trials according to the maximum value of each analog trace between two interval values|
|Sort minimum <start> <stop>||Order the display of trials according to the minimum value of each analog trace between two interval value|
|Sort off||Force a chronological sorting of trials|
|Sort peak <start> <stop>||Order the display of trials based on the time between a user-defined starting point and the occurrence of the peak value of the analog data|
|Sort pit <start> <stop>||Order the display of trials based on the time between a user-defined starting point and the occurrence of the minimum value of the analog data|
|Sort pulse <start> <stop> or <[no]show>||Order the display of trials according to the number of spikes between two interval values|
|Sort time||Order the display of raster and analog data trials by the time between the center and mark codes|
|Sort zero <start>
|Order the display of trials based on the time between a user-defined starting point and the occurrence of a zero analog data value|
General features of the Sort options:
1) <start> and <stop> are times along the X axis. Times are expressed either in absolute time on the current graph (in milliseconds) or in the old PCOFF display units. PCOFF display units map the current window value to 600 points. See the Axis [AX] command for details.
2) Sorting based on analog data use only the first analog channel. See the Analog [ANAL] command for details.
3) Sorting affects all spike rasters and all analog trial-by-trial analog displays (including XY).
4) The sort order can be reversed two ways. One way is selective for the data type. You can use a negative value of separation between raster or analog traces in the graphics display menu, e.g. Raster [RAS] . The other way affects all sorted traces: using the Set [SET] sort reverse command.Individual descriptions and examples of the Sort options:
Sort center sorts the trials based on the centering code. This can be very useful for comparing unit responses to different experimental conditions. The lower number codes are plotted first. Suppose the experiment includes 3 different GO signals, corresponding to movements to 3 different targets. Each GO signal is coded as a different event code, in this example codes 10, 11, and 12:
Centering is on the third set of codes, which will be code 10, 11, or 12 depending on the trial. Sort Center will cause all the trials associated with one target (for code 10) to be displayed together, all the trials for the second target (code 11) to be displayed together next, and all the trials for the third target (code 12) to be displayed last.
Sort Delta measures the analog value between two points in time along the graphics display. The trials are ordered from lowest difference to the highest difference. In this example trials with the smallest analog value difference, between the value at time 0 and the value 1000 ms after the center code, will be displayed first.
sort delta 0 1000
Sort epoch counts the number of spikes (impulses) between the center and mark codes, and orders the trials from fewest to most. In this example trials with the fewest spikes between code "5" and code "10" will be displayed on rasters or analog traces first.
Sort history use the history class values to sort trials. Trials that are not included in the class have the lowest value. In this example, the trials will be sorted based on the values in history class 201.
sort history 201
Sort integral integrates the analog values between two raster segment numbers. The trials are ordered from least area under the curve in the defined interval, to the most. In this example trials with the fewest spikes between time 0 and 500 ms later, will be displayed on rasters and analog traces first.
sort pulse 0 500
Sort maximum uses the highest analog value between two raster segment numbers to determine the order of the trials. The trials are ordered from lowest minimum to the highest minimum.
sort minimum -500 500
Trials with the highest maximum analog value that is between 500ms before and 500ms after the centering code, will be displayed on rasters or analog traces first.Sort minimum is like Sort maximum, but uses the minimum analog value that occurs between two time values.
Sort off is used to turn off the other sorting features. Trials are displayed in chronological order.
Sort peak requires analog data. MatOFF finds the highest analog value between the two time markers, then measures the period from the first marker to the peak value. This period is used to sort the trials from the shortest interval time to the longest.
Sort pit is like Sort peak, except that MatOFF finds the lowest analog value between the two time markers.
Sort pulse counts the number of spikes between two times along the time axis. The trials are ordered from fewest impulses in the defined interval, to the most pulses. In this example trials with the fewest spikes between the centering code and 1 sec after the centering code, will be displayed on raster or analog traces first:
sort pulse 0 1000
A special form of the Sort pulse command places markers on the plot to indicate the sort pulse interval:
sort pulse show shows markers on the plot, Sort pulse must be selected from the sort menu for the markers to appear
sort pulse noshow hides markers from the plot
Sort time uses the time between the center and mark codes as the criteria for sorting. The trials with the smallest amount of time between these codes is plotted first. The order of the plotting can be reversed by selecting a negative value of separation between raster or analog traces in the graphics display menu.
Sort zero requires analog data. MatOFF measures the time from the time given to the first time the analog value reaches zero This time period is used to sort the trials from the shortest period to the longest period. In this example trials with the shortest time period from -100 ms before the centering code to the first zero crossing will be displayed first.
sort pit -100 200
MatOFF searches the current unit for code sequences that match a predefined sequence. The default SourceTrials value is 1-200, which indicates that MatOFF will look chronologically at the the first 200 trials of data to find trials that match the search criteria. The sourcetrials list is a list of values separated by commas, which may include ranges (using the dash "-") notation. The SourceTrials command can be used to skip bad data in a unit or to select different segments of the data without having to use the Trials [TRI] command.
Skip the first 10 trials in the data set.
See if any matching trials occured early in the dataset.
|span <time window>||Set a time limit for the search sequence|
|span all||No time limit for the search sequence|
Code  must occur within 5 seconds of code  in any give trial to accept that trial for further processing.
The user lists a set of event codes with the Spot command. The exact time of these codes will be marked under each raster with a plus ("+") sign. Any number of codes can be spotted on a given raster. Codes listed in the GlobalIgnore command cannot be spotted; only codes appearing in the sequence can be spotted.
spot <code list>
This set of commands will center on codes 28-30, mark on code 33, and spot codes 3 and 4. This example points out an important difference between specification of center and mark codes, and the specification of the spot codes. Center [CEN] and Mark [MAR] use ordinal numbers referring to one of the sequence elements. The Spot command refers to the actual code values.
Each processing step is assigned a taint level. Each processing step cannot procede until lower taint level processes are complete. Thus, the taint level is used internally to determine how early in the processing pipeline the program must start to properly excecute a requested command.
|taint||with no parameters the taint value is printed|
|taint <taint value>||set the taint value. meaningful values for <taint value> are:
10 no file open, 20 need to scan, 30 need to accumulate,
40 need to map, 50 ready to plot
This will print the current taint level.
Each of the ten MatOFF layouts can have up to 9 lines of text associated with the graphical display. These 9 lines are independent of the Heading . The Text command controls the content, size and placement of the text. Note that the origin of a text line for placement begins at the left edge and center of the height of the first character in the line. See Layout Parameters for MatOFF for more information on x and y positioning. With Text frame on, the text is positioned relative to the Axis [AX] . With Text frame off, the text is positioned relative to the entire page.
|text show / noshow||Turn all text on or off|
|text line n||Select a text line to change. n = 1 to 9. This command must be given before any of the command below.|
|text on / off||Turn the current text line on or off.|
|text angle x||Change the current text angle to: 0, 45, 90, -45, or -90 degrees. Positive is clockwise.|
|text position x,y||Set the x and y positions of the beginning of the current text line.|
|text xpos x||Set only the x position of the beginning of the current text line.|
|text string <string>||The <string> is the text you want to display.|
|text size x||Set the font size of the text. The value of x is in points.|
|text frame on / off||Frame 'on' means the text position is restricted to the current subplot. 'Off' means the text can go anywhere on the page.|
|text show||Make sure text display is enabled|
|text line 1||Select text line 1 (must do this before entering or positioning text)|
|text position 1,10||Choose a position.|
|text xpos x||Set only the x position of the beginning of the current text line.|
|text string THIS IS AN EXAMPLE TEXT STRING||Write some text|
|text size x||Set the font size of the text. The value of x is in points.|
|Make sure that text line will show up|
Place a line of text on the screen using layout 5.
MatOFF will report the current time-of-day and the elapse time since MatOFF was first started. In a protocol file the variable %11 can be used to get a time-of-day string.
See how long it takes to run protocol file rb117.pro.
It is often advantageous to display only some of the trials found after searching for trials that match a sequence. TrialFunction selects which trials will be displayed; the same selected trials are also used in statistical analysis, histograms, etc. TrialFunction command enables the user to display trends in sorted data more dramatically and with a smaller number of rasters.
The TrialFunction selects trials based on a linear function Ax+B. The equation is useful to select every second, or every third trial, etc. A is the step size, B is the starting point. For example, the user can display every third sorted trial after trial number 49 using the example below.
MatOFF starts with x=0 and increments x until the result of the function exceeds the number of "trials found". In this case every third trial starting with trial #50: 50, 53, 56, 59, 62, 65, 68, 71, 74...
It is often advantageous to display only some of the trials found after searching for trials that match the Sequence [SEQ] . Trials selects which trials will be displayed; the same selected trials are also used in statistical analysis, histograms, etc. The order that selected trials are displayed are determined by the Sort [SORT xx] command and the Set [SET] sort reverse command. When a sort is in effect the trial number refers to a trial's position after the trials have been sorted.
The list used in the Trials command is a list of values separated by commas, which may include ranges (using the dash "-") notation.
Display the first 20 trials, excluding trial 16.
Type is similar to the DOS "type" command. It will print the contents of a text file to the screen. It is useful for examining protocol files and the output of MatOFF ASCII dumps. If no path is specified, the DEFAULTPATH environmental variable is used.
View the file "andy.pro".
Data sets within a data file are broken into units. Unit command identified which unit to analyze. Use the Index [IND] command to see which units are available in a file. The Unit command is case sensitive. Thus, unit A is different from unit a. Unit names can have a maximum of 12 characters. If the unit name '*" is used, all units in the data file will be combined together as a single unit.
Opens unit in121 for analysis.
When ValidateSpikes is on, only valid spikes are included in histograms, and the raster tick marks for spikes that are not valid are drawn in a different color. Each trial has a period of time (epoch) where spikes occurring in the epoch are valid. Valid spikes are spikes in between a start time and end time for each trial. The start and end times are stored in history classes. For example, if history classes 10 and 11 are the start and end classes, respectively, in any given trial spikes are valid if they occur between the timestamps saved in classes 10 and 11. For ValidateSpikes to be useful, the user must write a history script that fills the two classes with meaniful timestamps.
|validatespikes start <value>||History class of the timestamps that mark the beginning of valid spikes (for each trial)|
|validspikes end <value>||History class of the timestamps that mark the end of valid spikes (for each trial)|
|validatespikes on||Enable the ValidateSpikes function|
|validatespikes off||Disable the ValidateSpikes function|
|validatespikes color <value>||Set the color of spikes that are NOT valid. Color values:: yellow, magenta, cyan, red, green, blue, white or black|
history file history_validate.m
validate start 10
validate end 11
validate color white
invalid color blue
Display the current version number of MatOFF.
Certain MatOFF commands, e.g. Read, can produce long printouts. Walk will make MatOFF pause screen printouts at regular intervals.
|walk <speed>||<speed> is a number between 1 and 10 that determines the number of lines that will be printed to the screen before printing is paused|
Set the walk speed to 5 before requesting a dump of the event codes in the current unit.
New users can use the Why command to see if there is some obvious reason the data were not plotted.
no trials found
Data file appears to be empty.
MatOFF can create ASCII (text) files. Open and Append are used to create a new ASCII file or append to an existing one. Once a file is open, the Write command is used to insert text into the file. Text is entered line-by-line. All text after the Write command (after skipping any blank spaces) is written to the ASCII file. Note that HTML (web pages) can be created with these commands. The section on Protocol scripting files discusses ASCII files greater detail.
write print $2,tabular
Put an ASCII string in the text file. $2 refers to a replaceable parameter. See MatOFF Scripting Language for the use of replaceable parameters.
The XY command controls an XY plot of the two analog channels on the graphical display. The primary channel is the X axis and the secondary channel is the Y axis. The size of the plot is determined by the size option.
|xy show||turn trace on|
|xy noshow||turn trace off|
|xy line <type>||line type for analog trace|
|xy ypos <y>||y position of XY trace in percent of plot window|
|xy xpos <x>||x position of XY trace in percet of plot window|
|xy separation <value>||separation between XY traces on the plot, a negative value reverses the order of display|
|xy size <value>||vertical size (gain) of each trace|
|xy time <value>||select how much of the trial to display on the XY trace (see below)|
|xy start <value>||start time, start event, or start class|
|xy stop <value>||stop time, stop event, or stop class|
|xy overlap on||XY traces fill same workspace as raster/histogram drawings|
|xy overlap off||XY traces in a separate panel to the left of the raster/histogram drawings|
The xy time function determines how much of each trial will be displayed in the XY trace:
|xy time all||display all analog XY points from the start to the end of the window|
|xy time time||truncate each XY trace to just the time range specified by the start and stop values|
|xy time events||truncate each XY trace to just the time range specified by start and stop events|
|xy time classes||truncate each XY trace to a time range specified by the values stored in the start and stop history classes|
|xy time time <start time> <stop time>||xy time time command with start and stop times specified|
|xy time events <start event> <stop event>||xy time events command with start and stop events specified|
|xy time classes <start class> <stop_class>||xy time classes with start and stop classes specified|