Final Project - Virtual Computational Camera

Changyin Zhou

Last Update: 03/18/2010


[Report][Code][Presentation][Results]      [Paper Review]

Project Proposal (out of date)


The light field, which describes the amount of light traveling in every direction through every point in the space, is the sampling source of any imaging technique. With the rapid development of computer imaging and graphics techniques in recent years, people are going to capture and display 4D light fields in many unconventional ways. As a result, light field is becoming one of the most important concepts in these research areas.

In this project, I am going to develop a light field workshop to help our researches in designing new imaging systems. This workshop will include two parts: a light field loader/generator and a light field viewer.

To best serve our purpose, this light field workshop should at least have the following features and functions:



1. Written in Matlab or at least compatible to Matlab

2. Be able to process high-resolution light fields

3. Two-layer structures

    - Basic operations of light field (e.g. readPixel(u,v,s,t), writePixel(u,v,s,t), FFT4(), IFFT4)

    - Advanced operations (e.g. coded aperture imaging)



1. Be able to generate 4D light fields in a given open space, from given depth map and radiance map, or given depth map, lighting, and BRDF map.

2. Be able to convert between different parameterization methods.

3. Be able to do high dimensional Fourier transform

4. Be able to project/integrate 4D light fields to a 2D space in any given direction (or any given path) ==> Light field viewer.


1. Light Field Generator


Road map: 3D scene rendering (OpenGL) --> View from different pinhole position (Light Field) --> Save as light field


2. Light Field Viewer


        a. Ray index: u, v, s, t --> Radiance

        b. Given a view point --> Image (View interpolation)

        c. Given a coded aperture --> Image

        d. Moving the positions of the sensor, aperture mask, etc