Updated: 1/1/2021
I am currently the senior manager of software development and applications at Albany Engineered Composites' (AEC) Research and Technology division in Rochester, NH (www.albint.com/aec). Before joining AEC, I was a graduate student at Berkeley studying computer graphics and vision (Ph.D. 2012). This page is primarily a collection of some of the more interesting projects I completed while pursuing my Ph.D.
2012 |
Ph.D.Vision Science University of California, Berkeley Co-advisors: Martin S. Banks (vision science) and Maneesh Agrawala (computer science) Dissertation: The perception of shape, lighting, and material properties in images |
1999 |
B.S. Computer Science University of New Hampshire |
2012-present |
Albany Engineered Composites, Research and Technology Senior Manager, Software Development and Applications Previous roles: Software Development Mgr., Engineering Specialist in Image Processing, Sr. Software Developer) | Rochester, NH |
2006-2012 |
University of California, Berkeley, Vision Science Program Graduate Student Researcher |
Berkeley, CA |
2003-2006 |
Brigham and Women's Hospital, Neurosurgery Computer Programmer |
Boston, MA |
2002-2006 |
Harvard University, Psychology IT Support Associate |
Cambridge, MA |
1999-2002 |
Vividata, Inc. Software Developer |
Berkeley, CA |
Cloth Simulation
I implemented a simple cloth simulation using an array of node masses connected via non-zero length springs.
The application allows the user to interactively manipulate the cloth using the mouse, and to adjust the tension and damping constants
on the fly. My implementation also supports edge springs to reduce in-plane bending.
Image-Based Relighting
I implemented an image-based relighting system which uses precomputed image data to allow real-time
relighting of a scene with high-quality results. The system also supports small environment maps
for relighting in a complex lighting environment.
Monte Carlo Global Illumination
In this project, I implemented Monte Carlo path tracing for rendering global illumination effects. This method produces accurate soft shadows, color bleeding, and more realistic lighting. The system supports diffuse, glossy, and mirror materials. Images can be rendered with anti-aliasing as well.
Shape-from-Shading
I implemented the Ikeuchi and Horn shape-from-shading algorithm for
a computer vision course at Berkeley. This algorithm iteratively
finds a solution by minimizing an error function based on a brightness
constraint and a smoothness constraint. The known orientation at the
occluding boundary is used to guarantee a solution is found.
Raytracer
I wrote a raytracer for one of my computer graphics courses at Berkeley. The code computes shadows and reflections (multiple bounces), and it renders the scene using a Phong shading model. I implemented the application to support sphere and triangle primitives.
Pubster: Visualizing journal article relationships
Pubster is an interactive visualization tool for exploring the relationships within a set of publication articles. The system presents the data as an undirected graph, using dynamic queries to update the graph structure, to search the publications records, and to provide citation details on demand. This project was completed in collaboration with Amanda Alvarez from the Vision Science program at Berkeley.
Bezier Surfaces
In this project, I wrote some code for rendering Bezier patches. The program implements the de Casteljau algorithm for subdividing cubic Bezier curves, and it supports both regular and adaptive subdivision routines.
Subdivision Surfaces
Subdivision surfaces can be used to recursively generate B-spline surfaces from simple mesh topologies. In this project, I implemented a system for interactively creating smooth surfaces based on the Catmull-Clark algorithm for B-splines. The system allows the user to manipulate the initial mesh topology, to fix vertex positions for creating surface discontinuities, and to render the final output as a shaded surface, normal map, or curvature map.
How is the perception of shape from shading affected by revealing the lighting properties? Presented at the 2009 Vision Sciences Society Meeting (VSS). Naples, FL. May 2009.
What is the assumed light direction when perceiving shape from shaded images? Presented at the 2008 Applied Perception in Graphics and Visualization Meeting (APGV). Los Angeles, CA. August 2008.
Using surface normals to localize electrodes placed during neurosurgery. Presented at the 2006 International Symposium on Biomedical Imaging (ISBI). Alexandria, VA. April 2006.