---------- Forwarded message ---------- Date: Wed, 6 Sep 2006 03:12:37 -0400 (EDT) From: Mathieu Bouchard matju@artengine.ca To: Peter Doerfler peter@ltilib.pdoerfler.com Cc: ltilib-devel@lists.sourceforge.net Subject: [Ltilib-devel] PureData bindings
On Wed, 30 Aug 2006, Peter Doerfler wrote:
BTW, it would be very interesting to learn what you are using the LTI-Lib for. Maybe you could even submit a short summary with a link to a webpage to our projects tracker at SF?
In Ottawa U's Visual Arts department, Heri Andria made Ruby bindings for LTI-Lib by modifying the existing Python bindings. Then, using that, I made PureData/GridFlow bindings for LTI-Lib. GridFlow is a video library that I wrote for PureData using C++ and Ruby (with some parts in asm, Tcl, etc).
a few examples of PureData code that uses LTI-Lib:
http://gridflow.ca/gallery/lti.KMeansSegmentation-help.pd.gif
This program is a helpfile for [lti.KMeansSegmentation]. Not all features of the C++ class are available in PureData at the moment, because that PureData class is written in Ruby, and the Ruby bindings are currently somewhat more developed than Python's but far from complete. The box [lti.KMeansSegmentation.param] is a subprogram used for configuring objects of that class; it is written in PureData, and currently part of that helpfile, but it will be decoupled as a PureData class file in order to be reused in other programs.
http://gridflow.ca/gallery/%23moment-help.png
This program finds the two-dimensional standard deviation of a greyscale image, and in this case, from a pair of rectangles as a simple test. I use two LTI objects here: given a variance matrix V, I need to compute the associated norm x'*V^-1*x, using which I can tell whether any point is inside the ellipse; this can be used to draw the ellipse (more elegantly than efficiently). Also, I want to find the radiuses and angle of that ellipse, so I eigendecompose V using [lti.Jacobi], to get A^-1*D*A where D is a diagonal matrix that has the squares of the radiuses; A represents a rotation by the angle that I'm looking for. What could be legitimately called the "standard deviation" of an image is either A^-1*sqrt(D) or sqrt(D)*A, because those are isomorphisms between the associated norm and the standard norm x'*x.
The diagram is the program.
_ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard - tél:+1.514.383.3801 - http://artengine.ca/matju | Freelance Digital Arts Engineer, Montréal QC Canada