Helping Hands

The PXL distribution diskettes contain several demo and test programs that are not full applications but only demonstrate the use of certain features. The demo programs have their own command line options. Options that are identical to those of PXL applications are those for setting screenwidth and screenheight by -w n and -h n respectively, -v n for setting videocode, and -t n for setting switchtype. In addition to that the demos have -g filename for explicitly setting the file name of the gamma table to be used. Some of the programs take additional options. In order to get a complete list of options and their meaning, start the programs with option -?.

Installation Check: pxlcheck

The program pxlcheck can check whether PXL has been installed correctly. It verifies the existence of the environment variable PXL. It tries to find the table files, the font files and tries to run the preprocessor. PXL programs should not be run as long as pxlcheck reports any installation error.

Screen Size Mesurement: scrnsize

scrnsize draws a horizontal and a vertical rule on the screen. These should have small ticks at every millimeter and large ticks at every centimeter. If the setting of screenwidth and screenheight is not correct, then the ticks will not have the correct distance. This demo can help in finding the correct settings of the physical screen width and height. Compare the scales on the screen with a ruler and adjust the horicontal and vertical scales with the cursor keys such that the screen scales exactly reflect the physical scaling. Then use the END-key to stop scrnsize. The programm will then offer to change the startup file startup.pxl for you such that the definitions of screenwidth and screenheight exactly specify the physical dimensions of the display. For some monitors the effective screen size depends on the video mode. In this case scrnsize should be used with the respective mode option -v n to adjust the screen for the mode to be used.

Adaptive Procedure Simulation: adp

This is a demonstration experiments which may be used to study the adaptive procedures of PXL. adp does nothing but present a numeric stimulus protocol on the screen and expect a yes/no response from the keyboard via the left and right cursor keys. The parameter files for adp may be used to define adaptive procedures and then check them out. See Chapter adaptive for a detailed description of the adaptive procedures implemented.

Response Device Check: event

The event program is used to check response devices like keyboard, mouse and switches. Use the option -t n with n being the response device number to test. event will wait for a response event and then report its values. The option -i may be used to request interrupt driven events. See Table scode on page \pagereftab:scode to find the appropriate response device parameters.

Some programs have parameters which require keyboard codes as values. Examples are the parameters yeskey, nokey, and stopkey. The program event may be used to find the appropriate key code values.

Monitor Gray Level Adjustment: grayscal

The program grayscal may help in setting up the brightness and contrast controls of your video monitor. It presents a logarithmic gray scale which should look approximately equally spaced. Adjust brightness such that the background is black and contrast such that the background remains black and the highest intensity is as high as possible without the image becoming blurred.

Vector Font Samples: hfonts

The program hfonts displays the vector fonts included in PXL. One may choose to get a sample text or a display of all available characters. One may also select a single font for display.

Check the Timing Software: ttcheck

The program ttcheck tests the proper working of PXL's internal time measurement functions. It also gives an idea of how precise the time measurement routines are. ttcheck can measure the duration of the following events (the numbers give the arguments for ttcheck necessary to measure the respective event):

ttcheck always uses the current video mode when measuring the vertical refresh rate. The vertical refresh rate for any of PXL's graphics modes can be measured by the program vmode.

Graphics Hardware Detection and Video Mode Parameters: vmode

The program vmode describes a PXL graphics mode and may also be used to measure the vertical refresh rate in any of the available graphics modes. The graphics mode is selected by the option -v n where n is any valid mode number. See Table vmodes on page \pagereftab:vmodes in Chapter graphics for a list of the available modes.

Parameter Estimation for Psychometric Functions: logpmf

The program logpmf can be used to estimate parameters of a logistic psychometric function from frequency data. The program accepts data from one or more files given as arguments in the command line or from standard input if no file names are given. The data format expected is organized similar to the format used by the UNIX|STAT package. Each line contains a single data point. The first column contains the value of the independent variable, the second column the number of trials represented by this line of data, the 3rd column finally gives the number of "yes"-responses for the given value of the independent variable. Line order is irrelevant and multiple lines for the same value of the independent variable are automatically collected.

The psychometric function type used is a logistic function with the parameters a, corresponding to the just noticable difference and the parameter c corresponding to the constant error: P(yes|x_j) = (1-exp(-(x_j - c)/a))^(-1) The minimization function is the Chi^2: Chi^2 = Sum(j=1,M) ((n_j - N_j P(yes|x_j))^2)/(N_j P(yes|x_j)) where x_j is the jth value of the independent variable, N_j is the number of times that x_j was presented and n_j is the number of "yes"-responses found with that value x_j. M is the number of levels of x_j. Note that minimizing Chi^2 is equivalent to a maximum likelihood estimation of the parameters a and c but is more save to compute than the original likelihood equation. logpmf is able to find minima even if there are many different values of x_j and only few observations per value. This may be useful for adaptive procedure data where the whole data set me be used to get a final estimate.

The output of logpmf is written to stdout. By default the values of the point of subjective equality c, the just noticable difference a, and the final value of Chi^2 are given as output. If the command line option -g is given then the estimated psychometric function is printed out. This means that the output is a series of lines, each one containing a pair of values for the level of the independent variable and the response probability. If the option -d is given then the data are echoed to the output.

In some cases the psychometric function as given in Equation \eqrefLogisticPMF is inappropriate since there is a nonzero guessing probability involved. The probability of guessing may be given by the command line option -a g, where g is the guessing parameter. In this case the actual psychometric function used is P(yes|x_j) = g + (1-g) * (1-exp(-(x_j-c)/a))^(-1). This results in a psychometric function which has g as its left asymptotic value. In case the option -a is used it does not make sense to consider c = x_0.5 with P(yes|x_0.5) = 0.5 to be the point of subjective equality. Thus one may use the option -p e to define the probability value e which should be considered to be that probability which corresponds to the point of subjective equality. Its actual definition is P(yes|x_e) = e, where by default e=0.5 is assumed, but may be changed with the option -p. This does not affect the estimation procedure at all. It only affects the value which is printed as point of subjective equality to the output. The option -h gives a short help text for logpmf.

The minimization algorithm used by logpmf is based on the principal axis algorithm PRAXIS of Brent(1973) as implemented by Gegenfurtner (1993).

Parameter Estimation for Psychophysical Functions: ppf

The program ppf may be used to estimate parameters of various psychophysical functions. Use option -? to find out more about using ppf.

Generation of Random Noise: noise

The program noise is able to generate random noise sequences. Use option -? to find out more about using noise.
Back to table of contents

Author: Hans Irtel