Parallel Spectral Deconvolution 2D and 3D

Description

Parallel Spectral Deconvolution is an ImageJ plugin for spectral deblurring. The code is based on methods described in Deblurring Images: Matrices, Spectra, and Filtering by Per Christian Hansen,
James G. Nagy, and Dianne P. O'Leary, SIAM, 2006.

Features

  • Multithreading (user can choose the number of computational threads)
  • Generalized Tikhonov, Tikhonov and TSVD image deblurring
  • Reflexive and periodic boundary conditions
  • Single and double precision
  • Threshold - specify the smallest nonnegative pixel value assigned to the restored image
  • Automatic choice of regularization parameter (based on Generalized Cross-Validation)
  • Very fast update option (deblur the same image with different value of regularization parameter)
  • View padded image (image is padded to the nearest power of 2 dimensions)
  • Non-modal GUI (user can use ImageJ while the plugin's window is showing)

Limitations

  • Color images are not supported
  • Image is padded if its size is not a power of 2
  • The number of threads must be a power of 2

Benchmark

Testbed

  • 2 x AMD Opteron 280 Dual Core CPU (2.4 GHz)
  • 16 GB RAM
  • RedHat Enterprise Linux (kernel 2.6.9)
  • Java 1.6.0_06 (64-Bit Server VM)
  • ImageJ 1.39s

Input parameters for Parallel Spectral Deconvolution

  • Method: TSVD (reflexive), Tikhonov (reflexive), Generalized Tikhonov (reflexive)
  • Stencil: Laplacian
  • Threshold: disabled
  • Regularization parameter: 0.01 / auto
  • Precision: Single

Input parameters for DeconvolutionJ

  • Output precision: Float (32-bit)
  • Resizing to 2^N-Format: No Resizing
  • Complex Number Precision: Single Precision
  • Regularization Parameter (gamma): 0.01

2D Benchmark

  • Image size: 4096 x 4096 pixels
  • PSF size: 4096 x 4096 pixels
  • Numbers in brackets include the computation of the regularization parameter

Method1 thread2 threads4 threads
TSVD8.8 (33.8)
5.2 (22.5)
3.7 (17.7)
Tikhonov8.1 (32.1)
5.9 (19.3)
3.9 (15.2)
Generalized Tikhonov
11.0 (28.7)
6.9 (19.1)
4.7 (14.3)
DeconvolutionJ
168.6
--

Average execution time (in seconds) for 2D image

3D Benchmark

  • Image size: 128 x 256 x 256 pixels
  • PSF size: 128 x 256 x 256 pixels
  • Numbers in brackets include the computation of the regularization parameter

Method1 thread2 threads4 threads
TSVD4.4 (12.9)
2.5 (9.1)
1.6 (6.4)
Tikhonov4.9 (15.6)
2.8 (12.4)
1.8 (7.0)
Generalized Tikhonov
6.5 (25.8)
3.6 (15.1)
2.2 (9.3)
DeconvolutionJ
29.8
--

Average execution time (in seconds) for 3D image

Examples

2D image (download: zip, tar.gz)

  • Image copyright: US Air Force Phillips Laboratory, Lasers and Imaging Directorate, Kirtland Air Force Base, New Mexico
  • Method: Tikhonov (reflexive)
  • Threshold: 0.0
  • Regularization parameter: 0.015

True imagePSF
Blurred imageDeblurred image

Examples

3D image(download: zip, tar.gz)


True imageBlurred imageDeblurred image


Documentation

To install the plugin, just download the binary distribution, unpack the archive into the plugin directory and restart ImageJ. The plugin will appear under Plugins » Parallel Spectral Deconvolution menu.

View Javadoc API

License

Parallel Spectral Deconvolution is released under the GNU General Public License, except for Parallel Colt and Nonlinear Optimization Java Package.

Download

The source code distribution, besides Ant build file, contains also Eclipse project files. To build the source code you need to download Parallel Colt and Nonlinear Optimization Java Package (jar, zip, tar.gz) or use the jar files from binary distribution of Parallel Spectral Deconvolution.

version 1.6 (April 17, 2008) changelog.txt

binary:

source: