Welcome Guest, you are in: Login

EventIDE Wiki

RSSRSS

Navigation




Search the wiki


PoweredBy

Page History: Reporter Element

Compare Page Revisions



« Older Revision - Back to Page History - Newer Revision »


Page Revision: 2013/06/10 03:31


Element Icon Reporter
Info
Category: Scenario Control AddIn: Base Elements
Creator: OkazoLab Team Scope: Parent Event
Owns Snippets: no Usage: Runtime Screen,Snippets
The Reporter element offers a simple and flexible way to control data collection in EventIDE experiments.


Description

EventIDE has an core mechanism for data collection, which is called Data Report. The mechanism is very flexible, because you can always code what data will be written and when it will be done in the course of an experiment. To remove a need to write such data collection code in standard scenarios, the Reporter element is introduced. The element provides a visual designer, where you can select a list of global variables and Proxy Variables for recording. With the Reporter's designer you can define the variable order, value formats and preview the expected results. At runtime, the Reporter element automatically makes a snapshot of the selected variables, builds a text block with collected variables' values (either in a line or columns) and records the block into the Data Report. This operation is done either on onset or on offset the parent event, which helps to implement repeated data drops, when the parent event is included in a trial loop. Multiple Reporter elements can be used elsewhere in an experiment, when different blocks of the data have to be recorded separately. The element can also create a header line containing names of the selected variables. The header is automatically placed at the top of the data report, before actual data collection starts.

Snapshots

Snapshot 1

Snapshot 1

Snapshot 2

Snapshot 2


Practical Use

Using Reporter for collection of trial data in repeated fashion

  1. Check a logic of your experiment to choose variables whose values you want to collect in each trial
  2. Add the Reporter element to the event, in which you want to collect data. Typically, it is the last event in a trial loop
  3. 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.
  4. Open the Reporter designer by clicking on the corresponding property
  5. Using a drop-down list on the left-top of the designer, add all variables, whose values you want to record in each trial.

 Dropdown selection of variables

Dropdown selection of variables



Technique 2

  1. Step 1
  2. Step 2

 // Check the trial outcome. Result and RT just other user variables
// insert code snippet here..

Element actions aligned with different epochs of the parent event

EpocheActions
Initialized
Rendered
Activating
Activated
Running
Deactivated
Deinitialized

Notes

Insert Notes here..

Properties

Generic Properties

NameDescriptionAttributesValue TypeProxy Reflex
Category Name
Fill itFill itFill itFill itFill it

+=== Properties inherited from clVisualElement ===
NameDescriptionConstraintsValue TypeUpon Runtime Change
VISUAL APPEARANCE
Alpha MaskingDefines whether the visual content rendered by this element will be used as an opacity mask which is applied onto the given event surface. The active opacity mask allows one to expose pixels of the parent event surface through a solid background of the given event. If the value is true, the darker pixels of the content will make more transparent holes on the entire event surface.Boolean
AntiAliasingIf true, the rendered content will be anti-aliased for smoother visual appearance. If false, rendering will be authentic to its source, e.g. a bitmap. Boolean
PositionDefines the position of the element viewport on the screen. The position can be set in any of three coordinate systems: a) pixels, b) polar, c) central. clPoint
SizeDefines the size of the element viewport on the screen. The size can be set in any of three coordinate systems: a) pixels, b) visual degrees, c) 'relative-to-screen' size. clSize
Z OrderIndicates the current depth order of the element viewport on the surface of the parent event. The greatest number corresponds to the top position. The order can be changed by moving the element up and down in the element list.Int32
Pivot PointDefines the pivot point (coordinate and the rotation centers) within the element viewport. stAlignment or Int32
VisibleDefines whether the element is currently visible on the event surface. The property is convenient for switching visual content on and off. Boolean
RotationDefines the rotation angle (in degrees) of element viewport relative to the its pivot point. Double in the range 0..360
EFFECTS
Transparent ColorThe color of the original pixels of rendered content that will be set as transparent. stColor
Transparency ToleranceTolerance ratio for choosing colors that become transparent. Zero means that effect is not applied, 1 denotes that all colors will become trasparent. Int32, range (0..100)
Color MaskProduces a multiplicative combination of the original pixels and the selected mask color (except the alpha channel). The effect emulates a look through a colored glass. White or transparent mask color doesn't change the original pixels. stColor
OpacityOpacity of the rendered content. Int32, range (0..100)
ContrastContrast of the rendered content. Int32, range (-100..100)
BrightnessDefines the brighness of the rendered content. Int32, range (-100..100)
SaturationSaturation of the rendered content. Double
PixelationDefines the pixel scale of the rendering. Int32, range (0..100)
BlurringThe radius used in the gaussian blur of rendered content, as a pixel-based factor. The default is 0 which means no blurring. Int32
POSITIONAL JITTER
Reset JitterSet to true at runtime to reset the current positional jitter.Boolean, set true for action
Current JitterJitter range, in pixels (non inclusive)..clSize
Jitter RangeJitter range, centered at the original position of the element.. clSize

+=== Properties inherited from clLibraryElement ===
NameDescriptionConstraintsValue TypeUpon Runtime Change
Material List
Selected IndexDefines the index of the active item in the material list of the element. Int32A change causes the current item to be reloaded and an update of the element.
Selected ItemDefines the name of the active item in the material list of the element. The name matches to a name of item in the Material Library StringA change causes the current item to be reloaded and an update of the element.
Item CountReturns the total number of items in the material list of the element.Int32
Equalize RGBThe property is only available in the visual element. If the value is true, the average RGB pixel intensity will be equalized across all items in the material list. You can turn on this property, when you need to obtain a luminance-balanced set of visual stimulus. Boolean

+=== Properties inherited from clSerialPortElement === Inherited properties of clSerialPort
NameDescriptionConstraintsValue TypeUpon Runtime Change
Settings
Working ModeDefines a working mode for the element. Select 'Auto Output' mode for sending data synchronously with an onset of the parent event, 'Input Detection' mode for catching the particular pattern in port input and 'Manual Output'/'Input Listener' modes for custom writing/reading scenarios controlled via snippets.Struct,Int32
EncodingThe encoding method that is used to convert raw port bytes into text strings and vice verse. The default encoding is ByteChar which converts each byte of data to a single char.Struct,Int32
Buffer SizeSize of the input circular buffer (in bytes) that stores all incoming port data, when the element works in the 'Input Listener' mode. If the buffer is small, a part of the data can be lost before it is read by the program. Int32
Output
Test OutputInitiates a single output transfer through the port by sending the current content of the Output Buffer property
Output BufferText buffer that accumulates data meant to be sent through the port. String
Send NowRuntime action that initiates an instant transfer of the current output value through the port. Manual runtime calls of this action are required if the element works in the Manual Output mode.BooleanAssigning "true" to the linked Proxy in snippets initiates a single action call
Input
Test InputStart a dialog window that monitors arriving port input in realtime. Useп for verification of the selected port settings and encoding method.
InputReturns the most recent content of the circular input buffer, when the element works in the Input Listener. The property is refreshed automatically on each OnRunning cycle, therefore, a property value should be read in the Running snippet.String
Triggering InputWhen the element works in the 'Input Detection' mode, the value of this property defines the 'catching' input string. If such string is detected an incoming input at some moment, the element registers the detection time and becomes triggered. This property is essential for time-accurate registration of the specific input, e.g button press, coming out of a external device. String
Trigger OnceDefines whether the element can be triggered multiple times, while the parent event is active. If the property value is 'true', only the first triggering is registered. Triggering can occur only in the 'Input Detection' working modeBoolean
Runtime Status
Is Input LostIndicates that a part of the input has been lost due to large amount of incoming data at runtime or due to an insufficient size of the input buffer. Try to increase the buffer size or reduce a processing load when the element is active. Boolean
Is TriggeredIndicates whether the element has been triggered at least once, since activation of the parent event. Triggering can occur only in the 'Input Detection' working modeBoolean
Trigger TimeIndicates the local event time of the last element triggering. Triggering can occur only in the 'Input Detection' working mode.UInt64

+=== Properties inherited from clParallelPortElement === Inherited properties of clParallelPort
NameDescriptionConstraintsValue TypeUpon Runtime Change
Port Settings
Working ModeDefines a working mode for the element.Select the 'Output on event onset' mode for sending signals synchronously with an onset of the parent event,or 'Triggering on input' mode for catching the particular pattern in port input. For custom reading/writing scenarios use the 'Manual IO' mode, in which port communications can be controlled by your code.Int32
Output
Test OutputSends a test output signal through the port using the selected signal profile and the current Output Value.
Signal ProfileDefines the time-amplitude profile of the output signal. The 'Level Change', 'Pulse' and 'TTL' profiles are available. Last two can be used to send the EEG triggers. Int32
Preface DurationDefines the duration (ms) of the guarantied zero preface interval for the TTL or Pulse signals. Increase the preface duration marginally, if your recording hardware does not detect port signals. Note that a non-zero preface delays the onset of the actual signal. Double
Pulse DurationDuration of an output pulse in ms. The value is applied only, if the Pulse signal profile is selected. UInt64
Output ValueValue to be sent through the port. Can be defined in integer or binary format, e.g. Output='01010000'; or Output=255; clBinaryInteger
Send NowRuntime command that that initiates an instant transfer of the current output value through the port. Manual command calls at runtime are only required, if the element works in the Manual I/O mode.BooleanExecute the command by assigning true in code: SendNow=true;
Input
Test InputOpen a input monitor window showing real-time port input with the current settings. Use it for testing at designtime.
Input ValueReturns the current state of the port input lines. The property is not updated automatically.
Manual reading of the property value in snippets is required to obtain the current input.
The value can be read either to the integer or binary formats, e.g. 'string S=Input;' may return '01010101'.
clBinaryInteger
Triggering Inputeturns the current state of the port input lines. The property is not updated automatically. Manual reading of the property value in snippets is required to obtain the current input.
The value can be read either to the integer or binary formats, e.g. 'string S=Input;' may return '01010101'.
String
Trigger OnceReturns the current state of the port input lines. The property is not updated automatically. Manual reading of the property value in snippets is required to obtain the current input. The value can be read either to the integer or binary formats, e.g. 'string S=Input;' may return '01010101'Boolean
Runtime Status
Is TriggeredIndicates whether the element has been triggered at least once, since activation of the parent event. Triggering occurs only in the 'Input Detection' working mode.Boolean
Trigger TimeIndicates the local event time of the last element triggering. Triggering occurs only in the 'Input Detection' working mode.UInt64

+=== Properties inherited from clTrackerElement ===
NameDescriptionConstraintsTypeUpon Runtime Change
GLM Calibration
Run GLM CalibrationRuns the GLM calibration procedure, which calculates two pairs of linear coefficients for mapping of the tracker input into the screen coordinates. The calculated coefficients are automatically applied at runtime. Boolean
Gain XDefines the gain coefficient for the X axis in the GLM calibration model: X='GainX'*x+OffsetX Double
Gain YDefines the gain coefficient for the Y axis in the GLM calibration model: Y=GainY*y+OffsetY Double
Offset XDefines the offset coefficient for the X axis in the GLM calibration model: X=GainX*x+OffsetX Double
Offset YDefines the offset coefficient for the Y axis in the GLM calibration model: Y=GainY*y+OffsetY Double
Drift Correction
Recalibrate NowRuntime command that helps to correct drifts in tracking data.Correction is done by recalibration of the latest tracker position into a custom screen point defined by the 'Recalibration Point' property.nAs result, the offsets of the GLM calibration get adjusted (but not gains) to compensate a drift in further data. Boolean
Recalibration PointDefines the screen point to which the tracker position will be recalibrated on calling 'Recalibrate Now' action. The default auto value always denotes the screen center. clPoint
Logging
Log FolderOpens the dialog for selecting a local folder that will hold all tracking logs String
Open Log DesignerOpens a designer window where the log format can be defined. Boolean
Is LoggingDefines whether logging is turn on/off. The value can be changed at any moment at runtime allowing selective logging during the relevant periods only. Boolean
User FieldDefines the custom user data that is added to every line in the log file. The property can be used for recording varying status information (e.g. trial number) together with the tracker data. The string value may contains multiple fields separated by delimiter. StringOnce a string value is assigned, it is added to every new upcoming line in the log until a new assignment is made.

+=== Properties inherited from clElement === Inherited properties of clElement
NameDescriptionConstraintsValue TypeUpon Change
Control
Is EnabledIf set to false the element is completely omitted when the experiment is run.Boolean
TitleTitle of the element.String

ScrewTurn Wiki version 5.2.0.8. Some of the icons created by FamFamFam.