Directory¶
This directory is designed to to help those familiar with other calibration and imaging packages navigate the Algorithm Reference Library.
Data containers used by ARL¶
See data_models.memory_data_models
for the following definitions:
Image (data and WCS header):
data_models.memory_data_models.Image
Skycomponent (data for a point source or a Gaussian source):
data_models.memory_data_models.Skycomponent
SkyModel (collection of SkyComponents and Images):
data_models.memory_data_models.SkyModel
Antenna-based visibility table, shape (nants, nants, nchan, npol), length ntimes):
data_models.memory_data_models.BlockVisibility
Baseline based visibility tables shape (npol,), length nvis)
data_models.memory_data_models.Visibility
Telescope Configuration:
data_models.memory_data_models.Configuration
GainTable for gain solutions (as (e.g. output from solve_gaintable):
data_models.memory_data_models.GainTable
Create empty data set for observation (a-la makeMS)¶
For Visibility:
processing_components.visibility.create_visibility()
For BlockVisibility:
processing_components.visibility.create_blockvisibility()
Read existing Measurement Set¶
Casacore must be installed:
List contents of a MeasurementSet:
processing_components.visibility.list_ms()
Creates a list of Visibilities, one per FIELD_ID and DATA_DESC_ID:
processing_components.visibility.create_visibility_from_ms()
Creates a list of BlockVisibilities, one per FIELD_ID and DATA_DESC_ID:
processing_components.visibility.create_blockvisibility_from_ms()
Gridding and degridding¶
Convolutional gridding:
processing_library.fourier_transforms.convolutional_grid()
Convolutional degridding:
processing_library.fourier_transforms.convolutional_degrid()
Visibility weighting and tapering¶
Weighting:
processing_components.imaging.weight_visibility()
Gaussian tapering:
processing_components.imaging.taper_visibility_gaussian()
Tukey tapering:
processing_components.imaging.taper_visibility_tukey()
Visibility Predict and Invert¶
Predict BlockVisibility or Visibility for Skycomponent
processing_components.imaging.predict_skycomponent_visibility()
Predict by de-gridding visibilities
workflows.serial.imaging_serial.predict_list_serial_workflow()
Invert by gridding visibilities
workflows.serial.imaging_serial.invert_list_serial_workflow()
Deconvolution¶
Deconvolution
processing_components.image.deconvolve_cube()
wraps:
Hogbom Clean:
processing_library.arrays.hogbom()
Hogbom Complex Clean:
processing_library.arrays.hogbom_complex()
Multi-scale Clean:
processing_library.arrays.msclean()
Multi-scale multi-frequency Clean:
processing_library.arrays.msmfsclean()
Restore:
processing_components.image.restore_cube()
Calibration¶
Create empty gain table:
processing_components.calibration.create_gaintable_from_blockvisibility()
Solve for complex gains:
processing_components.calibration.solve_gaintable()
Apply complex gains:
processing_components.calibration.apply_gaintable()
Coordinate transforms¶
Station/baseline (XYZ <-> UVW):
processing_library.coordinate_support
Source (spherical -> tangent plane):
processing_library.coordinate_support
Phase rotation:
processing_components.visibility.phaserotate_visibility()
Image¶
Image operations:
processing_components.image()
Import from FITS:
processing_components.image.import_image_from_fits()
Export from FITS:
processing_components.image.export_image_to_fits()
Reproject coordinate system:
processing_components.image.reproject_image()
Smooth image:
processing_components.image.smooth_image()
Remove continuum:
processing_components.image.remove_continuum_image()
Convert polarisation:
From Stokes To Polarisation:
processing_components.image.convert_stokes_to_polimage()
From Polarisation to Stokes:
processing_components.image.convert_polimage_to_stokes()
Visibility¶
Append/sum/divide/QA:
processing_components.visibility()
Remove continuum:
processing_components.visibility.remove_continuum_blockvisibility()
Integrate across channels:
processing_components.visibility.integrate_visibility_by_channel()
Coalesce (i.e. BDA)
processing_components.visibility.coalesce_visibility()
Decoalesce (i.e. BDA)
processing_components.visibility.decoalesce_visibility()
Workflows directory¶
Workflows coordinate processing using the data models, processing components, and processing library. These are high level functions, and are available in arlexecute (i.e. dask) version and sometimes scalar version.
Calibration workflows¶
Calibrate workflow:
workflows.arlexecute.calibration.calibrate_list_arlexecute_workflow()
Calibrate workflow:
workflows.serial.calibration.calibrate_list_serial_workflow()
Imaging workflows¶
Invert:
workflows.arlexecute.imaging.invert_list_arlexecute_workflow()
Predict:
workflows.arlexecute.imaging.predict_list_arlexecute_workflow()
Deconvolve:
workflows.arlexecute.imaging.deconvolve_list_arlexecute_workflow()
Invert:
workflows.serial.imaging.invert_list_serial_workflow()
Predict:
workflows.serial.imaging.predict_list_serial_workflow()
Deconvolve:
workflows.serial.imaging.deconvolve_list_serial_workflow()
Pipeline workflows¶
ICAL:
workflows.arlexecute.pipelines.ical_list_arlexecute_workflow()
Continuum imaging:
workflows.arlexecute.pipelines.continuum_imaging_list_arlexecute_workflow()
Spectral line imaging:
workflows.arlexecute.pipelines.spectral_line_imaging_list_arlexecute_workflow()
MPCCAL:
workflows.arlexecute.pipelines.mpccal_skymodel_list_arlexecute_workflow()
ICAL:
workflows.serial.pipelines.ical_list_serial_workflow()
Continuum imaging:
workflows.serial.pipelines.continuum_imaging_list_serial_workflow()
Spectral line imaging:
workflows.serial.pipelines.spectral_line_imaging_list_serial_workflow()
Simulation workflows¶
Testing and simulation support:
workflows.arlexecute.simulation.simulate_list_arlexecute_workflow()
Testing and simulation support:
workflows.serial.simulation.simulate_list_serial_workflow()
Execution¶
Execution framework (an interface to Dask):
wrappers.arlexecute.execution_support.arlexecute()