Eyesweb Compendium v4 - CSC

56

Transcript of Eyesweb Compendium v4 - CSC

Page 1: Eyesweb Compendium v4 - CSC

Compendium 2004EyesWeb

1

Page 2: Eyesweb Compendium v4 - CSC

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

Page 3: Eyesweb Compendium v4 - CSC

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.

Page 4: Eyesweb Compendium v4 - CSC

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.

Page 5: Eyesweb Compendium v4 - CSC

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.

Page 6: Eyesweb Compendium v4 - CSC

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.

Page 7: Eyesweb Compendium v4 - CSC

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.

Page 8: Eyesweb Compendium v4 - CSC

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

Page 9: Eyesweb Compendium v4 - CSC

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

Page 10: Eyesweb Compendium v4 - CSC

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.

Page 11: Eyesweb Compendium v4 - CSC

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.

Page 12: Eyesweb Compendium v4 - CSC

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.

Page 13: Eyesweb Compendium v4 - CSC

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”

Page 14: Eyesweb Compendium v4 - CSC

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.

Page 15: Eyesweb Compendium v4 - CSC

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

Page 16: Eyesweb Compendium v4 - CSC

Compendium 2004EyesWeb

16

Can lose data Boolean

Page 17: Eyesweb Compendium v4 - CSC

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.

Page 18: Eyesweb Compendium v4 - CSC

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.

Page 19: Eyesweb Compendium v4 - CSC

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

Page 20: Eyesweb Compendium v4 - CSC

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

Page 21: Eyesweb Compendium v4 - CSC

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

Page 22: Eyesweb Compendium v4 - CSC

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

Page 23: Eyesweb Compendium v4 - CSC

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

Page 24: Eyesweb Compendium v4 - CSC

Compendium 2004EyesWeb

24

Output Boolean Toggles the quantized image output

Page 25: Eyesweb Compendium v4 - CSC

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

Page 26: Eyesweb Compendium v4 - CSC

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

Page 27: Eyesweb Compendium v4 - CSC

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.

Page 28: Eyesweb Compendium v4 - CSC

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.

Page 29: Eyesweb Compendium v4 - CSC

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.

Page 30: Eyesweb Compendium v4 - CSC

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

Page 31: Eyesweb Compendium v4 - CSC

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.

Page 32: Eyesweb Compendium v4 - CSC

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.

Page 33: Eyesweb Compendium v4 - CSC

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.

Page 34: Eyesweb Compendium v4 - CSC

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

Page 35: Eyesweb Compendium v4 - CSC

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.

Page 36: Eyesweb Compendium v4 - CSC

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.

Page 37: Eyesweb Compendium v4 - CSC

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.

Page 38: Eyesweb Compendium v4 - CSC

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.

Page 39: Eyesweb Compendium v4 - CSC

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.

Page 40: Eyesweb Compendium v4 - CSC

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

Page 41: Eyesweb Compendium v4 - CSC

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

Page 42: Eyesweb Compendium v4 - CSC

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.

Page 43: Eyesweb Compendium v4 - CSC

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.

Page 44: Eyesweb Compendium v4 - CSC

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.

Page 45: Eyesweb Compendium v4 - CSC

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.

Page 46: Eyesweb Compendium v4 - CSC

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

Page 47: Eyesweb Compendium v4 - CSC

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

Page 48: Eyesweb Compendium v4 - CSC

Compendium 2004EyesWeb

48

Min

Mod

Inv Mod

Page 49: Eyesweb Compendium v4 - CSC

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.

Page 50: Eyesweb Compendium v4 - CSC

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.

Page 51: Eyesweb Compendium v4 - CSC

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

Page 52: Eyesweb Compendium v4 - CSC

Compendium 2004EyesWeb

52

Inv Pow

Max

Min

Mod

Page 53: Eyesweb Compendium v4 - CSC

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

Page 54: Eyesweb Compendium v4 - CSC

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:

Page 55: Eyesweb Compendium v4 - CSC

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

Page 56: Eyesweb Compendium v4 - CSC

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.