top of page
Staircase Method

Staircase Method

Category:

AddIn:

Scope:

Code Snippets:

Supports Material List:

Status Screen Widgets:

License:

Randomization

Psychophysical Methods

Global

no

no

yes

Standard EventIDE license

In this article:

The Staircase Method element is designed for psychophysical experiments where stimulus intensity must be adjusted trial-by-trial based on participant performance, using either the weighted up–down method (Kaernbach, 1991) or the Bayesian QUEST procedure. It provides real-time staircase visualization, automatic threshold statistics, and integrated data recording.

Methods


Kaernbach Weighted Up–Down


A rule-based staircase where correct and incorrect responses change stimulus intensity with different step sizes. The method converges toward a predefined performance level (e.g., 75% correct).


QUEST (Bayesian Adaptive Estimation)


A Bayesian method that maintains a posterior distribution of the threshold and selects the next intensity to efficiently reduce uncertainty.

After each response is added, the element automatically computes:

  • The next suggested stimulus intensity

  • Reversal statistics

  • Current threshold estimate

  • Standard deviation (SD)

  • Standard error (SE)

  • Actual correct rate

  • Completion state

The suggested intensity for the next trial is always available via the New Intensity property.

Properties

Name

Description

Type

On runtime change

Staircase Settings





Staircase Type

Selects the adaptive method. 0 = Kaernbach weighted up/down staircase. 1 = QUEST Bayesian adaptive threshold estimation. Changing this value at runtime resets the current staircase

General

Int32

Resets estimator

Initial Intensity

Defines the initial value of stimulus intensity. Changing at runtime resets all parameters

General

Double

Resets estimator

Weighted Method Settings





Enforced Correct Rate

Defines the target performance level (%) for threshold estimation. Valid range: 0–100

General

Double


Forward Step

Defines the change in stimulus intensity after a correct response. Sign defines staircase direction

General

Double


Inverse Step

Automatically calculated change in stimulus intensity after a wrong response

Status

Double


Minimal Reversal Number

Minimum number of reversals required to complete estimation

General

Int32


Ignorable Reversal Number

Number of initial reversals excluded from final threshold estimation

General

Int32


QUEST Settings





Target P(Correct)

Target performance level (0–1). Typical: 0.75 (2AFC), 0.5 (yes/no)

General

Double


Guess Rate (gamma)

Lower asymptote of psychometric function (e.g., 0.5 for 2AFC)

General

Double


Lapse Rate (lambda)

Upper-asymptote lapse rate (e.g., 0.02 = 2% errors at high intensity)

General

Double


Slope (beta)

Slope parameter of logistic psychometric function (typical range 1–10)

General

Double


Prior Mean

Prior mean of threshold (NaN uses Initial Intensity)

General

Double


Prior SD

Prior standard deviation of threshold

General

Double


Grid Half-Range

Half-range around prior mean for posterior discretization

General

Double


Grid Step

Step size of posterior grid (smaller = more precise, slower)

General

Double


Min Intensity (Clamp)

Optional minimum clamp for suggested intensity

General

Double


Max Intensity (Clamp)

Optional maximum clamp for suggested intensity

General

Double


Max Trials

Stops QUEST after this number of responses (0 disables)

General

Int32


Stop SD

Stops QUEST when posterior SD drops below this value (≤0 disables)

General

Double


Staircase Plotting





Rendering Size

Defines rendering size of generated XAML staircase plot in pixels

Design

clSize


Plot Title

Title displayed on staircase plot

General

String


Show Subtitle

Shows staircase statistics in subtitle

General

Boolean


Font Size

Font size for plot labels

General

Double


Show Axis Bands

Enables axis bands in plot area

General

Boolean


Confidence Interval

Defines type of confidence intervals shown on plot

Design

enStar..


XAML Staircase Plot

Returns live XAML control for binding to ContentControl

General

UIElem..


Save Plot Now

Runtime command to save screenshot of the plot. Assign full file path string

Runtime Command

String

Executes save

Runtime Control





Add Response Now

Adds a trial outcome (true/1 = correct, false/0 = wrong)

General

Object

Updates estimator

New Intensity

Suggested stimulus intensity for next trial

Status

Double


Reset Staircase Now

Resets the current staircase and starts a new estimator

Runtime Command

Boolean

Resets estimator

Runtime Results





Estimated Threshold

Current estimate of participant’s threshold

Status

Double


Estimated Threshold SD

Standard deviation of threshold estimate

Status

Double


Estimated Threshold SE

Standard error of threshold estimate

Status

Double


Actual Correct Rate

Real correct rate (%) across responses

Status

Double


Is Completed

Indicates whether threshold estimation is completed

Status

Boolean


Data Report Label

String label added to generated data report file names

General

String


Staircase Data





Response Count

Number of collected responses

Status

Int32


All Responses

Boolean array of all collected responses

Status

Boolean[]


Reversal Count

Number of observed reversals (including ignorable)

Status

Int32


Staircase Points

Double array of all intensity values in time order

Status

Double[]







Control





Is Enabled

If set to false the element is completely omitted when the experiment is run

Design

Boolean


Title

Title of the element


Design


String



Practical Use


The Staircase Method element is typically used in trial-based experiments where stimulus intensity (contrast, sound level, duration, spatial frequency, etc.) must adapt dynamically.

Basic workflow:

  1. Present stimulus at the intensity returned by New Intensity.

  2. Collect participant response.

  3. Assign true/false (or 1/0) to Add Response Now.

  4. Read the updated New Intensity for the next trial.


Technique 1: Classic Weighted Up–Down Threshold Estimation


  1. Set properties:

    • Staircase Type = 0

    • Initial Intensity

    • Enforced Correct Rate (e.g., 75%)

    • Forward Step

    • Minimal Reversal Number

  2. On each trial:

    • Present stimulus at New Intensity.

    • Determine whether the response is correct.

    • Assign the result to Add Response Now.

  3. Monitor properties:

    • Reversal Count

    • Estimated Threshold

    • Is Completed

When the required number of reversals is reached, the staircase finalizes the threshold estimate.


Technique 2: Bayesian QUEST Estimation


  1. Set properties:

    • Staircase Type = 1

    • Target P(Correct)

    • Guess Rate (gamma)

    • Lapse Rate (lambda)

    • Prior Mean and Prior SD

    • Stop SD or Max Trials

  2. On each trial:

    • Present stimulus at New Intensity.

    • Add response using Add Response Now.

  3. Monitor properties:

    • Estimated Threshold

    • Estimated Threshold SD

    • Is Completed

QUEST stops automatically when the posterior SD drops below Stop SD or when Max Trials is reached.


Example Code Snippet


Visualization


The element provides a live staircase plot through the XAML Staircase Plot widget, which can be displayed on the status screen.

The plot can show:

  • Trial-by-trial intensity progression

  • Reversal points

  • Confidence intervals

  • Threshold statistics

  • Screenshots of the plot can be saved using Save Plot Now.

Runtime Results

Available outputs include:

  • Estimated Threshold

  • Estimated Threshold SD

  • Estimated Threshold SE

  • Actual Correct Rate

  • Reversal Count

  • Response Count

  • All Responses

  • Staircase Points

These values can be logged using standard EventIDE data recording tools.

Notes

  • Changing Initial Intensity or Staircase Type at runtime resets the current estimator.

  • In weighted staircases, step parameters should remain constant during estimation.

  • For stable threshold estimation, use at least 6–8 valid reversals (after ignored reversals).

  • In QUEST, choose a realistic Prior SD to ensure efficient convergence.

  • Use intensity clamping to prevent invalid stimulus values.

bottom of page