Charles A. Bouman
Showalter Professor of Electrical and Computer Engineering and Biomedical Engineering
Professor of Mathematics (by Courtesy)
email: bouman@purdue.edu; 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
Foundations of Computational Imaging Textbook

Model Based Iterative Reconstruction (MBIR)
Overview of Research in Computational Imaging
MBIR software packages for tomographic reconstruction
Legacy OpenMBIR software for tomographic reconstruction
MBIR Publications; Like a Jigsaw Puzzle (Optik & Photonik, vol. 8, no. 1, April 2013

Plug-and-Play (PnP) Reconstruction
SP Magazine 2023: Plug-and-Play Methods for Integrating Physical and Learned Models
SIAM News 2021: Plug-and-Play for Fusing Sensor and ML Models
Plug-and-Play and MACE Explained, SIAG/Imaging Science Best Paper Prize Lecture, 2020;

What's Happening in Computational Imaging
Computational Imaging Twitter blog
2025 Computational Imaging Meeting

Teaching and Graduate Student Resources

Course Lectures: YouTube video playlists
ECE60146: Deep Learning: Class web page;
ECE637: Digital Image Processing I: Class web page; and video lectures
ECE60141: Foundations of Computational Imaging: Class web page; video lectures;
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.

Software

OpenMBIR Tomography Software
This is a GitHub landing page that directs you to the MBIR software packages that are currently available and under development. In particular, we have easy-to-use and relatively fast code for parallel, fan, and cone beam geometries, and we have some C-code for multi-slice helical geometry.

Data Repository
This is a repository that contains various public data for experimentations. In particular, the github repositories for tomography and other experiments use this data for demos.

Cluster
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.

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.

SLADS
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.

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.

RegressionTree
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.

Browse
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.

MatrixSourceCoding
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