Assignment 2: Light Fields/HDR/Tone-Mapping

From CS294-69 Image Manipulation and Computational Photography Fa11

Jump to: navigation, search


Assignment Due: Oct 10, 2011

Image by flickr user CodyR

Credit: Image by flickr user CodyR


The goal of this assignment is to implement one or more of the following papers on Light Fields or HDR/Tone-Mapping.

Light Fields

  • Light Field Rendering. Marc Levoy and Pat Hanrahan. SIGGRAPH 96 (pdf)
  • The Lumigraph. Steven J. Gortler, Radek Grzeszczuk, Richard Szeliski and Michael F. Cohen. SIGGRAPH 96. (pdf)
  • Unstructured Lumigraph Rendering. Chris Buehler, Michael Bosse, Leonard McMillan, Steven Gortler and Michael Cohen. SIGGRAPH 2001. (pdf)
  • Fourier Slice Photography. Ren Ng. SIGGRAPH 2005 (pdf)


  • Fast Bilateral Filtering for the Display of High-Dynamic-Range Images. Fredo Durand and Julie Dorsey. SIGGRAPH 2002. (pdf)
  • Photographic Tone Reproduction for Digital Images. Erik Reinhard, Michael Stark, Peter Shirley and James Ferwerda. SIGGRAPH 2002. (pdf)
  • Digital Photography with Flash and No-Flash Image Pairs. Georg Petschnigg, Maneesh Agrawala, Hugues Hoppe, Richard Szeliski, Michael Cohen and Kentaro Toyama. SIGGRAPH 2004. (pdf)
  • Domain Transform for Edge-Aware Image and Video Processing. Eduardo Gastal and Manuel Oliveira. SIGGRAPH 2011. (pdf)
  • Fast High-Dimensional Filtering Using the Permutohedral Lattice. Andrew Adams, Jongmin Baek and Abe Davis. Eurographics 2010. (pdf)


As in Assignment 1, your task is to implement one or more of the papers described above. While it is adequate to simply implement the ideas as described in the paper(s) it is worth thinking about how you might go beyond what is described in the paper(s). New research ideas sometimes come from developing addressing the following issues:

  • Every technique has some limitations (well written papers usually describe some of them). Develop techniques to address one or more limitations.

  • Sometimes different papers present different techniques for addressing the same problem (e.g. Durand and Dorsey vs. Reinhard et al.). Implement competing techniques and compare the strengths and weaknesses of them.

  • It is sometimes possible to combine ideas from multiple papers to produce a new hybrid technique that addresses a new problem. Develop a new way to combine the techniques your have read about to solve a new problem.

If you work alone you are responsible for implementing at least 1 of the papers. If your work in a group of 2, you must implement at least 1 paper and address one of the issues raised above (in doing so you are likely to have to implement a second paper) or implement 2 papers. Groups of 3 must implement at least 2 papers and address one of the issues raised above.

Extra Credit

Extra credit may be given at the discretion of the instructors based on the size of the group and the amount of work completed. But remember that you have two weeks to complete this assignment.

For this assignment you may also implement the following paper for extra credit:

  • Recovering High Dynamic Range Radiance Maps from Photographs. Paul E. Debevec and Jitendra Malik. SIGGRAPH 97. (pdf)

The MATLAB code is given in the paper.

How to access Matlab

Using the username and password that we provide, you can log into the Windows PCs in 199 Cory or the Linux PCs in 330 Soda and run /share/b/bin/matlab from the command line. This will open Matlab for you. You can find more information on how to run Matlab on this MATLAB website.

We have Instructional licenses for the Image Processing Toolbox. It only runs on Instructional computers (a license requirement). There are instructions for the students on the MATLAB website.

Michael Tao put together a tutorial on how to use mex and MATLAB for image processing. The tutorial does a simple square blur. You might find it useful for this or the following assignments. You can download the tutorial files here. Thanks Michael!

How to create your wiki page

Begin by creating a new wiki page for this assignment. The title of the page should be of the form:


Replace Firstname and Lastname with your real first and last names. If you worked in a group use the following format instead:


You can create the page by entering a url of the following form into your browser:

To upload images to the wiki, first create a link for the image of the form [[Image:image_name.jpg]] (replacing image_name.jpg with a unique image name for use by the server). This will create a link you can follow that will then allow you to upload the image. Alternatively, you can use the "Upload file" link in the toolbox to upload the image first, and then subsequently create a link to it on your wiki page.


Add a link to your finished assignment here. The page you create should include images and a description explaining what you did to create the images. Please make sure that there is enough detail on the page for us to understand your results. But also try to be succinct.

Once you are finished editing the page, add a link to it here with full name as the link text. The wiki syntax will look like this: *[[A2-FirstnameLastname|Firstname Lastname]]. Hit the edit button for this section to see how I created the link for my name.

[add comment]
Personal tools