Summary
|
Reporter
|
Info |
Category: |
Data collection |
|
AddIn: |
Base Layer |
Creator: |
OkazoLab |
|
Scope: |
Parent event |
Owns Snippets: |
None |
|
Usage: |
Snippets |
Properties
Name | Description | Constraints | Type | On runtime change |
---|
Settings |
Recording Juncture | Defines a time juncture in the parent event, in which the element records selected variables into Data Report. | | enRepo.. | |
Open Data Designer | Opens a visual designer for data collection | | Boolean | |
Runtime |
Is Active | Defines whether Reporter is in a working state. Set this property to false in order to suspend data recording. | | Boolean | |
Control |
Is Enabled | If set to false the element is completely omitted when the experiment is run | | Boolean | |
Title | Title of the element | | String | |
|
Reporter Element allows to automate data collection in EventIDE experiments. The element makes a snapshot of selected variables at certain moments and records the collected values into the Data Report (a default logging mechanism in EventIDE). Recorded values can be in tables and lists.
Description
EventIDE has a core mechanism for data collection called
Data Report. This mechanism is very flexible because you can always code what data will be recorded and when it occurred in the course of an experiment. The Reporter element is introduced in order to remove the need to write the data collection code in standard scenarios. The element provides a visual designer, where you can define a list of
global variables and
Proxy Variables for runtime recording. With the Reporter's designer you can also tune the variable order, formats and preview the expected results.
Once an experiment is run, the Reporter element automatically collects values of the selected variables. Then the element builds a text block made of the collected values (it can be either a line or a list) and records the block into a data report. Every pass of data collection is initiated either on onset or on offset the parent event. This allows to implement repeated data savings, if the parent event is included in a trial loop.
Multiple Reporter elements can be used elsewhere in an experiment, when different data have to be recorded separately. The element can also create a header row containing names of the recorded variables. The header is automatically placed at the top of the data report, before actual data collection starts.
Snapshots
Visual designer of the Reporter element
|
Practical Use
Using Reporter for collecting trial data into a multi-line table
- Check the logic of your experiment to choose variables whose values you want to collect in each trial.
- Add the Reporter element to the event in which you want to collect data. Typically, it is the last event in a trial loop.
- Set the Recording Point property of Reporter. You can define there when data will be collected, either on onset or offset of the parent event. The default option is the event
offset, because you may need to calculate a trial outcome, after onset of the last trial event but before trial data is recorded. - Open the Reporter data designer by clicking on the corresponding property.
- Using a drop-down list on the left-top of the designer, select and add all variables whose values you want to record in each trial:
Selection of variables
in Reporter's data designer
- In the Layout Option panel set the layout of variables to "in rows" and choose a character that will be used a column separator.
- Check the report preview at the bottom of the designer.
- Close the designer and run an experiment for several trial loops.
- Open or export the resulting data report, and check how trial data is recorded. You should see data organized in a table, for example:
Participant Code;Block Number;Trial Number;Target Position;Target Color;Target Shape;SOA Duration;Trial Result;Trial RT;
Participant 01;1;1;180;Blue;1;100;True;881;
Participant 01;1;2;180;Yellow;2;400;True;564;
Participant 01;1;3;180;Blue;2;300;False;0;
Participant 01;1;4;0;Blue;2;600;True;867;
Participant 01;1;5;180;Red;2;200;True;760;
Using Reporter for collecting data into a record list
- Repeat steps 1-5 from the previous technique, except for selection of the parent event. The record list is usually added once per run, at the start of the experiment.
- Set the layout of variables to "in columns" in the Layout Option panel of Reporter's designer. If you do not want variables' names to be included in a record list, uncheck the 'Append variables's headers' option.
- Set the layout of variables to "in columns" in the Layout Option panel of Reporter's designer. If you do not want variables' names to be included in a record list, uncheck the 'Append variables's headers' option. Otherwise, select a character that will separate variable's name and value in each row.
- Check the report preview at the bottom of the designer
- Close the designer and run an experiment for several trial loops.
- Open or export the resulting data report, and check how trial data is recorded. You should see data organized in a list, for example:
Participant Code;Participant 01;
Condition; AA05;
Key Map; 01;
Element's internal actions aligned with epochs of the parent event
Epoche | Actions |
---|
After onset | When the Recording Point property is On Onset, Reporter saves variables' values into a data report |
Before offset | When the Recording Point property is On Offset, Reporter saves variables' values variables into a data report |
Notes
- You can apply a format to a variable value, before it is recorded. To do so, add a .Net format string to the third row of the variable table in Reporter's designer. For example, the format string '0.00' ensure that a recorded numerical values will have 2 digits in the fractional part.
- You can use multiple Reporter elements in an experiment, but be aware of the order, in which they save data into a data report.
- There is no need to use the Reporter element when you want to save some global experiment variables at the top of a data report. Instead, you can used the startup info variables.
- While using the Reporter element, you still can write arbitrary data into a data report manually, via code snippets.
- You can temporally suspend data collection done by the Reporter element. To do it, set the 'Is Active' property to False at runtime.