Skip to content

Scene Description

s2gos_utils.scene.description.SceneDescription dataclass

SceneDescription(
    name: str,
    location: Dict[str, float],
    resolution_m: float,
    schema_version: str = get_version(),
    materials: Dict[str, Material] = dict(),
    atmosphere: Optional[Dict[str, Any]] = None,
    target: Optional[Dict[str, Any]] = None,
    buffer: Optional[Dict[str, Any]] = None,
    background: Optional[Dict[str, Any]] = None,
    objects: List[Dict[str, Any]] = list(),
    material_indices: Dict[int, str] = dict(),
    material_regions: List[Dict[str, Any]] = list(),
    include_files: List[str] = list(),
    metadata: Dict[str, Any] = dict(),
)

Complete scene description.

Functions

add_material

add_material(
    name: str, material_type: str, **properties
) -> None

Add a material definition.

from_dict classmethod

from_dict(
    data: Dict[str, Any], base_dir: Optional[UPath] = None
) -> SceneDescription

Create scene description from dictionary.

Parameters:

Name Type Description Default
data Dict[str, Any]

Dictionary with scene description fields.

required
base_dir Optional[UPath]

Directory used to resolve include_files paths. When None, includes are stored but not resolved.

None

load_json classmethod

load_json(file_path: PathLike) -> SceneDescription

Load scene description from JSON file with version validation.

load_yaml classmethod

load_yaml(file_path: PathLike) -> SceneDescription

Load scene description from YAML file with version validation.

resolve_includes

resolve_includes(base_dir: UPath) -> SceneDescription

Return a new SceneDescription with include files merged.

Round-trips through dict form so that from_dict handles includes uniformly at the data level. Returns self unchanged when there are no include files.

save_json

save_json(output_path: PathLike) -> None

Save scene description as JSON file.

save_yaml

save_yaml(output_path: PathLike) -> None

Save scene description as YAML file.

to_dict

to_dict() -> Dict[str, Any]

Convert to dictionary for serialization.