Phase rotation functions

C/C++

void sdp_phase_rotate_uvw(const sdp_SkyCoord *phase_centre_orig, const sdp_SkyCoord *phase_centre_new, const sdp_Mem *uvw_in, sdp_Mem *uvw_out, sdp_Error *status)

Rotate (u,v,w) coordinates to a new phase centre.

Parameters uvw_in and uvw_out are arrays of packed 3D coordinates.

Array dimensions are as follows, from slowest to fastest varying:

  • uvw_in is 3D and real-valued, with shape:

    • [ num_times, num_baselines, 3 ]

  • uvw_out is 3D and real-valued, with shape:

    • [ num_times, num_baselines, 3 ]

Parameters:
  • phase_centre_orig – Original phase centre.

  • phase_centre_new – New phase centre.

  • uvw_in – Input baseline (u,v,w) coordinates. Dimensions as above.

  • uvw_out – Output baseline (u,v,w) coordinates. Dimensions as above.

  • status – Error status.

void sdp_phase_rotate_vis(const sdp_SkyCoord *phase_centre_orig, const sdp_SkyCoord *phase_centre_new, const double channel_start_hz, const double channel_step_hz, const sdp_Mem *uvw, const sdp_Mem *vis_in, sdp_Mem *vis_out, sdp_Error *status)

Rotate visibilities to a new phase centre.

Parameter uvw is an array of packed 3D coordinates.

Array dimensions are as follows, from slowest to fastest varying:

  • uvw is 3D and real-valued, with shape:

    • [ num_times, num_baselines, 3 ]

  • vis_in is 4D and complex-valued, with shape:

    • [ num_times, num_baselines, num_channels, num_pols ]

  • vis_out is 4D and complex-valued, with shape:

    • [ num_times, num_baselines, num_channels, num_pols ]

Parameters:
  • phase_centre_orig – Original phase centre.

  • phase_centre_new – New phase centre.

  • channel_start_hz – Frequency of first channel, in Hz.

  • channel_step_hz – Frequency increment between channels, in Hz.

  • uvw – Original baseline (u,v,w) coordinates, in metres. Dimensions as above.

  • vis_in – Input visibility data. Dimensions as above.

  • vis_out – Output visibility data. Dimensions as above.

  • status – Error status.

Python

ska_sdp_func.visibility.phase_rotate_uvw(phase_centre_orig, phase_centre_new, uvw_in, uvw_out)

Rotate (u,v,w) coordinates to a new phase centre.

Parameters can be either numpy or cupy arrays, but must all be consistent. Computation is performed either on the CPU or GPU as appropriate.

Input parameters uvw_in and uvw_out are arrays of packed 3D coordinates.

Array dimensions must be as follows:

  • uvw_in is 3D and real-valued, with shape:

    • [ num_times, num_baselines, 3 ]

  • uvw_out is 3D and real-valued, with shape:

    • [ num_times, num_baselines, 3 ]

Parameters:
  • phase_centre_orig (SkyCoord, or astropy.coordinates.SkyCoord) – Original phase centre.

  • phase_centre_new (SkyCoord, or astropy.coordinates.SkyCoord) – New phase centre.

  • uvw_in (numpy.ndarray or cupy.ndarray) – Input baseline (u,v,w) coordinates.

  • uvw_out – Output baseline (u,v,w) coordinates.

ska_sdp_func.visibility.phase_rotate_vis(phase_centre_orig, phase_centre_new, channel_start_hz, channel_step_hz, uvw, vis_in, vis_out)

Rotate visibilities to a new phase centre.

Parameters can be either numpy or cupy arrays, but must all be consistent. Computation is performed either on the CPU or GPU as appropriate.

Input parameter uvw is an array of packed 3D coordinates.

Array dimensions must be as follows:

  • uvw is 3D and real-valued, with shape:

    • [ num_times, num_baselines, 3 ]

  • vis_in is 4D and complex-valued, with shape:

    • [ num_times, num_baselines, num_channels, num_pols ]

  • vis_out is 4D and complex-valued, with shape:

    • [ num_times, num_baselines, num_channels, num_pols ]

Parameters:
  • phase_centre_orig (SkyCoord, or astropy.coordinates.SkyCoord) – Original phase centre.

  • phase_centre_new (SkyCoord, or astropy.coordinates.SkyCoord) – New phase centre.

  • channel_start_hz (float) – Frequency of first channel, in Hz.

  • channel_step_hz (float) – Frequency incremenet between channels, in Hz.

  • uvw (numpy.ndarray or cupy.ndarray) – Original baseline (u,v,w) coordinates, in metres.

  • vis_in (numpy.ndarray or cupy.ndarray) – Input visibility data.

  • vis_out (numpy.ndarray or cupy.ndarray) – Output visibility data.