Getting Started Documentation Glish Learn More Programming Contact Us
Version 1.9 Build 1556
News FAQ
Search Home


next up previous contents index
Next: What imager needs: Up: imager - Module Previous: imager - Module

What imager does:

Standard synthesis and single dish imaging
imager does nearly all types of synthesis and single dish imaging, including dirty images, point spread functions, deconvolution, combination of single dish and synthesis, spectral imaging, polarimetry, wide-field imaging, mosaicing, holography, near-field imaging, tracking moving objects, etc.. As a result of this extensive range of capabilities, it can be complicated to use, especially for the more esoteric forms of imaging.
Fine scaled tools
Rather than present one operation to process data from visibilities to a restored, deconvolved image, imager contains a number of distinct, separate tool functions that allow careful tuning of the processing. For example, the weights used in imaging (the IMAGING_WEIGHT column in the MeasurementSet), can be altered via a number of tool functions (weight, filter) and inspected via a plotting tool function plotweights. Similarly, the deconvolution and restoration steps are separate, allowing user control of each step. It is our intention that other imaging tools may be built on top of imager: see, for example, imagerwizard, which also has the side-benefit that it displays the imager (and other tools) commands as they are executed.
Spectral imaging
imager can perform either spectral imaging or frequency synthesis (producing either an image with each channel imaged independently or with some or all channels summed together). Channels may be selected in a number of ways, either as channels or as velocities. Also a continuum model image may be subtracted prior to making a cube.
Many different deconvolution algorithms
imager is rich in deconvolution algorithms, including a number of clean variants, maximum entropy, non-negative least squares, and the pixon algorithm.
Mixing of deconvolution functions
Since the deconvolved images are calculated and kept purely as images (rather than lists of clean components), deconvolution functions may be mixed as desired. Thus, one may use NNLS to deconvolve part of the Stokes I of an image, and then use CLEAN to deconvolve another part of all polarizations in the image. Note that a list of clean components is not available.
Ability to fix model images
In a multifield deconvolution, it is possible to specify that some fields are not to be deconvolved, using the fixed argument of clean.
Single dish imaging
imager can process single dish observations much as it does synthesis images. To make images with no deconvolution, use the makeimage function. This allows construction of traditional single dish images and holography images. To deconvolve images, just use the ``multifield'' deconvolution algorithms in clean and mem. You will want to set the gridmachine in setoptions to 'sd'.
Combination of single dish and synthesis data
If the single dish and interferometer data are in the same MeasurementSet, then imager can perform a joint deconvolution using ``multifield'' deconvolution algorithms in clean and mem. You will want to set the gridmachine in setoptions to 'both'. You can change the relative weighting of synthesis and single dish data by using setsdoptions. If the single dish and synthesis data cannot be combined into one MeasurementSet then you can still use the feather function to combine already deconvolved images.
Multi-field processing
imager can be run on any number of images, each of which can have any direction for the phase center. All coordinate transformations are done correctly. Using the measures system, these fields may be given moving positions (such as the Sun using dm.direction('sun') to specify the phase center) or positions in strange coordinates (such as Supergalactic using e.g. dm.direction('supergal', '0d', '0d') as well as the more conventional representations (e.g. dm.direction('b1950', '12h26m33.248000', '02d19m43.290000') specifies the coordinates of the core of 3C273). Note that for some coordinate systems a location must be supplied via the setoptions tool function. For example, one can put an image at a specific azimuth and elevation (e.g. dm.direction('azel', '67.4d', '5.23d')) at the VLA imgr.setoptions(location=dm.observatory('VLA')). Phase rotation will be automatically calculated to track in azimuth-elevation.
Wide-field imaging
imager can perform wide-field imaging as needed to overcome the non-coplanar baselines effect for the VLA and other non-coplanar arrays.
Mosaicing
imager can perform clean-based or mem-based mosaicing of many pointings into one image, using variants of the multi-field algorithms.
Processing of component lists
Discrete components (not the same as clean components!) can be represented by componentmodels. A componentlist can hold any number of components. The components are subtracted from the visibility data before construction of an image. For high precision imaging, it is recommended that components be used for bright sources since the Fourier Transform of components avoids the limitations of the gridded transforms.

Joint deconvolution of Stokes IQUV
imager can produce images of either I alone, or I, V or I, Q, U, V, deconvolving jointly as appropriate. The point spread function is constrained to be the same for all processed polarizations so asymmetric u,v coverage is not allowed.
Production of complex images
imager can produce dirty or residual images or point spread functions in the original data representation (e.g. RR,RL,RL,LL or XX,XY,YX,YY.
Fine control and evaluation of visibility weighting
Various tool functions for controlling the visibility weights are available (weight, filter) as well as tool functions for evaluating the effects of the weighting (plotweights, sensitivity, fitpsf). The Briggs algorithm for weighting of visibility data can be used (see weight and Dan Briggs' thesis).
Flexible windowing in the deconvolution
Rather than use boxes to limit the region CLEANed, a mask image is used to constrain the region in which flux is allowed. There are various tool functions for making a mask image, including from regions and blc/trc specifications, and via thresholding the Stokes I image. In the Clark Clean, the mask is soft: it can vary between 0 and 1. Intermediate values of the mask bias against but do not rule out subtraction of clean components.
Non-Negative Least Squares Deconvolution
This algorithm is very effective at producing high dynamic range images of moderately resolved sources (see Dan Briggs' thesis). It works on Stokes I alone so the recommended procedure is to CLEAN I, Q, U, V using clean and then use NNLS to refine the I part of the image using nnls.
Specification of arguments as measures
A measure is a measured quantity with optional units, coordinates and reference frames. These are allowed in a number of circumstances. The advantage is that the user can specify arguments in very convenient form, and let the measures system do whatever conversion is required. For example:
Cell sizes
These can be specified as a quantity (see the measures module).
imgr.setimage(cellx='7arcsec', celly='7arcsec')
Image center direction
This must be specified as a direction (see the measures module).
imgr.setimage(phasecenter=dm.direction('j2000', '05h30m', '-30.2deg'))
imgr.setimage(phasecenter=dm.direction('gal', '0deg', '0deg'))
imgr.setimage(phasecenter=dm.direction('mars'))
imgr.setimage(phasecenter=image('myother.image').coordmeasures().direction);
Velocities
These can be specified as radial velocities.
imgr.setimage(start=dm.radialvelocity('25km/s'), 
            step=dm.radialvelocity('-500m/s'))
Position
For construction of images in some coordinate frames (e.g azimuth-elevation) the position to be used in processing must be set:
imgr.setoptions(location=dm.observatory('ATCA'))
More choice in image size
Any even image size will work, though to speed the FFT, it is advisable to use a highly composite number (one that has many factors). The advise function will calculate an acceptable number.
Integrated plotting
Plots of visibility amplitude, weights (both point-by-point and gridded), uv coverage, and field and spectral window ids are available (plotvis, plotweights, plotuv, plotsummary).
Synchronous or Asynchronous processing
Operations that take a substantial amount of time to run can be run in the background either by setting the global variable dowait:=F or by setting an argument e.g. imgr.clean(async=T). To retrieve a result, use the result tool function of defaultservers with the job number as the argument. For example:
- imgr:=imager('ss433.MS')
T
- imgr.setimage(cellx='0.05arcsec', celly='50marcsec', nx=256, ny=256, 
  spwid=1:2, fieldid=1, stokes='IV') 
T 
- imgr.fitpsf()
1 
# Wait for it to finish and then ask for the result:
- defaultservers.result(1)
[psf=, bpa=[value=42.7269936, unit=deg], bmin=[value=0.13008301, 
unit=arcsec], bmaj=[value=0.159367442, unit=arcsec]]
A novel sort-less gridding algorithm
The visibility data are not sorted before the gridding step. Instead, a cache of tiles is allocated to hold each baseline as it moves around in the Fourier plane. When a baseline moves off an existing tile, the results are written to disk and the necessary new tile is read in. Since the rotation of baselines in the uv plane is usually quite slow, the hit rate of such a cache is high. The size of the cache is by default set to half the physical memory of the machine, as specified by the aipsrc variable system.resources.memory. This can be overridden by the user, via the setoptions tool function. The cache can be made smaller at the expense of more paging of tiles in and out. The tile size can also be changed but this is seldom needed. This approach is optimal for arrays with small numbers of antennas but can be slow for e.g. the VLA. We intend to rectify this in the near future.
Plug-in commands
imager can be customized by attaching commands using the AIPS++ plug-in system. See the file code/trial/apps/imager/imager_standard.gp for an example of how to attach commands.
Suite of tests
imager has a suite of tests. A standard test data set and component list can also be created.
imagerwizard
The simplemage function is a wizard that performs interactively guided imaging of synthesis data.
dragon
The dragon tool performs wide-field imaging using imager.
vpmanager
The vpmanager tool manages specification of primary beams for imager.
Near-field imaging experimental
Images of objects in the near-field of an array can be made. If the distance to the object is specified in setimage, then the extra delay due to the wavefront curvature is corrected in the transforms. Note that some telescopes (e.g. VLA) make this correction in the real-time system. This effect is important if the distance to the object is comparable to or less than:

$\displaystyle {B^2\over\lambda}$ (1.1)

where B is the baseline. Note that the sign of the correction could be in error in this experimental version: try using a negative distance as well as a positive distance.


next up previous contents index
Next: What imager needs: Up: imager - Module Previous: imager - Module   Contents   Index
Please send questions or comments about AIPS++ to aips2-request@nrao.edu.
Copyright © 1995-2000 Associated Universities Inc., Washington, D.C.

Return to AIPS++ Home Page
2006-10-15