Difference between revisions of "Deconvolution"

(update link to new java script demo script, and fix text to be a bit more descriptive.)
(Add links to ImageJConf 2015 deconvolution presentations)
Line 27: Line 27:
  
 
For an educational interactive ImageJ javascript demo of convolution, inverse filtering and image contrast restoration by iterative constrained deconvolution, see this [https://github.com/chalkie666/imagejMacros/blob/master/DeconvolutionDemos/Convolution_Deconvolution_Demo.js Convolution / Deconvolution / Contrast Restoration demo script]  
 
For an educational interactive ImageJ javascript demo of convolution, inverse filtering and image contrast restoration by iterative constrained deconvolution, see this [https://github.com/chalkie666/imagejMacros/blob/master/DeconvolutionDemos/Convolution_Deconvolution_Demo.js Convolution / Deconvolution / Contrast Restoration demo script]  
 +
 +
== See also ==
 +
* [https://vimeo.com/140098821 Flexible deconvolution using ImageJ Ops] ({{Person|Bnorthan}}
 +
* [https://vimeo.com/140098826 Real-time multi-view deconvolution of time-lapse data on the GPU] ({{Person|Bene}})
  
 
[[Category:Cookbook]]
 
[[Category:Cookbook]]
 
[[Category:Tutorials]]
 
[[Category:Tutorials]]

Revision as of 11:24, 16 June 2016


Template:Cookbook
Learn
Topics
Introduction
Getting Started
User Guides
Tutorials
Tips and Tricks
Presentations
Plugins
Techniques
All Techniques
Colocalization
Deconvolution
Registration
Segmentation
Stitching
Tracking
Visualization
Scripting
Overview
User input
Basics of script writing
Batch processing
Script Editor
Auto Imports
Templates
Running headlessly
Comparisons
Toolbox
Multithreading in Clojure
Multithreading in JavaScript
Chess in Jython
Languages
BeanShell
Groovy
ImageJ Macro
JavaScript
Lisp (Clojure)
MATLAB
Python (Jython)
R (Renjin)
Ruby (JRuby)
Scala

Deconvolution is an algorithm-based process used to reverse the effects of convolution on recorded data.

Introduction

These two plugins from Bob Dougherty are used together to generate a stack of the point-spread function (PSF). The Iterative Deconvolution 3D plugin uses this PSF image stack along with a stack of your sample images. The image below is a single slice taken from a stack before and after deconvolution using these plugins.

Deconvoluted data.png

See the plugins' homepages for more details: Diffraction PSF 3D & Iterative Deconvolution 3D

Generating a PSF image stack

The Diffraction PSF 3D plugin can be used to generate theoretical PSFs assuming they arise only from diffraction. These PSFs may be used with other deconvolution plugins later.

To use, run the "Diffraction PSF 3D" plugin. A dialog will appear; most of the fields are self explanatory. The width, height and depth values are for the PSF image, not your image stack. The desired values will need to be empirically determined.

Diffraction psf window1.png

Iterative deconvolution

Run the Iterative Deconvolve 3D plugin, then select the image and PSF. Start with the default values and set iterations to 10 initially. Be careful not to represent the PSF with a stack or the plugin will run out of memory and terminate.

Iterative deconvolve window.png

An interactive Convolution / Deconvolution / Contrast Restoration demo in ImageJ

For an educational interactive ImageJ javascript demo of convolution, inverse filtering and image contrast restoration by iterative constrained deconvolution, see this Convolution / Deconvolution / Contrast Restoration demo script

See also