Note: This website is from Spring 2021. The current (Spring 2022) course is here.

This course is an introduction to the mathematics of image and data analysis. The course will cover the discrete Fourier and Wavelet transforms, with applications to image and audio processing. We will also cover mathematics of common data analysis algorithms, including principal component analysis (PCA), data ranking (e.g., Google's PageRank for ranking webpages), and clustering algorithms such as k-means and spectral clustering. Time-permitting, we will give an introduction to machine learning (ML), and cover basic ML classifiers, neural networks (in particular, convolutional neural networks for image classification), and graph-based learning.

The course will cover both mathematical theory and practical applications. We will use Python for all computational work in this course. Students will get hands on experience working with real data through a series of computational projects that will be completed throughout the term, on topics such as audio or image compression, facial recognition, or image classification. We will start the course with a gentle introduction to Python; no prior knowledge is required. See the Homework page for details about Python.

The image above shows an example of edge detection on a color image, which is a basic low level image processing task. The image on the right shows the response of the edge detector, with brighter pixels indicating locations where there are edges. The image was generated by converting the image to grayscale, and computing the magnitude of the image gradient, treating the image as a function of two variables. Here is the original image and the code for generating this example.

The prerequisite for the course is a solid foundation in linear algebra. Knowledge of Fourier series or Fourier transform is not required (in particular, Math 4567 is not required).

Course Information (.pdf)

Instructor Jeff Calder (Office: 538 Vincent Hall, Email: jcalder at umn dot edu)
Lectures Mon and Wed, 1pm-2:15pm on Zoom (Link on Canvas)
Office Hours Tue 10am-11am, Thurs 1pm-2pm, and by appointment (Link on Canvas)
Piazza We have a Piazza website for student discussions. To sign up, click here. Rather than emailing questions to the instructor, students are encouraged to post questions on Piazza, and to participate in the discussion.

Students who are active in the Piazza discussion, and have authored at least 5 accepted answers over the semester, will have their final grade bumped up by 1/3 of a letter grade.
Canvas We also have a Canvas Page, which will be primarily used for posting grades and online homework submission.
Lecture Notes The course will be taught from the lecture notes below, which will be updated throughtout the term.

Calder, J. Mathematics of Image and Data Analysis [PDF].
Recommended Textbooks There is no required textbook. The course will be taught from lecture notes that will be developed throughout the semester. Some suggested textbooks for further reading are listed below.
  1. Bachman, Narici, and Beckenstein. Fourier and Wavelet Analysis. Springer, 2000.
  2. Ryan, O. Linear algebra, signal processing, and wavelets. A unified approach. Python version. Springer, 2017.
  3. Broughton and Bryan. Discrete Fourier Analysis and Wavelets. Wiley, 2008.
  4. Bishop. Pattern Recognition and Machine Learning. [PDF], 2006.
  5. Goodfellow, Bengio, and Courville. Deep Learning. MIT Press, 2016 [Online].
Final Exam The final exam will be a take-home exam May 6-7, 2020.
Python Projects There will be 3 computational projects to be completed in Python, due on Feb 12, Mar 26, and May 9.
Homework There will be 4 homework assignments, due Jan 29, Feb 26, Mar 12, and April 16. Collaboration on homework is strongly encouraged, but you are expected to write up solutions, including Python code, on your own. Please indicate the names of any other students you collaborated with on your homework.
Grades Your final grade will be based on homework assignments (40%), projects (30%), and the final exam (30%).
Readings Readings will be assigned on a weekly basis and posted on the schedule page on this website. It is very important to do the readings before attending the associated lecture. Unless otherwise noted, readings are from the class lecture notes.
Academic Honesty The School of Mathematics at the University of Minnesota expects that students in mathematics courses will not engage in cheating or plagiarism. Cheating, plagiarism, and other forms of academic dishonesty will result in a grade of zero on the homework assignment or exam in question, and, in severe cases, a failing grade in the course and a referral to the Office for Student Conduct and Academic Integrity (OSCAI). Students should be familiar with the Student Code of Conduct.