## Description

In this exercise, you will need a package that implements the two-dimensional forward and inverse

discrete cosine transform (DCT), e.g. scipy.fftpack.dct in python or dct2 and idct2 in Matlab.

Exercise 1: Plot the basis functions of a 16×16 discrete cosine transform (DCT).

Exercise 2: Implement low- and high-pass image filters by zeroing different ranges of the DCT

coefficients.

Exercise 3: Show that convolving a 2D convolution kernel with an image is (approximately) equivalent

to multiplying the transforms of the kernel and the image and then applying the inverse transform. You

will need to center and pad the kernel so that the signals are the same size.

Exercise 4: Select an image dataset, e.g. the MNIST handwritten digits, and compute the principal

components. Show that the individual images can be approximated by the sum of the first k principal

components.

Important Dates

• Wed Feb 28 – Group discussions. Discussion summaries are due by midnight.

• Wed Mar 7 – Group presentations.

• Fri Mar 9 – Final notebooks are due before midnight. Submit all notebooks (or pdfs) to Canvas.

• Mon Mar 12 – Peer evaluations are due before noon.

Requirements

• You are required to use git to manage your code and notebook and make commits regularly to show

your progress. You must make a submission of your code and notebooks to canvas before each group

discussion, group presentations, and the final due date.

• Use one jupyter notebook (or latex-generated pdf file) per exercise.

• Each notebook should include all necessary text, math, code, and results for clearly explaining your

work to others. In addition to submitting the notebooks (the .ipynb files) you should also submit the

export of the notebook to a pdf file.

• If you are using a language that does not support jupyter, you must create a pdf notebooks using latex.

Use separate pdfs for each notebook.

• After the discussion session, you should submit your feedback to others’ work on canvas in their

submission page.

Group Discussions. The goal of this discussion is for each member of the group to have a clear idea of

how to approach all the exercises in the assignment. You are free to ask any questions and offer any help

that helps toward completing the assignment. A good outcome would be for everyone to have gotten a

good start on the first two exercises.

Group Presentations. Each member of the group will have 7-8 min to present their notebooks to the

other members of the group. Group members should take notes on each presentation for peer review of

the final submission (due the following Monday via Canvas). Students are expected to use the feedback

from the group to improve their notebooks before final submission. An group selected moderator will

ensure that everyone stays within the time limits and that feedback is constructive.

Peer Evaluations. Group members are responsible for evaluating each of the other group members on

completeness, clarity and depth understanding, correctness, thoroughness, and creative exploration. As

well as a brief summary. Criteria are scored on a scale of 0-3. Details are in the rubric.