radar.utils.plotter.beam
Module Contents
Classes
Abstract base class defining the interface for generating antenna beam patterns. |
|
A visualization utility class for generating various antenna beam pattern plots. |
API
- class radar.utils.plotter.beam.BeamInterface[source]
Bases:
abc.ABCAbstract base class defining the interface for generating antenna beam patterns.
- abstractmethod beam(direction_domain: radar.utils.typing.DirectionDomain, phase_unit: radar.utils.typing.enums.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]
Process and visualize the antenna beam pattern.
This method must be implemented by subclasses to coordinate dataframe processing and layout rendering based on the domain parameters provided.
- Args:
- direction_domain (DirectionDomain): The spatial domain to utilize
(e.g., Angle or UV space).
phase_unit (PhaseUnit): The angular unit (e.g., Degrees or Radians). amplitude_domain (AmplitudeDomain): The amplitude measurement type
(e.g., Gain or Antenna Factor).
- amplitude_unit (AmplitudeUnit): The representation unit for
amplitude (e.g., Linear or Decibel).
- figure_type (FigureType): The targeted plot visualization type
(e.g., Image, Surface, Slice).
- steer (tuple[Angle, Angle] | None): Optional azimuth/elevation steer
angle used by array-based beam generation.
- __slots__ = ()
- class radar.utils.plotter.beam.Beam[source]
A visualization utility class for generating various antenna beam pattern plots.
- Attributes:
FIGURE_WIDTH (int): Default width of the generated Plotly figure in pixels. FIGURE_HEIGHT (int): Default height of the generated Plotly figure in pixels. DISPLAY_GRID_PIXELS (int): Resolution of the grid (number of bins) used for
heatmaps and surface downsampling.
- FIGURE_WIDTH = 800
- FIGURE_HEIGHT = 800
- DISPLAY_GRID_PIXELS = 100
- classmethod _plot_beam(df: polars.DataFrame, direction_domain: radar.utils.typing.DirectionDomain, phase_unit: radar.utils.typing.enums.PhaseUnit, amplitude_domain: radar.utils.typing.AmplitudeDomain, amplitude_unit: radar.utils.typing.AmplitudeUnit, figure_type: radar.utils.typing.FigureType) None[source]
Routes the visualization request to the appropriate plotting method.
- Args:
df (pl.DataFrame): The source DataFrame containing the radar data. direction_domain (DirectionDomain): Spatial tracking domain context. phase_unit (PhaseUnit): Angular/phase coordinate unit tracking context. amplitude_domain (AmplitudeDomain): Amplitude classification context. amplitude_unit (AmplitudeUnit): Linear vs logarithmic scale tracking. figure_type (FigureType): Determines whether to dispatch to a
2D line slice, 2D heatmap image, or a 3D surface plot.
- static _xy_units(direction_domain: radar.utils.typing.DirectionDomain, phase_unit: radar.utils.typing.enums.PhaseUnit) tuple[str, str][source]
Extracts text label units for display on visual axes.
- Args:
direction_domain (DirectionDomain): Targeted plotting spatial coordinate system. phase_unit (PhaseUnit): Configured orientation angle unit.
- Returns:
tuple[str, str]: Axis string labels representing horizontal and vertical dimensions.
- classmethod _beam_slice(df: polars.DataFrame, direction_domain: radar.utils.typing.DirectionDomain, phase_unit: radar.utils.typing.enums.PhaseUnit, amplitude_domain: radar.utils.typing.AmplitudeDomain, amplitude_unit: radar.utils.typing.AmplitudeUnit) None[source]
Renders a 2D line plot showing pattern slices across Azimuth for distinct Elevations.
- Args:
df (pl.DataFrame): Input dataset containing spatial and magnitude columns. direction_domain (DirectionDomain): Selected directional coordinate paradigm. phase_unit (PhaseUnit): Selected angle configuration unit. amplitude_domain (AmplitudeDomain): Selected amplitude tracking domain. amplitude_unit (AmplitudeUnit): Metric scale unit for the vertical axis.
- classmethod _beam_image(df: polars.DataFrame, direction_domain: radar.utils.typing.DirectionDomain, phase_unit: radar.utils.typing.enums.PhaseUnit, amplitude_domain: radar.utils.typing.AmplitudeDomain, amplitude_unit: radar.utils.typing.AmplitudeUnit) None[source]
Renders a 2D binned density heatmap representing the antenna beam pattern.
- Args:
df (pl.DataFrame): Input dataset containing spatial and magnitude columns. direction_domain (DirectionDomain): Selected directional coordinate paradigm. phase_unit (PhaseUnit): Selected angle configuration unit. amplitude_domain (AmplitudeDomain): Selected amplitude tracking domain. amplitude_unit (AmplitudeUnit): Metric scale unit for color mapping values.
- classmethod _beam_surface(df: polars.DataFrame, direction_domain: radar.utils.typing.DirectionDomain, phase_unit: radar.utils.typing.enums.PhaseUnit, amplitude_domain: radar.utils.typing.AmplitudeDomain, amplitude_unit: radar.utils.typing.AmplitudeUnit) None[source]
Generates and renders a 3D surface mesh using 2D binned averaging downsampling.
- Args:
df (pl.DataFrame): Input dataset containing spatial and magnitude columns. direction_domain (DirectionDomain): Selected directional coordinate paradigm. phase_unit (PhaseUnit): Selected angle configuration unit. amplitude_domain (AmplitudeDomain): Selected amplitude tracking domain. amplitude_unit (AmplitudeUnit): Metric scale unit for vertical 3D displacement.