MATLAB CODE
written by John Bardsley
(unless otherwise noted)
These codes come with no guarantees
(Last modified in 11/2008) Other iterative methods for Nagy's RestoreTools: These files can be added to RestoreTools, created by Jim Nagy. The iterative methods include Richardson-Lucy, Gradient Projection-Conjugate Gradient, Gradient Projection, and covariance preconditioned MRNSD with iterative stopping rules. Relative references for the latter are: "Stopping Rules for a Nonnegatively Constrained Iterative Method for Ill-Posed Poisson Imaging Problems," to appear in BIT Numerical Mathematics, and "Covariance-Preconditioned Iterative Methods for Nonnegatively Constrained Astronomical Imaging," with Jim Nagy, SIAM Journal on Matrix Analysis and Applications, Vol. 27, No. 4, 2006.
(Last modified in 7/2008) Remote Sensing Supervised Classification: This suite of MATLAB codes performs supervised classification of Remote sensing data using several basic methods from the literature. The use of the codes is described and QuickBird imagery from a number of different river sights is included for testing purposes.
(Last Modified, 9/2008) A Nonnegatively Constrained, Convex Programming Algorithm:
This is the code that was used in the papers "A Nonnnegatively Constrained Convex Programming Method for Image Reconstruction", "Total Variation-Penalized Poisson Likelihood Estimation for Ill-Posed Problems", "Tikhonov Regularized Poisson Likelihood Estimation: Theoretical Justification and a Computational Method", "An Efficient Computational Method for Total Variation with Poisson Negative-Log Likelihood", "An Analysis of Regularization by Diffusion for Ill-Posed Poisson Likelihood Estimation," and "An Iterative Method for Edge-Preserving MAP Estimation when Data-Noise is Poisson". See my publications page for more details. The main algorithm is for nonnegatively constrained, regularized Poisson likelihood estimation. At this point you can choose Tikhonov, total variation regularization, and diffusions regularizatoin. A number of other methods are also implemented. These include the GPCG algorithm of More' and Toreldo for large-scale bound constrained quadratic minimization, the EM algorithm, the projected gradient method, the projected Newton method and the lagged diffusivity fixed point iteration. There are README files to guide you in the use of the codes. A stripped down version involving only the code I've developed and that implements an arbitrary quadratic regularization function can also be downloaded here.
(Last modified in 1/2007 and written in part by Curt Vogel) Phase Diversity:
This is the code that was used in the paper by Vogel, Gilles, and myself titled "Computational Methods for a Large-Scale Inverse Problem Arising in Atmospheric Optics." It was then added to for use in the paper "An Efficient Estimation Scheme for Phase-Diversity Time Series Data," that I submitted in the fall of 2006. The suite of codes contains implementations of the Limited Memory BFGS algorithm and the Steihaug Newton-CG trust region algorithm for solving a large-scale unconstrained minimization. For postprocessing, the suite contains the nonnegatively constrained methods Modified Residual Norm Steepest Descent (MRNSD), covariance preconditioned MRNSD, and Richardson-Lucy. There are README files to guide you in the use of the codes.
(Last Modified, 1/2007) Adaptive Optics:
This is the code that was used in the papers "Wavefront Reconstruction Methods for Adaptive Optics Systems on Ground-Based Telescopes" and "An Analysis of a Wavefront Reconstruction Problem Arising in Adaptive Optics". The data generation codes were created by Curt Vogel. There are README files to guide you in the use of the codes.
(Last Modified, 12/2004) A bound constrained, ellipsoidal trust region implementation of the Levenburg-Marquardt algorithm: In addition
to this algorithm, there is a "classical" implementation of
Levenburg-Marquardt. Examples using both real data from a vibrating beam and synthetic data
generated by the Harmonic Oscillator ODE,
u''+cu'+ku=0, u(t_0)=u_0 and u'(t_0)=0,
are contained within. For details read README.txt once you have downloaded and unzipped the file. This is a zip file.
(Last Modified, 5/2003) Finite Difference Time Domain (FDTD) MATLAB and Fortran-Mex codes. These codes contain MATLAB versions of all of the C code included in the text "Electromagnetic Simulation Using the FDTD Method" by D. M. Sullivan. This text is excellent for those wanting to learn about FDTD. Also contained are the codes used for the simulations in the paper: J. M. Bardsley and H. T. Banks, "Parameter Identification for a Dispersive Dielectric in 2D Electromagnetics: Forward and Inverse Methodology with Statistical Considerations," International Journal of Computational and Numerical Analysis and Applications, vol. 5, No. 1, 2004, pp. 13--49. Incorporated into these (contained in the subdirectory 2D/Inv_Prob) is a mex file that allows for the access of Fortran code for the FDTD loops. The resulting FDTD implementation is approximately 100 times faster than the full MATLAB implementation.