Deprecated: Function set_magic_quotes_runtime() is deprecated in /home/dfmoore/ on line 14
Notes: Multitouch



FACE pt 1

An update on a new project that I’m working on with Aaron Cohen called FACE: Facial Animation Capture Engine. FACE is a research project here at the Digital Arts Lab , conceived and directed by Rob O’Neill.

The goal of this project is to make a highly versatile, usable open source motion capture system that can be made at home for less than 350$. Right now, we’re using two b&w i-fire cameras (~160 each) set up in a stereo pair. The software is being developed in Xcode, using OpenCV, GLUT & OpenGL, and cvBlobsLib. Software and plans will be available soon, via the Digital Arts Lab (DAL). Right now, we’re using two desk lamps to light retroreflective spots of tape. It works surprisingly well; as the setup and software matures, I think we’ll have a very inexpensive and reasonable system for students and independent artists to use.

(Please excuse the tron-light-cycle style 3D grid. We needed something to show tracked points, and well, didn’t want to spend more than five minutes on that part. The final visuals will be much, much better!)

What you’re seeing: The two camera rig with desk lamps, and me with a spot of tape on my finger. On the screen: The upper half shows the two video streams, right and left camera respectively. On the lower half, the tracked point in 3D, reconstructed from the corresponding points.

Posted Jun 6, 01:08 AM by Dylan Moore ·

Posting Mouse Events

No idea how fast it is, but I’m going to try it with my touch table tomorrow.


read more

Posted Feb 28, 11:07 AM by Dylan Moore ·

It's Alive!

Pictures of my multi touch table, and the obligatory movie of IR blobs. I don’t have the compliant surface on yet, so it’s a little faint. But you can still see the frustrated total internal reflection (FTIR) effect. Hoorah.

(photos in full post)

read more

Posted Feb 25, 10:45 AM by Dylan Moore ·

Mouse control...

The answer is in max/msp’s aka.mouse object…

Masayuki Akamatsu, will you be my hero?

Posted Feb 24, 01:27 PM by Dylan Moore ·

Data Visualization

As I’m developing my own viz tools to see hundreds of thousands of color points for my thesis, I’m going to quickly whip up some tools in Blender (why not give it a try?) and in Python (so quick…)

The biggest problem will be normalizing my high dynamic range (HDR) data into normalized 8 bit-per-channel color ranges (LDR) without getting rid of my initial data.

Setting Vertex Colors from Python

Posted Feb 24, 07:29 AM by Dylan Moore ·

Table Progress, Tuesday Night.

I have the majority of my wooden frame built for my multi-touch table. I’m glad i went the route of building it all myself. After adjusting a few parts to increase rigidity, I’ll be ready to install the rest of the IR LEDs and try a test run…!

I’m recording video of all of the construction progress, and I’ll be adding them to a yet-to-be-made youtube account. From there, I’ll post them up here. I’ll eventually be making all of my table plans available to whomever wants to make a table, but doesn’t want to take the time to design it.

(PS… It’s tuesday. Thanks, isittuesday,com!)

Posted Feb 17, 03:53 PM by Dylan Moore ·


HID Keys project for AVR

USB 2.0 Developer Docs

More AVR-USB Stuff

Posted Feb 11, 08:34 AM by Dylan Moore ·

Yeah. No more coffee for me.

URL clipboard for friday morning:
(… I’m working my way up to 2009, one shader at a time…)

maybe I’ll sleep tomorrow? ( =

Posted Jan 22, 06:45 PM by Dylan Moore ·

GPU Gems

GPU Gems Edited by Randima Fernando can be found as an HTML version on nvidia’s developer site. (This is old news to many, I’m sure. But… Yay nvidia!)

[ Link ]

I’m particularly drawn to the section on image processing on the GPU, specifically chapter 21, which talks about creating a real-time glow. Great for the algorithm, but I’m more of a GLSL guy than Cg—so here’s some GLSL specific links:

[ Image Filtering with GLSL ]

Posted Jan 21, 09:19 PM by Dylan Moore ·

i-fire cameras for my table

Okay, I bit the bullet and purchased a monochromatic i-fire cam from unibrain. I chose it over a color camera for a few reasons: For one, the bayer filter applied to the CCD reduces the wavelength of something like two-thirds to three-fourths of the CCD against IR and near IR. I’m not saying it won’t be able to see the IR, I’m saying it just won’t see it as well. Secondly, because of the interpolation, it loses some of the resolution, from 480(b&w) lines to 400(color).

See more information on bayer filters [ here ]

Posted Jan 21, 08:31 PM by Dylan Moore ·

URL pasteboard

Posted Jan 19, 01:06 AM by Dylan Moore ·

Frame Buffer Objects

A full example in one source file of how to render to a texture using an FBO, and then texturing a box with it. Works in Xcode, but uses GLUT so it will probably work in whatever you use. Click on read more for extra info…

Keywords: FBO, GLUT, Macintosh, Xcode, Platform agnostic, Render to a texture, example, tutorial.

read more

Posted Jan 16, 01:56 PM by Dylan Moore ·

Prewarp for optical distortion

Today’s investigations will include attempting some openCV camera rectification. If I can still get a decent image when it is all said and done, I may purchase a 2.1mm Wide Lens (No IR coating) for a unibrain camera in order to bring the camera closer to the screen and reduce my need for mirrors. Size testing today.
[ Link ]

I’m also waiting back to hear about educational pricing on point grey cameras. I had initial misgivings about them, but as it turned out, I had no idea what I was talking about!

Posted Jan 4, 01:01 AM by Dylan Moore ·

Imager Terms

I came across this great list of terminology that is useful when working with imagers—specifically CCDs. [Here] it is!

And the term that made me go googling: Binning-
Summing charge on the CCD and doing simple readout results in better noise performance than reading out several pixels and then summing them on the computer memory. This is because each act of reading out contributes to the noise.
There are two main variants of the binning process: vertical binning and horizontal binning. In addition there are several binning patterns that tailor the main binning variants to typical application usage. These are Full Vertical Binning, Single Track and Multi Track.

Other cool terms I learned about in my hunt-
Charge traps, Etaloning, Single-Track ..

One of my favorites is Cosmic rays (which I’ve long blamed for compiler errors)-
Very high energy particles from space enter the earth’s atmosphere and produce a shower of further high energy particles. When one of these particles passes through the CCD it will appear as a spike up to several handred counts. There are on average 1 event per 10 sec’s a sea level (This will vary with location).

Posted Jan 4, 12:47 AM by Dylan Moore ·

NetCat TUIO with tBeta

nc -v -l -n -u -p 3333
get your stream on.

protocol notes:
[ TUIO ]
[ OSC ]

Posted Dec 2, 08:17 AM by Dylan Moore ·

IKEA to the rescue?

The main table area:


combined with these legs:


I’m using a 36” diagonal, which means I need 28.8×21.6.
This table is 47.25×23.625, giving me
9.1” clearance on the side edges and
1.0125 (Okay, a little over an inch) clearance on the top/bottom edges.

I’m most concerned about the strength of that inch… but it can be reinforced on the underside by a number of things. The table area is paper-filled, and thus might not be highest strength quality. It would only support half of my weight if I sat on it, in it’s un-altered condition. So I’m thinking that stripping away 26.1 of its 23.625 inches might considerably weaken it, or at least cause it to flex. Solid core tabletop would be ideal. Therefore, I’ll do some pricing at the ‘depot.

These adjustable legs are kinda nice, but again, it would be better to build something that has a place for the projector to slide in, and the mirror, and the camera. They go between 1.96’ to 2.947’. That adjustable feature is a win.

The budget for this is 20$ (top) + 60$ (four legs)=
80 bucks plus tax.

Can I find something better at a comparable price?

->TO DO: Home depot run. Price 10mm acrylic.

Posted Dec 2, 05:57 AM by Dylan Moore ·

ACM Digital Library

I’ve finally registered with ACM and it’s digital library. My goal will be to read a few articles and papers per week. Let’s see how well that goes! I’ll probably list papers that I find most interesting, or authors I’ve gotten to see speak at SIGGRAPH. I’m already a big fan of Pascal Müler’s work, as well as Wimot Li. [Here]

If you haven’t paid your small fee to get full access to the library, I suggest you do so immediately. It’s got a lot —a LOT— of great research.

ACM Digital Library

Posted Nov 30, 01:46 PM by Dylan Moore ·

IDC '09: 8th International Conference on Interaction Design and Children

Workshop Proposals
Submission deadline: January 12 2009
Acceptance notification: January 26 2009
Full papers
Submission deadline: January 19 2009
Acceptance notification: February 20 2009
Final version deadline: March 16 200
Short papers and demos
Submission deadline: March 6 2009
Acceptance notification: March 31 2009
Final version deadline: April 17 2009

Posted Nov 28, 01:06 PM by Dylan Moore ·

TUIO & Networking background information

Good source of TCP/IP info:

Posted Nov 27, 07:35 PM by Dylan Moore ·