EASYMATRIX v1.1
REFERENCE MANUAL

CONTENTS

Back to PSL Tools


INTRODUCTION

The easymatrix program from the Perceptual Science Laboratory at the University of California Santa Cruz is a data analysis tool for generating confusion matrices and performing ANOVA computation. It has the capability to render confusion matrices in graphical or numeric form. The underlying utilities for plotting confusion matrices and word-lookup functionality were written by Jonas Beskow. Interface by David Merrill.

Top of this document 


FILE DETAILS


This is where files are added to the current batch for analysis. Clicking on a file in the listbox on the left will cause that file to be selected as the current file. The currently selected file will be affected by the "Remove File" and "View File" buttons on the right.

Add a file:

Use this button to insert a datafile into the list of files available to the program for analysis.

Remove file:

Use this button to eliminate the currently selected file from any analysis.

View file:

Displays the currently selected file.

One by one/Merge all together:

These radio buttons change the way easymatrix uses the files which have been added for analysis.
If One by one is selected, any analysis will only be performed on a single file - whichever file is the current file.
If Merge all together is selected, then analysis will be performed on all files in the file selection box.

Top of this document 


MATRIX DETAILS


Computation:

  • normal: compute symbol confusions

    By default, easymatrix computes symbol confusions - that is, it will compute confusion between one complete utterance and another. For instance, an experiment might feature confusions between the words "key" "thee" and "knee", and a confusion matrix plotted would have these words on the axes. This is the default selection, and when a datafile is read in by easymatrix, the list of all unique stimuli will be generated and displayed in the text entry below titled "Stimuli list in EasyMatrix". When new files are read, only unique stimuli are added to this list, so an ordering of the stimuli list imposed by the user will not be destroyed by reading in new datafiles.

  • cicc: compute initial consonant confusions

    With this option selected, easymatrix does a lookup on the initial consonant of each stimuli and response, and plots matrices based on initial consonant confusion rather than symbol confusion. The list of consonants is:

    B M P F V DH TH D G HX K N T S Z L R CH JH SH W

  • civc: compute initial vowel confusions

    Same as cicc, but does a lookup on initial vowel confusions. The list of vowels used is:

    IH IY AA AH AO AX RR UH UW AE AY EH EY OY AW OW

  • cfcc: compute final consonant confusions

    Same as cicc, but does a lookup on final consonant confusions.

Map phonemes to viseme classes:

This option is not available when plotting complete symbol confusions - it is only relevant when cicc, civc, or cfcc is selected. If selected, it will plot confusion matrices for the viseme classes of the selected confusion. Here are the category lists for consanant and vowel visemes:

consonant mapping:
LABP B M
LDFF V
IDFTH DH
LSHG HX K KH N NX T
ALFS Z ZH
LLLL
RRRR
PALCH JH SH
WWWW
vowel mapping:
IYIH IY
AAAA AH AO
UHAX RR UH
UWUW
EHAE AY EH EY
OYOY
AWAW
OUOU

Change Mapping:

This button brings up a little GUI for changing the way that consonants or vowels are mapped to viseme classes. To remove an entire class, just delete the class name from the text entry on the left. Then click "Save" and your change will be saved. If you make a mistake, just click "Cancel" and none of your changes will be saved. To add a class, you can either enter it into the space previously occupied by a class you've deleted, or you can click the "Add class" button to create another pair of entry boxes where you can enter the mapping information.

Stimuli list:

This is the working list that easymatrix will use when plotting a matrix. When the user selects cicc or civc of cfcc, this list changes to show the list of consonants or vowels, and when "Map phonemes" is selected, it changes yet again to show the viseme classes corresponding to the consonants or vowels. This entry is to allow the user to re-order the list as they wish, so that when matrices are plotted, the order of these symbols along the axes is whatever the user desires.

Refresh List from file:

This parses the currently selected file, using the parsing defaults specified by the user, and re-generates the stimuli list from that file. Any ordering of the stimuli which the user has imposed will be lost.

Change parsing options:

This brings up the same dialogue which appears when the user selects the first datafile for analysis, and allows the user to specify which parsing style they will use, and in which column or row the stimuli, factors, and response can be found. Easymatrix uses the number of unique tokens found in the factor row/column to decide how many matrices to plot.

See specifying parsing options for more information.

Show reordered list:

The user can reorder the stimuli list in easymatrix, and this change will propogate to the plotted matrices. Clicking the "Show reordered list" button refreshes the "Matrix Details" tab of easymatrix, allowing the divider placement representation to refresh.

Dividers:

This text box is to present indices for all possible divider locations. The indices are numbers highlighted in blue, and they represent the places on a finished matrix where a divider can be located.

Dividers at:

To place dividers on a matrix, enter a series of numbers here which correspond to the indices which are highlighted in blue in the above text box. Such a list should just consist of positive integers from the box above, seperated by spaces.

Size - Pixels per square:

One square on a plotted matrix is as big as the biggest circle which can go there. This entry lets the user select how many pixels make one of these squares. A bigger number will result in a bigger matrix. The user can also use the buttons below to increment and decrement the number.

Top of this document 


TEXT DETAILS

Labels:

These entry boxes let the user specify the text which will appear around all 4 sides of a plotted matrix.

Fonts:

These entry boxes let the user specify the font which will be used for the stimuli (or consonants/vowels/visemes) on the axes of the matrix, and for the labels around all 4 edges of the matrix.

Font examples:
helvetica 9
times 10 bold

For more information, see the Scriptics website.

Automatically generate bottom label from factor info:

If selected, this will cause the bottom label of each matrix to show a representation of what combination of factors the particular matrix represents. It will override whatever bottom label a user has created.

Top of this document 


COLOR DETAILS

This tab gives the user the ability to change the colors which are used by easymatrix when plotting matrices.

Matrix background:

The color of the central part of the matrix, behind all of the plotted circles.

Matrix Border:

The color of the thin border seperating the central region where the circles are plotted from the outer region where the labels are.

Gutter Area:

The color of the area behind the stimulus symbols and top/left/right/bottom labels.

Circles (normal):

The normal color of the plotted circles.

Circles (highlighted):

The color of the plotted circles when the user's mouse is over them.

Label Text:

The color of the top/left/right/bottom labels.

Stimuli Text:

The color of the stimuli symbols, on the axes of the plot.

Top of this document 


OUTPUT DETAILS

One of the benefits of the Tcl/Tk environment is that generating an extended postscript file from a Tk canvas (the widget used for plotting these confusion matrices) is built-in functionality. Taking advantage of that functionality, the user of easymatrix can easily output a postscript file of a confusion matrix.

Note: to output a postscript file, right-click on the matrix which you want to output. Then select "Output postscript" from the menu that pops up. The postscript file will be written to the folder indicated by "Directory to output to:"

Base filename:

This is used as a starting point for generating a name for a pose

Directory to output to:

This is where the user can specify the path to the folder where easymatrix will write postscript files.

Generate a unique file name:

If this option is selected, easymatrix will generate a unique filename based on the contents of "Base file name:". No existing files will be overwritten.

Overwrite any existing file with this name:

If this option is selected, easymatrix will write any postscript files to the filename exactly as specified in "Base file name:", so any existing file by that name will be overwritten.

Normalize data:

If this option is selected, text output will contain a matrix of numbers where each cell represents the proportion of trials where that particular stimulus-response pair occured (with respect to the other responses that occured for the same stimulus). If this option is not selected, each cell will contain the number corresponding to the actual number of times the particular SR-pair occured.

Display Precision:

This lets the user specify how many places to the right of the decimal point they would like in displaying the data in textual form.

Delimiter text:

This lets the user specify what will be used to delimit columns when displaying the matrix in numeric/textual format. Note - entering whitespace characters here (like "\t" for example) may not work.

Top of this document 


ANOVA DETAILS


The default setup for ANOVA computation is to use all factor cols/rows which the user has indicated, as well as the response column. However, this may not work sometimes, as ANOVA requires that the rightmost column which it is processing contain numeric data. In the case that the default configuration doesn't work, the user can click the "Custom.." checkbutton, and specify the indices within the datafile which will be used for ANOVA computation. (indices are described in the Specifying Parsing Options section of this document). The user should enter a series of indices (positive integers corresponding to rows or columns from the datafile(s)), seperated by spaces. The order of the numbers in this entry dictates the order that will be given to the columns/rows when preparing the data for ANOVA computation, so be sure that the rightmost number in this text entry is the index of a column containing numeric data.

Top of this document  


SPECIFYING PARSING 0PTIONS

This screen allows a user to specify how their datafiles will be parsed. The default option, PSL-1, and the second option, PSL-2 are the datafile formats generated by the PSL tools. Easymatrix has routines built-in for parsing these file formats. The standard file in PSL-1 format is formatted as follows:

trial block stim:s0 stim:s1  resp:r0 time:r0
           
1 1 val val val val
2 1 val val val val
...          

When indicating stimulus, response, and factor columns, note that counting columns begins with column 0, so the first column of a datafile has index 0, the second column has index 1, and so on. For stimulus and response column, only one index should be entered. The entry for factor columns can handle any number of indices.

The multiple lines per trial format (PSL-2) is:
 
trial 1
block 1
stim:s0 val
stim:s1 val
resp:r0 val
time:r0 val
   
trial 2
block 1
stim:s0 val
stim:s1 val
resp:r0 val
time:r0 val
...  

When indicating stimulus, response, and factor rows, note that rows begin at 0, so the first row of a block of a datafile has index 0, the second row has index 1, and so on. For stimulus and response row, only one index should be entered. This index should correspond to the index within each block of the appropriate data value. In the example above, think of the first 6 lines of the datafile as a single block, indicative of the format of the entire datafile. With that in mind, each row within that block has an index - this is the number to use. The entry box for factor columns can handle any number of indices.

If the "Other..." radiobutton is selected, the user must supply the path to a file which provides the required parsing routines. A file of this type must define the following 2 functions:

getSRValues
This procedure has the following format:

getSRValues datatext style stimindex

Where datatext is the entire text of a datafile, simply read from the file unchanged, style will be an integer between 1 and 3 inclusive, and stimindex will be some number. (a person coding their own implementation of this function would only use the datatext argument, since the parsing details would be handled by them). This function must return the list of stimulus symbols present in the text.

An implementation of this kind of function could be as easy as:

proc getSRValues { datatext style stimindex } {
 return {key thee d t knee me c z p b v}
}
getSRLists
This procedure has the following format:

getSRLists datatext style stimindex respindex args

Where datatext is the entire text of a datafile, simply read from the file unchanged, style will be an integer between 1 and 3 inclusive, and stimindex and respindex will be some numbers, and args will be any number of factor columns. (a person coding their own implementation of this function would only use the datatext argument, since the parsing details would be handled by them) This function must return a list consisting of stimulus-response pairs, like:

.. {key key} {knee me} {thee thee} {c z} ..

Top of this document  


PSL Tools Home | EasyMatrix Home |Reference Manual | Download

This page was last updated Friday, August 20, 1999 by David Merrill