+ All Categories
Home > Documents > Introduction to Jitter & Eyesweb Volker Krüger Aalborg Media Lab Aalborg University Copenhagen...

Introduction to Jitter & Eyesweb Volker Krüger Aalborg Media Lab Aalborg University Copenhagen...

Date post: 21-Dec-2015
Category:
View: 230 times
Download: 2 times
Share this document with a friend
Popular Tags:
24
Introduction to Jitter & Eyesweb Volker Krüger Aalborg Media Lab Aalborg University Copenhagen [email protected]
Transcript
Page 1: Introduction to Jitter & Eyesweb Volker Krüger Aalborg Media Lab Aalborg University Copenhagen vok@media.aau.dk.

Introduction to Jitter & Eyesweb

Volker KrügerAalborg Media Lab

Aalborg University [email protected]

Page 2: Introduction to Jitter & Eyesweb Volker Krüger Aalborg Media Lab Aalborg University Copenhagen vok@media.aau.dk.

What are Jitter and Eyesweb good for?• Intuitive programming without programming!• Big variety of functionality, incl. those that you

have learned about• Easy to use: Simply connect the function boxes• Fast prototyping of ideas• Jitter: Enhancement to Max/MSP

Introduction to Jitter & Eyesweb

Agenda1. Intro to the Jitter specific issues2. Walk-through through some simple key-

examples of Jitter and Eyesweb

Page 3: Introduction to Jitter & Eyesweb Volker Krüger Aalborg Media Lab Aalborg University Copenhagen vok@media.aau.dk.

Matrices – Coordinates and Dimensions

Main important data type in Jitter: Matrices!

• Like images: they have

coordinates (x,y) and a size!

• Matrices can have several

dimensions: (x,y,z), (x,y,t)

Page 4: Introduction to Jitter & Eyesweb Volker Krüger Aalborg Media Lab Aalborg University Copenhagen vok@media.aau.dk.

Matrices -- Planes• When displaying, e.g., color images, each

pixel is represented with 3 values: R, G, B!

• This is handled in Jitter with Planes.

• The A plane can be used for alpha blending.

Page 5: Introduction to Jitter & Eyesweb Volker Krüger Aalborg Media Lab Aalborg University Copenhagen vok@media.aau.dk.

Allowed Datatypes• Available datatypes are:

– char (8 bit), long (32 bit)– float32 (32 bit) , float64 (64 bit)

• Functions usually adapt to input, no conversions needed!

• Parameter can be casted!

Page 6: Introduction to Jitter & Eyesweb Volker Krüger Aalborg Media Lab Aalborg University Copenhagen vok@media.aau.dk.

• Like in Max/MSP, Jitter functions can have– Parameters– Attributes

• Can be given as default values (order matters!)

• Attributes can be given explicitly (no blank after “@”):

• Can be changes during program execution

Attributes and Arguments!

Page 7: Introduction to Jitter & Eyesweb Volker Krüger Aalborg Media Lab Aalborg University Copenhagen vok@media.aau.dk.

Arguments or Attributes?• Parameters can be passed as arguments

to the functions:• Arguments have to be passed before

attributes are set.• The following are equivalent:

Page 8: Introduction to Jitter & Eyesweb Volker Krüger Aalborg Media Lab Aalborg University Copenhagen vok@media.aau.dk.

• In order to read out the attribute setting:

• To read out the value of a particular attribute:

Getting Attribute Information

Page 9: Introduction to Jitter & Eyesweb Volker Krüger Aalborg Media Lab Aalborg University Copenhagen vok@media.aau.dk.

First Example: Playing a video• read reads the name and

passes it on.• jit.qt.movie reads video

into memory: Parameters: size

• jit.window opens a window and attempts to display the movie. Parameters: window name, corner position of the window.

• No data is being copied, except for references!!

• And not data is being displayed either!!!

Page 10: Introduction to Jitter & Eyesweb Volker Krüger Aalborg Media Lab Aalborg University Copenhagen vok@media.aau.dk.

The output has to be triggered!

• jit.window needs to be triggered!

• The example sends a bang every 40 ms.

• To restart the movie, set the attribute time to zero!

Page 11: Introduction to Jitter & Eyesweb Volker Krüger Aalborg Media Lab Aalborg University Copenhagen vok@media.aau.dk.

Example for Message Passing

Page 12: Introduction to Jitter & Eyesweb Volker Krüger Aalborg Media Lab Aalborg University Copenhagen vok@media.aau.dk.

Reading and Displaying Videos in Eyesweb

Page 13: Introduction to Jitter & Eyesweb Volker Krüger Aalborg Media Lab Aalborg University Copenhagen vok@media.aau.dk.

Working with Matrices• How to generate a matrix of a particular

type:

• This reserves a region inside the computer memory for the data

• Parameters are planecount, type and dim.

Page 14: Introduction to Jitter & Eyesweb Volker Krüger Aalborg Media Lab Aalborg University Copenhagen vok@media.aau.dk.

Printing matrix data• To print the matrix data a special function

exists:jit.print

• print left prints the reference to the matrix. It is a random name!

Page 15: Introduction to Jitter & Eyesweb Volker Krüger Aalborg Media Lab Aalborg University Copenhagen vok@media.aau.dk.

Setting and reading values• setcell• getcell• setall• clear

Page 16: Introduction to Jitter & Eyesweb Volker Krüger Aalborg Media Lab Aalborg University Copenhagen vok@media.aau.dk.

Window object• Having set the matrix values we can

output the values visually using jit.pwindow

• It can be found in the task bar

Page 17: Introduction to Jitter & Eyesweb Volker Krüger Aalborg Media Lab Aalborg University Copenhagen vok@media.aau.dk.

Setting the values of the entire matrix

• Setting each single matrix value separately is tedious.

• Alternative: Use loops and functions:

• Uzi <val> sends numbers 1 … <val>

Page 18: Introduction to Jitter & Eyesweb Volker Krüger Aalborg Media Lab Aalborg University Copenhagen vok@media.aau.dk.

Matrices in Eyesweb• Hardly ever used explicitly!

• Matrices are used – in replacement of images– as filter matrices

Page 19: Introduction to Jitter & Eyesweb Volker Krüger Aalborg Media Lab Aalborg University Copenhagen vok@media.aau.dk.

Jitter Operators• In Jitter, mathematical operators can be

applied to matrices:

• This allows to generate important functions like thresholding!

Page 20: Introduction to Jitter & Eyesweb Volker Krüger Aalborg Media Lab Aalborg University Copenhagen vok@media.aau.dk.

Jitter Operators• For multi-band images, the operator can

be applied to each image band separately:

Page 21: Introduction to Jitter & Eyesweb Volker Krüger Aalborg Media Lab Aalborg University Copenhagen vok@media.aau.dk.

Operators in Eyesweb

Page 22: Introduction to Jitter & Eyesweb Volker Krüger Aalborg Media Lab Aalborg University Copenhagen vok@media.aau.dk.

Connection to the outside world• Additional programs can be developped

for Jitter and Eyesweb.– Possible in Java and C/C++

• Eyesweb allows TCP/IP interfacing (e.g. network cameras, process communication)

Page 23: Introduction to Jitter & Eyesweb Volker Krüger Aalborg Media Lab Aalborg University Copenhagen vok@media.aau.dk.

Things to remember: Why you were here today!

• Jitter and Eyesweb base everything on Matrices• Intuitive to use• They process video data• Jitter and Eyesweb are easy to use and are the

basic systems to use for your project.

Info for Jitter: www.cycling74.comInfo for Eyesweb: www.eyesweb.org

www.media.aau.dk/~vok/lectures/ap1_11_05/ap11.html

Page 24: Introduction to Jitter & Eyesweb Volker Krüger Aalborg Media Lab Aalborg University Copenhagen vok@media.aau.dk.

Finally:• Questions?

• Exercises under http://media.aau.dk/~vok/lectures/ap1_11_05/ex11.pdf


Recommended