Touchless Volume Visualization in Surgery

Hands-free control of medical images in the operating room. Volume visualization and manipulation of CT and MR imaging modalities. This project was a collaboration with doctors at OHSU.

Configuration Space Visualization

Compact mesh generation and rendering of the configuration space of an arc-based robot with 3 degrees of freedom. Path planning on the free space boundary. Working on 4-DOF (3D translation, 1D rotation).

Protein Interaction Networks (Cyto3D)

A visualization plug-in for Cytoscape that visualizes 3D networks using a force-directed layout algorithm that is updated in real time. Used to view protein-protein interaction networks for the isPIN project.

Robot Soccer (RoboCanes)

Research group that participates in RoboCup, an international robotic soccer competition and symposium. Our group participates in the Standard Platform League (SPL), with the Aldebaran NAO robot, and the 3D simulation league.

Real-Time Motion Capture Mapping

An intuitive system for real-time mapping of motion capture data (using Microsoft Kinect) to custom humanoid robot models. This can be used to quickly mimic human motions or create a seed for balancing optimization.

Multi-Agent Soccer Visualization (RoboViz)

An interactive monitor and visualization tool for RoboCup. This software is designed to assist in developing agents through by visualizing behaviors and algorithms in real time. This is now the standard monitor for all RoboCup 3D simulation teams.

Seismic Data Visualization (MS Thesis)

Visualization for seismic data: digital elevation models, earthquake catalogues, fault slip distributions, moment tensor solutions, and scalar fields. Supports quad-buffered stereo and IR head tracking.

OpenGL Graphics Library

Personal graphics library written (and constantly revised) in Java and C++ as I have learned OpenGL over the years. Contains essential classes and data structures for things like vectors, matrices, cameras, buffer objects, textures, and so on.

Neuron Voxelizer

Provides random generation of 3D neuron-like structures that are voxelized to a desired resolution. Designed to simulate data from confocal microscopy for volume rendering. Uses iterated linear programming to create non-overlapping geometry.

C3D Motion Capture Viewer

OpenGL viewer that parses C3D binary file format and renders motion capture trial data.

Motion Capture Data Collection / Cleaning

Motion capture trials completed with a professional soccer player using a Vicon optical marker system. Data was cleaned in Autodesk MotionBuilder and mapped to a biped in 3ds Max for use in an online German soccer game.

Lab Scheduler

Ungar lab scheduling for teaching assistants that accounts for preferences, classes, and hour requirements. Uses linear programming with the IBM ILOG CPLEX optimization software package.

Terrain and Weather Rendering

Undergraduate senior project. The goal was to produce environments complete with weather and a day-night cycle. Height maps, particle systems (rain/snow), shadow mapping, path planning, flocking behaviors (birds), etc.

XNA Studio Game: Siege

Semester group project for game programming class. The concept is large-scale tower defense, but I played around with the graphics more than anything.

Social Robotics in Healthcare

Work done as part of Humana's rapid prototyping internship program, which culminated in software that uses the robotic dinosaur Pleo as a health care assistant for elderly patients.