A circular checkerboard (dartboard) pattern. Properties set options for size, pattern, scaling of ring width (e.g. for cortical scaling), amplitude/contrast, and color. This element type includes three animation options commonly used in retinotopy tasks:

(1) flicker: switch dark and light checks at a specified frequency.
(2) wedges: show a repeating sequence of isolated wedges, moving angularly around the checkerboard in steps.
(3) rings: show a repeating sequence of isolated rings, moving radially through the checkerboard in steps.

You can also show concentric rings if you set number of wedges = 1.

For fixation see element types dots, cross, fixationGrid, etc.

▸ Ends on its own?

If an element can end on its own, you don't need to set end conditions for it in property end (unless you want it to maybe end earlier).

No—runs until a condition you set in property end.

Input properties

Adjustable properties

You can vary or allow the subject to adjust the following input properties of an object of this type in real time when it's running. If you need to make other properties adjustable, you can edit the element type code—see Element Type Programming Manual.





Default: diameter = 10 deg
Default: centerDiameter = 0.2 deg

diameter is diameter of the checkerboard (deg).

centerDiameter is diameter of the center area, which is transparent (deg). This avoids pixel-level artifacts which can be present near the center of the pattern. Checks begin outside this area, i.e. it doesn't count toward radial check sizes when fitting the specified number of checks into the disc area.


Default: numAngularChecks = 20
Default: numRadialChecks = 8

numAngularChecks is number of segments (light or dark) around the disc at any given radius.

numRadialChecks is number of segments in any given radial line, from edge of the transparent center area to edge of the disc.

e.g. numAngularChecks = 4, numRadialChecks = 1 → a disc consisting of four segments in quadrants.


Default: equal radial checks

You can use this property to apply cortical scaling factors. A row vector of numbers > 0 that are scale factors for radial check sizes, from innermost to outermost. Number of factors must = numRadialChecks above. The absolute magnitudes of the factors don't matter, only relative magnitudes. Absolute magnitudes are automatically scaled to fit numRadialChecks into the radius from edge of the transparent center area to edge of the disc.


<cd>[]<cd> = equal ring widths.


Default: 1 → see below

0 or 1 setting the initial light/dark pattern. 0 = the check innermost and immediately below the right horizontal bisector is dark. 1 = light.


Defaults: mean intensity = 0.5, amplitude = 0.5 → black & maximum intensity

These properties work together to set the two intensities in the checkerboard.

meanIntensity is a number between 0–1 (black-maximum) setting the average intensity of light and dark areas. Note this intensity doesn't actually appear in the checkerboard (unless you set amplitude = 0).

Also set one of:

amplitude is max intensity − mean intensity.


contrast is Michelson contrast, amplitude / mean intensity. If you set contrast, meanIntensity must be > 0.

It's possible to set a combination of these properties that causes the grating to clip at intensity 0 or 1. See record properties maxAmplitude and maxContrast below.


Default: white

A 1×3 RGB vector with numbers between 0–1. This defines color at intensity = 1. Color at intensity = 0 is <cd>[0 0 0]<cd> (black).


Default: no flicker

Frequency of switching between dark–light (cycles/sec). 0 = no flicker.


Default: show whole checkerboard

You can set one of these properties:

wedgeVelocity lets you show a repeating sequence of isolated wedges, moving angularly around the checkerboard in steps. Each wedge is an integer multiple of angular checks wide (apertureSize below). Velocity is rate and direction (angular checks/sec, + = clockwise, − = counterclockwise). 0 = don't do wedges.

ringVelocity is similar but for isolated rings moving radially through the checkerboard in steps. Each ring is an integer multiple of radial checks wide. Velocity is rate and direction (radial checks/sec, + = outward, − = inward). 0 = don't do rings.

If you leave both = 0 (default), it just shows the whole checkerboard.


Default: apertureSize = 2 checks
Default: apertureStepSize = 1 check
Default: aperturePhase = 0 → see below

If you set wedgeVelocity or ringVelocity:

apertureSize is wedge or ring width as number of checks.

apertureStepSize is number of checks the wedge or ring moves by each time. Rate is set by the respective velocity above.

aperturePhase is for wedges only. It sets the initial wedge shown. It is always measured in number of angular checks clockwise. However, the zero point depends on wedgeVelocity: 0 = wedge starting with the first checks below the right horizontal bisector if wedgeVelocity > 0, or first checks above if wedgeVelocity < 0.

For rings, initial ring is always the ring starting with the innermost radial checks if ringVelocity > 0, or the outermost checks if ringVelocity < 0.

Input properties all visual elements have


Input properties all adjuster elements have


Input properties all objects have


Record properties

PsychBench uses record properties to record information during experiments. You can't set record properties but you can see them in experiment results by listing them input property report.


Maximum amplitude and contrast where dark areas would clip at 0 or light areas at 1, whichever is reached first, given the set mean intensity.