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.
Still in Matlab! JPEG Image Coding
Questions or comments should be sent to:
Prof. Charles A. Bouman, School of Electrical and Computer Engineering, Purdue University, West Lafayette IN 47907; bouman@ecn.purdue.edu
Questions or comments should be sent to:
Prof. Charles A. Bouman, School of Electrical and Computer Engineering, Purdue University, West Lafayette IN 47907; (765) 494-0340; bouman@ecn.purdue.edu