Webcam iteration of a light field camera. Oct 2013

The assembled camera.
Designed in Inkscape, cut by my laser cutter. Each camera has three screws to orient each camera.

Projected homography. Oct 2013

Short sequence of calibration scenes bounced off a mirror
Written in C/Python/OpenGL/OpenCV. A calibration sequence is detected by the surface being projected on. A homography is then generated to project a texture onto the surface.

Headless rendered scenes using OpenGL. Sep 2013

Rendered output of the Stanford Rabbit
Written in Python/OpenGL. An OpenGL renderer that uses a software renderer. Can be used on headless nodes, i.e. server farms or virtual machines that have no graphics hardware.

Light field viewer written for a web browser. Jan 2013

Your browser doesn't support canvas, or javascript is disabled!

Instructions: Place cursor over the image above, and scroll up or down with your mouse wheel.
Written in JavaScript, for HTML5 Web Browsers.

Unipolar, optoisolated stepper motor driver. July 2012

The assembled PCB
Designed in Inkscape, board made using the toner-transfer method. Circuit design inspired by existing circuit, optoisolater ICs changed out from original for ease-of-implementation.

Light field viewer and manipulator. Jan 2010

Screenshot of the software
Written in C/OpenGL/OpenCV. An OpenGL application using the OpenCV library for image manipulation and feature detection (SURF).

The large light field camera array. Nov 2009

A 12 digital camera array

I assisted with the development of the camera itself, then wrote the software to process the output.