low_comm_tools.beam_model

Functions

_airy_fit_beam(→ float)

Fit of Airy beam to SKA-Low from Sobey+25

_fit_beam(→ numpy.typing.NDArray[numpy.floating[Any]])

_gaussian_fit_beam(→ float)

Fit of Gaussian beam to SKA-Low from Sobey+25

_one_over(→ float)

1/x function for itting

beam_model_hpx(→ numpy.typing.NDArray[numpy.floating[Any]])

Evaluate the beam model on an all-sky HEALPix grid.

beam_model_separation(...)

beam_model_target(...)

get_beam_data(→ polars.DataFrame)

Get primary beam data

jinc(→ float)

Module Contents

low_comm_tools.beam_model._airy_fit_beam(sep_deg: float, freq_mhz: float) float[source]

Fit of Airy beam to SKA-Low from Sobey+25

Parameters:
  • sep_deg (float) – Separation from beam centre in degrees

  • freq_mhz (float) – Observing frequency in MHz

Returns:

Beam response

Return type:

float

low_comm_tools.beam_model._fit_beam(model_type: str = 'airy') numpy.typing.NDArray[numpy.floating[Any]][source]
low_comm_tools.beam_model._gaussian_fit_beam(sep_deg: float, freq_mhz: float) float[source]

Fit of Gaussian beam to SKA-Low from Sobey+25

Parameters:
  • sep_deg (float) – Separation from beam centre in degrees

  • freq_mhz (float) – Observing frequency in MHz

Returns:

Beam response

Return type:

float

low_comm_tools.beam_model._one_over(x: float, a: float, c: float) float[source]

1/x function for itting

Parameters:
  • x (float) – x-values

  • a (float) – Amplitude parameter

  • c (float) – Offset parameter

Returns:

1/x value

Return type:

float

low_comm_tools.beam_model.beam_model_hpx(pointing: astropy.coordinates.SkyCoord, frequency: astropy.units.Quantity, model_type: str = 'airy', nside: int = 512) numpy.typing.NDArray[numpy.floating[Any]][source]

Evaluate the beam model on an all-sky HEALPix grid.

Parameters:
  • target (SkyCoord) – Pointing target

  • frequency (u.Quantity) – Observing frequency

  • model_type (str, optional) – Beam model. Can be “gaussian” or “airy”. Defaults to “airy”.

  • nside (int, optional) – HEALPix N_side. Defaults to 512.

Raises:

NotImplementedError – If model_type is not supported

Returns:

1D HEALPix array

Return type:

np.typing.NDArray[np.floating[Any]]

low_comm_tools.beam_model.beam_model_separation(separation: astropy.units.Quantity, frequency: astropy.units.Quantity, model_type: str = 'airy') numpy.typing.NDArray[numpy.floating[Any]][source]
low_comm_tools.beam_model.beam_model_target(pointing: astropy.coordinates.SkyCoord, target: astropy.coordinates.SkyCoord, frequency: astropy.units.Quantity, model_type: str = 'airy') numpy.typing.NDArray[numpy.floating[Any]][source]
low_comm_tools.beam_model.get_beam_data() polars.DataFrame[source]

Get primary beam data

A bit of a useless function, but could be replaced with proper models.

Returns:

Fits to primary beam in a DataFrame

Return type:

pl.DataFrame

low_comm_tools.beam_model.jinc(x: float) float[source]