openworld_radio_twin.simulation.radio_map#

Functions

build_coverage_grid(request, data, buildings)

build_coverage_products(request, data, buildings)

Create the north-up JSON view from the same canonical arrays used for export.

finite_max(values, axis)

Reduce finite values while preserving an all-missing cell as NaN.

normalize_solver_arrays(path_gain, rss, ...)

Normalize a solver result to float32 and south-to-north row order.

Classes

CoverageProducts(coverage, building_mask, ...)

MetricDefinition(label, unit, ...)

RadioMapData(path_gain, rss, sinr, ...[, ...])

Canonical solver products using the reference package's array contract.

class openworld_radio_twin.simulation.radio_map.MetricDefinition(label, unit, logarithmic_offset_db)[source]#

Bases: object

label: str#
unit: str#
logarithmic_offset_db: float#
class openworld_radio_twin.simulation.radio_map.CoverageProducts(coverage, building_mask, building_heights_m)[source]#

Bases: object

coverage: CoverageGrid#
building_mask: ndarray#
building_heights_m: ndarray#
openworld_radio_twin.simulation.radio_map.finite_max(values, axis)[source]#

Reduce finite values while preserving an all-missing cell as NaN.

Return type:

ndarray

class openworld_radio_twin.simulation.radio_map.RadioMapData(path_gain, rss, sinr, association, cell_centers, sample_layout='cell_average')[source]#

Bases: object

Canonical solver products using the reference package’s array contract.

All metric arrays are linear float32 values with shape (n_tx, rows, columns). Row zero is the south edge so the arrays can be plotted with origin="lower", exactly as in reference/package. Coordinates are local ENU meters.

path_gain: ndarray#
rss: ndarray#
sinr: ndarray#
association: ndarray#
cell_centers: ndarray#
sample_layout: str = 'cell_average'#
property shape: tuple[int, int, int]#
property transmitter_count: int#
property rows: int#
property columns: int#
linear(metric)[source]#
Return type:

ndarray

best_db(metric, *, zero_floor=False)[source]#
Return type:

ndarray

openworld_radio_twin.simulation.radio_map.normalize_solver_arrays(path_gain, rss, sinr, association, cell_centers)[source]#

Normalize a solver result to float32 and south-to-north row order.

Return type:

RadioMapData

openworld_radio_twin.simulation.radio_map.build_coverage_grid(request, data, buildings, environment=None)[source]#
Return type:

CoverageGrid

openworld_radio_twin.simulation.radio_map.build_coverage_products(request, data, buildings, environment=None)[source]#

Create the north-up JSON view from the same canonical arrays used for export.

Return type:

CoverageProducts