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
| Method | 1 thread | 2 threads | 4 threads |
| TSVD | 8.8 (33.8) | 5.2 (22.5) | 3.7 (17.7) |
| Tikhonov | 8.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 | - | - |
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 |
| TSVD | 4.4 (12.9) | 2.5 (9.1) | 1.6 (6.4) |
| Tikhonov | 4.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 | - | - |
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 image | PSF |
![]() | ![]() |
| Blurred image | Deblurred image |
![]() | ![]() |
Examples
3D image(download: zip, tar.gz)
- Image copyright: Jeff Orchard (http://www.cs.uwaterloo.ca/~jorchard/mri/)
- Method: Generalized Tikhonov (reflexive)
- Stencil: Laplacian
- 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 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:
- parallel_spectral_deconvolution-1.6-bin.zip [2,765,775 bytes]
- parallel_spectral_deconvolution-1.6-bin.tar.gz [2,765,655 bytes]
source:
- parallel_spectral_deconvolution-1.6-src.zip [126,445 bytes]
- parallel_spectral_deconvolution-1.6-src.tar.gz [60,449 bytes]






