[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:
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
More information about the Gridflow-dev
mailing list