ConvolutionFunction

class ska_sdp_datamodels.gridded_visibility.ConvolutionFunction(data_vars=None, coords=None, attrs=None)[source]

Bases: Dataset

Class to hold Convolution function for Fourier processing - Has four or more coordinates: [chan, pol, z, y, x] where x can be u, l; y can be v, m; z can be w, n.

The cf has axes [chan, pol, dy, dx, y, x] where z, y, x are spatial axes in either sky or Fourier plane. The order in the WCS is reversed so the grid_WCS describes UU, VV, WW, STOKES, FREQ axes.

The axes UU,VV have the same physical stride as the Image. The axes DUU, DVV are sub-sampled.

Convolution function holds the original sky plane projection in the projection_wcs.

Here is an example:

<xarray.ConvolutionFunction>
Dimensions:       (du: 8, dv: 8, frequency: 1,
                    polarisation: 1, u: 16, v: 16, w: 1)
Coordinates:
  * frequency     (frequency) float64 1e+08
  * polarisation  (polarisation) <U1 'I'
  * w             (w) float64 0.0
  * dv            (dv) float64 -1.031e+05 -7.735e+04 ... 7.735e+04
  * du            (du) float64 -1.031e+05 -7.735e+04 ... 7.735e+04
  * v             (v) float64 -1.65e+06 -1.444e+06 ... 1.444e+06
  * u             (u) float64 -1.65e+06 -1.444e+06 ... 1.444e+06
Data variables:
    pixels        (frequency, polarisation, w, dv, du, v, u)
                   complex128 0j ......
Attributes:
    data_model:   ConvolutionFunction
    grid_wcs:            WCS Keywords
                         Number of WCS axes: 7
                         CTYPE : 'UU' ...
    projection_wcs:      WCS Keywords
                         Number of WCS axes: 4
                         CTYPE : 'RA--...
    polarisation_frame:  stokesI

Methods Summary

constructor(data[, cf_wcs, polarisation_frame])

Create ConvolutionFunction

Methods Documentation

classmethod constructor(data, cf_wcs=None, polarisation_frame=None)[source]

Create ConvolutionFunction

Parameters:
  • data – Data for cf

  • cf_wcs – Astropy WCS object for the grid

  • polarisation_frame – Polarisation_frame e.g. PolarisationFrame(‘linear’)