CMSC 34900-1 (Topics in Scientific Computing):
Computing Imaging-Based Science

Instructor: Gordon Kindlmann
Class: Wednesdays 2:30pm -- 5:30pm
Room 140 (Zar Room), Crerar Library
Office hours: 
In Ryerson 161-B: Tuesdays 3-4:3pm, Thursdays 10am-noon
Quick links: 
Registrar course listing   |   CS Dept course listing
Piazza page (public)   |   Piazza Q&A (private)
mailing list   |   list archives   |  
SVN info   |   Software info   |   RCC User Guide

Description:

In many areas of experimental science, the acquisition and computational analysis of 2D, 3D, or 4D images is a necessary step in the scientific investigation. This class will cover concepts and methods of scientific image processing and analysis, in the context of real-world imaging data, from ongoing research on campus. In this offering of the class (Autumn 2013), datasets and driving scientific problems come mainly from research in biology and physics. Class has four components: readings on the image processing methods and applications, lectures to cover concepts and mathematical background, guest lectures by researchers to learn about the scientific context of the imaging, and programming exercises with datasets shared by the researchers.

Note: If you are taking this class to satisfy an elective requirement in the Computer Science department, you will need to propose (by roughly mid-quarter) and complete (by the end of the quarter) a programming project. The project proposal and submission will be done by arrangement with the instructor. The scope and difficulty of the project will have to be distinctly larger than that of the regular programming exercises.

Prerequisites

No specific classes are prerequisites, but:
  1. You should know how to code. This means you can: use books and the web to learn a language and its features, build on and combine example programs, and debug methodically. We will be using a mix of C and Python in this class.
  2. Your math background should include linear algebra and calculus.

Communication and Resources

Grading

Grades are assigned according to class attendence and participation in discussion about the assigned readings (50%), and satisfactory completion of the programming exercises (50%). The point of the programming exercises is not to do extensive software development, but to maintain a tangible connection to how the methods are actually implemented. There are no exams.

Syllabus

Each week of the course is expected to cover the following material. The first half of the course covers mathematical fundamentals and the methodological underpinnings of the image analysis methods used by the scientists. The second half goes into detail on specific applications, including a presentation from a scientist to describe the research context of the image data acquisition, the analysis questions that are asked of the data, and the methods used to answer those questions.

Week: Material
Week 1
(Oct 2)
Basics: Representation and storage of values and arrays, structure of computer memory hierarchy, array manipulations (slicing, tiling, projections), histograms and histogram analysis, thresholding and quantization, image file formats
Week 2
(Oct 9)
Linear Filtering: Convolution (discrete and continuous), Blurring, derivatives, separability, Fourier transform and the FFT, continuous kernel design
Week 3
(Oct 16)
Guest Lecture by Yali Amit
Week 4
(Oct 23)
Image Features: Isocontours, edges, ridge lines and ridge surfaces, local extrema, extraction of features in the discrete and continuous image domains
Week 5
(Oct 30)
Scale: multi-scale processing (discrete in scale), blurring as diffusion, non-linear PDE-based filtering, scale-space (continuous in scale), image analysis in scale-space
Week 6
(Nov 6)
Presentation from a scientist, and discussion of the associated data analysis challenges
Week 7
(Nov 13)
Scientific presentation and data analysis: Patrick La Riviere (Medical Physics)
Week 8
(Nov 20)
Scientific presentation and data analysis: Ka Yee Lee (Chemistry), and David Biron (Biological Physics)
Week 9
(Nov 27)
Scientific presentation and data analysis
Week 10
(Dec 4)
Scientific presentation and data analysis: Kevin White (Genetics and Systems Biology)