Page History: Staircase Method Element
Compare Page Revisions
Page Revision: 2012/03/18 06:08
|
Staircase Method
|
Info |
Category: |
Psychophisics Methods |
|
AddIn: |
Psychophisics |
Creator: |
OkazoLab Team |
|
Scope: |
Global |
Owns Snippets: |
no |
|
Usage: |
Snippets, Status Screen |
Staircase element allows an easy implementation of the weighted up/down staircase method with the selected performance rate (Kaernbach, 1991).
Description
Staircase element assists in implementing the single staircase method that efficiently estimates participant's detection threshold in regards to stimulus intensity (e.g. contrast or duration). The element continuously calculates adjustments for stimulus intensity on the basis of participant's consecutive responses. In addition, the element estimates the threshold of the given participant, collects various statistics and even generates the real-time staircase plot for the status screen.
In general, element's staircase algorithm resembles the classical staircase procedure introduced by von Békésy (1947). More particularly, the current algorithm is a replica of the weighted up/down staircase method with the fixed performance rate (Kaernbach, 1991).
The element implements a single staircase. If multiple staircases, interleaved or not, are required by an experimental paradigm, several Staircase elements can be used in parallel.
Snapshots
Snapshot 1
| Snapshot 2 |
Practical Use
Technique for creating a single staircase
Design time
- Add Staircase element to any of experiment's event. The event choice is not important for elements working in the global scope
- Set a value of Initial Intensity property of the element. The numerical value should correspond the initial level of stimulus intensity that can be easily detected. For example, the number can be related to the opacity of a picture, or to duration of an audio.
- Set a value of Staircase Step property. The signed value denotes an adjustment of the stimulus intensity when the correct response is given by a participant. The adjustment on the wrong response is calculated by the element automatically as suggested by the weighted method. Smaller step value may lead to more accurate but slower staircase convergence.
- Set a percentage value of Performance Level property. The staircase procedure will be automatically adapted to keep across-trials participant's performance (or, detection rate) close to the predefined level. Thus, the staircase results will show participant's threshold on the given performance level, e.g for 80% of detection rate. The chance level corresponds to the value 50.
- Set a percentage value of Performance Level property. The staircase procedure will be automatically adapted to keep participant's performance across trials closet to the predefined level. Thus, the staircase results will show participant's threshold on the given performance level, e.g for 80% of detection rate. The chance level corresponds to the value 50.
- Set a value of Reversal Number property to define a total number of reversals necessary to complete the staircase procedure. Reaching the maximal reversal number does not stop the staircase procedure, the element simply signals this moment by setting true to its Is Completed property, which, in turn, can be used to control the experiment flow logic.
- Set a value of Ignorable Reversal greater than zero, if it's necessary to exclude several initial reversals from the threshold estimation, in order to avoid occasional outliers before convergence of the staircase close to the threshold level.
- Create proxy variables for AddResponse and Next Intensity properties of the element. The first proxy will be used to add participant's responses to the staircase whereas the second for the adjusting stimulus intensity.
- Create proxy variables for the selected properties of Runtime Results category. The proxies will allow to monitor staircase statistics on the Status Screen and save results to Report.
==== Runtime ==== - In order to add a single participant response to the staircase, the trial outcome has to be added via AddResponse proxy (usually, at the end of a trial):
if (Response==1)
AddResponse=true;
else
AddResponse=false;
Integer values can be assigned to AddReponse proxy as well:
AddResponse=Response; /// the Response here is an integer variable, which is equal 1 or 0 depending on the trial outcome
- Adjust the intensity of the stimulus with Next Intensity value. A new value is calculated each time after adding a participant response (via AddResponse). At the start of the staircase Next Intensity is equal to Initial Intensity
RendererOpacity=NextIntensity; /// adjusts the opacity of the visual stimulus
or,
EventDuration=Convert.ToUInt64(NextIntensity); /// adjusts duration of the stimulus presentation
- After completion of the current staircase, it can be reset and used again in a new sequence of trials. Use the following code:
ResetStaircase=true; /// ResetStaircase is a proxy variable linked to element's property of the same name.
Notes
Insert Notes here..
Properties
Generic Properties
Name | Description | Attributes | Value Type | Proxy Reflex |
---|
Settings |
Initial Value | Initial value of stimulus intensity | | Double | |
Staircase Step | Base step of changing stimulus intensity. A sign of the value defines the staircase direction relative to the initival value. | | Double | |
Performance Level | The desired performance level, or correct rate, for the measured threshold, in percentages. The staircase steps on correct and wrong response will be different if this value is not equal 50%, which indicates the chance level. The valid input range is 0<=X<100. | | Double | |
Reversal Number | The number of reversals before completing the threshold estimation. | | Int32 | |
Staircase Input |
Add Response | Adds the current trial response to the staircase data. Set either true or false to add correct/incorrect response. | | Object | |
All Responses | Array of the collected responses | | Boolean[] | |
Response Count | Current number of the collected responses | | Int32 | |
Staircase Results | Runtime action. Set to true in order to reset the staircase and start a new estimation process | | Boolean | |
Staircase Results |
Correct Rate | Correct rate of the collected responses in percentages | | Double | |
Is Completed | Indicates that the estimation of the threshold is completed - the number of reversal is reached. | | Boolean | |
Estimated Threshold | The current estimate of the the measured threshold. | | Double | |
Next Value | Next value for stimulus intensity as suggested by the staircase. Use it for adjusting a variable stimulus. Don't pickup the new value in the same snippet with adding a response, it's not estimated yet. Instead, read and use the new value in a separate subsequent snippet. | | Double | |
Values | All staircase values | | Double[] | |
Staircase Plot | Auto-updating plot of the staircase. Can be used at runtime as a source for a Image control on the Status Screen. | | ImageSource | |
+=== Properties inherited from clElement ===
Inherited properties of clElement
Name | Description | Constraints | Value Type | Upon Change |
---|
Control |
Is Enabled | If set to false the element is completely omitted when the experiment is run. | | Boolean |
|
Title | Title of the element. | | String |
|