flint.prefect.common.imaging ============================ .. py:module:: flint.prefect.common.imaging .. autoapi-nested-parse:: This contains common utilities to enable components of the prefect imaging flowws. The majority of the items here are the task decorated functions. Effort should be made to avoid putting in too many items that are not going to be directly used by prefect imaging flows. Attributes ---------- .. autoapisummary:: flint.prefect.common.imaging.FlagMS flint.prefect.common.imaging.P flint.prefect.common.imaging.R flint.prefect.common.imaging.task_combine_images_to_cube flint.prefect.common.imaging.task_convolve_image_set flint.prefect.common.imaging.task_convolve_images flint.prefect.common.imaging.task_copy_and_preprocess_casda_askap_ms flint.prefect.common.imaging.task_create_apply_solutions_cmd flint.prefect.common.imaging.task_get_common_beam_from_image_set flint.prefect.common.imaging.task_get_common_beam_from_image_sets flint.prefect.common.imaging.task_get_common_beam_from_images flint.prefect.common.imaging.task_get_common_beam_from_results flint.prefect.common.imaging.task_image_set_from_result flint.prefect.common.imaging.task_merge_image_sets flint.prefect.common.imaging.task_merge_image_sets_from_results flint.prefect.common.imaging.task_preprocess_askap_ms flint.prefect.common.imaging.task_rename_column_in_ms flint.prefect.common.imaging.task_select_solution_for_ms flint.prefect.common.imaging.task_split_and_get_image_set flint.prefect.common.imaging.task_split_by_field Functions --------- .. autoapisummary:: flint.prefect.common.imaging.convolve_image_set flint.prefect.common.imaging.convolve_then_linmos flint.prefect.common.imaging.create_convol_linmos_images flint.prefect.common.imaging.create_convolve_linmos_cubes flint.prefect.common.imaging.get_common_beam_from_image_set flint.prefect.common.imaging.get_common_beam_from_image_sets flint.prefect.common.imaging.get_common_beam_from_images flint.prefect.common.imaging.get_common_beam_from_results flint.prefect.common.imaging.task_bandpass_create_apply_solutions_cmd flint.prefect.common.imaging.task_common_beam_convolve_linmos flint.prefect.common.imaging.task_convolve_cube flint.prefect.common.imaging.task_convolve_image flint.prefect.common.imaging.task_convolve_linmos_to_fixed_shape flint.prefect.common.imaging.task_create_image_mask_model flint.prefect.common.imaging.task_create_validation_plot flint.prefect.common.imaging.task_create_validation_tables flint.prefect.common.imaging.task_extract_beam_mask_image flint.prefect.common.imaging.task_extract_solution_path flint.prefect.common.imaging.task_flag_ms_aoflagger flint.prefect.common.imaging.task_gaincal_applycal_ms flint.prefect.common.imaging.task_get_channel_images_from_paths flint.prefect.common.imaging.task_get_cube_common_beam flint.prefect.common.imaging.task_linmos_images flint.prefect.common.imaging.task_potato_peel flint.prefect.common.imaging.task_run_bane_and_aegean flint.prefect.common.imaging.task_wsclean_imager flint.prefect.common.imaging.task_zip_ms flint.prefect.common.imaging.validation_items Module Contents --------------- .. py:function:: convolve_image_set(image_set: flint.imager.wsclean.ImageSet, beam_shape: flint.convol.BeamShape, cutoff: float = 60, mode: str = 'image', filter_str: str | None = None, convol_suffix_str: str = 'conv', remove_original_images: bool = False) -> list[pathlib.Path] Convolve images to a specified resolution :param wsclean_result: Collection of output images from wsclean that will be convolved :type wsclean_result: WSCleanResult :param beam_shape: The shape images will be convolved to :type beam_shape: BeamShape :param cutoff: Maximum major beam axis an image is allowed to have before it will not be convolved. Defaults to 60. :type cutoff: float, optional :param filter_str: This string must be contained in the image path for it to be convolved. Defaults to None. :type filter_str: Optional[str], optional :param convol_suffix_str: The suffix added to the convolved images. Defaults to 'conv'. :type convol_suffix_str: str, optional :param remove_original_images: If True remove the original image after they have been convolved. Defaults to False. :type remove_original_images: bool, optional :returns: Path to the output images that have been convolved. :rtype: Collection[Path] .. py:function:: convolve_then_linmos(wsclean_results: Collection[flint.imager.wsclean.WSCleanResult], beam_shape: flint.convol.BeamShape, field_options: flint.options.FieldOptions | flint.options.SubtractFieldOptions, linmos_suffix_str: str | None, field_summary: flint.summary.FieldSummary | None = None, convol_mode: str = 'image', convol_filter: str = '.MFS.', convol_suffix_str: str = 'conv', trim_linmos_fits: bool = True, remove_original_images: bool = False, cleanup_linmos: bool = False) -> flint.coadd.linmos.LinmosResult An internal function that launches the convolution to a common resolution and subsequent linmos of the wsclean residual images. :param wsclean_results: Collection of wsclean imaging results, with residual images described in the attached ``ImageSet`` :type wsclean_results: Collection[WSCleanResult] :param beam_shape: The beam shape that residual images will be convolved to :type beam_shape: BeamShape :param field_options: Options related to the processing of the field :type field_options: FieldOptions :param linmos_suffix_str: The suffix string passed to the linmos parset name :type linmos_suffix_str: str :param field_summary: The summary of the field, including (importantly) to orientation of the third-axis. Defaults to None. :type field_summary: Optional[FieldSummary], optional :param convol_mode: The mode passed to the convol task to describe the images to extract. Support image or residual. Defaults to image. :type convol_mode: str, optional :param convol_filter: A text file applied when assessing images to co-add. Defaults to '.MFS.'. :type convol_filter: str, optional :param convol_suffix_str: The suffix added to the convolved images. Defaults to 'conv'. :type convol_suffix_str: str, optional :param trim_linmos_fits: Attempt to trim the output linmos files of as much empty space as possible. Defaults to True. :type trim_linmos_fits: bool, optional :param remove_original_images: If True remove the original image after they have been convolved. Defaults to False. :type remove_original_images: bool, optional :param cleanup_linmos: Clean up items created throughout linmos, including the per-channel weight text files for each input image. Defaults to False. :type cleanup_linmos: bool, optional :returns: Resulting linmos command parset :rtype: LinmosResult .. py:function:: create_convol_linmos_images(wsclean_results: Collection[flint.imager.wsclean.WSCleanResult], field_options: flint.options.FieldOptions, field_summary: flint.summary.FieldSummary | None = None, additional_linmos_suffix_str: str | None = None) -> list[flint.coadd.linmos.LinmosResult] Derive the appropriate set of beam shapes and then produce corresponding convolved and co-added images :param wsclean_results: Set of wsclean commands that have been executed :type wsclean_results: Collection[WSCleanResult] :param field_options: Set of field imaging options, containing details of the beam/s :type field_options: FieldOptions :param field_summary: Summary of the MSs, importantly containing their third-axis rotation. Defaults to None. :type field_summary: Optional[FieldSummary], optional :param additional_linmos_suffix_str: An additional string added to the end of the auto-generated linmos base name. Defaults to None. :type additional_linmos_suffix_str: Optional[str], optional :returns: The collection of linmos commands executed. :rtype: List[LinmosResult] .. py:function:: create_convolve_linmos_cubes(wsclean_results: Collection[flint.imager.wsclean.WSCleanResult], field_options: flint.options.FieldOptions, current_round: int | None = None, additional_linmos_suffix_str: str | None = 'cube') .. py:function:: get_common_beam_from_image_set(image_set: flint.imager.wsclean.ImageSet, cutoff: float = 25, filter_str: str | None = None, fixed_beam_shape: list[float] | None = None) -> flint.convol.BeamShape Compute a common beam size that all input images will be convoled to. :param wsclean_results: Input images whose restoring beam properties will be considered :type wsclean_results: Collection[WSCleanResult] :param cutoff: Major axis larger than this valur, in arcseconds, will be ignored. Defaults to 25. :type cutoff: float, optional :param filter_str: Only include images when considering beam shape if this string is in the file path. Defaults to None. :type filter_str: Optional[str], optional :param fixed_beam_shape: Specify the final beamsize of linmos field images in (arcsec, arcsec, deg). If None it is deduced from images. Defaults to None; :type fixed_beam_shape: Optional[List[float]], optional :returns: The final convolving beam size to be used :rtype: BeamShape .. py:function:: get_common_beam_from_image_sets(image_sets: list[flint.imager.wsclean.ImageSet], cutoff: float = 25, filter_str: str | None = None, fixed_beam_shape: list[float] | None = None) -> flint.convol.BeamShape Compute a common beam size that all input images will be convoled to. :param wsclean_results: Input images whose restoring beam properties will be considered :type wsclean_results: Collection[WSCleanResult] :param cutoff: Major axis larger than this valur, in arcseconds, will be ignored. Defaults to 25. :type cutoff: float, optional :param filter_str: Only include images when considering beam shape if this string is in the file path. Defaults to None. :type filter_str: Optional[str], optional :param fixed_beam_shape: Specify the final beamsize of linmos field images in (arcsec, arcsec, deg). If None it is deduced from images. Defaults to None; :type fixed_beam_shape: Optional[List[float]], optional :returns: The final convolving beam size to be used :rtype: BeamShape .. py:function:: get_common_beam_from_images(image_paths: list[pathlib.Path], cutoff: float = 25, filter_str: str | None = None, fixed_beam_shape: list[float] | None = None) -> flint.convol.BeamShape Compute a common beam size that all input images will be convoled to. :param image_paths: Input images whose restoring beam properties will be considered :type image_paths: list[Path] :param cutoff: Major axis larger than this valur, in arcseconds, will be ignored. Defaults to 25. :type cutoff: float, optional :param filter_str: Only include images when considering beam shape if this string is in the file path. Defaults to None. :type filter_str: Optional[str], optional :param fixed_beam_shape: Specify the final beamsize of linmos field images in (arcsec, arcsec, deg). If None it is deduced from images. Defaults to None; :type fixed_beam_shape: Optional[List[float]], optional :returns: The final convolving beam size to be used :rtype: BeamShape .. py:function:: get_common_beam_from_results(wsclean_results: list[flint.imager.wsclean.WSCleanResult], cutoff: float = 25, filter_str: str | None = None, fixed_beam_shape: list[float] | None = None) -> flint.convol.BeamShape Compute a common beam size that all input images will be convoled to. :param wsclean_results: Input images whose restoring beam properties will be considered :type wsclean_results: Collection[WSCleanResult] :param cutoff: Major axis larger than this valur, in arcseconds, will be ignored. Defaults to 25. :type cutoff: float, optional :param filter_str: Only include images when considering beam shape if this string is in the file path. Defaults to None. :type filter_str: Optional[str], optional :param fixed_beam_shape: Specify the final beamsize of linmos field images in (arcsec, arcsec, deg). If None it is deduced from images. Defaults to None; :type fixed_beam_shape: Optional[List[float]], optional :returns: The final convolving beam size to be used :rtype: BeamShape .. py:function:: task_bandpass_create_apply_solutions_cmd(ms: flint.ms.MS, calibrate_cmd: flint.calibrate.aocalibrate.CalibrateCommand, container: pathlib.Path) -> flint.calibrate.aocalibrate.ApplySolutions Apply a ao-calibrate solutions file to the subject measurement set. :param ms: The measurement set that will have the solutions file applied :type ms: MS :param calibrate_cmd: A resulting ao-calibrate command and meta-data item :type calibrate_cmd: CalibrateCommand :param container: The container that can apply the ao-calibrate style solutions file to the measurement set :type container: Path :returns: The resulting apply solutions command and meta-data :rtype: ApplySolutions .. py:function:: task_common_beam_convolve_linmos(wsclean_results: list[flint.imager.wsclean.WSCleanResult], field_options: flint.options.SubtractFieldOptions, convol_mode: str, convol_filter: str | None = None, convol_suffix_str: str | None = None, remove_original_images: bool = False, trim_linmos_fits: bool = False, cleanup_linmos: bool = False, linmos_suffix_str: str | None = None, field_summary: flint.summary.FieldSummary | None = None) -> flint.coadd.linmos.LinmosResult .. py:function:: task_convolve_cube(wsclean_result: flint.imager.wsclean.WSCleanResult, beam_shapes: list[flint.convol.BeamShape], cutoff: float = 60, mode: Literal['image'] = 'image', convol_suffix_str: str = 'conv') -> Collection[pathlib.Path] Convolve images to a specified resolution :param wsclean_result: Collection of output images from wsclean that will be convolved :type wsclean_result: WSCleanResult :param beam_shapes: The shape images will be convolved to :type beam_shapes: BeamShape :param cutoff: Maximum major beam axis an image is allowed to have before it will not be convolved. Defaults to 60. :type cutoff: float, optional :param convol_suffix_str: The suffix added to the convolved images. Defaults to 'conv'. :type convol_suffix_str: str, optional :returns: Path to the output images that have been convolved. :rtype: Collection[Path] .. py:function:: task_convolve_image(wsclean_result: flint.imager.wsclean.WSCleanResult, beam_shape: flint.convol.BeamShape, cutoff: float = 60, mode: str = 'image', filter_str: str | None = None, convol_suffix_str: str = 'conv', remove_original_images: bool = False) -> Collection[pathlib.Path] Convolve images to a specified resolution :param wsclean_result: Collection of output images from wsclean that will be convolved :type wsclean_result: WSCleanResult :param beam_shape: The shape images will be convolved to :type beam_shape: BeamShape :param cutoff: Maximum major beam axis an image is allowed to have before it will not be convolved. Defaults to 60. :type cutoff: float, optional :param filter_str: This string must be contained in the image path for it to be convolved. Defaults to None. :type filter_str: Optional[str], optional :param convol_suffix_str: The suffix added to the convolved images. Defaults to 'conv'. :type convol_suffix_str: str, optional :param remove_original_images: If True remove the original image after they have been convolved. Defaults to False. :type remove_original_images: bool, optional :returns: Path to the output images that have been convolved. :rtype: Collection[Path] .. py:function:: task_convolve_linmos_to_fixed_shape(linmos_result: flint.coadd.linmos.LinmosResult, field_options: flint.options.FieldOptions) -> flint.coadd.linmos.LinmosResult Smooth the linmos input image to a fixed resolution :param linmos_result: An existing linmos results set representing a created image :type linmos_result: LinmosResult :param field_options: A field options instance with an set fixed beeam shape set :type field_options: FieldOptions :returns: A smoothed version of the input linmos image :rtype: LinmosResult .. py:function:: task_create_image_mask_model(image: flint.coadd.linmos.LinmosResult | flint.imager.wsclean.ImageSet | flint.imager.wsclean.WSCleanResult, image_products: flint.source_finding.aegean.AegeanOutputs, update_masking_options: dict[str, Any] | None = None) -> flint.naming.FITSMaskNames Create a mask for an image, with the intention of providing it as a clean mask to an appropriate imager. :param linmos_parset: Linmos command and associated meta-data :type linmos_parset: LinmosResult :param image_products: Images of the RMS and BKG :type image_products: AegeanOutputs :param update_masking_options: Updated options supplied to the default MaskingOptions. Defaults to None. :type update_masking_options: Optional[Dict[str,Any]], optional :raises ValueError: Raised when ``image_products`` are not known :returns: Clean mask where all pixels below a S/N are masked :rtype: FITSMaskNames .. py:function:: task_create_validation_plot(field_summary: flint.summary.FieldSummary, aegean_outputs: flint.source_finding.aegean.AegeanOutputs, reference_catalogue_directory: pathlib.Path, upload_artifact: bool = True) -> pathlib.Path Create a multi-panel figure highlighting the RMS, flux scale and astrometry of a field :param aegean_outputs: Output aegean products :type aegean_outputs: AegeanOutputs :param reference_catalogue_directory: Directory containing NVSS, SUMSS and ICRS reference catalogues. These catalogues are reconginised internally and have expected names. :type reference_catalogue_directory: Path :param upload_artifact: If True the validation plot will be uploaded to the prefect service as an artifact. Defaults to True. :type upload_artifact: bool, optional :returns: Path to the output figure created :rtype: Path .. py:function:: task_create_validation_tables(field_summary: flint.summary.FieldSummary, aegean_outputs: flint.source_finding.aegean.AegeanOutputs, reference_catalogue_directory: pathlib.Path, upload_artifacts: bool = True) -> flint.validation.ValidationTables Create a set of validation tables that can be used to assess the correctness of an image and associated source catalogue. :param processed_ms_paths: The processed MS files that were used to create the source catalogue :type processed_ms_paths: List[Path] :param rms_image_path: The RMS fits image the source catalogue was constructed against. :type rms_image_path: Path :param source_catalogue_path: The source catalogue. :type source_catalogue_path: Path :param output_path: The output path of the figure to create :type output_path: Path :param reference_catalogue_directory: The directory that contains the reference catalogues installed :type reference_catalogue_directory: Path :returns: The tables that were created :rtype: ValidationTables .. py:function:: task_extract_beam_mask_image(linmos_mask_names: flint.naming.FITSMaskNames, wsclean_result: flint.imager.wsclean.WSCleanResult) -> flint.naming.FITSMaskNames Extract a clean mask for a beam from a larger clean mask (e.g. derived from a field) :param linmos_mask_names: Mask that will be drawn from to form a smaller clean mask (e.g. for a beam) :type linmos_mask_names: FITSMaskNames :param wsclean_result: Wsclean command and meta-data. This is used to draw from the WCS to create an appropriate pixel-to-pixel mask :type wsclean_result: WSCleanResult :returns: Clean mask for a image :rtype: FITSMaskNames .. py:function:: task_extract_solution_path(calibrate_cmd: flint.calibrate.aocalibrate.CalibrateCommand) -> pathlib.Path Extract the solution path from a calibrate command. This is often required when interacting with a ``PrefectFuture`` wrapped ``CalibrateCommand`` result. :param calibrate_cmd: The subject calibrate command the solution file will be extracted from :type calibrate_cmd: CalibrateCommand :returns: Path to the solution file :rtype: Path .. py:function:: task_flag_ms_aoflagger(ms: FlagMS, container: pathlib.Path | None) -> FlagMS .. py:function:: task_gaincal_applycal_ms(ms: flint.ms.MS | flint.imager.wsclean.WSCleanResult, selfcal_round: int, casa_container: pathlib.Path, update_gain_cal_options: dict[str, Any] | None = None, archive_input_ms: bool = False, skip_selfcal: bool = False, rename_ms: bool = False, archive_cal_table: bool = False) -> flint.ms.MS Perform self-calibration using CASA gaincal and applycal. :param ms: A resulting wsclean output. This is used purely to extract the ``.ms`` attribute. :type ms: Union[MS, WSCleanResult] :param selfcal_round: Counter indication which self-calibration round is being performed. A name is included based on this. :type selfcal_round: int :param casa_container: A path to a singularity container with CASA tooling. :type casa_container: Path :param update_gain_cal_options: Options used to overwrite the default ``gaincal`` options. Defaults to None. :type update_gain_cal_options: Optional[Dict[str, Any]], optional :param archive_input_ms: If True the input measurement set is zipped. Defaults to False. :type archive_input_ms: bool, optional :param skip_selfcal: Should this self-cal be skipped. If `True`, the a new MS is created but not calibrated the appropriate new name and returned. :type skip_selfcal: bool, optional :param rename_ms: It `True` simply rename a MS and adjust columns appropriately (potentially deleting them) instead of copying the complete MS. If `True` `archive_input_ms` is ignored. Defaults to False. :type rename_ms: bool, optional :param archive_cal_table: Archive the output calibration table in a tarball. Defaults to False. :type archive_cal_table: bool, optional :raises ValueError: Raised when a ``.ms`` attribute can not be obtained :returns: Self-calibrated measurement set :rtype: MS .. py:function:: task_get_channel_images_from_paths(paths: list[pathlib.Path]) -> list[pathlib.Path] .. py:function:: task_get_cube_common_beam(wsclean_results: Collection[flint.imager.wsclean.WSCleanResult], cutoff: float = 25) -> list[flint.convol.BeamShape] Compute a common beam size for input cubes. :param wsclean_results: Input images whose restoring beam properties will be considered :type wsclean_results: Collection[WSCleanResult] :param cutoff: Major axis larger than this valur, in arcseconds, will be ignored. Defaults to 25. :type cutoff: float, optional :returns: The final convolving beam size to be used per channel in cubes :rtype: List[BeamShape] .. py:function:: task_linmos_images(image_list: list[pathlib.Path], container: pathlib.Path, linmos_options: flint.coadd.linmos.LinmosOptions, field_summary: flint.summary.FieldSummary | None = None, suffix_str: str | None = None, parset_output_path: str | None = None) -> flint.coadd.linmos.LinmosResult Linmos together a set of input images. The ``linmos_options.image_output_name`` is updated to be a name based on the commonn unique fields of ``image_list``. :param image_list: Collection of images to coadd :type image_list: list[Path] :param container: Path to a yandasoft singularity container :type container: Path :param linmos_options: Collection of linmos options :type linmos_options: LinmosOptions :param field_summary: Description of the field, used to get the ``pol_axis`` of the field. Defaults to None. :type field_summary: FieldSummary | None, optional :param suffix_str: Additional suffix str to add when generating the output file names. Defaults to None. :type suffix_str: str | None, optional :param parset_output_path: The output parameter set that will be generated. Defaults to None. :type parset_output_path: str | None, optional :returns: Collection of linmos items generated :rtype: LinmosResult .. py:function:: task_potato_peel(ms: flint.ms.MS, potato_container: pathlib.Path, update_potato_config_options: dict[str, Any] | None = None, update_potato_peel_options: dict[str, Any] | None = None, update_wsclean_options: dict[str, Any] | None = None) -> flint.ms.MS .. py:function:: task_run_bane_and_aegean(image: flint.imager.wsclean.WSCleanResult | flint.coadd.linmos.LinmosResult, aegean_container: pathlib.Path, update_bane_options: dict[str, Any] | None = None, update_aegean_options: dict[str, Any] | None = None) -> flint.source_finding.aegean.AegeanOutputs Run BANE and Aegean against a FITS image. .. rubric:: Notes It has been noted that BANE can sometimes get caught in a interpolation error which haults execution. The ``timelimit_seconds`` will attempt to detect long runnings BANE processes and raise an error. The retry functionality of prefect should then restart the task. Since this task is pure (e.g. no last dataproducts, modification to data etc) simply restarting should be fine. :param image: The image that will be searched :type image: Union[WSCleanResult, LinmosResult] :param aegean_container: Path to a singularity container containing BANE and aegean :type aegean_container: Path :param update_bane_options: Over-ride any default options of BANEOptions. If None defaults are used. Defaults to None. :type update_bane_options: dict[str, Any] | None, optional :param update_aegean_options: Over-ride any default options of AegeanOptions. If None defaults are used. Defaults to None. :type update_aegean_options: dict[str, Any] | None, optional :raises ValueError: Raised when ``image`` is not a supported type :returns: Output BANE and aegean products, including the RMS and BKG images :rtype: AegeanOutputs .. py:function:: task_wsclean_imager(in_ms: flint.calibrate.aocalibrate.ApplySolutions | flint.ms.MS, wsclean_container: pathlib.Path, update_wsclean_options: dict[str, Any] | None = None, fits_mask: flint.naming.FITSMaskNames | None = None, channel_range: tuple[int, int] | None = None, scan_range: tuple[int, int] | None = None, make_cube_from_subbands: bool = True) -> flint.imager.wsclean.WSCleanResult Run the wsclean imager against an input measurement set The `channel_range` and `scan_range` options over-write the `update_wsclean_options`, as some flow programmatically create these. :param in_ms: The measurement set that will be imaged :type in_ms: Union[ApplySolutions, MS] :param wsclean_container: Path to a singularity container with wsclean packages :type wsclean_container: Path :param update_wsclean_options: Options to update from the default wsclean options. Defaults to None. :type update_wsclean_options: Optional[Dict[str, Any]], optional :param fits_mask: A path to a clean guard mask. Defaults to None. :type fits_mask: Optional[FITSMaskNames], optional :param channel_range: Add to the wsclean options the specific channel range to be imaged. Defaults to None. :type channel_range: Optional[Tuple[int,int]], optional :param scan_range: Add to the wsclean options the specific scan range to be imaged. Defaults to None. :type scan_range: Optional[Tuple[int,int]], optional :returns: A resulting wsclean command and resulting meta-data :rtype: WSCleanResult .. py:function:: task_zip_ms(in_item: flint.imager.wsclean.WSCleanResult) -> pathlib.Path Zip a measurement set :param in_item: The inpute item with a ``.ms`` attribute of type ``MS``. :type in_item: WSCleanResult :returns: Output path of the zipped measurement set :rtype: Path .. py:function:: validation_items(field_summary: flint.summary.FieldSummary, aegean_outputs: flint.source_finding.aegean.AegeanOutputs, reference_catalogue_directory: pathlib.Path) Construct the validation plot and validation table items for the imaged field. Internally these are submitting the prefect task versions of: - `task_create_validation_plot` - `task_create_validation_tables` :param field_summary: Container representing the SBID being imaged and its populated characteristics :type field_summary: FieldSummary :param aegean_outputs: Source finding results :type aegean_outputs: AegeanOutputs :param reference_catalogue_directory: Location of directory containing the reference known NVSS, SUMSS and ICRS catalogues :type reference_catalogue_directory: Path .. py:data:: FlagMS .. py:data:: P .. py:data:: R .. py:data:: task_combine_images_to_cube :value: None .. py:data:: task_convolve_image_set :type: prefect.Task[P, R] :value: None .. py:data:: task_convolve_images :value: None .. py:data:: task_copy_and_preprocess_casda_askap_ms :type: prefect.Task[P, R] :value: None .. py:data:: task_create_apply_solutions_cmd :type: prefect.Task[P, R] :value: None .. py:data:: task_get_common_beam_from_image_set :type: prefect.Task[P, R] :value: None .. py:data:: task_get_common_beam_from_image_sets :type: prefect.Task[P, R] :value: None .. py:data:: task_get_common_beam_from_images :type: prefect.Task[P, R] :value: None .. py:data:: task_get_common_beam_from_results :type: prefect.Task[P, R] :value: None .. py:data:: task_image_set_from_result :value: None .. py:data:: task_merge_image_sets :value: None .. py:data:: task_merge_image_sets_from_results :value: None .. py:data:: task_preprocess_askap_ms :type: prefect.Task[P, R] :value: None .. py:data:: task_rename_column_in_ms :type: prefect.Task[P, R] :value: None .. py:data:: task_select_solution_for_ms :type: prefect.Task[P, R] :value: None .. py:data:: task_split_and_get_image_set :value: None .. py:data:: task_split_by_field :type: prefect.Task[P, R] :value: None