Introduction to mosaicing and its implementation in CASA


The goal of mosaicing is to image a field view bigger than a single primary beam of the element in an interferometer. The mosaic in 1-D imaging can be represented by equation 2.

$ I_m(l)\approx\sum_pI_p(l)  \qquad   (1) $

$  I_m(l) ≃ K(l) ∑_pW_p(l)A_p(l-l_p)I(l) \qquad  (2) $

where $I_m ( l )$ is the mosaic image, $I( l )$ is the true sky, $I_p( l )=A_p(l-l_p)I(l)$ is the image made at one pointing $p$, $A_p( l - l_p)$ is the primary beam centered at direction $l_p$, $W_p( l )$ is a weighting function used to combine different pointings (for e.g. to account for sensitivity), and $K( l )$ is a correction term (e.g. to make the image flux correct or to attenuate noise).

Equations 1 and 2 show how images can be added or merged to make a mosaic. As can be seen, there is some freedom in terms of weighting different components that makes the mosaic. One can for example choose $W_p( l )$ and $K( l )$ such that pointings with reduced sensitivity are downweighted.

Type Figure
ID Mosaicing
Caption Mosaicing to cover 2 sources separated by more than a beam width.


What is implemented in CASA

A common form of equation 2 (Sault et al. [1]) used in mosaicing software is given by equation 3:

$ I_m ( l ) = \frac{W( l ) ∑_{p\nu}\frac{ A_p ( l- l_p ) I_p ( l )}{ σ_p^2}}{∑_p\frac{ A_p^2 ( l- l_p )}{ σ_p^2}}   \qquad (3) $

where $W( l )$ is a weight function applied to make the image more attractive, namely tapering down the noise at the edges of the mosaic. This weighting is commonly referred to Sault weighting in CASA documentation.

When using the linearmosaic tool in CASA [2], the mosaic is a simplified version of equation 3:

$ I_m(l)= \frac{∑_pA_p(l-l_p)I_p(l)}{ ∑_pA_p^2(l-l_p)}  \qquad (4) $

Fora  linear mosaic, $A_p$ represents the beam for a pointing but may be the sensitivity pattern if that is known (for pointed mosaic, the sensitivity pattern is the beam weighted by the integration and bandwidth sensitivity) and $I_p$ represents the deconvolved image of each pointing. While there is not CASA task to make linear mosaics, you  can use the toolkit to make linear mosaics in CASA:

# make a mosaic of two fields
im.defineoutputimage(nx=3000, cellx=’3arcsec’, imagecenter=’19h13m13.469 4d50m09.649’, outputimage=’test.linmos’)     
# generating a flux correct linear mosaic
im.makemosaic(images=[’FIELD_31.image’,’FIELD_33.image’],weightimages=[’FIELD_31.pb’, ’FIELD_33.pb’])

Please read the documentation at [2] for the meaning of the different parameters.

Implementation of equation 3, as is, to generate dirty images or residual images can be achieved in the task clean. It is not yet ready in the task tclean, although an untested version exists via gridder='imagemosaic'. This is usually called image plane joint deconvolution mosaic.

# imagermode 'mosaic' tells clean to make a mosaic
# ftmachine 'ft' tells clean it is simple imageplane inversion of visibities
clean(......, imagermode='mosaic', ftmachine='ft')
# same as above except each pointing data in inverted with wprojection to correct
# for widefield issues in each pointing
clean(......, imagermode='mosaic', ftmachine='wproject')

The image plane mosaic does not account for the fact that the primary beam varies with frequency (in equations 3 and 4 we use a mean beam) and one could in principle have different types of antennas (different beams $A_p$ ). To deal with this (along with speed issues for very large data), we use mosiacing in uv domain (also known as A-projection). This in theory can account accurately for the beam of each antenna at each frequency in a mosaic as we convolve with the Fourier transfrom of the beam of each antenna at different frequencies [3].

The A-Projection mosaic equation implemented in CASA right now is

$ I_m(l)= \frac{\sum_p\sum_{\nu}k_{p\nu}A_{p\nu}^2(l-l_p)I(l)}{ ∑_p\sum_{\nu}k_{p\nu}A_{p\nu}^2(l-l_p)} \qquad (5) $

which is an approximation of what should be done i.e.

$ I_m(l)= \frac{\sum_p B_p\frac{\sum_{\nu}k_{p\nu}A_{p\nu}^2(l-l_p)I(l)}{\sum_{\nu}k_{p\nu}A_{p\nu}^2(l-l_p)}}{\sum_p B_p} \qquad (6) $
The variable $k_{p\nu}$ is the sum of weights for each pointing at each frequency (i.e sensitivity measure) and $B_p$ is a frequency independent beam.
This method is available in both clean and tclean. The modes gridder=mosaicft (or ftmachine=mosaic) can handle data sets that contain different antenna sizes (i.e., a heterogenous array) and  wide bandwidth. Setting gridder=awprojectft allows for full beam polarization correction, thus should be used for full polarization mosaics.

# In clean
clean(...., imagermode='mosaic', ftmachine='mosaic', .....)
#in tclean
tclean(....., gridder='mosaicft', ....)
tclean(....., gridder='awprojectft', ....)

Citation Number 1
Citation Text Sault et al 1996 (ADS)
Citation Number 2
Citation Text
Citation Number 3
Citation Text