Purdue University
School of Electrical and Computer Engineering

Digital Image Processing Laboratories


Instructions:

These laboritories are designed to illustriate concepts in image processing and analysis through actual processing of images using ANSI C and Python. For many of the labs, you will be expected to compile C code, run Python programs, use a bash shell environment, and run git. Any ANSI C compiler is fine, but gcc is probably the best choice. It is your responsiblity to configure your computer so you can run these applications.

You may also want to use or at least become familiar with JAX when implementing your algorithms in python. JAX is a package for python that is similar in its syntax to numpy, but it offers many advantages: a) it can be much faster; b) it runs on a wide variety of architectures; c) it allows for automatic differentiation; d) it allows for automatic vectorization. While JAX is a bit trickier to use than numpy, it is much easier to use than C, and in many cases, it is as fast or faster than C. (However, it typically has higher latency than C).

Below is information you can use to configure your computer:
This document provides some suggestions on how to configure your Windows machine to compile C.
This document provides some suggestions on how to configure your Mac OSX machine to compile C.
This document provides information on how to install Anaconda.
This document provides guidance on selection and installation of an ASCII text editor.

Below are some tutorials that you may find useful:
Document providing guidance on using git and github.
Tutorial video on object oriented python.
Tutorial slides on object oriented python.
Tutorial on using JAX.


EE637 Digital Image Processing I - Laboratories (Python Based)
Course notes

Image Filtering

2-D Random Processes

Neighborhoods and Connected Components

Pointwise Operations and Gamma

Eigen-Image Analysis

Introduction to Colorimetry

Image Restoration

Image Halftoning

Deep Learning and Convolutional Neural Networks


Still in Matlab! JPEG Image Coding


Questions or comments should be sent to:


EE641 Model Based Image Processing - Laboratories
Links to Course web page and Course Text Book

MAP Image Restoration

MAP Image Restoration using JAX

The EM Algorithm

Discrete Markov Random Fields and Segmentation

Model-Based Tomography Laboratory


Questions or comments should be sent to: