Last modified: December 2022

AHELP for CIAO 4.16


Context: Tools::Image


Restore image resolution using deconvolution techniques


arestore  infile psffile outfile numiter [psf_x_center] [psf_y_center]
[method] [clobber] [verbose]


`arestore' restores images degraded by a blurring function by using the Richardson Lucy deconvolution algorithm.

An image of astronomical source observed can be mathematically described as a convolution of the intrinsic brightness distribution of the source with a blurring function. The blurring of the source image may be introduced by the telescope optics and the detector, including the limited size of detector pixels, and by an additional noise component. The blurring function, often called Point Spread Function (PSF), can be expressed as a convolution between the telescope image of a point source and the point response function of the imaging detector. Various deconvolution methods can be applied to restore the degraded resolution in the image, assuming a known blurring function (PSF).

The Lucy-Richardson deconvolution algorithm (method=lucy). requires that the spatial/spectral characteristics of the input PSF are very well known (from observations or from simulations). The Lucy-Richardson method performs well for bright point sources. However, for low-count observations and especially for extended low-intensity sources, the algorithm has a tendency to concentrate the intensity into points rather than restoring the smooth low-intensity regions in the image.

As in the case of many other deconvolution techniques, this method does not produce reliable convergence and uncertainty information. Users should be very cautious in interpreting and evaluating the results of the deconvolution, especially when applied to faint and/or extended sources (few hundred counts).


Example 1

arestore my_img.fits my_psf.fits my_outfile.fits method=lucy numiter=100

Will deconvolve an image (my_img.fits) using a PSF from a file supplied by the user (my_psf.fits) using the Lucy-Richardson deconvolution (lucy) method with 100 iterations.

Example 2

arestore my_img.fits my_psf.fits my_outfile.fits psf_x_center=130
psf_y_center=128 numiter=50 method=lucy

Will deconvolve an image (my_img.fits) using a PSF from a file supplied by the user (my_psf.fits) with the PSF center defined by its logical coordinates: x=130 pixels, y=128 pixels and using 50 lucy iterations.


name type ftype def min max reqd
infile file input       yes
psffile file input       yes
outfile file output       yes
numiter integer         yes
psf_x_center integer   INDEF      
psf_y_center integer   INDEF      
method string   lucy      
clobber boolean   no      
verbose integer   0 0 5  

Detailed Parameter Descriptions

Parameter=infile (file required filetype=input)

Input image file.

Parameter=psffile (file required filetype=input)

Input response file (eg. PSF).

The PSF file that describes the instrumental smearing of the data.

To carry out deconvolution of Chandra data with arestore user needs to provide an accurate model of the PSF. The HRMA PSF can be simulated with ChaRT and the instrument effects, including detector pixelization, can be simulated with MARX. Before applying arestore, users should consult the ChaRT caveats page and review the PSF calibration information.

See the ChaRT pages on the CXC web site for more information on Chandra PSFs.

Parameter=outfile (file required filetype=output)

The restored output file.

Parameter=numiter (integer required)

Number of iterations

For "lucy" deconvolution, users should run few dozen to a hundred iterations to avoid an overly grainy reconstruction.

There is no mathematically optimal number of iterations. Users should generally start with a generous number of iterations, 50 is a good starting point. Then increase the the number of iterations a few times in modest size increments, 10 is reasonable, to see how well the algorithm is converging. The increments can be increased or decreased based on scale of the total difference in the images.

Parameter=psf_x_center (integer default=INDEF)

X center of the PSF file.

The location of the center of the PSF in the X-direction. This should be in image coordinate, eg from 1 to N where N is the number of pixels in the X-direction.

A value of 'INDEF' will use the value (floor(N/2)+1).

Parameter=psf_y_center (integer default=INDEF)

Y center of the PSF file.

The location of the center of the PSF in the Y-direction. This should be in image coordinate, eg from 1 to N where N is the number of pixels in the Y-direction.

A value of 'INDEF' will use the value (floor(N/2)+1).

Parameter=method (string default=lucy)

Deconvolution method

Determines which deconvolution algorithm to use. Currently, the only available option is lucy, for the Lucy-Richardson deconvolution algorithm.

Parameter=clobber (boolean default=no)

Remove output file if it exists

Parameter=verbose (integer default=0 min=0 max=5)

Amount of tool chatter

Deconvolution Algorithms

Lucy-Richardson Deconvolution

The Lucy-Richardson deconvolution algorithm implemented in arestore was developed independently by Lucy (1974, Astron. J. 79, 745) and Richardson (1972, J. Opt. Soc. Am., 62,55). This is an iterative technique that applies maximum likelihood fitting using nonnegative data corrupted with Poisson noise, eg. Chandra data with photon-counting statistics.

The advantage of the Lucy-Richardson algorithm is that it is relatively fast and easy to implement, and performs well for sources which are concentrated in a few points.


There are no known bugs for this tool.

See Also

aconvolve, acrosscorr, apowerspectrum, csmooth, dmfilth, dmregrid
arfcorr, make_psf_asymmetry_region, psf_project_ray, simulate_psf, src_psffrac