Compendium 2004EyesWeb
1
Compendium 2004EyesWeb
2
Index
1 Introduction...........................................................................................................3 1.1 What is Eyesweb? .............................................................................................3 1.2 Getting Started with EyesWeb.............................................................................4 1.3 Intel OpenCV....................................................................................................5 1.4 Workspace presentation .....................................................................................6 1.5 What is a Patch? ...............................................................................................8 1.6 What is a Block? ...............................................................................................9 1.7 Tutorials ........................................................................................................ 12 1.8 Asking questions ............................................................................................. 13 1.9 Newsgroups ................................................................................................... 14
2 Block Documentation ............................................................................................ 15 2.1 Generic.InputSwitch ........................................................................................ 15 2.2 Generic.PeriodBang ......................................................................................... 17 2.3 Generic.SnapShot ........................................................................................... 18 2.4 Generic.Switch................................................................................................ 19 2.5 Generic.Trigger............................................................................................... 20 2.6 Generic.Queue................................................................................................ 21 2.7 Generic.UnaryOp............................................................................................. 22 2.8 Imaging.Blobanalysis.ExtractRegions ................................................................. 23 2.9 Imaging.Blobanalysis.TrackRegions ................................................................... 25 2.10 Imaging.Conversion.ColorToGray.................................................................... 26 2.11 Imaging.Blobanalysis.GrayToColor .................................................................. 27 2.12 Imaging.Draw.2PointElement ......................................................................... 28 2.13 Imaging.Filters.NonLinearFilter ....................................................................... 29 2.14 Imaging.Input.FilledFrame............................................................................. 30 2.15 Imaging.Input.MultimediaFileRead .................................................................. 32 2.16 Imaging.Operations.DyadicArithmeticOp.......................................................... 34 2.17 Imaging.Operations.ExcludeAreas................................................................... 35 2.18 Imaging.Operations.MonadicLogicalOp............................................................. 36 2.19 Imaging.Operations. MorphologicalOp ............................................................. 37 2.20 Imaging.Operations.Threshold........................................................................ 38 2.21 Imaging.Output.Display................................................................................. 39 2.22 Math.Matrix.BinaryOp ................................................................................... 40 2.23 Math.Matrix.Concatenate ............................................................................... 41 2.24 Math.Matrix.DomianConv............................................................................... 42 2.25 Math.Matrix.Extract ...................................................................................... 43 2.26 Math.Matrix.GetEntr...................................................................................... 44 2.27 Math.Matrix.Input.Generator .......................................................................... 45 2.28 Math.Scalar.BinaryOp.................................................................................... 46 2.29 Math.Scalar.BinaryOpLogical .......................................................................... 47 2.30 Math.Scalar.RunningOp ................................................................................. 49 2.31 Math.Scalar.UnaryOpLogical........................................................................... 50 2.32 Math.Scalar.ConstOp .................................................................................... 51 2.33 Math.Scalar.ThresCrossing............................................................................. 53 2.34 MoCap.Item.Extract ...................................................................................... 54 2.35 MotionAnalysis.Cues.SMI ............................................................................... 56
Compendium 2004EyesWeb
3
1 Introduction
1.1 What is Eyesweb?
In short Eyesweb is a Microsoft Windows based tool for creating interactive digital
multimedia applications. The tool enables the possibility to form digital sound and images
real-time, through use of various Human-Computer Interactions (HCI). These interactions
include but are not limited to: Object Identification, Segmentation and Recognition, Face
Recognition, Gesture Recognition and Motion Tracking. The Eyesweb tool is used by artists
all over the world for exploring the universe of digital music and visuals.
Fig.1. Pics of the Eyesweb Platform
Why is Eyesweb of relevance to you? Well have you ever wondered how the professionals
make and use the Bluescreen technique as seen in e.g. Star Wars and Lord of the Rings?
Ever wondered how a computer can recognise a fingerprint at the police station? Ever
wondered how some surveillance systems are able to track moving objects automatically
even at night? Well all these things are done through digital image processing and can be
achieved in Eyesweb as well. Therefore exploring Eyesweb will introduce you to the theory
that lies beneath a lot of processes that some today take for granted. Through your work
with Eyesweb you will gain a better understanding of basic digital image and sound
processing theory. The knowledge obtained in this course will then open ones eyes in
regards to many other programs and applications and you will see these in totally new
ways.
Compendium 2004EyesWeb
4
Eyesweb is a non-profit open software platform developed by Lab. InfoMus - DIST -
University of Genoa, Italy. For more information from the creators themselves see:
http://www.infomus.dist.unige.it/eywmain.html .
Eyesweb is based on the Intel OpenCV (Open Source Computer Vision Libaray). The Intel
OpenCV is a collection of program code (C functions, few C++ classes and popular
algorithms) obtained and contributed by researchers all over the world. The Intel OpenCV
may be a bit hard to understand for non-programmers but often contributes to “the
understanding of things” through its documentation. For more info see:
http://www.intel.com/research/mrl/research/opencv/
1.2 Getting Started with EyesWeb
To get properly started with the Eyesweb tool, the first thing to do is of course to install the
program itself. Since there is a lot of different versions and plug-ins out there, it is crucial
that you install the program in the following manner:
1. Download and install the Eyesweb v.3.3.0 Platform from:
ftp://infomus.dist.unige.it/Evaluate/Eyesweb/Version_3.3.0/EyesWeb_full_3.3.0.exe
2. Download and install the Eyesweb v.3.3.0 Upgrade sp1 from:
ftp://infomus.dist.unige.it/Evaluate/Eyesweb/Version_3.3.0/EyesWeb_upgrade_3.3.0sp1.e
xe
3. Download and install the Eyesweb v.3.0.2 Motion Analysis Add-on from:
ftp://infomus.dist.unige.it/Evaluate/Eyesweb/Version_3.1.0/EyesWeb_addons_3.0.2.exe
4. And finally download and ALWAYS USE the Eyesweb 3 documentation from:
ftp://infomus.dist.unige.it/Evaluate/Eyesweb/version_3.0.0/EywDocs.zip
When having completed these steps Eyesweb are ready for use.
Compendium 2004EyesWeb
5
1.3 Intel OpenCV
If you are keen on some more “hard-core” documentation, then the Intel OpenCV is a open
possibility. Note: The Intel OpenCV is NOT mandatory for the AP course (but it is advised
to try it out). To install Intel OpenCV, take the following steps:
1. Goto: http://sourceforge.net/projects/opencvlibrary/
2. Under latest released files find opencv-win and press ‘Download’
3. Here find the ‘OpenCV_b3.1.exe’. Download and install this file. It’s 17,5mb so have
patience.
4. After installing just open the documentation of the OpenCV in the start menu. Here
you’ll find a vast amount of useful stuff.
Compendium 2004EyesWeb
6
1.4 Workspace presentation
A first time user of the Eyesweb tool would be wise to segment the interface into 4 major
areas as shown in Fig.1 below.
Fig.2 The Eyesweb Workspace
Main Workarea
This is the area where a developer creates his Eyesweb Patches. Objects are moved around
here with the drag n’ drop method as we know it from windows. The developer navigates
around this area with the standard horizontal and vertical scrollbars or with the Patch
Navigator window.
Compendium 2004EyesWeb
7
Tools
The Toolbars of Eyesweb are, as in any other program, shortcuts to the different operations
of the program. It is advised to activate ALL toolbars under the ‘View’ menu if allowed by
ones screen-size/resolution. Playing around with the different toolbars is an efficient way to
learn their functionality and should be done by a first time user.
Libraries
The libraries of Eyesweb are a structured index of the different blocks that the program
offers. It is advised to study the 15 different root folders to learn what lies beneath their
titles. In this way a new user will get an initial overview and hence a better understanding
of the programs structure and limits before commencing the actual development.
Commandline
As in most other programs the commandline is a text based feedback to the user. The
commandline is most useful to identify blocks, to debug patches through is error reporting
and much more. It would be a good idea to implement usage of the commandline in ones
workflow at an early point, if one is new to Eyesweb.
Compendium 2004EyesWeb
8
1.5 What is a Patch?
A Patch is a term used to define an Eyesweb file. In terms of Eyesweb a patch is a
structured network of blocks that channels and manipulates a digital input dataflow
resulting in a desired output dataflow (see Fig.2 below). This manipulation can be done
automatically or through real-time interaction from a user (e.g. by motion tracking). The
build-up of a patch in many ways resembles that of an object oriented program (a network
of clusters, classes and objects). A patch could therefore be interpreted as ‘a small
program’.
Fig.3 Patch I/O Illustration
Structuring a patch is often an almost undoable job since patches easily grow to enormous
proportions. It is therefore strongly advised that you build-up your patch in small clusters
(gatherings of blocks that have relevance to each other) and that you skilfully administrate
the connections between blocks. In this way documenting your work for others to read is
also easier.
Fig.4 Other outputs generated from the input of Fig.2
Compendium 2004EyesWeb
9
1.6 What is a Block?
If a patch is a structured network of blocks, then what is a block? As mentioned in the last
section, a patch can be perceived as an object oriented program. If a patch is a program
then the blocks should be considered as the individual classes and functions of the
program. Each block is then an instance of a class and has a specific function that
contributes to the final output of the patch. So blocks are simply named ‘blocks’ because
you use them to build something of a bigger whole.
Remember that you can always identify a block by hovering the cursor over it and reading
the commandline OR by right clicking it and then choosing ‘Locate’.
Fig.5 Block I/O illustration
Above (Fig.4) you see an illustration of a typical block. As the patch a block of course has
an input and an output. Each block also has a range of attributes that we’ll now quickly go
through.
Params:
The ‘params’ are the main parameters of a block that the user can set. These ‘params’
defines or refines the function of the specific block. If in doubt about the function of a
block, remember that you can always find the function of a specific block in the Eyesweb
Compendium 2004EyesWeb
10
documentation! You can see the ‘params’ of a block by double clicking it or by right clicking
it and then choosing ‘set params’.
Extended Params:
Though they are seldom used the ‘extended params’ of a block holds one useful function
and that is the deactivation-button. If ever wondering what a specific block does in a patch,
it is always a good idea to try to deactivate it. In this way you will simply see through the
output what the block does. You can see the ‘extended params’ of a block by double
clicking it or by right clicking it and then choosing ‘set params’.
Exported Params:
The ‘exported params’ node are ‘params’ that you can set while a patch is running. In other
words these are ‘params’ that can be manipulated real-time. This can be done manually by
the user or through the output of another block. This function has many advantages when
making HIC applications in Eyesweb. You can see the ‘exported params’ of a block by
double clicking it or by right clicking it and then choosing ‘set params’.
Input:
The input node of a block is of course where the block gets its input dataflow. As in
programming a block MUST get a specific input to give a specific output. Giving a block that
expects a matrix input an int instead will e.g. result in error. If getting such errors ALWAYS
check that you are giving a block the correct type of input. You can see what type of input
a block expects by hovering the cursor over the blocks input node and then reading the
commandline.
Output:
As with the input node, the output node is of a certain type. You can learn this type in the
same manner as with the input. To understand the output of a block it is a good idea to
‘read it’ by using the output block of the given library. If you e.g. want to read an output of
type matrix, you’d have to find a math.matrix.output.display block under the ‘math’ library.
Compendium 2004EyesWeb
11
Note: It is a VERY good idea to try to read the output of a block if you are either uncertain
of what it does OR are trying to identify an error.
Custom (only some blocks):
Some blocks have some custom ‘params’ that can be set. These special ‘params’ are very
block specific and are usually rather easy to figure out. If in doubt; play around with them,
refer to the documentation or ask a teacher (in that order).
Block Info:
If ever in doubt of what a specific block does, simply right-click the block and choose ‘block
info’. You will then get a short description of the blocks function. If this does not help you
understand the block, please refer to the block documentation in the ‘documentation’ dir
under the Eyesweb folder in the ‘Start’ menu.
Compendium 2004EyesWeb
12
1.7 Tutorials
Besides the exercises presented in the Automatic Perception course, tutorials and examples
for Eyesweb can be found else where. Under your Eyesweb installation folder you’ll find a
directory named /Patches. This folder contains about 100 patches and test-movies free to
use. So if you a keen on learning more about Eyesweb fast, try to investigate these
example patches. You’ll find ,no doubt, that these patches are often a great reference if you
need inspiration for a specific problem or project. So if you are determined on doing things
yourself, this is a good place to start.
Further tutorials can also be found on the Eyesweb website under
http://www.infomus.dist.unige.it/eywtutorials.html.
Compendium 2004EyesWeb
13
1.8 Asking questions
When asking questions, in the time to come, remember ALWAYS use the Medialogy Forum
(http://medbb.cs.aue.auc.dk/). AP related questions send directly by mail to either teacher
or teaching assistant simply won’t be answered. Why is this so important? Well if
everybody uses the forum for questions as well as answers, the forum will automatically
turn into a FAQ for Automatics Perception. Hence future generations of Medialogy will be
able to use this FAQ and save their own as well as the teachers’ time. All in all a better
solution for everybody.
Furthermore, to give answers as quickly and efficient as possible, we teachers urge you
students to include the following information in your questions:
Question: What is the problem and what are you trying to achieve?
Own Effort: What has already been researched and where are you now?
Ideas: What do you THINK could help solve the problem?
Work: Do you have an Eyesweb patch that shows your current state and progress?
Example:
“Hey Teacher
We, the people of group x, are trying to do some background subtraction on an input movie
stream. We are currently stuck though since our output looks totally wrong. We’ve been
playing around with the Boolean operators, have actually tried all of ‘em, but still aren’t
getting anywhere. We have an Idea that we might be using the wrong block type. Does this
hold any truth? We have attached our current patch version. Please have a look at it give
some feedback.
Best
Group x”
Compendium 2004EyesWeb
14
1.9 Newsgroups
The creators of Eyesweb has also made newsgroups available for questions. To activate
these simply find the ‘support’ dir under the Eyesweb folder in the ‘Start’ menu and click
the newsgroup of interest.
The available groups are:
• eyesweb.announce
General announcements (new releases, fixes, etc.) or availability of tools and utilities.
• eyesweb.bugs
Bug reports, workarounds.
• eyesweb.discussion
Exchange of ideas, proposals, uses of the system, etc.
• eyesweb.install
Discussion of issues related to EyesWeb install and setup procedures on different
systems.
• eyesweb.libraries
Announcements and discussion of current libraries, new blocks and patches from the
user community, etc.
• eyesweb.patches
Exchange of patches and related material.
Compendium 2004EyesWeb
15
2 Block Documentation
2.1 Generic.InputSwitch
Input/Output Datatype:
Description:
This block functions as a ‘redirector’ of data-stream. Hence this block is often used to
control the dataflow of a patch. The InputSwitch block receives 2 inputs as default, but can
receive any number of inputs. The block switches between inputs based on the int value of
the external param.
Example: In its default state the block will let input 0 pass until another int input is
received through the external param. At this point then block will then ‘Switch’ and let
input 1 pass if the external param input received is 1.
Parameters:
Name Type Description
Working mode Combo Selects which of the inputs to send to the output.
Num inputs Integer The number of inputs.
Active input Integer Selects the active input that can be used as sync.
Min. value = 0
Compendium 2004EyesWeb
16
Can lose data Boolean
Compendium 2004EyesWeb
17
2.2 Generic.PeriodBang
Input/Output Datatype:
Description:
This block generates a periodic Bang output (bang signals with given time delays).
TIP: Bang signals can be used to activate a command button.
Parameters:
Name Type Description
Period Unit(ms) The time interval in ms of the generated bangs.
Compendium 2004EyesWeb
18
2.3 Generic.SnapShot
Input/Output Datatype:
Description:
This block is used to grab a single frame of a video stream when activated through its
external param. Hence the name ‘Snapshot’. It provides as output the value stored in an
internal buffer.
TIP: Use the "Load" command to load the internal buffer with a new value (take a new
snapshot). Activate the "Load" command with a button or Bang signal.
Parameters:
Name Type Description
Load Command Loads one image on command.
Compendium 2004EyesWeb
19
2.4 Generic.Switch
Input/Output Datatype:
Description:
Enables or disables the flow of data through a channel. When working in 'Switch' mode the
block keeps the current status (enabled or disabled channel) until a new 'Switch' command is
received through the external param. When working in 'Trigger' mode the channel is
automatically disabled once data has passed through.
TIP: Use the 'Trigger' command to enable the block again when in ‘Trigger’ mode for
another data instance.
Parameters:
Name Type Description
Switch/Trigger Command Activation command parameter.
Mode Combo The current mode of the block. Can be either
‘Switch’ or ‘Trigger’.
On/off Boolean States the current state of the block
Compendium 2004EyesWeb
20
2.5 Generic.Trigger
Input/Output Datatype:
Description:
Propagates the input to an output, whenever a ‘Pulse’ command is received. The block
resets itself after each trigger instance.
Parameters:
Name Type Description
Pulse Command Activation parameter
Compendium 2004EyesWeb
21
2.6 Generic.Queue
Input/Output Datatype:
Description:
Provides a queue of arbitrary length to delay the dataflow.
Example: This block will grab and store the 4 frames back in time if Length is set to 4.
TIP: Use this block if you want to ‘store’ previous frame data for further processing.
Parameters:
Name Type Description
Length HasMin(0) The length of the queue
Compendium 2004EyesWeb
22
2.7 Generic.UnaryOp
Input/Output Datatype:
Description:
This block does unary operations on images, sound buffers, scalars, and matrices. In others
words ‘various operations on a single input’.
Parameters:
Name Type Description
Operation Combo
The different operations that can be used in this
block is:
No operation
Sum
Subtraction
Inverse subtraction
Mean
Mult
Division
Abs
Square
Compendium 2004EyesWeb
23
2.8 Imaging.Blobanalysis.ExtractRegions
Input/Output Datatype:
Description:
This block identifies multiple blobs of white pixels from a binary image. The regions are
calculated in a top left first order.
TIP: This Block is used in blob-tracking. To track and identify regions use the TrackRegions
block linked to the output of this block.
Parameters:
Name Type Description
NumRegions Interger The number of maximum regions to extract.
ScaleFactor Interger Number of times to reduce the size of the image
for quantization.
Thresh Interger Threshold value applied to the reduced quantized
image
CloseIterations Interger Number of times the close algorithm is applied to
the thresholded image
Compendium 2004EyesWeb
24
Output Boolean Toggles the quantized image output
Compendium 2004EyesWeb
25
2.9 Imaging.Blobanalysis.TrackRegions
Input/Output Datatype:
Description:
Tracks and identifies multiple blobs, extracted by the ExtractRegions block.
TIP: This Block is used in blobtracking.
Parameters:
Name Type Description
Reset Command ExportedByDefault
Compendium 2004EyesWeb
26
2.10 Imaging.Conversion.ColorToGray
Input/Output Datatype:
Description:
Converts a 24-bit color image to a 8-bit grey scale image. This results in a 1 channel
image.
Parameters:
Name Type Description
Depth Combo
Depth can be set to:
The same as input or
1-bit
8-bit
16-bit
Compendium 2004EyesWeb
27
2.11 Imaging.Blobanalysis.GrayToColor
Input/Output Datatype:
Description:
Converts a 1 channel 8-bit grayscale image into a 3 channel 24-bit grey scale image.
Parameters:
Name Type Description
FractR Double Min. 0, if the red color should not be converted.
Max. 1, if the red color should be converted.
FractG Double
Min. 0, if the green color should not be
converted. Max. 1, if the green color should be
converted.
FractB Double Min. 0, if the blue color should not be converted.
Max. 1, if the blue color should be converted.
Compendium 2004EyesWeb
28
2.12 Imaging.Draw.2PointElement
Input/Output Datatype:
Description:
Draws a Line or a Rectangle in the Input Image using an image and a matrix as inputs. This
is typically used to identify blobs in blobtracking.
TIP: The image input could be the original dataflow and the matrix input a matrix holding
[x, y, width, height] of a tracked blob. This could result in a bounding rect around a moving
object in a movie.
Parameters:
Name Type Description
Type Combo Type(0) Line
Type(1) Rect
Set Color Command Sets the drawing color of the line or rect.
Compendium 2004EyesWeb
29
2.13 Imaging.Filters.NonLinearFilter
Input/Output Datatype:
Description:
Performs a nonlinear rank filtering on the input image.
TIP: This block is very useful when doing noise suppression.
Parameters:
Name Type Description
Filter type Combo
The different filter types that can be used in this
block is:
Median
Min
Max
Color median
Number of
columns Integer Specifies how many columns the filter is made of.
Number of
rows Integer Specifies how many rows the filter is made of.
Compendium 2004EyesWeb
30
2.14 Imaging.Input.FilledFrame
Input/Output Datatype:
Description:
Generate a frame with the given dimensions ('Width' and 'Height' parameters). If 'Mode' is
set to 'Color', then the output image is a 3 channel 24-bit image, with each of the channels
set to the values specified by the 'Red', 'Green', and ''Blue' parameters, respectively. If
'Mode' is set to 'B/W', then the output is a 8-bit grey scale.
Parameters:
Name Type Description
Width Integer The width of the output frames in pixels.
Min. size = 0, max. size = 2000.
Height Integer The height of the output frames in pixels.
Min. size = 0, max. size = 2000.
Mode Combo
Two options, 'Color' or 'B/W' mode.
If 'Colour' is chosen the output is a three channel
image containing red, green and blue, if 'B/W' is
chosen the output is a greyscale image.
Red Integer The amount of red in the output image.
Min. = 0, max. 255
Compendium 2004EyesWeb
31
Green Integer The amount of green in the output image.
Min. = 0, max. 255
Blue Integer The amount of blue in the output image.
Min. = 0, max. 255
Fps Double The amount of output frames pr. second.
Min. 0.001, max. 100.
Pick_color Command Allows color selection via the Windows Color
Picker Common Dialog.
Compendium 2004EyesWeb
32
2.15 Imaging.Input.MultimediaFileRead
Input/Output Datatype:
Description:
This block reads a video file from a given location (e.g. harddrive) and gives this signal as an
output. It is usually activated with a command button through its external param input. The
params of this block include framerate, looping, start/end frame and more.
TIP: If your system is stalling, try lowering the framerate to free memory.
To make a relative link to a movie clip remove path info from filename.
Press the ‘SetOrigParam’ button after defining a movie path. This ‘auto’ sets the params of
the block.
Parameters:
Name Type Description
AviFileName FileName The avi-file used.
FrameRate Double
The number of frames per second the movie
plays.
Min. fps. 0.001.
Max. fps. 100.
StartFrame Integer The frame from where the movie should begin.
StopFrame Integer The frame where the movie should stop.
Compendium 2004EyesWeb
33
SetOrigParams Command
Reads the start frame, stop frame and frame rate
of the AVI file and changes the parameters of this
block accordingly.
Continuos
Output Boolean
When true, the block should continue to send
frames to the output when the block is paused or
stopped.
Loop Boolean When false, the movie should rewind when the
end of the file is reached.
Play, Pause,
Stop Command
Realtime Boolean When true, the block may skip frames if it´s
overloadet to keep the framerate constant.
Compendium 2004EyesWeb
34
2.16 Imaging.Operations.DyadicArithmeticOp
Input/Output Datatype:
Description:
This Block performs a dyadic arithmetic operation on two input images. In others words
‘various operations on two inputs’.
Parameters:
Name Type Description
Operation type Combo
The different operations that can be used in this
block is:
Add
Subtract
Subtract inverse
Subtract absolute
Multiply
Multiply scale
Compendium 2004EyesWeb
35
2.17 Imaging.Operations.ExcludeAreas
Input/Output Datatype:
Description:
This Block erases multiple rectangular areas with the specified background color. The areas
are specified with a DisplayClick block or a dynamic matrix input.
TIP: This block can be used to extract a ROI from an image stream. The matrix input
defines which area to exclude/include.
Parameters:
No declared parameters.
Compendium 2004EyesWeb
36
2.18 Imaging.Operations.MonadicLogicalOp
Input/Output Datatype:
Description:
Performs a monadic logical operation on a single input image. All operations are performed
bitwise, i.e. between corresponding pixels.
Tip: Using shifts is the same as dividing or multiplying by powers of 2.
Parameters:
Name Type Description
Operation type Combo
The different filters that can be used in this block
is:
Left shift
Right shift
Not
And
Or
Xor
Value Integer The number of places to shift by, or use boolean
operator against.
Compendium 2004EyesWeb
37
2.19 Imaging.Operations. MorphologicalOp
Input/Output Datatype:
Description:
Performs a morphological operation on the input image. Either erode, dilate, open or close.
TIP: These blocks are very useful tools in noise suppression.
Parameters:
Name Type Description
Operation type Combo
The different operators that can be used is:
Erode
Dilate
Open
Close.
Num.
Iterations Integer
The number of iterations the morphological
operator should be applied.
Compendium 2004EyesWeb
38
2.20 Imaging.Operations.Threshold
Input/Output Datatype:
Description:
Thresholds the source image. Everything above the threshold is considered ‘foreground’
and everything under is considered ‘background’
Parameters:
Name Type Description
Threshold Integer The value the threshold is set to.
Compendium 2004EyesWeb
39
2.21 Imaging.Output.Display
Input/Output Datatype:
Description:
The Image.output display is used as an image output. The block takes the image from the
image-library and displays it in a popup window.
Parameters:
Name Type Description
Interpolation Combo Indicates which Interpolation algorithm when the
window and image size differ.
MinimizeWithG
UI Boolean
Indicates whether the display window should be
minimized with the Eyesweb application.
Compendium 2004EyesWeb
40
2.22 Math.Matrix.BinaryOp
Input/Output Datatype:
Description:
Performs the selected operation on two input matrices resulting in a new matrix.
Parameters:
Name Type Description
Operation Combo
The different operations that can be used in this
block is:
Add
Sub
Molt
Elements Molt
Elements Div
Inv Sub
Elements Inv Div
Compendium 2004EyesWeb
41
2.23 Math.Matrix.Concatenate
Input/Output Datatype:
Description:
This block combines 2 matrices in extension of each other row or column-wise.
TIP: This is e.g. often useful when wanting to combine 2 sets of x,y coordinates to a 2x2
matrix describing a rectangle.
Parameters:
Name Type Description
Mode Combo
This param set the block to work in one of the
following modes:
Row
column
Compendium 2004EyesWeb
42
2.24 Math.Matrix.DomianConv
Input/Output Datatype:
Description:
This block converts the content of a Matrix from either ‘Real To Integer’ or from ‘Integer to
Real’ numbers.
TIP: This is e.g. used in situations where only one input type is accepted by another block.
Parameters:
Name Type Description
Type Combo
Type(0) converts the input from integers to real
numbers.
Type(1) converts the input from real numbers to
integers.
Compendium 2004EyesWeb
43
2.25 Math.Matrix.Extract
Input/Output Datatype:
Description:
This block extracts a desired sub-matrix from an input matrix. This is done by setting the
‘top left’ and ‘bottom right’ entry numbers of the sub-matrix in the params of this block.
TIP: Remember that the first entry of a 2d Matrix starts in [0,0] and NOT [1,1].
Parameters:
Name Type Description
First_Col Integer The Col nr from which the SubMatrix should start.
First_Row Integer The Row nr from which the SubMatrix should
start.
Second_Col Integer The Col nr from which the SubMatrix should end.
Second_Row Integer The Row nr from which the SubMatrix should
end.
Compendium 2004EyesWeb
44
2.26 Math.Matrix.GetEntr
Input/Output Datatype:
Description:
This block extracts a single entry from an input matrix.
TIP: Remember that the first entry of a 2d Matrix starts in [0,0] and NOT [1,1].
Parameters:
Name Type Description
Row Integer The Row nr of the entry.
Col Integer The Col nr of the entry.
Compendium 2004EyesWeb
45
2.27 Math.Matrix.Input.Generator
Input/Output Datatype:
Description:
This block generates a matrix whose entries may be specified by means of the Matrix editor
provided in the custom dialog. The number of columns is limited to 545. The number of
rows is only limited by the available memory.
TIP: Use this block if you need a matrix of a certain size as input for e.g. the
Imaging.BlobAnalysis.TrackRegions block.
Parameters:
Name Type Description
NumRows Integer The row size of the generated matrix.
NumColumns Integer The col size of the generated matrix.
Type Combo
Type of the matrix entries:
Type(0) Real
Type(1) Integer
Period(ms) Integer The period of the interval in which a matrix is
generated.
Compendium 2004EyesWeb
46
2.28 Math.Scalar.BinaryOp
Input/Output Datatype:
Description:
This block executes a binary operation on the 2 scalar inputs producing a scalar output.
Parameters:
Name Type Description
Operation Combo
The different operations that can be used in this
block is:
Add
Sub
Molt
Div
InvSub
InvDiv
Pow
Inv Pow
Max
Min
Mod
Inv Mod
Compendium 2004EyesWeb
47
2.29 Math.Scalar.BinaryOpLogical
Input/Output Datatype:
Description:
This block performs a binary logical operation on the 2 input scalars. The resulting scalar is
of the same type as the input scalar. A condition is checked for each entry of the inputs.
The corresponding output entry is zero if the condition is false, otherwise its value is
different from zero.
TIP: This block can be used in an ‘If sentence’ like we know it from programming.
Parameters:
Name Type Description
Operation Combo
The different operations that can be used in this
block is:
== (equals)
!= (not)
> (larger)
>= (larger or equal)
< (less)
<= (less or equal)
Min
Mod
Inv Mod
Compendium 2004EyesWeb
48
Min
Mod
Inv Mod
Compendium 2004EyesWeb
49
2.30 Math.Scalar.RunningOp
Input/Output Datatype:
Description:
This block calculates a running operation on the last N samples of the scalar input stream.
TIP: Use this block when doing statistic calculations
Parameters:
Name Type Description
N Integer Calculates the following running operations on
the last N samples of the input stream.
Operation Combo
The different filter types that can be used in this
block is:
Sum
Sample Mean
Sample Standard Deviation
Sample Variance
RMS
Duty Cycle
Reset Command Resets the block to 0.
Compendium 2004EyesWeb
50
2.31 Math.Scalar.UnaryOpLogical
Input/Output Datatype:
Description:
Perform a logical operation on the input scalar value against the parameter 'Value'. The
output is either 0 or 1 representing “true” or “false”.
Parameters:
Name Type Description
Operation Combo
The different operations that can be used in this
block is:
==
!=
>
>=
<
<=
Nop
Value Double The value to compare to.
Compendium 2004EyesWeb
51
2.32 Math.Scalar.ConstOp
Input/Output Datatype:
Description:
Executes the selected operation on the scalar input with a constant.
TIP: use this block if you e.g. need to multiply a scalar flow with a constant or do any other
constant action to a scalar.
Parameters:
Name Type Description
ConstValue Double The selected operation will be performed with this
constant.
Operation Combo
The different operations that can be used in this
block is:
Add
Sub
Molt
Div
Inv Sub
Inv Div
Pow
Compendium 2004EyesWeb
52
Inv Pow
Max
Min
Mod
Compendium 2004EyesWeb
53
2.33 Math.Scalar.ThresCrossing
Input/Output Datatype:
Description:
This block outputs the input value every time it crosses (upward, downward or both) a
threshold value.
TIP: This block is very helpful if you what to activate something if a scalar flow e.g. rises
above a certain point.
Parameters:
Name Type Description
CrossDirection Combo
The modes of the block are:
Both
Upward
Downward
Threshold Integer The value of the checked threshold
Compendium 2004EyesWeb
54
2.34 MoCap.Item.Extract
Input/Output Datatype:
Description:
This block extracts an item from the input MoCap list. It is typically used in blob tracking.
The value output is a 1x4 matrix containing [x, y, width, height] that can be used to
calculate the bounding rectangle of a blob.
Parameters:
Compendium 2004EyesWeb
55
Name Type Description
Extraction_Mo
de Combo ByLabel, ByIndex
Label String Labeled matrix to extract, if bylabel mode is
selected
Index Integer If ByIndex is chosen, the index chooses the
wanted matrix.
EnableList Boolean
Compendium 2004EyesWeb
56
2.35 MotionAnalysis.Cues.SMI
Input/Output Datatype:
Description:
The SMI block receives an image flow, if there is motion in the flow it gives the output
between 0,01 and 1, if there is no motion it gives the output 0. This can be used in e.g.
motion detection.
Parameters:
Name Type Description
Images Integer The number of frames the block uses to calculate
the current Silhouette Motion Image.
Median Filter Integer
The parameters for a median filter applied to the
calculated Silhouette Motion Image in order to
reduce noise.
Top Related