Source-finding is run in two ways within these scripts. It can be run after each individual beam is imaged, and then again after the mosaicking has completed.
The source-finding applies a spatially-varying signal-to-noise threshold, and fits 2D Gaussians to detected islands to create a component catalogue.
When the source-finding operates on the mosaicked image, it uses the weights image to apply a weights cutoff (as described at Thresholds in Selavy), so that the searching is only done on the imaged region.
At this point, only a relatively limited set of Selavy’s possible parameters are made available through these scripts. This will likely increase, but in the interim you can edit the sbatch files that are created and re-run it yourself.
The RM Synthesis capabilities of Selavy have been made available. Full control over this mode is provided through the pipeilne configuration, so that RM Synthesis can be performed on the full-Stokes spectra of continuum components. This is designed to work with the continuum cube imaging (User Parameters - Continuum imaging), and checks are made for the existence of the required cubes at run-time for this mode to be switched on.
Following completion of the source-finding, a validation script is run that cross-matches the Selavy catalogue with those of SUMSS and NVSS, comparing positions and fluxes with those catalogues to obtain measures of the quality of the imaging. A full report is provided in HTML format, with interactive plots, along with a summary table listing a small number of metrics that have associated quality flags (essentially “good”, “uncertain”, “bad”). These metrics are presented within CASDA to assist with the validation of data.
This validation can be performed on the individual beam images, although the default is to just do it on the mosaicked images (and it is only the latter that are passsed to CASDA).
Variable | Default | Parset equivalent | Description |
---|---|---|---|
DO_SOURCE_FINDING_CONT | "" | none | Whether to do the source-finding with Selavy on the final mosaic continuum images. If not given in the config file, it takes on the value of DO_CONT_IMAGING. |
DO_SOURCE_FINDING_BEAMWISE | false | none | If true, the source-finding will be run on the individual beam images as well. |
DO_SOURCE_FINDING_FIELD_MOSAICS | false | none | If true, the source-finding will be run on the individual field mosaics. Will be set to false if the number of fields is one. |
JOB_TIME_SOURCEFINDING | JOB_TIME_DEFAULT (24:00:00) | none | Time request for source-finding jobs. |
DO_CONTINUUM_VALIDATION | true | none | Run the continuum validation script following source finding. This cross-matches the catalogue with publshed radio calaogues from NVSS and SUMSS, and compares fluxes and positions. A number of metrics are obtained that describe the quality of the image and catalogue, and these, along with a more detailed HTML-based report, are sent to CASDA. |
VALIDATE_BEAM_IMAGES | false | none | Run the validation on the individual beam images, as well as the mosaics. |
VALIDATION_ARCHIVE_DIR | /group/askap/ValidationReportsArchive | none | Directory to which the validation report directory should be copied. They will be used from there for commissioning purposes, and in the process will be renamed with the username and date appended to make them unique. Leave blank if you don’t wish this to happen, but don’t change unless you know what you are doing! |
REMOVE_VALIDATION_CSV | true | none | If true, the .csv files in the validation directory will be removed from the copied version. |
Basic sourcefinding | |||
CPUS_PER_CORE_SELAVY | "" | none | Number of cores used on each node. If not provided, it will be the lower of the number of cores requested or the maximum number of cores available per node. |
SELAVY_NSUBX | 6 | nsubx (Selavy Basics) | Number of divisions in the x-direction that divide the image up, allowing parallel processing in the source-detection. |
SELAVY_NSUBY | 6 | nsuby (Selavy Basics) | Number of divisions in the y-direction that divide the image up, allowing parallel processing in the source-detection. |
SELAVY_OVERLAPX | 0 | overlapx (Selavy Basics) | The overlap (in pixels) between neighbouring divisions in the x-direction. |
SELAVY_OVERLAPY | 0 | overlapy (Selavy Basics) | The overlap (in pixels) between neighbouring divisions in the y-direction. |
SELAVY_SNR_CUT | 5.0 | snrcut (Selavy Basics) | The signal-to-noise ratio threshold to use in the source-detection. |
SELAVY_FLAG_GROWTH | true | flagGrowth (Selavy Basics) | A flag indicating whether to grow detections down to a lower threshold. |
SELAVY_GROWTH_CUT | 3.0 | growthCut (Selavy Basics) | The secondary signal-to-noise threshold to which detections should be grown. |
SELAVY_FLUX_THRESHOLD | "" | threshold (Selavy Basics) | The flux threshold to use in the source-detection. If left blank, we use the SNR threshold SELAVY_SNR_CUT. |
SELAVY_GROWTH_THRESHOLD | "" | growthCut (Selavy Basics) | The secondary signal-to-noise threshold to which detections should be grown. Only used if SELAVY_FLUX_THRESHOLD is given. |
SELAVY_WEIGHTS_CUTOFF | "" | Weights.weightsCutoff (Thresholds in Selavy) | The cutoff level, as a fraction of the peak in the weights image, used in the source-finding. Only applies if the image being searched has a corresponding weights image. If not given, the value used is the square of LINMOS_CUTOFF from User Parameters - Mosaicking. |
SELAVY_VARIABLE_THRESHOLD | true | VariableThreshold (Thresholds in Selavy) | A flag indicating whether to determine the signal-to-noise threshold on a pixel-by-pixel basis based on local statistics (that is, the statistics within a relatively small box centred on the pixel in question). |
SELAVY_BOX_SIZE | 50 | VariableThreshold.boxSize (Thresholds in Selavy) | The half-width of the sliding box used to determine the local statistics. |
SELAVY_FLAG_ADJACENT | true | flagAdjacent (Selavy Basics) | Whether to enforce pixels in islands to be contiguous. |
SELAVY_SPATIAL_THRESHOLD | 5 | threshSpatial (Selavy Basics) | If SELAVY_FLAG_ADJACENT=false, this is the threshold in pixels within which islands are joined. |
Spectral indices | |||
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 SELAVY_SPECTRAL_INDEX_THRESHOLD_SNR. |
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. |
USE_CONTCUBE_FOR_SPECTRAL_INDEX | false | none | When true, the spectral indices in the component catalogue are measured from the Stokes-I continuum cube. When false (the default), the Taylor-term images are used. See Post-processing of detections for information about each method. |
SELAVY_NUM_SPECTRAL_TERMS | 3 | spectralTerms.nterms (Post-processing of detections) | The number of terms to be fitted to the spectrum when using the continuum cube to find the spectral index & curvature. |
RM Synthesis | |||
DO_RM_SYNTHESIS | false | none | Whether to perform RM Synthesis after continuum source-finding. |
SELAVY_POL_OUTPUT_BASE | pol | Forms part of RMSynthesis.outputBase (Post-processing of detections) | Base part of the filenames of extracted spectra and Faraday Dispersion function. All files will go in a directory PolData within the Selavy directory, and will be called “<outputBase>_<imageBase>_spec” or similar. |
SELAVY_POL_WRITE_SPECTRA | true | RMSynthesis.writeSpectra (Post-processing of detections) | Whether to write the extracted Stokes spectra to individual files. |
SELAVY_POL_WRITE_COMPLEX_FDF | false | RMSynthesis.writeComplexFDF (Post-processing of detections) | Whether to write the Faraday Dispersion Function for each source as a single complex-valued spectrum (true) or as a pair of real-valued spectra containing amplitude & phase (false). |
SELAVY_POL_BOX_WIDTH | 5 | RMSynthesis.boxWidth (Post-processing of detections) | The width (N) of the NxN box to be applied in the extraction of Stokes spectra. |
SELAVY_POL_NOISE_AREA | 50 | RMSynthesis.noiseArea (Post-processing of detections) | The number of beam areas over which to measure the noise in each channel. |
SELAVY_POL_ROBUST_STATS | true | RMSynthesis.robust (Post-processing of detections) | Whether to use robust statistics in the calculation of the noise spectra. |
SELAVY_POL_WEIGHT_TYPE | variance | RMSynthesis.weightType (Post-processing of detections) | The type of weighting to be used in the RM Synthesis - either “variance” or “uniform”. |
SELAVY_POL_MODEL_TYPE | taylor | RMSynthesis.modelType (Post-processing of detections) | The type of Stokes-I model to use. Either “taylor” (Taylor-term decomposition from the MFS imaging), or “poly” (polynomial fit to the Stokes-I spectrum). |
SELAVY_POL_MODEL_ORDER | 3 | RMSynthesis.modelPolyOrder (Post-processing of detections) | When SELAVY_POL_MODEL_TYPE=poly, this gives the order of the polynomial that is fit to the Stokes-I spectrum. |
SELAVY_POL_SNR_THRESHOLD | 8 | RMSynthesis.polThresholdSNR (Post-processing of detections) | Signal-to-noise threshold (in the FDF) for a valid detection. |
SELAVY_POL_DEBIAS_THRESHOLD | 5 | RMSynthesis.polThresholdDebias (Post-processing of detections) | Signal-to-noise threshold (in the FDF) above which to perform debiasing. |
SELAVY_POL_NUM_PHI_CHAN | 30 | RMSynthesis.numPhiChan (Post-processing of detections) | Number of Faraday Depth channels used in RM Synthesis. |
SELAVY_POL_DELTA_PHI | 5 | RMSynthesis.deltaPhi (Post-processing of detections) | Spacing between the Faraday depth channels [rad/m2]. |
SELAVY_POL_PHI_ZERO | 0 | RMSynthesis.phiZero (Post-processing of detections) | Faraday depth [rad/m2] of the central channel of the FDF. |