lvsvpsf(3)

LIBRARY ROUTINE
lvsvpsf - Perform restoration of general space-variant pointspread functions

LIBRARY CALL
#include "vinclude.h"
int
lvsvpsf(img,psf,thresh)
struct xvimage *img,*psf;
float thresh;

INPUT

img pointer to image to be restored.

psf pointer to quantized PSF image.

thresh
    threshold level for inverse filter (float).

OUTPUT

img contains the restored input image. The original image is overwritten.

MODIFICATIONS

DESCRIPTION
lvsvpsf performs restoration of space-varying blurs. The technique used is to restore the entire image once for each of the set of pointspread functions present in the image, and then merge the result arrays together depending on which pointspread is operating at each location.

The pointspread image should be a single band image of type INT with FLOAT maps. The maps should be interpreted as follows: 1) Each entry in the map (vector) is a 2D sampled representation of the pointspread function somewhere in the image, 2) The size of the 2D sampled PSF (in rows and columns) is map_subrow_size (rows) by map_col_size/map_subrow_size (cols). This image is usually obtained by using vquant to quantize the distribution of PSF in the image and also to produce the mapping information.

A simple thresholded inverse filter (lvinverse) is used to perform the individual restorations.

SEE ALSO
vsvpsf(1), intro(3), vipl(3), verror(3), vutils(3) lvinverse, lvquant

RESTRICTIONS
COMPLEX data types are not supported. Yet.

AUTHOR
Scott Wilson

COPYRIGHT
Copyright 1991, University of New Mexico. All rights reserved.