Shared Heatmap Configuration#
All four heatmap processors share two configuration bases: HeatmapConfigCommon holds the algorithmic parameters used by every processor, and HeatmapPlotConfig holds the display-time parameters used by Exploration Tool when rendering the heatmap. Each processor adds a small number of extra fields specific to its algorithm, documented on the per-processor pages.
Heatmap Config Common#
antenna_arrayThe antenna layout on the package. Utilized when calculating the steering vectors for the active channels.
az_angle_range/el_angle_rangeAngular range (in degrees) covered by the heatmap, given as
(min, max)tuples.num_az_angles/num_el_anglesNumber of grid points the corresponding angular range is divided into. Increasing the number of angles makes the heatmap grid finer but also increases the per-frame beamforming processing cost.
Heatmap Plot Config#
The plot config carries display-time parameters that affect how the heatmap is rendered but do not change the underlying heatmap data. Variant-specific plot configs (for example CoherentHeatmapPlotConfig) subclass this base.
normalized_heat_cutoffThreshold for “heat points”, expressed as a fraction of the maximum heat in the current heatmap. A value of
0.5discards points with less than 50 % of the maximum.max_2d_heatOptional ceiling for the magnitude shown in the heatmap; values above this saturate. Leave as
Noneto use auto-scaling.log_scale_outputIf
True, the heatmap values are presented on a log scale. Useful when the dynamic range of the scene is wide.
API reference#
- class acconeer.exptool.a2.algo.heatmap.config_common.HeatmapConfigCommon(antenna_array, az_angle_range: Any, el_angle_range: Any, num_az_angles: int, num_el_angles: int)#
- antenna_array: AntennaArray#
The antenna layout the data is coming from
- az_angle_range: tuple[float, float]#
Min and max az angle
- el_angle_range: tuple[float, float]#
Min and max el angle
- num_az_angles: int#
The number of angles to divide the az range into
- num_el_angles: int#
The number of angles to divide the el range into
- validate(config: SessionConfig) → None#
Performs self-validation and validation of its sensor configs
- Raises:
ValidationError – If anything is invalid.
- to_dict() → dict[str, Any]#
- classmethod from_dict(dict_repr: dict[str, Any]) → Self#
- abstractmethod classmethod default() → Self#
- property az_angles: NDArray[float64]#
Get the az angles defined by this config.
- property az_start: float#
Return the smallest az angle in az_angles
- property az_end: float#
Return the largest az angle in az_angles
- property az_span: float#
Return the difference of largest and smallest az angle in az_angles
- property el_angles: NDArray[float64]#
Get the el angles defined by this config.
- property el_start: float#
Return the smallest el angle in el_angles
- property el_end: float#
Return the largest el angle in el_angles
- property el_span: float#
Return the difference of largest and smallest el angles in el_angles
- class acconeer.exptool.a2.algo.heatmap.plot_config_common.HeatmapPlotConfig(normalized_heat_cutoff: float = 0.75, max_2d_heat: int | None = None, log_scale_output: bool = False)#
- normalized_heat_cutoff: float#
Cutoff for ‘heat points’. A value of 0.5 will discard points that have less than 50% of the max heat
- max_2d_heat: int | None#
Max magnitude to display. Magnitudes above this value will be white in the heatmap
- log_scale_output: bool#
Whether the values in the heatmap should be plotted in log-scale
- classmethod default() → Self#