radar.components.element

Module Contents

Classes

Element

Represents an individual radar antenna element with its radiation beam pattern.

API

class radar.components.element.Element(pattern: radar.utils.calculate.pattern.Pattern, az: radar.utils.typing.AngleBound, el: radar.utils.typing.AngleBound, frequency_response: radar.components.response.FrequencyResponse | radar.utils.typing.units.Frequency, over_sample_factor: int = 1)[source]

Represents an individual radar antenna element with its radiation beam pattern.

Handles spatial mesh grid configuration across explicit angular bounds and manages the evaluation of underlying analytical or data-driven pattern models.

Initialization

Initializes the radar antenna element.

Args:
pattern (Pattern): An implementation of the Pattern interface used to

compute spatial gain distribution.

az (AngleBound): The validation bounds specifying minimum and maximum Azimuth. el (AngleBound): The validation bounds specifying minimum and maximum Elevation. over_sample_factor (int, optional): Multiplier to increase the resolution

density of the calculated grid surface. Defaults to 1.

beam_pattern(freq: radar.utils.typing.units.Frequency) polars.DataFrame[source]

Returns the complete evaluated beam pattern dataset including coordinates and gains.

property azimuth_bound: radar.utils.typing.AngleBound

Returns the configured spatial Azimuth boundaries for this element.

property elevation_bound: radar.utils.typing.AngleBound

Returns the configured spatial Elevation boundaries for this element.

azimuth_domain(domain: radar.utils.typing.PhaseUnit) polars.DataFrame[source]

Selects the Azimuth coordinates from the dataset in the specified unit.

Args:

domain (PhaseUnit): The desired angular format (e.g., Degree or Radian).

Returns:

pl.DataFrame: A single-column DataFrame containing Azimuth coordinate values.

elevation_domain(domain: radar.utils.typing.PhaseUnit) polars.DataFrame[source]

Selects the Elevation coordinates from the dataset in the specified unit.

Args:

domain (PhaseUnit): The desired angular format (e.g., Degree or Radian).

Returns:

pl.DataFrame: A single-column DataFrame containing Elevation coordinate values.

_generate_beam_grid(az: radar.utils.typing.AngleBound, el: radar.utils.typing.AngleBound) polars.DataFrame[source]

Generates a 2D spatial mesh grid spanning across the angular limits.

Transforms coordinate intervals into structured mesh domains, computes sine-space $u$ and $v$ projections, and applies a unit-circle safety filter mask to track physical boundaries.

Args:

az (AngleBound): Structural Azimuth constraint boundaries. el (AngleBound): Structural Elevation constraint boundaries.

Returns:

pl.DataFrame: Flattened coordinate map dataset containing angular, directional sine space columns ($u, v$), and the active region validation mask.

class Plot(outer: radar.components.element.Element)[source]

Bases: radar.utils.plotter.BeamInterface

Inner bridge class handling plotting commands for its parent Element.

Initialization

Initializes the plotting handler bound to an Element context.

Args:

outer (Element): Parent instance providing the underlying beam pattern records.

beam(direction_domain: radar.utils.typing.DirectionDomain, phase_unit: radar.utils.typing.PhaseUnit, amplitude_domain: radar.utils.typing.AmplitudeDomain, amplitude_unit: radar.utils.typing.AmplitudeUnit, figure_type: radar.utils.typing.FigureType, frequency: radar.utils.typing.units.Frequency, steer: tuple[radar.utils.typing.units.Angle, radar.utils.typing.units.Angle] | None = None) None[source]

Prepares data parameters and dispatches requests to the plotter renderer.

Automatically intercepts and falls back to a standard Gain representation if Antenna Factor processing is requested, as Antenna Factor parameters are undefined for independent standalone element models.

Args:

direction_domain (DirectionDomain): The spatial domain to utilize (e.g., Angle or UV). phase_unit (PhaseUnit): The angular display unit (e.g., Degrees or Radians). amplitude_domain (AmplitudeDomain): Measurement framework type to track. amplitude_unit (AmplitudeUnit): Linear vs logarithmic scale configuration context. figure_type (FigureType): Targeted plot layout style (e.g., Image, Surface, Slice). steer (tuple[Angle, Angle] | None): Ignored for single element beams.

__slots__ = ()
class Animate(outer: radar.components.element.Element)[source]

Bases: radar.utils.animate.BeamInterface

beam(frequency: radar.utils.typing.units.Frequency, position: numpy.typing.NDArray, direction_domain: radar.utils.typing.DirectionDomain, phase_unit: radar.utils.typing.PhaseUnit, amplitude_domain: radar.utils.typing.AmplitudeDomain, amplitude_unit: radar.utils.typing.AmplitudeUnit, steer: tuple[radar.utils.typing.units.Angle, radar.utils.typing.units.Angle] | None = None) manim.Surface[source]
__slots__ = ()