CSE 130: Pixels, Numbers, and Programs

Spring Quarter, 2009

Description This course is an interdisciplinary introduction to image processing. You'll learn about digital art, information representation, elementary signal processing, how to program computers using the currently popular "Python" language, and you'll get exposed to some of the techniques behind computer vision, photomosaics, digital watermarking, image enhancement, stereo "depth" images, animation, and encryption of image information. In addition, you'll get to see applications for some of the high-school mathematics you studied perhaps wondering what it might be good for.
Meetings Mondays, Wednesdays, Thursdays and Fridays 10:30-11:20 (all in MGH 044).
Prerequisites Completion of Math 124 or equivalent high-school record. Prior experience with image processing and programming is not required.
Credits 3 credits
Instructional Staff Instructor: Steve Tanimoto (t a n i m o t o (at) u) - office hours W,F 2:30-3:30 in CSE 638; Teaching Assistant: Emily Wang (a m e l i e (at) u) - office hours M,Th 1:30-2:30 in CSE 518
Policies Policies page
Textbook "Pixels, Numbers and Programs: An Interdisciplinary Introduction to Image Processing", by Steve Tanimoto. Students enrolled in the course will have free access to electronic copies of the text in the form of PDF files. Link to readings and references (authorization required).
Facilities State-of-the-art computer laboratory located in Mary Gates Hall Room 044, PixelMath image processing software with Python language programming facility, hosted in INFACT. A Catalyst GoPost discussion board is the place to go for discussing clarifications on assignments, etc.
Teaching methods A combination of lectures, in-class exercises, lab activities, discussions, and collaborative projects. Assessment will be based on assignments, project, in-class participation, a midterm, and a final exam.
Assignments and Exams Assignments page. Exams page.
Lecture Slides Lecture slides index

Course Schedule (Subject to Change)

Monday, March 30
Introduction
Wednesday, April 1
Getting Started with Pixels
Thursday, April 2
Brightness
Friday, April 3
Color
Monday, April 6
Color
Wednesday, April 8
Geometric Transformations
Thursday, April 9
Distortion
Friday, April 10
Symmetry
Monday, April 13
Symmetry
Wednesday, April 15
Synthesizing
Thursday, April 16
Illusions
Friday, April 17
Stereo
Monday, April 20
Stereo
Wednesday, April 22
Anamorphic
Thursday, April 23
Messages
Friday, April 24
Photomosaics
Monday, April 27
Filtering
Wednesday, April 29
Full Transformations
Thursday, April 30
Full Transformations
Friday, May 1
Automatic Setup
Monday, May 4
Control
Wednesday, May 6
Symbols
Thursday, May 7
Functions
Friday, May 8
Functions
Monday, May 11
Working with Python
Wednesday, May 13
Working with Python
Thursday, May 14
Working with Python
Friday, May 15
Programming Techniques
Monday, May 18
Programming Techniques
Wednesday, May 20
Image Analysis
Thursday, May 21
Image Analysis
Friday, May 22
Image Analysis
Monday, May 25
Pattern Recognition
Wednesday, May 27
Pattern Recognition
Thursday, May 28
Misc. Applications
Friday, May 29
Misc. Applications
Monday, June 1
Misc. Applications
Wednesday, June 3
Misc. Applications
Thursday, June 4
Demonstrations
Friday, June 5
Demonstrations