Van Cittert deconvolution

Van Cittert deconvolution is an iterative algorithm for reversing a convolution with a known point spread function.  To demonstrate the algorithm, the result of the Gaussian blur example is loaded.  The Van Cittert algorithm then is applied to this image to estimate the original input image.  The first iteration of the algorithm uses the blurred image as an estimate.

See also

#!/usr/bin/ruby
require 'hornetseye'
raise 'Syntax: ./vc.rb <input image> <output image>' if ARGV.size != 2
sigma = 3.0
f = Hornetseye::MultiArray.load_ubytergb ARGV[0]
g = f.to_sfloatrgb
25.times { g = f + g - g.gauss_blur( sigma ) }
g.clip.save_ubytergb ARGV[1]
This is an example on how to apply a Gauss blur filter.
Close