Welcome Guest, you are in: Login

EventIDE Wiki

RSSRSS

Navigation




Search the wiki


PoweredBy

Page History: EE Webcam Element

Compare Page Revisions



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


Page Revision: 2014/07/22 06:07


Element Icon Webcam Element
Info
Category: Behavioral Control AddIn: Surveillance
Creator: OkazoLab Team Scope: Global
Owns Snippets: no Usage: Status Screen
The element allows monitoring the output of any video capturing device, e.g. webcam, on the status screen in EventIDE.


Description

Short description

Snapshots

Snapshot 1

Snapshot 1

Snapshot 2

Snapshot 2


Practical Use

Technique 1

  1. Add new Webcam element to any event in your experiment
  2. Click on the Webcam element and select a video device from the device list in the property grid
  3. Add a proxy variable to the Video Output property of the Webcam element
  4. Create a XAML ContentControl on the status screen and set its binding to the VideoOutput proxy variable:

 // you can place the content control inside of any parent container
<ContentControl Width="640" Height="480" Content='{Binding VideoOutput}'/>
  1. Make sure that camera working and run an experiment. The video output will be rendered scaled to the area of the Content Control on the Status Screen

Element actions aligned with different epochs of the parent event

EpocheActions
InitializedThe selected camera starts capturing video
Rendered
Activating
Activated
RunningThe camera output is rendered via the Video Output property, if it is bound to the status screen
Deactivated
DeinitializedThe selected camera stops capturing video

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.