Continuum Imaging Script

This processing script will run the batch end-to-end batch continuum imaging pipeline. More information about the pipeline is available on the readthedocs.

Workflow of the script

Full details are in the confluence page.

  1. Get and validate the processing block parameters.

  2. Read all flow dependencies (created by vis-receive processing script) and extract pvc_subpath from all of them.

  3. Create data flows for the products generated by the e2e pipeline itself

  4. Request sky model from the GSM service (not yet implemented)

  5. Based on PB parameters and pvc_subpaths from data flows, create a JSON configuration that will be passed to the ska-sdp-batch-e2e-pipeline run-from-sdp command.

  6. Generate the full “slurm script” string, that will be submitted to the SlurmDeployer

  7. Call the processing_block.ee_deploy_slurm function with above slurm script and other necessary parameters, to deploy the job on Slurm Cluster.

  8. Wait for the slurm job to be over, perform any cleanup, and exit.

Processing block parameters

Defines configuration schema for the batch end-to-end continuum imaging pipeline.

The end-to-end pipeline consists of 3 stages: Instrumental Calibration, Target Calibration, Continuum Imaging

pydantic model AveragerStep

Configuration for averager step of BPP pipeline

Show JSON schema
{
   "title": "AveragerStep",
   "description": "Configuration for averager step of BPP pipeline",
   "type": "object",
   "properties": {
      "timestep": {
         "default": 4,
         "description": "Number of time samples to average together.",
         "title": "Time Averaging Factor",
         "type": "integer"
      },
      "freqstep": {
         "default": 4,
         "description": "Number of frequency channels to average together.",
         "title": "Frequency Averaging Factor",
         "type": "integer"
      }
   },
   "additionalProperties": false
}

Fields:
field timestep: int = 4

Number of time samples to average together.

field freqstep: int = 4

Number of frequency channels to average together.

pydantic model BandpassCalibration

Configuration for bandpass calibration step of Instrumental calibration pipeline.

Show JSON schema
{
   "title": "BandpassCalibration",
   "description": "Configuration for bandpass calibration step of Instrumental calibration\npipeline.",
   "type": "object",
   "properties": {
      "solver": {
         "default": "jones_substitution",
         "description": "Type of solver to use for the calibration.",
         "enum": [
            "gain_substitution",
            "jones_substitution",
            "normal_equations",
            "normal_equations_presum"
         ],
         "title": "Solver",
         "type": "string"
      },
      "niter": {
         "default": 20,
         "description": "Maximum number of iterations for the solver.",
         "title": "Iterations",
         "type": "integer"
      },
      "tol": {
         "default": 0.0001,
         "description": "Tolerance value for solver convergence. Units: NA",
         "title": "Tolerance for solver convergence",
         "type": "number"
      }
   },
   "additionalProperties": false
}

Fields:
field solver: Literal['gain_substitution', 'jones_substitution', 'normal_equations', 'normal_equations_presum'] = 'jones_substitution'

Type of solver to use for the calibration.

field niter: int = 20

Maximum number of iterations for the solver.

field tol: float = 0.0001

Tolerance value for solver convergence. Units: NA

pydantic model ComplexGainCalibration

Configuration for complex gain calibration of Target Instrumental calibration pipeline.

Show JSON schema
{
   "title": "ComplexGainCalibration",
   "description": "Configuration for complex gain calibration of Target Instrumental\ncalibration pipeline.",
   "type": "object",
   "properties": {
      "niter": {
         "default": 50,
         "description": "Maximum number of iterations for the solver.",
         "title": "Iterations",
         "type": "integer"
      },
      "tol": {
         "default": 1e-06,
         "description": "Tolerance value for solver convergence. Units: NA",
         "title": "Tolerance for solver convergence",
         "type": "number"
      }
   },
   "additionalProperties": false
}

Fields:
field niter: int = 50

Maximum number of iterations for the solver.

field tol: float = 1e-06

Tolerance value for solver convergence. Units: NA

pydantic model ContinuumImaging

Configuration for Continuum Imaging stage of the e2e pipeline.

Show JSON schema
{
   "title": "ContinuumImaging",
   "description": "Configuration for Continuum Imaging stage of the e2e pipeline.",
   "type": "object",
   "properties": {
      "polarizations": {
         "default": "stokes_i",
         "description": "\n            Output polarizations to image. This maps to the\n            'data_product.polarizations' parameter of the CIMG pipeline.\n            ",
         "title": "Polarizations",
         "type": "string"
      },
      "image_size": {
         "default": [
            4000,
            4000
         ],
         "description": "\n        Image size in pixels.\n        The sensible value for this parameter will depend on the\n        specific data (max baseline and field of view).\n        ",
         "maxItems": 2,
         "minItems": 2,
         "prefixItems": [
            {
               "type": "integer"
            },
            {
               "type": "integer"
            }
         ],
         "title": "Image size (pixels)",
         "type": "array"
      },
      "pixel_scale": {
         "default": 0.0005555555555555556,
         "description": "Pixel scale in degrees. Defines the image resolution.",
         "title": "Pixel scale (degrees)",
         "type": "number"
      },
      "briggs_robust_weighting": {
         "default": -0.5,
         "description": "Robustness value for briggs weighting",
         "title": "Briggs robust weighting",
         "type": "number"
      },
      "output_channels": {
         "default": 12,
         "description": "\n            Specifies the number of different frequencies for which\n            information will be present in the output. For each output\n            channel, a separate FITS image will be created. Note that\n            increasing this value will increase computations needed to\n            generate the output. The processing script might reduce the\n            computational intensity by also setting\n            `--deconvolution-channels` to an appropriate value.\n            ",
         "title": "Number of output channels",
         "type": "integer"
      },
      "fit_spectral_pol": {
         "default": 3,
         "description": "Order of spectral polynomial to fit across channels.",
         "title": "Spectral polynomial fitting order",
         "type": "integer"
      },
      "gaussian_taper": {
         "default": 0.0,
         "description": "The beamsize in arcseconds, for Gaussian Tapering.",
         "title": "Gaussian tapering beamsize (arcseconds)",
         "type": "number"
      }
   },
   "additionalProperties": false
}

Fields:
field polarizations: str = 'stokes_i'

Output polarizations to image. This maps to the ‘data_product.polarizations’ parameter of the CIMG pipeline.

field image_size: tuple[int, int] = (4000, 4000)

Image size in pixels. The sensible value for this parameter will depend on the specific data (max baseline and field of view).

Constraints:
  • strict = False

field pixel_scale: float = 0.0005555555555555556

Pixel scale in degrees. Defines the image resolution.

field briggs_robust_weighting: float = -0.5

Robustness value for briggs weighting

field output_channels: int = 12

Specifies the number of different frequencies for which information will be present in the output. For each output channel, a separate FITS image will be created. Note that increasing this value will increase computations needed to generate the output. The processing script might reduce the computational intensity by also setting –deconvolution-channels to an appropriate value.

field fit_spectral_pol: int = 3

Order of spectral polynomial to fit across channels.

field gaussian_taper: float = 0.0

The beamsize in arcseconds, for Gaussian Tapering.

pydantic model ContinuumImagingParams

Batch end-to-end continuum imaging processing script parameters

Show JSON schema
{
   "title": "ContinuumImagingParams",
   "description": "Batch end-to-end continuum imaging processing script parameters",
   "type": "object",
   "properties": {
      "instrumental_calibration": {
         "$ref": "#/$defs/InstrumentalCalibration",
         "description": "Configuration for Instrumental Calibration stage of\n        the batch e2e pipeline"
      },
      "target_calibration": {
         "$ref": "#/$defs/TargetCalibration",
         "description": "Configuration for Target Calibration stage of the\n        batch e2e pipeline"
      },
      "continuum_imaging": {
         "$ref": "#/$defs/ContinuumImaging",
         "description": "Configuration for Continuum Imaging stage of the\n        batch e2e pipeline"
      }
   },
   "$defs": {
      "AveragerStep": {
         "additionalProperties": false,
         "description": "Configuration for averager step of BPP pipeline",
         "properties": {
            "timestep": {
               "default": 4,
               "description": "Number of time samples to average together.",
               "title": "Time Averaging Factor",
               "type": "integer"
            },
            "freqstep": {
               "default": 4,
               "description": "Number of frequency channels to average together.",
               "title": "Frequency Averaging Factor",
               "type": "integer"
            }
         },
         "title": "AveragerStep",
         "type": "object"
      },
      "BandpassCalibration": {
         "additionalProperties": false,
         "description": "Configuration for bandpass calibration step of Instrumental calibration\npipeline.",
         "properties": {
            "solver": {
               "default": "jones_substitution",
               "description": "Type of solver to use for the calibration.",
               "enum": [
                  "gain_substitution",
                  "jones_substitution",
                  "normal_equations",
                  "normal_equations_presum"
               ],
               "title": "Solver",
               "type": "string"
            },
            "niter": {
               "default": 20,
               "description": "Maximum number of iterations for the solver.",
               "title": "Iterations",
               "type": "integer"
            },
            "tol": {
               "default": 0.0001,
               "description": "Tolerance value for solver convergence. Units: NA",
               "title": "Tolerance for solver convergence",
               "type": "number"
            }
         },
         "title": "BandpassCalibration",
         "type": "object"
      },
      "ComplexGainCalibration": {
         "additionalProperties": false,
         "description": "Configuration for complex gain calibration of Target Instrumental\ncalibration pipeline.",
         "properties": {
            "niter": {
               "default": 50,
               "description": "Maximum number of iterations for the solver.",
               "title": "Iterations",
               "type": "integer"
            },
            "tol": {
               "default": 1e-06,
               "description": "Tolerance value for solver convergence. Units: NA",
               "title": "Tolerance for solver convergence",
               "type": "number"
            }
         },
         "title": "ComplexGainCalibration",
         "type": "object"
      },
      "ContinuumImaging": {
         "additionalProperties": false,
         "description": "Configuration for Continuum Imaging stage of the e2e pipeline.",
         "properties": {
            "polarizations": {
               "default": "stokes_i",
               "description": "\n            Output polarizations to image. This maps to the\n            'data_product.polarizations' parameter of the CIMG pipeline.\n            ",
               "title": "Polarizations",
               "type": "string"
            },
            "image_size": {
               "default": [
                  4000,
                  4000
               ],
               "description": "\n        Image size in pixels.\n        The sensible value for this parameter will depend on the\n        specific data (max baseline and field of view).\n        ",
               "maxItems": 2,
               "minItems": 2,
               "prefixItems": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "integer"
                  }
               ],
               "title": "Image size (pixels)",
               "type": "array"
            },
            "pixel_scale": {
               "default": 0.0005555555555555556,
               "description": "Pixel scale in degrees. Defines the image resolution.",
               "title": "Pixel scale (degrees)",
               "type": "number"
            },
            "briggs_robust_weighting": {
               "default": -0.5,
               "description": "Robustness value for briggs weighting",
               "title": "Briggs robust weighting",
               "type": "number"
            },
            "output_channels": {
               "default": 12,
               "description": "\n            Specifies the number of different frequencies for which\n            information will be present in the output. For each output\n            channel, a separate FITS image will be created. Note that\n            increasing this value will increase computations needed to\n            generate the output. The processing script might reduce the\n            computational intensity by also setting\n            `--deconvolution-channels` to an appropriate value.\n            ",
               "title": "Number of output channels",
               "type": "integer"
            },
            "fit_spectral_pol": {
               "default": 3,
               "description": "Order of spectral polynomial to fit across channels.",
               "title": "Spectral polynomial fitting order",
               "type": "integer"
            },
            "gaussian_taper": {
               "default": 0.0,
               "description": "The beamsize in arcseconds, for Gaussian Tapering.",
               "title": "Gaussian tapering beamsize (arcseconds)",
               "type": "number"
            }
         },
         "title": "ContinuumImaging",
         "type": "object"
      },
      "InstrumentalCalibration": {
         "additionalProperties": false,
         "description": "Configuration for Instrumental Calibration stage of the batch e2e pipeline",
         "properties": {
            "averager": {
               "$ref": "#/$defs/AveragerStep",
               "description": "Averager parameters. It is used to average the\n              visibility data."
            },
            "preflagger": {
               "$ref": "#/$defs/PreFlaggerStep",
               "description": "It is used to pre-flag the visibility data."
            },
            "bandpass_calibration": {
               "$ref": "#/$defs/BandpassCalibration",
               "description": "Bandpass calibration configuration parameters"
            }
         },
         "title": "InstrumentalCalibration",
         "type": "object"
      },
      "IonosphericCalibration": {
         "additionalProperties": false,
         "description": "Configuration for the Target Ionospheric calibration pipeline",
         "properties": {
            "niter": {
               "default": 50,
               "description": "Maximum number of iterations for the solver.",
               "title": "Iterations",
               "type": "integer"
            },
            "tol": {
               "default": 1e-06,
               "description": "Tolerance value for solver convergence. Units: NA",
               "title": "Tolerance for solver convergence",
               "type": "number"
            },
            "zernike_limit": {
               "anyOf": [
                  {
                     "items": {
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "list of Zernike index limits:\n            Generate all Zernikes with n + |m| <= zernike_limit[cluster_id].\n            If None, a default is used by the solver.",
               "title": "Zernike polynomials"
            }
         },
         "title": "IonosphericCalibration",
         "type": "object"
      },
      "PreFlaggerStep": {
         "additionalProperties": false,
         "description": "Configuration for pre_flagger step of BPP pipeline",
         "properties": {
            "freqrange": {
               "default": "[154.250..159.810]",
               "description": "Frequency range to flag, expressed as [start..end].\n        Units: MHz",
               "title": "Frequency range to flag",
               "type": "string"
            }
         },
         "title": "PreFlaggerStep",
         "type": "object"
      },
      "SelfCalibration": {
         "additionalProperties": false,
         "description": "Configuration for the self-calibration step performed using ICAL pipeline.",
         "properties": {
            "min_selfcal_loops": {
               "default": 4,
               "description": "Minimum number of self-calibration loops to perform\n            on the target source(s).",
               "title": "Minimum self-calibration loops",
               "type": "integer"
            },
            "max_selfcal_loops": {
               "default": 8,
               "description": "Maximum number of self-calibration loops to perform\n            on the target source(s).",
               "title": "Maximum self-calibration loops",
               "type": "integer"
            }
         },
         "title": "SelfCalibration",
         "type": "object"
      },
      "TargetCalibration": {
         "additionalProperties": false,
         "description": "Configuration for Target Calibration stage of the batch e2e pipeline",
         "properties": {
            "averager": {
               "$ref": "#/$defs/AveragerStep",
               "description": "Averager parameters. It is used to average the\n              visibility data."
            },
            "preflagger": {
               "$ref": "#/$defs/PreFlaggerStep",
               "description": "It is used to pre-flag the visibility data."
            },
            "complex_gain_calibration": {
               "$ref": "#/$defs/ComplexGainCalibration",
               "description": "Configuration for the Instrumental Target\n        calibration pipeline."
            },
            "ionospheric_calibration": {
               "$ref": "#/$defs/IonosphericCalibration",
               "description": "Configuration for the Target Ionospheric\n        calibration pipeline"
            },
            "self_calibration": {
               "$ref": "#/$defs/SelfCalibration",
               "description": "Configuration for the self-calibration pipeline."
            }
         },
         "title": "TargetCalibration",
         "type": "object"
      }
   },
   "additionalProperties": false
}

Fields:
field instrumental_calibration: InstrumentalCalibration [Optional]

Configuration for Instrumental Calibration stage of the batch e2e pipeline

field target_calibration: TargetCalibration [Optional]

Configuration for Target Calibration stage of the batch e2e pipeline

field continuum_imaging: ContinuumImaging [Optional]

Configuration for Continuum Imaging stage of the batch e2e pipeline

pydantic model InstrumentalCalibration

Configuration for Instrumental Calibration stage of the batch e2e pipeline

Show JSON schema
{
   "title": "InstrumentalCalibration",
   "description": "Configuration for Instrumental Calibration stage of the batch e2e pipeline",
   "type": "object",
   "properties": {
      "averager": {
         "$ref": "#/$defs/AveragerStep",
         "description": "Averager parameters. It is used to average the\n              visibility data."
      },
      "preflagger": {
         "$ref": "#/$defs/PreFlaggerStep",
         "description": "It is used to pre-flag the visibility data."
      },
      "bandpass_calibration": {
         "$ref": "#/$defs/BandpassCalibration",
         "description": "Bandpass calibration configuration parameters"
      }
   },
   "$defs": {
      "AveragerStep": {
         "additionalProperties": false,
         "description": "Configuration for averager step of BPP pipeline",
         "properties": {
            "timestep": {
               "default": 4,
               "description": "Number of time samples to average together.",
               "title": "Time Averaging Factor",
               "type": "integer"
            },
            "freqstep": {
               "default": 4,
               "description": "Number of frequency channels to average together.",
               "title": "Frequency Averaging Factor",
               "type": "integer"
            }
         },
         "title": "AveragerStep",
         "type": "object"
      },
      "BandpassCalibration": {
         "additionalProperties": false,
         "description": "Configuration for bandpass calibration step of Instrumental calibration\npipeline.",
         "properties": {
            "solver": {
               "default": "jones_substitution",
               "description": "Type of solver to use for the calibration.",
               "enum": [
                  "gain_substitution",
                  "jones_substitution",
                  "normal_equations",
                  "normal_equations_presum"
               ],
               "title": "Solver",
               "type": "string"
            },
            "niter": {
               "default": 20,
               "description": "Maximum number of iterations for the solver.",
               "title": "Iterations",
               "type": "integer"
            },
            "tol": {
               "default": 0.0001,
               "description": "Tolerance value for solver convergence. Units: NA",
               "title": "Tolerance for solver convergence",
               "type": "number"
            }
         },
         "title": "BandpassCalibration",
         "type": "object"
      },
      "PreFlaggerStep": {
         "additionalProperties": false,
         "description": "Configuration for pre_flagger step of BPP pipeline",
         "properties": {
            "freqrange": {
               "default": "[154.250..159.810]",
               "description": "Frequency range to flag, expressed as [start..end].\n        Units: MHz",
               "title": "Frequency range to flag",
               "type": "string"
            }
         },
         "title": "PreFlaggerStep",
         "type": "object"
      }
   },
   "additionalProperties": false
}

Fields:
field averager: AveragerStep [Optional]

Averager parameters. It is used to average the visibility data.

field preflagger: PreFlaggerStep [Optional]

It is used to pre-flag the visibility data.

field bandpass_calibration: BandpassCalibration [Optional]

Bandpass calibration configuration parameters

pydantic model IonosphericCalibration

Configuration for the Target Ionospheric calibration pipeline

Show JSON schema
{
   "title": "IonosphericCalibration",
   "description": "Configuration for the Target Ionospheric calibration pipeline",
   "type": "object",
   "properties": {
      "niter": {
         "default": 50,
         "description": "Maximum number of iterations for the solver.",
         "title": "Iterations",
         "type": "integer"
      },
      "tol": {
         "default": 1e-06,
         "description": "Tolerance value for solver convergence. Units: NA",
         "title": "Tolerance for solver convergence",
         "type": "number"
      },
      "zernike_limit": {
         "anyOf": [
            {
               "items": {
                  "type": "integer"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "list of Zernike index limits:\n            Generate all Zernikes with n + |m| <= zernike_limit[cluster_id].\n            If None, a default is used by the solver.",
         "title": "Zernike polynomials"
      }
   },
   "additionalProperties": false
}

Fields:
field zernike_limit: list[int] | None = None

list of Zernike index limits: Generate all Zernikes with n + |m| <= zernike_limit[cluster_id]. If None, a default is used by the solver.

pydantic model PreFlaggerStep

Configuration for pre_flagger step of BPP pipeline

Show JSON schema
{
   "title": "PreFlaggerStep",
   "description": "Configuration for pre_flagger step of BPP pipeline",
   "type": "object",
   "properties": {
      "freqrange": {
         "default": "[154.250..159.810]",
         "description": "Frequency range to flag, expressed as [start..end].\n        Units: MHz",
         "title": "Frequency range to flag",
         "type": "string"
      }
   },
   "additionalProperties": false
}

Fields:
field freqrange: str = '[154.250..159.810]'

Frequency range to flag, expressed as [start..end]. Units: MHz

pydantic model SelfCalibration

Configuration for the self-calibration step performed using ICAL pipeline.

Show JSON schema
{
   "title": "SelfCalibration",
   "description": "Configuration for the self-calibration step performed using ICAL pipeline.",
   "type": "object",
   "properties": {
      "min_selfcal_loops": {
         "default": 4,
         "description": "Minimum number of self-calibration loops to perform\n            on the target source(s).",
         "title": "Minimum self-calibration loops",
         "type": "integer"
      },
      "max_selfcal_loops": {
         "default": 8,
         "description": "Maximum number of self-calibration loops to perform\n            on the target source(s).",
         "title": "Maximum self-calibration loops",
         "type": "integer"
      }
   },
   "additionalProperties": false
}

Fields:
field min_selfcal_loops: int = 4

Minimum number of self-calibration loops to perform on the target source(s).

field max_selfcal_loops: int = 8

Maximum number of self-calibration loops to perform on the target source(s).

pydantic model TargetCalibration

Configuration for Target Calibration stage of the batch e2e pipeline

Show JSON schema
{
   "title": "TargetCalibration",
   "description": "Configuration for Target Calibration stage of the batch e2e pipeline",
   "type": "object",
   "properties": {
      "averager": {
         "$ref": "#/$defs/AveragerStep",
         "description": "Averager parameters. It is used to average the\n              visibility data."
      },
      "preflagger": {
         "$ref": "#/$defs/PreFlaggerStep",
         "description": "It is used to pre-flag the visibility data."
      },
      "complex_gain_calibration": {
         "$ref": "#/$defs/ComplexGainCalibration",
         "description": "Configuration for the Instrumental Target\n        calibration pipeline."
      },
      "ionospheric_calibration": {
         "$ref": "#/$defs/IonosphericCalibration",
         "description": "Configuration for the Target Ionospheric\n        calibration pipeline"
      },
      "self_calibration": {
         "$ref": "#/$defs/SelfCalibration",
         "description": "Configuration for the self-calibration pipeline."
      }
   },
   "$defs": {
      "AveragerStep": {
         "additionalProperties": false,
         "description": "Configuration for averager step of BPP pipeline",
         "properties": {
            "timestep": {
               "default": 4,
               "description": "Number of time samples to average together.",
               "title": "Time Averaging Factor",
               "type": "integer"
            },
            "freqstep": {
               "default": 4,
               "description": "Number of frequency channels to average together.",
               "title": "Frequency Averaging Factor",
               "type": "integer"
            }
         },
         "title": "AveragerStep",
         "type": "object"
      },
      "ComplexGainCalibration": {
         "additionalProperties": false,
         "description": "Configuration for complex gain calibration of Target Instrumental\ncalibration pipeline.",
         "properties": {
            "niter": {
               "default": 50,
               "description": "Maximum number of iterations for the solver.",
               "title": "Iterations",
               "type": "integer"
            },
            "tol": {
               "default": 1e-06,
               "description": "Tolerance value for solver convergence. Units: NA",
               "title": "Tolerance for solver convergence",
               "type": "number"
            }
         },
         "title": "ComplexGainCalibration",
         "type": "object"
      },
      "IonosphericCalibration": {
         "additionalProperties": false,
         "description": "Configuration for the Target Ionospheric calibration pipeline",
         "properties": {
            "niter": {
               "default": 50,
               "description": "Maximum number of iterations for the solver.",
               "title": "Iterations",
               "type": "integer"
            },
            "tol": {
               "default": 1e-06,
               "description": "Tolerance value for solver convergence. Units: NA",
               "title": "Tolerance for solver convergence",
               "type": "number"
            },
            "zernike_limit": {
               "anyOf": [
                  {
                     "items": {
                        "type": "integer"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "list of Zernike index limits:\n            Generate all Zernikes with n + |m| <= zernike_limit[cluster_id].\n            If None, a default is used by the solver.",
               "title": "Zernike polynomials"
            }
         },
         "title": "IonosphericCalibration",
         "type": "object"
      },
      "PreFlaggerStep": {
         "additionalProperties": false,
         "description": "Configuration for pre_flagger step of BPP pipeline",
         "properties": {
            "freqrange": {
               "default": "[154.250..159.810]",
               "description": "Frequency range to flag, expressed as [start..end].\n        Units: MHz",
               "title": "Frequency range to flag",
               "type": "string"
            }
         },
         "title": "PreFlaggerStep",
         "type": "object"
      },
      "SelfCalibration": {
         "additionalProperties": false,
         "description": "Configuration for the self-calibration step performed using ICAL pipeline.",
         "properties": {
            "min_selfcal_loops": {
               "default": 4,
               "description": "Minimum number of self-calibration loops to perform\n            on the target source(s).",
               "title": "Minimum self-calibration loops",
               "type": "integer"
            },
            "max_selfcal_loops": {
               "default": 8,
               "description": "Maximum number of self-calibration loops to perform\n            on the target source(s).",
               "title": "Maximum self-calibration loops",
               "type": "integer"
            }
         },
         "title": "SelfCalibration",
         "type": "object"
      }
   },
   "additionalProperties": false
}

Fields:
field averager: AveragerStep [Optional]

Averager parameters. It is used to average the visibility data.

field preflagger: PreFlaggerStep [Optional]

It is used to pre-flag the visibility data.

field complex_gain_calibration: ComplexGainCalibration [Optional]

Configuration for the Instrumental Target calibration pipeline.

field ionospheric_calibration: IonosphericCalibration [Optional]

Configuration for the Target Ionospheric calibration pipeline

field self_calibration: SelfCalibration [Optional]

Configuration for the self-calibration pipeline.

Changelog

0.2.0

  • Updated continuum-imaging schema to align with latest e2e continuum imaging pipeline stages configuration.

0.1.0

0.0.0 (Unreleased)

  1. Add initial schema