You are on page 1of 56

EyesWeb Compendium 2004

1
EyesWeb Compendium 2004

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

2
EyesWeb Compendium 2004

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.

3
EyesWeb Compendium 2004

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.

4
EyesWeb Compendium 2004

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.

5
EyesWeb Compendium 2004

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.

6
EyesWeb Compendium 2004

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.

7
EyesWeb Compendium 2004

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

8
EyesWeb Compendium 2004

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

9
EyesWeb Compendium 2004

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.

10
EyesWeb Compendium 2004

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.

11
EyesWeb Compendium 2004

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.

12
EyesWeb Compendium 2004

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”

13
EyesWeb Compendium 2004

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.

14
EyesWeb Compendium 2004

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.

Selects the active input that can be used as sync.


Active input Integer
Min. value = 0

15
EyesWeb Compendium 2004

Can lose data Boolean

16
EyesWeb Compendium 2004

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.

17
EyesWeb Compendium 2004

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.

18
EyesWeb Compendium 2004

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.

The current mode of the block. Can be either


Mode Combo
‘Switch’ or ‘Trigger’.

On/off Boolean States the current state of the block

19
EyesWeb Compendium 2004

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

20
EyesWeb Compendium 2004

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

21
EyesWeb Compendium 2004

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

The different operations that can be used in this


block is:

No operation
Sum
Subtraction
Operation Combo
Inverse subtraction
Mean
Mult
Division
Abs
Square

22
EyesWeb Compendium 2004

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.

Number of times to reduce the size of the image


ScaleFactor Interger
for quantization.

Threshold value applied to the reduced quantized


Thresh Interger
image

Number of times the close algorithm is applied to


CloseIterations Interger
the thresholded image

23
EyesWeb Compendium 2004

Output Boolean Toggles the quantized image output

24
EyesWeb Compendium 2004

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

25
EyesWeb Compendium 2004

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 can be set to:


The same as input or
Depth Combo 1-bit
8-bit
16-bit

26
EyesWeb Compendium 2004

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

Min. 0, if the red color should not be converted.


FractR Double
Max. 1, if the red color should be converted.

Min. 0, if the green color should not be


FractG Double converted. Max. 1, if the green color should be
converted.

Min. 0, if the blue color should not be converted.


FractB Double
Max. 1, if the blue color should be converted.

27
EyesWeb Compendium 2004

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(0) Line
Type Combo
Type(1) Rect

Set Color Command Sets the drawing color of the line or rect.

28
EyesWeb Compendium 2004

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

The different filter types that can be used in this


block is:

Filter type Combo Median


Min
Max
Color median

Number of
Integer Specifies how many columns the filter is made of.
columns

Number of
Integer Specifies how many rows the filter is made of.
rows

29
EyesWeb Compendium 2004

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

The width of the output frames in pixels.


Width Integer
Min. size = 0, max. size = 2000.

The height of the output frames in pixels.


Height Integer
Min. size = 0, max. size = 2000.

Two options, 'Color' or 'B/W' mode.

Mode Combo 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.

The amount of red in the output image.


Red Integer
Min. = 0, max. 255

30
EyesWeb Compendium 2004

The amount of green in the output image.


Green Integer
Min. = 0, max. 255

The amount of blue in the output image.


Blue Integer
Min. = 0, max. 255

The amount of output frames pr. second.


Fps Double
Min. 0.001, max. 100.

Allows color selection via the Windows Color


Pick_color Command
Picker Common Dialog.

31
EyesWeb Compendium 2004

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.

The number of frames per second the movie


plays.
FrameRate Double
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.

32
EyesWeb Compendium 2004

Reads the start frame, stop frame and frame rate


SetOrigParams Command of the AVI file and changes the parameters of this
block accordingly.

When true, the block should continue to send


Continuos
Boolean frames to the output when the block is paused or
Output
stopped.

When false, the movie should rewind when the


Loop Boolean
end of the file is reached.

Play, Pause,
Command
Stop

When true, the block may skip frames if it´s


Realtime Boolean
overloadet to keep the framerate constant.

33
EyesWeb Compendium 2004

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

The different operations that can be used in this


block is:

Add

Operation type Combo Subtract


Subtract inverse
Subtract absolute
Multiply
Multiply scale

34
EyesWeb Compendium 2004

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.

35
EyesWeb Compendium 2004

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

The different filters that can be used in this block


is:

Left shift

Operation type Combo Right shift


Not
And
Or
Xor

The number of places to shift by, or use boolean


Value Integer
operator against.

36
EyesWeb Compendium 2004

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

The different operators that can be used is:

Erode
Operation type Combo
Dilate
Open
Close.

Num. The number of iterations the morphological


Integer
Iterations operator should be applied.

37
EyesWeb Compendium 2004

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.

38
EyesWeb Compendium 2004

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

Indicates which Interpolation algorithm when the


Interpolation Combo
window and image size differ.

MinimizeWithG Indicates whether the display window should be


Boolean
UI minimized with the Eyesweb application.

39
EyesWeb Compendium 2004

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

The different operations that can be used in this


block is:

Add
Sub
Operation Combo
Molt
Elements Molt
Elements Div
Inv Sub
Elements Inv Div

40
EyesWeb Compendium 2004

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

This param set the block to work in one of the


following modes:

Mode Combo
Row

column

41
EyesWeb Compendium 2004

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(0) converts the input from integers to real


numbers.
Type Combo
Type(1) converts the input from real numbers to
integers.

42
EyesWeb Compendium 2004

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.

The Row nr from which the SubMatrix should


First_Row Integer
start.

Second_Col Integer The Col nr from which the SubMatrix should end.

The Row nr from which the SubMatrix should


Second_Row Integer
end.

43
EyesWeb Compendium 2004

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.

44
EyesWeb Compendium 2004

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 of the matrix entries:

Type Combo Type(0) Real

Type(1) Integer

The period of the interval in which a matrix is


Period(ms) Integer
generated.

45
EyesWeb Compendium 2004

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

The different operations that can be used in this


block is:

Add
Sub
Molt
Div

Operation Combo InvSub


InvDiv
Pow
Inv Pow
Max
Min
Mod
Inv Mod

46
EyesWeb Compendium 2004

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

The different operations that can be used in this


block is:

== (equals)
!= (not)
> (larger)
Operation Combo
>= (larger or equal)
< (less)
<= (less or equal)
Min
Mod
Inv Mod

47
EyesWeb Compendium 2004

Min
Mod
Inv Mod

48
EyesWeb Compendium 2004

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

Calculates the following running operations on


N Integer
the last N samples of the input stream.

The different filter types that can be used in this


block is:

Sum

Operation Combo Sample Mean


Sample Standard Deviation
Sample Variance
RMS
Duty Cycle

Reset Command Resets the block to 0.

49
EyesWeb Compendium 2004

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

The different operations that can be used in this


block is:

==
!=
Operation Combo
>
>=
<
<=
Nop

Value Double The value to compare to.

50
EyesWeb Compendium 2004

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

The selected operation will be performed with this


ConstValue Double
constant.

The different operations that can be used in this


block is:

Add

Sub

Molt
Operation Combo

Div

Inv Sub

Inv Div

Pow

51
EyesWeb Compendium 2004

Inv Pow

Max

Min

Mod

52
EyesWeb Compendium 2004

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

The modes of the block are:

Both
CrossDirection Combo
Upward

Downward

Threshold Integer The value of the checked threshold

53
EyesWeb Compendium 2004

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:

54
EyesWeb Compendium 2004

Name Type Description

Extraction_Mo
Combo ByLabel, ByIndex
de

Labeled matrix to extract, if bylabel mode is


Label String
selected

If ByIndex is chosen, the index chooses the


Index Integer
wanted matrix.

EnableList Boolean

55
EyesWeb Compendium 2004

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

The number of frames the block uses to calculate


Images Integer
the current Silhouette Motion Image.

The parameters for a median filter applied to the


Median Filter Integer calculated Silhouette Motion Image in order to
reduce noise.

56

You might also like