Computational Photography
Spring 2021
Instructor: Nima Kalantari

Course information

Time and location: MWF 10:40 - 11:30 am via Zoom (link in the syllabus)
Office hours: MW 1:00 - 2:00 pm via Zoom (link in the syllabus)
Office location: 527B HRBB
Piazza: link in the syllabus


Computational photography is a collection of computational algorithms and system designs (e.g., sensors, optics) to avoid the limitations of standard cameras and enable novel applications. In recent years, there has been increasing interest in computational photography because of the widespread use of the cameras by the general public through smartphones and other cheap imaging devices. In this course, we first discuss the cameras and the image formation process. We then study basic image and video processing tools like sampling, filtering, and pyramids. Finally, we discuss several image-based algorithms, such as image retargeting, high dynamic range imaging, and texture synthesis.


Undergraduate: (CSCE 315 or CSCE 331) and (MATH 304 or MATH 311)
Graduate: Graduate students are expected to have similar background.


The primary reference of the course is the following book, which covers most of the topics related to computational photography:

Computer Vision: Algorithms and Applications, by Richard Szeliski, 2010


Late Submissions

You will lose 20% from each assignment for each day that it is late. However, there will be 5 granted late days for the entire course. You are free to use it for any of the assignments (note that, you CANNOT use it for the final project!). You will not get any bonuses for any of the unused late days. All the assignments are due at 11:59 pm on ecampus unless otherwise stated. Note that, one minute over and 23 hours over both count as one full day.

Academic Integrity

The assignments in this class are individual unless otherwise stated. For the individual assignments, all the codes need to be written by the student. If indicated in the assignment’s instruction, the use of external libraries for performing basic operations is allowed. However, using an outside source code is NOT permitted. Moreover, collaborating with other students on assignments beyond general discussions is NOT allowed. In general, looking at other students’ code and/or written answers is NOT allowed. If the students have any questions regarding this issue, they should contact the instructor. The students should not post their code online even after the deadline for the assignment has passed.


Date Topic Slides Reading Assignments
Jan 20 Introduction and Overview pptx Szeliski Ch. 1
Jan 22 Camera and Image Formation
Jan 25 Camera and Image Formation
Jan 27 Camera and Image Formation
Jan 29 Color
Jan 29 Color
Feb 1 Color
Feb 3 Sampling and Filtering
Feb 5 Sampling and Filtering
Feb 8 Frequency Domain
Feb 10 Frequency Domain
Feb 12 Pyramids
Feb 15 Blending and Compositing
Feb 17 Blending and Compositing
Feb 19 Blending and Compositing
Feb 22 Point processing and Image Warping
Feb 24 Point Processing and Image Warping
Feb 26 Homographies and Mosaics
Mar 1 Automatic Image Alignment and RANSAC
Mar 3 Automatic Image Alignment and RANSAC
Mar 5 Stereo
Mar 8 Stereo
Mar 10 Modeling Light and Lightfields
Mar 12 Modeling Light and Lightfields
Mar 15 Image Retargeting
Mar 17 Image Retargeting
Mar 19 Spring break - No Class
Mar 22 Image Retargeting
Mar 24 Midterm Review
Mar 26 Midterm Exam
Mar 29 Matting
Mar 31 Image Morphing
Apr 2 Reading Day - No Class
Apr 5 Midterm Solution
Apr 7 HDR & Tonemapping
Apr 9 HDR & Tonemapping
Apr 12 HDR & Tonemapping
Apr 14 Video Textures
Apr 16 Texture Synthesis and Filling
Apr 19 Image Analogies and Scene Completion
Apr 21 Image Analogies and Scene Completion
Apr 23 Coded Exposures and Apertures
Apr 26 Coded Exposures and Apertures
Apr 28

*Schedule might change during the semester.


The slides in this class are heavily based on the slides from other instructors. Specifically, many slides are the exact or modified version of the slides by Alexei A. Efros, James Hays, and Rob Fergus, who in turn have used materials from Steve Seitz, Rick Szeliski, Paul Debevec, Stephen Palmer, Paul Heckbert, David Forsyth, Steve Marschner, Fredo Durand, Bill Freeman, and others, as noted in the slides. The instructor gives full permission to use these slides for academic and research purposes, but please maintain all the acknowlegements.