Software‎ > ‎Deconvolution‎ > ‎

Parallel Spectral Deconvolution

Description

Parallel Spectral Deconvolution is an ImageJ plugin for spectral image 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

  • 2D and 3D spectral image deblurring
  • Multithreading (user can choose the number of computational threads)
  • Generalized Tikhonov, Tikhonov and TSVD image deblurring
  • Reflexive and periodic boundary conditions
  • Two resizing options (None or Next power of two)
  • Different output types (Same as source, Byte, Short or Float)  
  • 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 the regularization parameter)
  • View padded image option
  • Non-modal GUI
  • The plugin can be called from ImageJ macro

Limitations

  • Color images are not supported
  • The number of threads must be a power of 2

Benchmark

Testbed

  • 2 x Quad-Core Intel Xeon E5472 (3GHz, 12MB L2 Cache)
  • 32 GB RAM
  • Ubuntu 8.10 (64-bit)
  • Sun Java 1.6.0_13 (64-Bit Server VM)
  • ImageJ 1.42l

Input parameters for Parallel Spectral Deconvolution

  • Method: TSVD (reflexive), Tikhonov (reflexive), Generalized Tikhonov (reflexive)
  • Stencil: Laplacian
  • Resizing: None
  • Output:  Float (32-bit)
  • Threshold: 0.0
  • 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
Method 1 thread 2 threads 4 threads 8 threads
TSVD 6.2 (17.0)
3.9 (11.3)
2.8 (9.4)
2.0 (8.0)
Tikhonov 6.7 (19.1)
4.3 (12.0)
3.1 (9.3)
2.1 (8.5)
Generalized Tikhonov
8.3 (18.0)
5.1 (12.1)
3.7 (9.5)
2.8 (6.9)
DeconvolutionJ
61.01
- - -

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
Method 1 thread 2 threads 4 threads 8 threads
TSVD 3.2 (6.6)
1.9 (4.5)
1.2 (3.1)
0.9 (2.6)
Tikhonov 3.8 (12.2)
2.3 (8.4)
1.5 (5.3)
1.1 (3.8)
Generalized Tikhonov
4.0 (15.9)
2.6 (9.1)
1.6 (5.9)
1.2 (4.7)
DeconvolutionJ
23.45
- - -

Average execution time (in seconds) for 3D image

Examples

2D image

  • Image copyright: US Air Force Phillips Laboratory, Lasers and Imaging Directorate, Kirtland Air Force Base, New Mexico
  • Method: Tikhonov (reflexive)
  • Resizing: None
  • Output: Same as source 
  • Threshold: 0.0
  • Regularization parameter: 0.015
True image PSF
Blurred image Deblurred image

3D image

  • Image copyright: Jeff Orchard (http://www.cs.uwaterloo.ca/~jorchard/mri/)
  • Method: Generalized Tikhonov (reflexive)
  • Stencil: Laplacian
  • Resizing: None
  • Output: Same as source 
  • Threshold: 0.0
  • Regularization parameter: 0.015
  • Only 8th slice is shown
True image Blurred image Deblurred 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 User Guide (pdf, 2.2 MB)

License

Parallel Spectral Deconvolution is released under the GNU General Public License, except for Parallel Colt.

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 or use the jar files from binary distribution of Parallel Spectral Deconvolution.

version 1.12 (September 19, 2013) Changelog

binary:

doc:

source:

Donations

If you have found this software useful and would like to thank the author, you can make a donation to show your appreciation.

Comments