Utility functions and classes

Functions

everybeam.load_telescope(*args, **kwargs)

Overloaded function.

  1. load_telescope(name: str, data_column: str = ‘DATA’, use_differential_beam: bool = False, use_channel_frequency: bool = True, element_response_model: str = ‘default’, coeff_path: str = ‘’, max_l: int = 0) -> everybeam::telescope::Telescope

    Load telescope from measurement set (MS)

    This version has a simple on/off toggle for beam normalisation through the use_differential_beam parameter

    name: str

    Path to MS

    data_column: str, optional

    Data column that should

    use_differential_beam: bool, optional

    Use differential beam? Defaults to False

    use_channel_frequency: bool, optional

    Use channel frequency? Defaults to True.

    element_response_model: str

    Specify the element response model, should be any of [“default”, “hamaker”, “lobes”, “oskar_dipole”, “skala40_wave”] Please note that the SKALA40 Wave model is currently named OSKAR Spherical Wave in the EveryBeam internals. This will be refactored to SKALA40_WAVE in the future.

    max_l: int

    Specify the max order of L to use to evaluate the element beam response.

    Telescope object

  2. load_telescope(name: str, data_column: str = ‘DATA’, beam_normalisation_mode: everybeam.BeamNormalisationMode = <BeamNormalisationMode.none: 0>, use_channel_frequency: bool = True, element_response_model: str = ‘default’, coeff_path: str = ‘’, max_l: int = 0) -> everybeam::telescope::Telescope

    Load telescope from measurement set (MS)

    This version allows more fine grained control over the normalisation of the beam through the beam_normalisation_mode parameter. (needed by the DP3 python step implemented in idgcaldpstep.py in the IDG library)

    name: str

    Path to MS

    data_column: str, optional

    Data column that should

    beam_normalisation_modeBeamNormalisationMode, optional

    Defaults to BeamNormalisationMode.none (no normalisation) see BeamNormalisationMode enum

    use_channel_frequency: bool, optional

    Use channel frequency? Defaults to True.

    element_response_model: str

    Specify the element response model, should be any of [“default”, “hamaker”, “lobes”, “oskar_dipole”, “skala40_wave”] Please note that the SKALA40 Wave model is currently named OSKAR Spherical Wave in the EveryBeam internals. This will be refactored to SKALA40_WAVE in the future.

    max_l: int

    Specify the max order of L to use to evaluate the element beam response.

    Telescope object

everybeam.cart2thetaphi(direction: numpy.ndarray[numpy.float64]) Annotated[list[float], FixedSize(2)]

Convert direction vector (ITRF or local East-North-Up) to theta, phi.

Parameters:

direction (np.1darray) – Direction vector

Returns:

[theta, phi]

Return type:

list

everybeam.thetaphi2cart(theta: float, phi: float) numpy.ndarray[numpy.float32]

Convert theta, phi angles to direction vector

Parameters:
  • theta (float) – theta angle [rad]

  • phi (float) – phi angle [rad]

Return type:

np.1darray

Classes

class everybeam.GridSettings

Specifying the grid on which the Telescope can request a gridded_response or undersampled_response.

NOTE: the GridSettings class wraps the C++ CoordinateSystem class

property dec

Declination (pointing direction) of telescope [rad].

Type:

double

property dl

Grid spacing in RA direction [rad], dl is the direction cosine of the delta right ascension

Type:

double

property dm

Grid spacing in Dec direction [rad], where dm is the direction cosine of the delta declination.

Type:

double

property height

Height of grid in pixels.

Type:

int

property l_shift

Shift in l from pointing direction to grid center [rad].

Type:

double

property m_shift

Shift in m from pointing direction to grid center [rad].

Type:

double

property ra

Right ascension (pointing direction) of telescope [rad].

Type:

double

property width

Width of grid in pixels.

Type:

int

class everybeam.Options

Class for specifying some beam forming options.

property beam_normalisation_mode

What normalisation to apply to the beam?

Type:

BeamNormalisationMode

property coeff_path

Full path to coefficients file (MWA) or path to directory where coefficient files can be found (LOFAR LOBEs model)

Type:

str

property data_column_name

Data column name

Type:

str

property element_response_model

Element response model.

Type:

ElementResponseModel

property max_l

Max order of spherical harmonics coefficients.

property use_channel_frequency

Use channel frequency?

Type:

bool

Enums

everybeam.ElementResponseModel = <class 'everybeam.ElementResponseModel'>

Element Response Model enumeration

Members:

hamaker :

Hamaker element response model

hamaker_lba :

Hamaker LBA element response model

lobes :

LOBEs element response model

lwa :

LWA element response model

oskar_dipole :

SKA dipole element response model

oskar_dipole_cos :

SKA dipole element response model with cos taper

skala40_wave :

Use SKALA 4.0 element response model

skala40_spherical :

Use SKALA 4.0 element response model. Please note that this response model is somewhat misleadingly named OSKAR spherical wave internally (ElementResponseModel::kOSKARSphericalWave). This will be refactored in the future.

skalow_feko :

SKA-Low spherical harmonics with FEKO coefficients element response model

everybeam.BeamMode = <class 'everybeam.BeamMode'>

Beam Mode enumeration

Members:

none :

Beam Mode None

full :

Full beam (array factor and element response)

array_factor :

Beam Mode array factor

element :

Beam Mode element

everybeam.BeamNormalisationMode = <class 'everybeam.BeamNormalisationMode'>

Beam Normalisation Mode enumeration

Members:

none :

No Beam Normalisation

pre_applied :

Normalise by pre-applied (from MS) beam

amplitude :

Normalise by amplitude

full :

Normalise by the inverse of the Jones matrix