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.

Note: It is important to bring a laptop to class every day to complete programming exercises during class.

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 in Bruininks Hall 530B/Zoom
Office Hours Wednesday 10:30am-12pm (office or zoom) and Friday 1pm-2pm (zoom)
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.
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 due on May 11.
Python Projects There will be 3 computational projects to be completed in Python.
Homework There will be 4 homework assignments. 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%). The lowest homework and project scores will be dropped at the end of the semester for each student.
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.
Covid Policy The Univeristy has a Covid Policy. To summarize
  1. Everyone must be vaccinated.
  2. Wear a mask.
  3. Stay home and attend lectures over zoom if sick or isolating due to an exposure.