Point Spread Functions

The ALE Irani-Peleg renderer uses a point-spread function to model the optical and electronic properties of the capture device used. The PSF can be specified in terms of one linear and one non-linear component.

PSF specification

The PSF can be explicitly specified by using one or both of the psf options.

--lpsf <p> Set linear colorspace point-spread function to <p> --nlpsf <p> Set non-linear colorspace point-spread function to <p>

Available explicit point-spread functions are as follows:

box=<d> Set the PSF to a box filter with diameter <d>. circle=<d> Set the PSF to a circular filter with diameter <d>. stdin Specify a custom filter at runtime. stdin_vg stdin with vertically-oriented gaps after every 8th pixel. <p>+<p> Summation of two functions <p>^<p> Convolution of two functions. <n>*<p> Multiplication by a scalar <n>.

If a device is known to ALE, then its PSF can be implicitly set with the --device option. (See the device page for more information.) If a device is not specified, then the default linear PSF component is box=1. The non-linear PSF component is disabled by default.

Determining the PSF

The PSF can be approximated based on images of known scenes. The ALE source distribution includes an experimental script that numerically approximates the PSF in this way (d2/render/psf/ale-psf-calibrate). Other, more efficient methods for approximating the PSF are likely possible, however.