User Parameters - Continuum imaging

Summary

The parameters listed here allow the user to configure the parset and the slurm job for continuum imaging of the science field. The defaults have been set based on experience with science commissioning and ASKAP Early Science, using the 12-antenna array. If you are processing different data sets, adjusting these defaults may be necessary.

Some of the parameters can be set to blank, to allow cimager to choose appropriate values based on its “advise” capability (which involves examining the dataset and setting appropriate values for some parameters.

For most observations to date, there is a single phase centre that applies for all beams. Thus, if advise is used to determine the image centre, the same direction will be used for each beam. This is the way the BETA processing was done, and in this case the image size must be chosen to be big enough to encompass all beams. This behaviour is applied when IMAGE_AT_BEAM_CENTRES=false.

The preferred behaviour, however, is to set a different image centre per beam, as this allows a smaller image to be made when imaging. To do this, the footprint.py tool is used to determine the locations of the centres of each beam. The footprint specification is determined preferentially from the scheduling block parset, or (if not available there) from the parameters described at User Parameters - Mosaicking. To use this mode, set IMAGE_AT_BEAM_CENTRES=true.

When setting the gridding parameters, note that the gridder is currently hardcoded to use WProject. If you want to experiment with other gridders, you need to edit the slurm file or parset yourself (ie. set SUBMIT_JOBS=false to produce the slurm files without submission, then edit and manually submit).

While the default application used for the imaging is cimager, it is possible to use the newer imager (imager). Much of the functionality will be identical for continuum data (imager was developed initially as a better spectral-line imaging tool).

An option exists to do the continuum-imaging with self-calibration. The algorithm here is as follows:

  1. Image the data with cimager or imager

  2. Run source-finding with Selavy with a relatively large threshold (unless we are using option 3c. below)

  3. Use the results to calibrate the antenna-based gains by either:

    1. Create a component parset from the resulting component catalogue and use this parset in ccalibrator

    2. Create a model image from the component catalogue, and use in ccalibrator

    3. Use the clean model image from the most recent imaging as the model for ccalibrator (no source-finding will be done)

  4. Re-run imaging, applying the latest gains table

  5. Repeat steps 2-5 for a given number of loops

Each loop gets its own directory, where the intermediate images, source-finding results, and gains calibration table are stored. At the end, the final gains calibration table is kept in the main output directory (as this can then be used by the spectral-line imaging pipeline).

There are two options for how this is run. The first (MULTI_JOB_SELFCAL=true) launches a separate slurm job for each imaging task, and each “calibration” task - the calibration job incorporates the selavy, cmodel and ccalibrator tasks. The latter uses a single node only. If MULTI_JOB_SELFCAL=false, these are all incorporated into one slurm job, including all loops.

Some parameters are allowed to vary with the loop number of the self-calibration. This way, you can decrease, say, the detection threshold, or increase the number of major cycles, as the calibration steadily improves. These parameters are for:

  • Deconvolution: CLEAN_ALGORITHM, CLEAN_GAIN, CLEAN_PSFWIDTH, CLEAN_THRESHOLD_MAJORCYCLE, CLEAN_NUM_MAJORCYCLES, CLEAN_MINORCYCLE_NITER, CLEAN_THRESHOLD_MINORCYCLE and CLEAN_SCALES

  • Preconditioning: PRECONDITIONER_LIST, PRECONDITIONER_GAUSS_TAPER, PRECONDITIONER_GAUSS_TAPER_IS_PSF, PRECONDITIONER_GAUSS_TAPER_TOL, PRECONDITIONER_WIENER_ROBUSTNESS, and PRECONDITIONER_WIENER_TAPER

  • Self-calibration: SELFCAL_SELAVY_THRESHOLD, SELFCAL_INTERVAL and SELFCAL_NORMALISE_GAINS

  • Data selection in imaging: CIMAGER_MINUV and CIMAGER_MAXUV

  • Data selection in calibration: CCALIBRATOR_MINUV and CCALIBRATOR_MAXUV

To use this mode, the values for these parameters should be given as an array in the form SELFCAL_INTERVAL="[1800,1800,900,300]", or, when the parameter would take an array of values, those arrays should be separated by semi-colons (with a space on either side): CLEAN_SCALES="[0] ; [0,20] ; [0,20,120,240] ; [0,20,120,240,480]".

The size of these arrays should be one more than SELFCAL_NUM_LOOPS. This is because loop 0 is just the imaging, and it is followed by SELFCAL_NUM_LOOPS loops of source-find–model–calibrate–image. Only the parameters related to the imaging (the deconvolution & preconditioning parameters in the list above) have the first element of their array used. If a single value is given for these parameters, it is used for every loop.

Once the gains solution has been determined, it can be applied directly to the continuum measurement set, creating a copy in the process. This is necessary for continuum cube processing, and for archiving purposes. This work is done as a separate slurm job, that starts upon completion of the self-calibration job.

The pipeline now has a feature to optionally derive and correct for the effect of on-axis leakages of unpolarised ssources to the the other Stokes parameters. The leakages are derived from the bandpass-corrected, spectrally-averaged and flagged PKS1934-638 data. Users need to specify DO_LEAKAGE_CAL_CONT=true to derive the antenna leakages, and specify DO_APPLY_LEAKAGE=true to apply the leakage corrections to uvdata. The leakage correction is applied to gain-corrected data obtained after the self-calibration.

Following this application of the gains and/or leakage calibration solution, one can optionally image the continuum dataset as a cube, preserving the frequency sampling. This task also allows the specification of multiple polarisations, with a cube created for each polarisation given.

Following continuum-cube imaging, the cube statistics are calculated, using a distributed task within the same slurm job as the spectral imaging. This produces a file listing a series of statistics for each channel, as well as a plot of the statistics. See Validation and Diagnostics for examples. These statistics are then used to identify problematic channels (for example, due to divergence in the imaging caused by RFI) that are then masked. Blank channels (those not imaged, e.g. due to barycentric correction or missing data) are also masked. The statistics file is then regenerated.

A note on the imagers and the output formats. The default approach is to now use imager (imager) for both continuum and spectral imaging. The use of simager for spectral imaging (in this case, the continuum cubes) is to be discouraged, as imager provides much better functionality for integration into the pipeline. The use of cimager for the MFS imaging is possible, although it provides less flexibility in how the job can be distributed across nodes. The choice of imaging task is governed by DO_ALT_IMAGER_CONT or DO_ALT_IMAGER_CONTCUBE, with the main switch DO_ALT_IMAGER taking precedence.

The default output format is FITS images, although CASA files can be written instead by setting IMAGETYPE_CONT or IMAGETYPE_CONTCUBE to casa (rather than fits).

This version allows continuum imaging of various polarisation products. The self-calibration stage is used for Stokes-I imaging. The calibrated uv-data is then used to make images of other polarisations. Users need to specify the list of polarisation using CONTIMG_POLARISATIONS in their pipeline configuration file. In a later version, we aim to separate the self-calibration from the imaging, so that all pols including Stokes-I are imaged along with the other polarisations.

Basic imaging parameters

This table summarises the fundamental parameters that govern the continuum imaging, and that are used in most of the different types of imaging jobs. This also has specific parameters related to the use of imager.

Variable

Default

Parset equivalent

Description

DO_CONT_IMAGING

true

none

Whether to image the science MS

JOB_TIME_CONT_IMAGE

JOB_TIME_DEFAULT (24:00:00)

none

Time request for imaging the continuum (both types - with and without self-calibration)

IMAGETYPE_CONT

fits

imagetype (cimager and imager)

Image format to use - can be either ‘casa’ or ‘fits’.

IMAGETYPE_CONTCUBE

fits

imagetype (imager)

Image format to use - can be either ‘casa’ or ‘fits’, although ‘fits’ can only be given in conjunction with DO_ALT_IMAGER_CONTCUBE=true.

`MULTI_JOB_SELFCAL

false

none

Whether to break the selfcal up into separate slurm jobs for each imaging and calibration task (true) or whether to combine them all into a single slurm job.

JOB_TIME_CONT_SELFCAL

JOB_TIME_DEFAULT (24:00:00)

none

Time request for the calibration jobs when running with MULTI_JOB_SELFCAL=true.

Basic variables

IMAGE_AT_BEAM_CENTRES

true

none

Whether to have each beam’s image centred at the centre of the beam (IMAGE_AT_BEAM_CENTRES=true), or whether to use a single image centre for all beams.

NUM_CORES_CONTIMG_SCI

""

none

The number of cores in total to use for the continuum imaging. If left blank ("" - the default), then this is calculated based on the number of channels and Taylor terms.

CHANNEL_SELECTION_CONTIMG_SCI

""

Channels (Data Selection)

If NUM_CORES_CONTIMG_SCI is given, the Channels selection is provided here. This can be left blank for no selection to be applied, or a string (in quotes) conforming to the data selection syntax can be provided.

CORES_PER_NODE_CONT_IMAGING

6

Not for parset

Number of cores to use on each node in the continuum imaging.

FAT_NODE_CONT_IMG

true

Not for parset

Whether the master process for the continuum imaging should be put on a node of its own (if `true`), or just treated like all other processes.

DATACOLUMN

DATA

datacolumn (cimager)

The column in the measurement set from which to read the visibility data. The default, ‘DATA’, is appropriate for datasets processed within askapsoft, but if you are trying to image data processed, for instance, in CASA, then changing this to CORRECTED_DATA may be what you want.

IMAGE_BASE_CONT

i.%t.SB%s.cont

Helps form Images.Names (cimager)

The base name for images: if IMAGE_BASE_CONT=i.blah then we’ll get image.i.blah, image.i.blah.restored, psf.i.blah etc. The %s wildcard will be resolved into the scheduling block ID and %t will be replaced by the “target” or scheduling block alias.

DIRECTION_SCI

none

Images.<imagename>.direction (cimager)

The direction parameter for the images, i.e. the central position. Can be left out, in which case Cimager will get it from either the beam location (for IMAGE_AT_BEAM_CENTRES=true) or from the measurement set using the “advise” functionality (for IMAGE_AT_BEAM_CENTRES=false).

NUM_PIXELS_CONT

6144

Images.shape (cimager)

The number of pixels on the side of the images to be created. If negative, zero, or absent (i.e. NUM_PIXELS_CONT=""), this will be set automatically by the Cimager “advise” function, based on examination of the MS. Note that this default will be suitable for a single beam, but probably not for an image to be large enough for the full set of beams (when using IMAGE_AT_BEAM_CENTRES=false). The default value, combined with the default for the cell size, should be sufficient to cover a full field. If you have IMAGE_AT_BEAM_CENTRES=true then this needs only to be big enough to fit a single beam.

CELLSIZE_CONT

2

Images.cellsize (cimager)

Size of the pixels in arcsec. If negative, zero or absent, this will be set automatically by the Cimager “advise” function, based on examination of the MS. The default is chosen together with the default number of pixels to cover a typical ASKAP beam with the sidelobes being imaged.

NUM_TAYLOR_TERMS

2

Images.image.${imageBase}.nterms (cimager) linmos.nterms (linmos (Linear Mosaic Applicator))

Number of Taylor terms to create in MFS imaging. If more than 1, MFS weighting will be used (equivalent to setting Cimager.visweights=MFS in the cimager parset).

MFS_REF_FREQ

no default

visweights.MFS.reffreq (cimager)

Frequency at which continuum image is made [Hz]. This is the reference frequency for the multi-frequency synthesis, which should usually be the middle of the band. If negative, zero, or absent (the default), this will be set automatically to the average of the frequencies being processed.

RESTORING_BEAM_CONT

fit

restore.beam (cimager & Solvers)

Restoring beam to use: ‘fit’ will fit the PSF to determine the appropriate beam, else give a size (such as “[30arcsec, 30arcsec, 0deg]”). NB: If PRECONDITIONER_GAUSS_TAPER_IS_PSF=true the restoring beam will be derived such that the output image has the specified resolution.

RESTORING_BEAM_CUTOFF_CONT

0.5

restore.beam.cutoff (simager)

Cutoff value used in determining the support for the fitting (ie. the rectangular area given to the fitting routine). Value is a fraction of the peak.

CIMAGER_MINUV

0

MinUV (Data Selection)

The minimum UV distance considered in the imaging - used to exclude the short baselines. Can be given as an array with different values for each self-cal loop (e.g. "[200,200,0]").

CIMAGER_MAXUV

0

MaxUV (Data Selection)

The maximum UV distance considered in the imaging. Only used if greater than zero. Can be given as an array with different values for each self-cal loop (e.g. "[200,200,0]").

Gridding parameters

GRIDDER

WProject

gridder (Gridders)

Specify griddder to use: WProject or MPIWProject MPIWProject can save memory and time when using multiple ranks

DO_NYQUIST_GRIDDING_CONT

true

Images.nyquistgridding (imager)

Whether to turn on Nyquist gridding.

GRIDDER_SNAPSHOT_IMAGING

false

snapshotimaging (Gridders)

Whether to use snapshot imaging when gridding.

GRIDDER_SNAPSHOT_WTOL

2600

snapshotimaging.wtolerance (Gridders)

The wtolerance parameter controlling how frequently to snapshot.

GRIDDER_SNAPSHOT_LONGTRACK

true

snapshotimaging.longtrack (Gridders)

The longtrack parameter controlling how the best-fit W plane is determined when using snapshots.

GRIDDER_SNAPSHOT_CLIPPING

0.01

snapshotimaging.clipping (Gridders)

If greater than zero, this fraction of the full image width is set to zero. Useful when imaging at high declination as the edges can generate artefacts.

GRIDDER_WMAX

2600 (GRIDDER_SNAPSHOT_IMAGING=true) or 35000 (GRIDDER_SNAPSHOT_IMAGING=false)

WProject.wmax (Gridders)

The wmax parameter for the gridder. The default for this depends on whether snapshot imaging is invoked or not (GRIDDER_SNAPSHOT_IMAGING).

GRIDDER_NWPLANES

99 (GRIDDER_SNAPSHOT_IMAGING=true) or 257 (GRIDDER_SNAPSHOT_IMAGING=false)

WProject.nwplanes (Gridders)

The nwplanes parameter for the gridder. The default for this depends on whether snapshot imaging is invoked or not (GRIDDER_SNAPSHOT_IMAGING).

GRIDDER_OVERSAMPLE

5

WProject.oversample (Gridders)

The oversampling factor for the gridder.

GRIDDER_MAXSUPPORT

512 (GRIDDER_SNAPSHOT_IMAGING=true) or 1024 (GRIDDER_SNAPSHOT_IMAGING=false)

WProject.maxsupport (Gridders)

The maxsupport parameter for the gridder. The default for this depends on whether snapshot imaging is invoked or not (GRIDDER_SNAPSHOT_IMAGING).

GRIDDER_SHARECF

true

WProject.sharecf (Gridders)

Whether to use a (static) cache for the convolution functions in the WProject gridder.

GRIDDER_CFRANK

16

MPIWProject.cfrank (Gridders)

Number of ranks per node to use to speed up convolution function calculation. Useful range: ~4 to #ranks/node

Preconditioning parameters

PRECONDITIONER_LIST

"[Wiener]"

preconditioner.Names (Solvers)

List of preconditioners to apply. Can be varied for each selfcal cycle (e.g. "[Wiener] ; [Wiener, GaussianTaper]". Notice the delimiter " ; " and the spaces around it.

PRECONDITIONER_GAUSS_TAPER

"[10arcsec, 10arcsec, 0deg]"

preconditioner.GaussianTaper (Solvers)

Size of the Gaussian taper - either single value (for circular taper) or 3 values giving an elliptical size. Can be varied for each selfcal cycle.

PRECONDITIONER_GAUSS_TAPER_IS_PSF

"false"

preconditioner.GaussianTaper.isPsfSize (Solvers)

Decide if rather than applying the specified taper, the taper should be adjusted to ensure that the output image has the specified resolution. NB: This parameter is also passed to coarse cube imaging. Can be varied for each selfcal cycle.

PRECONDITIONER_GAUSS_TAPER_TOL

0.005

preconditioner.GaussianTaper.tolerance (Solvers)

Fractional tolerance for the fitted beam size when PRECONDITIONER_GAUSS_TAPER_IS_PSF = true The default is set to 0.5% Can be varied for each selfcal cycle.

PRECONDITIONER_WIENER_ROBUSTNESS

-0.5

preconditioner.Wiener.robustness (Solvers)

Robustness value for the Wiener filter. Can be varied for each selfcal cycle.

PRECONDITIONER_WIENER_TAPER

""

preconditioner.Wiener.taper (Solvers)

Size of gaussian taper applied in image domain to Wiener filter. Ignored if blank (ie. “”). Can be varied for each selfcal cycle.

RESTORE_PRECONDITIONER_LIST

""

restore.preconditioner.Names (cimager & Solvers)

List of preconditioners to apply at the restore stage, to produce an additional restored image.

RESTORE_PRECONDITIONER_EXTENSION

alt

restore.preconditioner.suffix (cimager & Solvers)

The additional suffix or extension added to the image name for the additional restored images with alternate preconditioning.

RESTORE_PRECONDITIONER_GAUSS_TAPER

"[10arcsec, 10arcsec, 0deg]"

restore.preconditioner.GaussianTaper (cimager & Solvers)

Size of the Gaussian taper for the restore preconditioning - either single value (for circular taper) or 3 values giving an elliptical size.

RESTORE_PRECONDITIONER_GAUSS_TAPER_IS_PSF

"false"

preconditioner.GaussianTaper.isPsfSize (Solvers)

Decide if rather than applying the specified taper for images restored with alternate preconditioning, the taper should be adjusted to ensure that the output image has the specified resolution.

RESTORE_PRECONDITIONER_GAUSS_TAPER_TOL

0.005

preconditioner.GaussianTaper.tolerance (Solvers)

Fractional tolerance for the fitted beam size when RESTORE_PRECONDITIONER_GAUSS_TAPER_IS_PSF = true The default is set to 0.5%

RESTORE_PRECONDITIONER_WIENER_ROBUSTNESS

-2

restore.preconditioner.Wiener.robustness (cimager & Solvers)

Robustness value for the Wiener filter in the restore preconditioning.

RESTORE_PRECONDITIONER_WIENER_TAPER

""

restore.preconditioner.Wiener.taper (cimager & Solvers)

Size of gaussian taper applied in image domain to Wiener filter in the restore preconditioning. Ignored if blank (ie. “”).

*New imager parameters

DO_ALT_IMAGER_CONT

""

none

If true, the continuum imaging is done by imager (imager). If false, it is done by cimager (cimager). If left blank (the default), the value is given by the overall parameter DO_ALT_IMAGER (see User Parameters - Pipeline & job control).

USE_TMPFS

false

usetmpfs (imager)

Whether to store the visibilities in shared memory.This will give a performance boost at the expense of memory usage. Better used for processing continuum data.

TMPFS

/dev/shm

tmpfs (imager)

Location of the shared memory.

Self-calibration

This table summarises the parameters related to stokes-I imaging and the self-calibration procedure. The Stokes I imaging gets its own set of deconvolution (cleaning) parameters (the Stokes I images will be made in the self-cal part, not the “contpol” part of the pipeline). There are parameters related to the source-finding and calibration parts of the self-calibration

Variable

Default

Parset equivalent

Description

Cleaning parameters

SOLVER

Clean

solver (cimager) (Solvers)

Which solver to use. You will mostly want to leave this as ‘Clean’, but there is a ‘Dirty’ solver available.

CLEAN_ALGORITHM

BasisfunctionMFS

Clean.algorithm (Solvers)

The name(s) of clean algorithm(s) to use. To use different algorithms in different selfcal cycles, use: CLEAN_ALGORITHM="Hogbom,BasisfunctionMFS" If the number of comma-separated algorithms is less than SELFCAL_NUM_LOOPS + 1, the first algorithm specified will be used for ALL selfcal loops.

CLEAN_MINORCYCLE_NITER

"[400,800]"

Clean.niter (Solvers)

The number of iterations for the minor cycle clean. Can be varied for each selfcal cycle. (e.g. "[200,800,1000]")

CLEAN_GAIN

0.2

Clean.gain (Solvers)

The loop gain (fraction of peak subtracted per minor cycle). Can be varied for each selfcal cycle. (e.g. "[0.1,0.2,0.1]")

CLEAN_PSFWIDTH

256

Clean.psfwidth (Solvers)

The width of the psf patch used in the minor cycle. Can be varied for each selfcal cycle. (e.g. "[256,512,4096]")

CLEAN_SCALES

"[0,3,10]"

Clean.scales (Solvers)

Set of scales (in pixels) to use with the multi-scale clean. Can be varied for each selfcal cycle (e.g. "[0] ; [0,10]") Notice the delimiter " ; " and the spaces around it.

CLEAN_THRESHOLD_MINORCYCLE

"[30%, 0.5mJy, 0.03mJy]"

threshold.minorcycle (cimager) (Solvers)

Threshold for the minor cycle loop. Can be varied for each selfcal cycle. (e.g. "[30%,1.8mJy,0.03mJy] ; [20%,0.5mJy,0.03mJy]") Notice the delimiter " ; " and the spaces around it.

CLEAN_THRESHOLD_MAJORCYCLE

"0.035mJy"

threshold.majorcycle (cimager) (Solvers)

The target peak residual. Major cycles stop if this is reached. A negative number ensures all major cycles requested are done. Can be given as an array with different values for each self-cal loop (e.g. "[3mJy,1mJy,-1mJy]").

CLEAN_NUM_MAJORCYCLES

"[5,10]"

ncycles (cimager)

Number of major cycles. Can be given as an array with different values for each self-cal loop (e.g. "[2,4,6]").

CLEAN_WRITE_AT_MAJOR_CYCLE

false

Images.writeAtMajorCycle (cimager)

If true, the intermediate images will be written (with a .cycle suffix) after the end of each major cycle.

CLEAN_SOLUTIONTYPE

MAXBASE

Clean.solutiontype (see discussion at Multi-Scale and/or Multi-Frequency deconvolution)

The type of peak finding algorithm to use in the deconvolution. Choices are MAXCHISQ, MAXTERM0, or MAXBASE.

CLEAN_DETECT_DIVERGENCE

true

Clean.detectdivergence (Solvers)

Whether to detect that the deconvolution is starting to diverge (in which case it is stopped).

Self-calibration - basics

DO_SELFCAL

true

none

Whether to self-calibrate the science data when imaging.

SELFCAL_METHOD

Cmodel

none

How to do the self-calibration. There are three options: “Cmodel” means create a model image from the source-finding results; “Components” means use the detected components directly through a parset (created by Selavy); “CleanModel” means use the clean model image from the most recent imaging as the model for ccalibrator. Anything else will default to “Cmodel”.

CMODEL_NEAREST_SELFCAL

true

Cmodel.nearest (cmodel)

For SELFCAL_METHOD=Cmodel, whether to use nearest neighbour interpolation for point sources. If set to false, Lanczos5 interpolation will be used.

SELFCAL_SOLVER

SVD

solver (Calibration solvers)

Selection of solver - either “SVD” or “LSQR”

SELFCAL_ALPHA

0.01

solver (Calibration solvers)

Damping parameter for “LSQR” solver. Ignored for SVD.

SELFCAL_NUM_LOOPS

1

none

Number of loops of self-calibration.

SELFCAL_INTERVAL

"[200,200]"

interval (ccalibrator)

Interval [sec] over which to solve for self-calibration. Can be given as an array with different values for each self-cal loop, as for the default, or a single value that applies to each loop.

GAINS_CAL_TABLE

calparameters.selfcal.%t.SB%s.%b.tab

none (directly)

The table name to hold the final gains solution. Once the self-cal loops have completed, the cal table in the final loop is copied to a table of this name in the base directory. This can then be used for the spectral-line imaging if need be. If this is blank, both DO_SELFCAL and DO_APPLY_CAL_SL will be set to false. The %s wildcard will be resolved into the scehduling block ID, %t will be replaced with the “target”, or scheduling block alise, and the %b will be replaced with “FIELD_beamBB”, where FIELD is the field id, and BB the (zero-based) beam number.

SELFCAL_NORMALISE_GAINS

true

normalisegains (ccalibrator)

Whether to normalise the amplitudes of the gains to 1, approximating the phase-only self-calibration approach. Can be given as an array with different values for each self-cal loop (e.g. “[true,true,false]”).

DO_INTERPOLATE_SELFCAL_GAINS

false

calibrate.interpolatetime (imager, cimager and ccalapply (Calibration Applicator))

Whether to interpolate the self-cal gains (amp and pha). If true, interpolated solutions will be used for the interim imaging within the selfcal loops, and in the final stages of calibration application to the continuum and spectral-line measurement sets used for the respective cube imaging. Only linear interpolation is allowed.

SELFCAL_REF_ANTENNA

""

refantenna (ccalibrator)

Reference antenna to use in the calibration. Should be antenna number, 0 - nAnt-1, that matches the antenna numbering in the MS.

SELFCAL_REF_GAINS

""

refgains (ccalibrator)

Reference gains to use in the calibration - something like gain.g11.0.0.

SELFCAL_SCALENOISE

false

calibrate.scalenoise (cimager)

Whether the noise estimate will be scaled in accordance with the applied calibrator factor to achieve proper weighting.

CCALIBRATOR_MINUV

0

MinUV (Data Selection)

The minimum UV distance considered in the calibration - used to exclude the short baselines. Can be given as an array with different values for each self-cal loop (e.g. "[200,200,0]").

CCALIBRATOR_MAXUV

0

MaxUV (Data Selection)

The maximum UV distance considered in the calibration. Only used if greater than zero. Can be given as an array with different values for each self-cal loop (e.g. "[200,200,0]").

SELFCAL_KEEP_IMAGES

true

none

Should we keep the images from the intermediate selfcal loops?

MOSAIC_SELFCAL_LOOPS

false

none

Should we make full-field mosaics for each loop of the self-calibration? This is done for each field separately.

Self-calibration - source-finding

SELFCAL_SELAVY_THRESHOLD

8

snrCut (Selavy Basics)

SNR threshold for detection with Selavy in determining selfcal sources. Can be given as an array with different values for each self-cal loop (e.g. "[15,10,8]").

SELFCAL_SELAVY_NSUBX

6

nsubx (Selavy Basics)

Division of image in x-direction for source-finding in selfcal.

SELFCAL_SELAVY_NSUBY

3

nsuby (Selavy Basics)

Division of image in y-direction for source-finding in selfcal.

SELFCAL_SELAVY_GAUSSIANS_FROM_GUESS

true

Selavy.Fitter.numGaussFromGuess (Post-processing of detections)

Whether to fit the number of Gaussians given by the initial estimate (true), or to only fit a fixed number (false). The number is given by SELFCAL_SELAVY_NUM_GAUSSIANS.

SELFCAL_SELAVY_NUM_GAUSSIANS

1

Selavy.Fitter.maxNumGauss (Post-processing of detections)

The number of Gaussians to fit to each island when SELFCAL_SELAVY_GAUSSIANS_FROM_GUESS=false.

SELFCAL_SELAVY_FIT_TYPE

full

Selavy.Fitter.fitTypes (Post-processing of detections)

The type of fit to be used in the Selavy job. The possible options are ‘full’, ‘psf’, ‘shape’, or ‘height’.

SELFCAL_SELAVY_WEIGHTSCUT

0.95

Selavy.Weights.weightsCutoff (Thresholds in Selavy)

Pixels with weight less than this fraction of the peak weight will not be considered by the source-finding. If the value is negative, or more than one, no consideration of the weight is made.

SELFCAL_SELAVY_SPECTRAL_INDEX_THRESHOLD

“”

spectralTerms.threshold (Post-processing of detections)

Threshold applied to component peak fluxes in determining which have a spectral index (and curvature) value reported in the component catalogue. Not used if left blank. Takes precedence over SELFCAL_SELAVY_SPECTRAL_INDEX_THRESHOLD_SNR.

SELFCAL_SELAVY_SPECTRAL_INDEX_THRESHOLD_SNR

spectralTerms.thresholdSNR (Post-processing of detections)

Threshold applied to component peak signal-to-noise values in determining which have a spectral index (and curvature) value reported in the component catalogue. Not used if left blank.

SELFCAL_COMPONENT_SNR_LIMIT

10

Used to create Cmodel.flux_limit (cmodel)

The signal-to-noise level used to set the flux limit for components that are used by Cmodel. The image noise values reported for all components are averaged, then multiplied by this value to form the Cmodel flux limit. If left blank (""), the flux limit is determined by SELFCAL_MODEL_FLUX_LIMIT.

SELFCAL_MODEL_FLUX_LIMIT

10uJy

Cmodel.flux_limit (cmodel)

The minimum integrated flux for components to be included in the model used for self-calibration.

DO_POSITION_OFFSET

false

none

Whether to add a fixed RA & Dec offset to the positions of sources in the final self-calibration catalogue (prior to it being used to calibrate the data). This has been implemented to help with commissioning - do not use unless you understand what it is doing! This makes use of the ACES script tools/fix_position_offsets.py.

RA_POSITION_OFFSET

0

none

The offset in position in the RA direction, in arcsec. This is taken from the offset_pipeline_params.txt file produced by the continuum validation script, where the sense of the offset is REFERENCE-ASKAP.

DEC_POSITION_OFFSET

0

none

The offset in position in the DEC direction, in arcsec. This is taken from the offset_pipeline_params.txt file produced by the continuum validation script, where the sense of the offset is REFERENCE-ASKAP.

Applying the gains and leakage calibration

This table shows the parameters relevant to the jobs that apply the self-cal gains to the averaged dataset, and then the leakages to the gain-refined measurement sets. This is done before the continuum-polarisation imaging and the continuum-cube imaging.

Variable

Default

Parset equivalent

Description

Application of gains calibration

DO_APPLY_CAL_CONT

true

none

Whether to apply the calibration to the averaged (“continuum”) dataset.

JOB_TIME_CONT_APPLYCAL

JOB_TIME_DEFAULT (24:00:00)

none

Time request for applying the calibration

KEEP_RAW_AV_MS

true

none

Whether to make a copy of the averaged MS before applying the gains calibration (true), or to just overwrite with the calibrated data (false).

DO_APPLY_LEAKAGE

false

none

Whether to apply the leakage calibration to the averaged and self-calibrated (“continuum”) dataset derived using: DO_LEAKAGE_CAL_CONT=true

Additionally, instrumental leakage of Stokes-I into other Stokes parameters in off-axis regions of the beams can be corrected during mosaicking. For more details, see the pipeline documentation on linear mosaicking at User Parameters - Mosaicking and code documentation at linmos (Linear Mosaic Applicator).

Continuum Polarisation imaging

Once the gains have been applied and/or leakages have been corrected, MFS imaging may be done in a selected set of polarisations - use DO_CONTPOL_IMAGING=true to turn this mode on.

If “I” is given as one of them, it is not re-imaged, as we have an image from the self-calibration routine. The cleaning parameters are given separately here (as thresholds may need to be different), although gridding and preconditioning are assumed to be the same. Many of these parameters can be given as arrays, with different values for each polarisation. If a single value is given, that applies to all polarisations.

Variable

Default

Parset equivalent

Description

Imaging parameters

DO_CONTPOL_IMAGING

false

none

Whether to create continuum polarisation images

CONTIMG_POLARISATIONS

"I,V"

ImageName.polarisation (cimager)

Comma separated list of Polarisations to be imaged Stokes-I is ignored here, since it is imaged in the self-cal loop

CIMAGER_CONTPOL_MINUV

0

MinUV (Data Selection)

The minimum UV distance considered in the imaging - used to exclude the short baselines. Can be given as an array with different values for each pol loop (e.g. "[200,200,0]").

CIMAGER_CONTPOL_MAXUV

0

MaxUV (Data Selection)

The maximum UV distance considered in the imaging. Only used if greater than zero. Can be given as an array with different values for each pol loop (e.g. "[200,200,0]").

Cleaning parameters

CLEAN_CONTPOL_ALGORITHM

BasisfunctionMFS

Clean.algorithm (Solvers)

The name(s) of clean algorithm(s) to use. To use different algorithms in different selfcal cycles, use: CLEAN_CONTPOL_ALGORITHM="Hogbom,BasisfunctionMFS" If the number of comma-separated algorithms is less than the number of pol specified, the first algorithm specified will be used for ALL pol loops.

CLEAN_CONTPOL_MINORCYCLE_NITER

"800"

Clean.niter (Solvers)

The number of iterations for the minor cycle clean. Can be varied for each pol. (e.g. "[200,800,1000]")

CLEAN_CONTPOL_GAIN

0.2

Clean.gain (Solvers)

The loop gain (fraction of peak subtracted per minor cycle). Can be varied for each pol cycle. (e.g. "[0.1,0.2,0.1]")

CLEAN_CONTPOL_PSFWIDTH

256

Clean.psfwidth (Solvers)

The width of the psf patch used in the minor cycle. Can be varied for each pol (e.g. "[256,512,4096]")

CLEAN_CONTPOL_SCALES

"[0,3,10]"

Clean.scales (Solvers)

Set of scales (in pixels) to use with the multi-scale clean. Can be varied for each specified polarisation (e.g. "[0] ; [0,10]") Notice the delimiter " ; " and the spaces around it.

CLEAN_CONTPOL_THRESHOLD_MINORCYCLE

"[30%, 0.5mJy, 0.03mJy]"

threshold.minorcycle (cimager) (Solvers)

Threshold for the minor cycle loop. Can be varied for each polarisation. (e.g. "[30%,1.8mJy,0.03mJy] ; [20%,0.5mJy,0.03mJy]") Notice the delimiter " ; " and the spaces around it.

CLEAN_CONTPOL_THRESHOLD_MAJORCYCLE

"0.035mJy"

threshold.majorcycle (cimager) (Solvers)

The target peak residual. Major cycles stop if this is reached. A negative number ensures all major cycles requested are done. Can be given as an array with different values for each pol loop (e.g. "[3mJy,1mJy,-1mJy]").

CLEAN_CONTPOL_NUM_MAJORCYCLES

"3"

ncycles (cimager)

Number of major cycles. Can be given as an array with different values for each pol loop (e.g. "[2,4,6]").

CLEAN_CONTPOL_WRITE_AT_MAJOR_CYCLE

false

Images.writeAtMajorCycle (cimager)

If true, the intermediate images will be written (with a .cycle suffix) after the end of each major cycle.

CLEAN_CONTPOL_SOLUTIONTYPE

MAXBASE

Clean.solutiontype (see discussion at Multi-Scale and/or Multi-Frequency deconvolution)

The type of peak finding algorithm to use in the deconvolution. Choices are MAXCHISQ, MAXTERM0, or MAXBASE.

Optional Image products

Imager allows users to specify whether or not to write optional output products such as the residual, weights, natural psf, preconditioned psf etc. images. These are aimed at minimising disk I/O and occupancy where possible.

Note that information on weights is required by the linear mosaicking applications: linmos and linmos-mpi. For non A-Projection gridders like WProject, where the weights value across the image extent is constant, imager can write out the weight value into an ascii text file that linmos can make use of. This can be specified using WRITE_WEIGHTS_LOG_CONT parameter for the continuum imaging case.

For A-project gridders, or when snapshot imaging is turned on, one will have to necessarily write out the weights images for use in linmos. An exception will be thrown by processASKAP.sh if this condition is violated.

More details on writing these optional image products are discussed in the sections for continuum and continuum cube imaging below. See also User Parameters - Spectral-line Imaging and User Parameters - Mosaicking.

Variable

Default

Parset equivalent

Description

Optional outputs

WRITE_RESIDUAL_CONT

true

write.residualimage (imager)

Whether to write the residual image

WRITE_PSF_RAW_CONT

false

write.psfrawimage (imager)

Whether to write the naturally weighted psf image

WRITE_PSF_IMAGE_CONT

false

write.psfimage (imager)

Whether to write the preconditioned psf image

WRITE_WEIGHTS_IMAGE_CONT

false

write.weightsimage (imager)

Whether to write the weights image

WRITE_WEIGHTS_LOG_CONT

true

write.weightslog (imager)

Option to write the constant weight into an ascii text file

Note 1: Should not be used with A-project gridders. The ASKAPpipeline in any case supports WProject only.

Note 2: For snapshot imaging, this option is internally forced to “false” by the pipeline scripts. Set WRITE_WEIGHTS_IMAGE_CONT=true in this case.

WRITE_MODEL_IMAGE_CONT

true

write.modelimage (imager)

Whether to write the model image

Note: The pipeline ensures that intermediate model images get generated if required by selfcal jobs.

WRITE_MASK_IMAGE_CONT

false

write.maskimage (imager)

Whether to write the mask image (continuum only)

WRITE_SENSITIVITY_IMAGE_CONT

false

write.sensitivityimage (imager)

Whether to write sensitivity image (continuum only)

WRITE_FIRST_RESTORE_CONT

true

write.firstrestore (imager)

Whether to write the first restored image when alt-restored images are requested (continuum only)

Continuum cube imaging

Once the gains have been applied to the averaged dataset, it can be imaged as “continuum cubes” in a variety of polarisations - use DO_CONTCUBE_IMAGING=true to turn this mode on.

This table lists all relevant parameters that are different to the MFS imaging. Some parameters, notably gridding and preconditioning, are the same. There are also parameters related to the use of imager.

Variable

Default

Parset equivalent

Description

Imaging parameters

DO_CONTCUBE_IMAGING

false

none

Whether to create continuum cubes

JOB_TIME_CONTCUBE_IMAGE

JOB_TIME_DEFAULT (24:00:00)

none

Time request for individual continuum cube jobs

IMAGE_BASE_CONTCUBE

i.%t.SB%s.contcube

Helps form Images.name (simager)

Base name for the continuum cubes. It should include “i.”, as the actual base name will include the correct polarisation (‘I’ will produce i.contcube, Q will produce q.contcube and so on). The %s wildcard will be resolved into the scheduling block ID, and %t will be replaced by the “target” or scheduling block alias.

NUM_PIXELS_CONTCUBE

4096

Images.shape (simager)

Number of pixels on the spatial dimension for the continuum cubes.

CELLSIZE_CONTCUBE

""

Images.cellsize (simager)

Angular size of spatial pixels for the continuum cubes. If not provided, it defaults to the value of CELLSIZE_CONT.

CONTCUBE_POLARISATIONS

"I"

Images.polarisation (simager)

List of polarisations to create cubes for. This should be a comma-separated list of (upper-case) polarisations. Separate jobs will be launched for each polarisation given.

REST_FREQUENCY_CONTCUBE

""

Images.restFrequency (simager)

Rest frequency to be written to the continuum cube. If left blank, no rest frequency is written.

CONTCUBE_IMAGE_MAXUV

0

MaxUV (Data Selection)

A maximum UV distance (in metres) to apply in the data selection step. Only used if a positive value is applied.

CONTCUBE_IMAGE_MINUV

0

MinUV (Data Selection)

A minimum UV distance (in metres) to apply in the data selection step. Only used if a positive value is applied.

DO_NYQUIST_GRIDDING_CONTCUBE

true

Images.nyquistgridding (imager)

Whether to turn on Nyquist gridding.

RESTORING_BEAM_CONTCUBE

fit

restore.beam (simager & Solvers)

Restoring beam to use: ‘fit’ will fit the PSF in each channel separately to determine the appropriate beam for that channel, else give a size (such as "[30arcsec, 30arcsec, 0deg]”). NB: If PRECONDITIONER_GAUSS_TAPER_IS_PSF=true the restoring beams will be derived such that the output image planes have the fixed specified resolution.

RESTORING_BEAM_CUTOFF_CONTCUBE

0.5

restore.beam.cutoff (simager)

Cutoff value used in determining the support for the fitting (ie. the rectangular area given to the fitting routine). Value is a fraction of the peak.

RESTORING_BEAM_CONTCUBE_REFERENCE

mid

restore.beamReference (simager)

Which channel to use as the reference when writing the restoring beam to the image cube. Can be an integer as the channel number (0-based), or one of ‘mid’ (the middle channel), ‘first’ or ‘last’

NUM_CORES_CONTCUBE_SCI

""

none

Total number of cores to use for the continuum cube job. If left blank, this will be chosen to match the number of channels (taking into account NCHAN_PER_CORE_CONTCUBE if necessary), plus an additional core for the master process.

NCHAN_PER_CORE_CONTCUBE

3

nchanpercore (imager)

If imager (imager) is used, this determines how many channels each worker will process.

CORES_PER_NODE_CONTCUBE_IMAGING

8

none

How many of the cores on each node to use.

Preconditioning

PRECONDITIONER_LIST_CONTCUBE

""

preconditioner.Names (Solvers)

List of preconditioners to apply. If left blank, the preconditioning used for the continuum imaging is used instead, and any values given in the config file for the subsequent parameters are ignored.

PRECONDITIONER_CONTCUBE_GAUSS_TAPER

"[10arcsec, 10arcsec, 0deg]"

preconditioner.GaussianTaper (Solvers)

Size of the Gaussian taper - either single value (for circular taper) or 3 values giving an elliptical size.

PRECONDITIONER_CONTCUBE_GAUSS_TAPER_IS_PSF

"false"

preconditioner.GaussianTaper.isPsfSize (Solvers)

Decide if rather than applying the specified taper, the taper should be adjusted to ensure that the output image planes have the specified resolution.

PRECONDITIONER_CONTCUBE_GAUSS_TAPER_TOL

0.005

preconditioner.GaussianTaper.tolerance (Solvers)

Fractional tolerance for the fitted beam size when PRECONDITIONER_CONTCUBE_GAUSS_TAPER_IS_PSF = true The default is set to 0.5%

PRECONDITIONER_CONTCUBE_WIENER_ROBUSTNESS

-0.5

preconditioner.Wiener.robustness (Solvers)

Robustness value for the Wiener filter.

PRECONDITIONER_CONTCUBE_WIENER_TAPER

""

preconditioner.Wiener.taper (Solvers)

Size of gaussian taper applied in image domain to Wiener filter. Ignored if blank (ie. "").

Continuum cube cleaning

Different cleaning parameters used for the continuum cubes

SOLVER_CONTCUBE

Clean

solver (cimager) (Solvers)

Which solver to use. You will mostly want to leave this as ‘Clean’, but there is a ‘Dirty’ solver available.

CLEAN_CONTCUBE_ALGORITHM

BasisfunctionMFS

Clean.algorithm (Solvers)

The name of the clean algorithm to use.

CLEAN_CONTCUBE_MINORCYCLE_NITER

600

Clean.niter (Solvers)

The number of iterations for the minor cycle clean.

CLEAN_CONTCUBE_GAIN

0.2

Clean.gain (Solvers)

The loop gain (fraction of peak subtracted per minor cycle).

CLEAN_CONTCUBE_PSFWIDTH

256

Clean.psfwidth (Solvers)

The width of the psf patch used in the minor cycle.

CLEAN_CONTCUBE_SCALES

"[0,3,10]"

Clean.scales (Solvers)

Set of scales (in pixels) to use with the multi-scale clean.

CLEAN_CONTCUBE_THRESHOLD_MINORCYCLE

"[40%, 0.5mJy, 0.05mJy]"

threshold.minorcycle (Solvers)

Threshold for the minor cycle loop.

CLEAN_CONTCUBE_THRESHOLD_MAJORCYCLE

0.06mJy

threshold.majorcycle (Solvers)

The target peak residual. Major cycles stop if this is reached. A negative number ensures all major cycles requested are done.

CLEAN_CONTCUBE_NUM_MAJORCYCLES

3

ncycles (cimager)

Number of major cycles.

CLEAN_CONTCUBE_WRITE_AT_MAJOR_CYCLE

false

Images.writeAtMajorCycle (cimager)

If true, the intermediate images will be written (with a .cycle suffix) after the end of each major cycle.

CLEAN_CONTCUBE_SOLUTIONTYPE

MAXBASE

Clean.solutiontype (see discussion at Multi-Scale and/or Multi-Frequency deconvolution)

The type of peak finding algorithm to use in the deconvolution. Choices are MAXCHISQ, MAXTERM0, or MAXBASE.

CLEAN_CONTCUBE_DETECT_DIVERGENCE

true

Clean.detectdivergence (Solvers)

Whether to detect that the deconvolution is starting to diverge (in which case it is stopped).

New imager parameters

DO_ALT_IMAGER_CONTCUBE

""

none

If true, the continuum cube imaging is done by imager (imager). If false, it is done by cimager (cimager). When true, the following parameters are used. If left blank (the default), the value is given by the overall parameter DO_ALT_IMAGER.

NCHAN_PER_CORE

12

nchanpercore (imager)

The number of channels each core will process.

USE_TMPFS

false

usetmpfs (imager)

Whether to store the visibilities in shared memory.This will give a performance boost at the expense of memory usage. Better used for processing continuum data.

TMPFS

/dev/shm

tmpfs (imager)

Location of the shared memory.

NUM_SPECTRAL_WRITERS_CONTCUBE

""

nwriters (imager)

The number of writers used by imager. Unless ALT_IMAGER_SINGLE_FILE_CONTCUBE=true, this will equate to the number of distinct spectral cubes produced.In the case of multiple cubes, each will be a sub-band of the full bandwidth. No combination of the sub-cubes is currently done. The number of writers will be reduced to the number of workers in the job if necessary. If a single image is produced, the default is to have the same number of writers as workers.

ALT_IMAGER_SINGLE_FILE_CONTCUBE

true

singleoutputfile (imager)

Whether to write a single cube, even with multiple writers (ie. NUM_SPECTRAL_WRITERS_CONTCUBE>1). Only works when IMAGETYPE_SPECTRAL=fits

DO_MASK_BAD_CHANNELS

true

none

Whether to mask out bad or blank channels from the continuum

MASK_CHANS_USE_SIG

false

none

Whether to use the “signifcance”, or the ratio of the 1-percent statistic to the MADFM, to determine the bad channels.

MASK_CHANS_SIG_THRESHOLD

none

The significance level at which to reject channels.

MASK_CHANS_USE_NOISE

true

none

Whether to mask out bad channels on the basis of the MADFM value alone.

MASK_CHANS_NOISE_THRESHOLD

none

The value of MADFM (in mJy/beam), above which a channel is deemed bad.

MASK_CHANS_BLANK

true

none

Whether to mask out blank channels from the continuum cube.

Optional outputs

WRITE_RESIDUAL_CONTCUBE

true

write.residualimage (imager)

Whether to write the residual image cube

WRITE_PSF_RAW_CONTCUBE

false

write.psfrawimage (imager)

Whether to write the naturally weighted psf image cube

WRITE_PSF_IMAGE_CONTCUBE

false

write.psfimage (imager)

Whether to write the preconditioned psf image cube

WRITE_WEIGHTS_IMAGE_CONTCUBE

false

write.weightsimage (imager)

Whether to write the weights image cube

WRITE_WEIGHTS_LOG_CONTCUBE

true

write.weightslog (imager)

Option to write the weight spectra into an ascii text file

Note 1: Should not be used with A-project gridders. The ASKAPpipeline in any case supports WProject only.

Note 2: For snapshot imaging, this option is internally forced to “false” by the pipeline scripts. Set WRITE_WEIGHTS_IMAGE_CONT=true in this case.

WRITE_MODEL_IMAGE_CONTCUBE

true

write.modelimage (imager)

Whether to write the model image cube

Note: The pipeline ensures that intermediate model images get generated if required by selfcal jobs.

WRITE_UVGRIDS_CONTCUBE

false

write.grids (imager)

Whether to write the UV-grids (cubes only)