Charles A. Bouman
Showalter Professor of Electrical and Computer Engineering and Biomedical Engineering
School of Electrical Electrical and Computer Engineering, Purdue University
email:; phone: (765) 494-0340
MSEE 320, 465 Northwestern Avenue, West Lafayette IN 47907-2035
Short Biography and Vita
Click here if you need an academic promotion

Publications and Presentations
All Publications
Integrated Imaging Plenary, Electronic Imaging 2014
Integrated Imaging Seminar (at RIT): link to RIT seminar
What's Happening in Computational Imaging
SIAM News: Plug-and-Play;
SIAG/Imaging Science Best Paper Prize Lecture: Plug-and-Play and MACE Explained;
Plug-and-Play and Consensus Equilibrium Explained;
Computational Imaging Twitter blog;
2021 Computational Imaging Meeting;
Super-Voxel MBIR Python Package;
Model Based Iterative Reconstruction (MBIR)
OpenMBIR family of software for tomographic reconstruction
MBIR Publications; Like a Jigsaw Puzzle (Optik & Photonik, vol. 8, no. 1, April 2013
Veo/MBIR Announcement ; TIMBIR Featured at Advanced Photon Source

Teaching and Graduate Student Resources

Overview of Research in Computational Imaging
Course Lectures: YouTube video playlists
ECE695DL: Deep Learning: Class web page; and
ECE637: Digital Image Processing I: Class web page; and video lectures
ECE641: Model-Based Imaging: Class web page; video lectures; and Model-Based Imaging Textbook
ECE301: Class web page; ECE438: Class web page and Laboratory

Katie Bouman (i.e., my daughter) in the news
OK, if you haven't seen her in the news, then just Google "Katie Bouman".
IEEE: The Inside Story of the First Picture of a Black Hole
First talk given at Caltech on the Computational Imaging methods used to form the first Black Hole image
Subsequent lectures at Stanford and MIT
TED Talk: What does a black hole look like?; and interview
BBC News interview
; BBC News interview on facebook
; Radio Program
; Pallab Ghosh interview on BBC

Seeing around corners: Wired Magazine; Seeing around corners: Boston Globe;
Mild Controversy

Firsts long before Compressed Sensing:
First paper on total variation (TV) regularized reconstruction. See equation (6). Sauer and Bouman, TNS, Aug. 1992.
Very early or first paper on sparse view reconstruction using regularized inversion. See Figure 17. Sauer and Bouman, TSP, Feb. 1992.
First paper on sparse view reconstruction using total variation (TV) regularization. See Figure 14. Sauer and Bouman, TIP, July. 1993.

Follow Linda: The Facebook Page; The Final Chapter; The (Redacted) Conclusion
, and Spending $1 Million to Get Rid of Katehi


OpenMBIR Tomography Software
This directory contains a variety of open software packages for model-based iterative reconstruction (MBIR) tomography. It includes code for STEM/TEM recon of bright and darkfield data, and 3-D/4-D synchrotron recon code. It also contains some old lagancy code packages.

An Unsupervised Algorithm for Modeling Gaussian Mixtures based on the EM algorithm and the MDL order estimation criteria. This program clusters feature vectors to produce a Gaussian mixture model. It also estimates the number of clusters directly from the data.
A python implementation of an algorithm for dynamic 2D sampling. This algorithm can be used in applications such as microscopy to select the most informative next pixel location based on previous measurements.

Plug-and-Play Priors for Interpolation and Reconstruction
This links to software packages for easy-to-use Plug-and-Play implementations. Simple examples with data are giving for sparse interpolation and tomographic reconstruction.

Multi-UAV Target Tracking Datasets
This links to a ground-truthed dataset that contains HD video of multiple fixed-winged GPUs. The data was given to us courtesy of Tim Chung, Mathias Kolsch, and Oleg Yakimenko of the Navel Postgraduate School, and then it was manually ground-truthed by Jin Li and Dong Hye Ye using the VATIC package.

SMAP segmentation software
Robust and computationally efficient software for segmenting images using a Bayesian multiscale framework. It uses the Cluster software above as a basis for characterizing the region classes. The package includes TEST IMAGES from associated publications.

Sparse Matrix Transform (SMT) code and publications
The SMT is a generalization of the FFT and orthonormal wavelet transform that can be used for covariance estimation and fast matrix-vector product computation. It is particularly well suited for non-stationary random processes and time(space)-varying systems analysis.

Color Quantization Software
This directory contains a software packages for performing color quantization of color images using the binary splitting method.

Document Descreening
Color document descreening softwared known as Resolution Synthesis based Descreening as described in the IEEE TIP March 2007 paper.

Document Text Segmentation for MRC Coding
This software uses a combination of block-based segmentation known as cost-optimized segmentation (COS) and MRF based classification known as connected-components classification (CCC) to detect and segment text from raster document images.

YCxCz Fidelity Metrics Software
This is a Matlab package for computing two fidelity metrics based on the YCxCz color transformation. One quality metric is based on a non-linear transformation to an Lab-like space, and the other transform is based on a linearized Lab space. Both metrics incoporate a modulation transfer function for the human visual system.

Clustered Component Analysis (CCA)
An Algorithm for Estimating Component Directions in Data. This matlab coding is designed to automatically estimate the number and directions of distinct non-orthogonal components in multivariate data. It can be used in a manner similar to independent components analysis (ICA), but it is based on an explict signal and noise model, and it performs maximum likihood (ML) parameter estimation using the expectation maximization (EM) algorithm. Its algorithmic structure is similar to that used in the Cluster algorithm above.

Tree-Structured Predictor Program C source code that implements an algorithm for nonlinear prediction using a tree-structured predictor. The code consists of two basic programs/algorithms. The first algorithm estimates the order (size) and parameters of a tree using a growing (splitting) and cross-validation pruning strategy. The second program/algorithm then applies the estimated tree parameters to efficiently compute nonlinear estimates from vector inputs.

Software for browsing and searching large image databases efficiently. This is a robust and useful application which runs on win95/98, NT, and unix. It also includes C++ source code, so it can be modified for other applications.

This directory contains software that implements an algorithm for fast space-varying convolution using the matrix source coding technique.

Raster Document Test Images
A 400 dpi and 600 dpi version of a mixed raster document for use in testing document compression algorithms.

Image read and write C-code
Easy to use C-subroutines for reading and writing TIFF and JPEG images.

Useful Local Information