Main menu: Home | Publications | Research Grants | Projects | Teaching

CSc 59866 Senior Capstone Course

Course Description

In this project-based course, students are grouped into teams to work on projects of practical importance in satellite image processing, pattern recognition and data compression. The capstone course will last two semesters.
In the first semester, this course will deal, in increasingly detailed fashion as the semester progresses, with concepts and methods that are involved in appropriately defining and analyzing the information content of various kinds of data. We will introduce and discuss concepts from Shannon's treatment of information theory: the basic notions of entropy, relative entropy, and mutual information, and show how they arise as natural answers to questions of data compression, channel capacity, pattern recognition and classification. We will discuss the Bayesian approach to the classification problem, and pattern recognition systems such as segmentation, classification, feature extraction etc.
The second semester will focus on implementations of the classification toolbox and applications to analysis of the data representing observations of the Earth from space. The classification toolbox covers a wide variety of the algorithms. The objective of the project is to build a well-documented library that implements many of these algorithms and to test their performance on a variety of satellite-based earth science data.


Multispectral imaging is becoming an increasingly important tool for monitoring the earth and its environment from space borne and airborne platforms. Multispectral imaging data consists of visible and IR measurements from a scene across space and spectrum. We have a representative selection of satellite based earth science data from both polar and geostationary orbiting imagers such as
SEVIRI aboard the ESA/EUMETSAT operated Meteosat Second Generation (MSG) satellites and current GOES imagers operated by NOAA are geostationary imagers. The AVHRR aboard the NOAA Polar Orbiting Environmental Satellites and MODIS aboard the NASA Terra and Aqua satellites have polar orbits.


Pattern Classification (2nd Edition) by Richard O. Duda, Peter E. Hart, David G. Stork, Wiley-Interscience; ISBN-10: 0471056693, ISBN-13: 978-0471056690 is a classic text on the subject.
There is also a book Computer Manual in MATLAB to Accompany Pattern Classification, Second Edition (Paperback), which spells out the pseudo-code for each algorithm in Pattern Classification.


Computer Manual in MATLAB has matlab code for each of the algorithms in Pattern Classification. The available implementation in matlab is lacking for many reasons (mostly speed and memory). One of the objectives of this capstone project is to build a well-documented library in Python that implements these algorithms. Clearly having the matlab code is useful but not very practical since matlab implementation prevents the application of these algorithms to the real data. There are a number of resources for getting from matlab functionality python libraries (for example NumPy_for_Matlab_Users)

Course Objectives

Through this large project of considerable technical depth, students are expected to expose themselves to the forefront of research and development in information theory with a concentration on pattern recognition and classification. Furthermore, students have a chance to apply their software engineering knowledge in a large project full of technical challenges. By the end of the course, students will
  • learn pattern recognition algorithms
  • build a pattern recognition library designed in Python
  • test the designed library on satellite data