[Gridflow-dev] [Ltilib-devel] PureData bindings (fwd)

Mathieu Bouchard matju at artengine.ca
Wed Sep 6 03:31:21 EDT 2006

---------- Forwarded message ----------
Date: Wed, 6 Sep 2006 03:12:37 -0400 (EDT)
From: Mathieu Bouchard <matju at artengine.ca>
To: Peter Doerfler <peter at ltilib.pdoerfler.com>
Cc: ltilib-devel at 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:


   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.


   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

More information about the Gridflow-dev mailing list