introduction to jitter & eyesweb volker krüger aalborg media lab aalborg university copenhagen...
Post on 21-Dec-2015
236 views
TRANSCRIPT
![Page 1: Introduction to Jitter & Eyesweb Volker Krüger Aalborg Media Lab Aalborg University Copenhagen vok@media.aau.dk](https://reader035.vdocuments.site/reader035/viewer/2022081506/56649d545503460f94a31387/html5/thumbnails/1.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081506/56649d545503460f94a31387/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081506/56649d545503460f94a31387/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081506/56649d545503460f94a31387/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081506/56649d545503460f94a31387/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081506/56649d545503460f94a31387/html5/thumbnails/6.jpg)
• 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](https://reader035.vdocuments.site/reader035/viewer/2022081506/56649d545503460f94a31387/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081506/56649d545503460f94a31387/html5/thumbnails/8.jpg)
• 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](https://reader035.vdocuments.site/reader035/viewer/2022081506/56649d545503460f94a31387/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081506/56649d545503460f94a31387/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081506/56649d545503460f94a31387/html5/thumbnails/11.jpg)
Example for Message Passing
![Page 12: Introduction to Jitter & Eyesweb Volker Krüger Aalborg Media Lab Aalborg University Copenhagen vok@media.aau.dk](https://reader035.vdocuments.site/reader035/viewer/2022081506/56649d545503460f94a31387/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081506/56649d545503460f94a31387/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081506/56649d545503460f94a31387/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081506/56649d545503460f94a31387/html5/thumbnails/15.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081506/56649d545503460f94a31387/html5/thumbnails/16.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081506/56649d545503460f94a31387/html5/thumbnails/17.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081506/56649d545503460f94a31387/html5/thumbnails/18.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081506/56649d545503460f94a31387/html5/thumbnails/19.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081506/56649d545503460f94a31387/html5/thumbnails/20.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081506/56649d545503460f94a31387/html5/thumbnails/21.jpg)
Operators in Eyesweb
![Page 22: Introduction to Jitter & Eyesweb Volker Krüger Aalborg Media Lab Aalborg University Copenhagen vok@media.aau.dk](https://reader035.vdocuments.site/reader035/viewer/2022081506/56649d545503460f94a31387/html5/thumbnails/22.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081506/56649d545503460f94a31387/html5/thumbnails/23.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081506/56649d545503460f94a31387/html5/thumbnails/24.jpg)
Finally:• Questions?
• Exercises under http://media.aau.dk/~vok/lectures/ap1_11_05/ex11.pdf