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 (under test)). 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
  • 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, 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 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. Many of the imaging specifications (shape, direction etc, as well as gridding & preconditioning) given for continuum imaging are used for the continuum cube, although the cleaning parameters can be given as different.

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 (under test)) 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 (under test).

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 (under test)) Image format to use - can be either ‘casa’ or ‘fits’.
IMAGETYPE_CONTCUBE fits imagetype (imager (under test)) 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_CPUS_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_CPUS_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.
CPUS_PER_CORE_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.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.
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) Restoring beam to use: ‘fit’ will fit the PSF to determine the appropriate beam, else give a size (such as “[30arcsec, 30arcsec, 0deg]”).
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_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.
Preconditioning parameters      
PRECONDITIONER_LIST "[Wiener]" preconditioner.Names (Solvers) List of preconditioners to apply.
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.
PRECONDITIONER_WIENER_ROBUSTNESS -0.5 preconditioner.Wiener.robustness (Solvers) Robustness value for the Wiener filter.
PRECONDITIONER_WIENER_TAPER "" preconditioner.Wiener.taper (Solvers) Size of gaussian taper applied in image domain to Wiener filter. Ignored if blank (ie. “”).
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_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_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 (under test)). 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 (under test)) 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 (under test)) 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.
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”.
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 cont_gains_cal_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, 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]”).
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_COMPONENT_SNR_LIMIT 10 Used to create Cmodel.flux_limit (cmodel (Model Image Generator)) 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 (Model Image Generator)) 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
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
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

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.

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 (under test).

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.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.
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.
RESTORING_BEAM_CONTCUBE fit restore.beam (simager) 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]”).
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_CPUS_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 (under test)) If imager (imager (under test)) is used, this determines how many channels each worker will process.
CPUS_PER_CORE_CONTCUBE_IMAGING 8 none How many of the cores on each node to use.
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 MAXCHISQ 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.
New imager parameters      
DO_ALT_IMAGER_CONTCUBE "" none If true, the continuum cube imaging is done by imager (imager (under test)). 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 (under test)) The number of channels each core will process.
USE_TMPFS false usetmpfs (imager (under test)) 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 (under test)) Location of the shared memory.
NUM_SPECTRAL_WRITERS_CONTCUBE "" nwriters (imager (under test)) 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 (under test)) 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 cube.