streaming.geometry#
zen_api_utils.streaming.geometry
#
Coordinate-based geometry for streamed image tiles.
Classes:
-
TileGeometry–Physical geometry for one streamed image tile.
-
PlacedTile–Tile geometry resolved against a scene mosaic canvas.
-
SceneGeometry–Shape and physical origin of a rasterized scene mosaic.
Functions:
-
calculate_scene_geometry–Calculate mosaic placement from arbitrary tile center positions.
-
assemble_channel_scene_mosaics–Merge
(scene, time, tile, z, image)records into anSTZYXarray.
TileGeometry
dataclass
#
TileGeometry(scene_index: int, tile_index: int, position_index: int, center_x: float, center_y: float, position_z: float, scale_x: float, scale_y: float, height: int, width: int)
Physical geometry for one streamed image tile.
PlacedTile
dataclass
#
PlacedTile(tile: TileGeometry, y_offset: int, x_offset: int, translation_y: float, translation_x: float)
Tile geometry resolved against a scene mosaic canvas.
SceneGeometry
dataclass
#
SceneGeometry(height: int, width: int, origin_y: float, origin_x: float, scale_y: float, scale_x: float, tiles: tuple[PlacedTile, ...])
Shape and physical origin of a rasterized scene mosaic.
calculate_scene_geometry
#
calculate_scene_geometry(tiles: list[TileGeometry]) -> SceneGeometry
Calculate mosaic placement from arbitrary tile center positions.
assemble_channel_scene_mosaics
#
assemble_channel_scene_mosaics(channel_frames: list[tuple[int, int, int, int, ndarray]], tile_geometries: dict[tuple[int, int], TileGeometry]) -> np.ndarray
Merge (scene, time, tile, z, image) records into an STZYX array.