jjil.algorithm
Class InverseFilter

java.lang.Object
  extended by jjil.core.PipelineStage
      extended by jjil.algorithm.InverseFilter

public class InverseFilter
extends PipelineStage

Computes the inverse filter of the input image, given an input point spread function and noise level.

Author:
webb

Constructor Summary
InverseFilter(Gray8Image psf, int nGamma)
          Creates a new instance of InverseFilter.
 
Method Summary
 void push(Image im)
          Compute the inverse filter of the given image.
 
Methods inherited from class jjil.core.PipelineStage
getFront, isEmpty
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

InverseFilter

public InverseFilter(Gray8Image psf,
                     int nGamma)
              throws Error
Creates a new instance of InverseFilter.

Parameters:
psf - The input point spread function. This must be a power of 2 in size.
nGamma - The gamma parameter from the inverse filter operation, corresponding to a noise level. Higher gamma values imply a higher noise level and keep the inverse filter from amplifying noisy components.
Throws:
Error - If the point spread function is not square or a power of 2 in size.
Method Detail

push

public void push(Image im)
          throws Error
Compute the inverse filter of the given image.

Specified by:
push in class PipelineStage
Parameters:
im - the Gray8Image to compute the inverse filter on.
Throws:
Error - If the input image is not a Gray8Image or not the same size as the point spread function.