radioviz.services.spatial_calibration
Spatial calibration utilities for axis labels and scale bars.
This module provides helper functions to select readable distance units and format axis labels for display based on the image physical extent.
Functions
|
Determine decimal places for axis labels based on current view scale. |
|
Round a value to a 1-2-5 * 10^n sequence. |
|
Select a unit so the max extent is readable (1 <= value < 1000). |
Classes
|
Distance unit definition. |
- class radioviz.services.spatial_calibration.DistanceUnit(name: str, meters_per_unit: float)[source]
Bases:
objectDistance unit definition.
- Parameters:
name (str) – Display name for the unit (ASCII).
meters_per_unit (float) – Scale factor to convert unit values to meters.
- radioviz.services.spatial_calibration._floor_log10(value: float) float[source]
Compute floor(log10(value)).
- radioviz.services.spatial_calibration._log10(value: float) float[source]
Compute base-10 log without importing math for minimal dependencies.
- radioviz.services.spatial_calibration.axis_decimal_places(pixel_size_m: float, meters_per_unit: float, lims: tuple[float, float]) int[source]
Determine decimal places for axis labels based on current view scale.
- Parameters:
pixel_size_m (float) – Pixel size in meters.
meters_per_unit (float) – Unit scale in meters.
lims (tuple[float, float]) – Axis limits in pixel units.
- Returns:
Number of decimal places.
- Return type:
int
- radioviz.services.spatial_calibration.nice_value(value: float) float[source]
Round a value to a 1-2-5 * 10^n sequence.
- Parameters:
value (float) – Input value.
- Returns:
Rounded value.
- Return type:
float
- radioviz.services.spatial_calibration.select_distance_unit(max_extent_m: float) DistanceUnit[source]
Select a unit so the max extent is readable (1 <= value < 1000).
- Parameters:
max_extent_m (float) – Maximum extent in meters.
- Returns:
Selected distance unit.
- Return type: