metadata – Typed Metadata

class 3dgs_io.metadata.DatasetType(value)

Bases: str, Enum

Supported dataset types for metadata.

class 3dgs_io.metadata.TrainingData(source_path, data_type, revision, scene_index, lidar_channel, selected_frames, cameras, camera_channels, start_timestamp_us, end_timestamp_us, task=None, exp_name=None)

Bases: object

Training data provenance.

source_path: str

T4 dataset path or UUID.

data_type: str

Data type identifier (e.g. "T4").

revision: str

Dataset revision.

scene_index: int

Scene index within the dataset.

lidar_channel: str

LiDAR channel used (e.g. "LIDAR_CONCAT").

selected_frames: list[int]

Frame range used for training (e.g. [0, 60]).

cameras: list[str]

Camera names used.

camera_channels: list[str]

Camera channel names used.

start_timestamp_us: int

Start timestamp of the training frame range in microseconds.

end_timestamp_us: int

End timestamp of the training frame range in microseconds.

task: str | None = None

Training task name (optional).

exp_name: str | None = None

Experiment name (optional).

class 3dgs_io.metadata.Checkpoint(path, iteration)

Bases: object

Model checkpoint information.

path: str

Checkpoint file path.

iteration: int

Training iteration number.

class 3dgs_io.metadata.Export(background_only, spz_compression, max_sh_degree=None, object_keys=None)

Bases: object

Export configuration.

background_only: bool

Whether only background was exported.

spz_compression: bool

Whether SPZ compression was used.

max_sh_degree: int | None = None

SH degree limit (present only when specified).

object_keys: list[str] | None = None

Exported object keys (present only when applicable).

class 3dgs_io.metadata.Model(total_gaussians)

Bases: object

Model statistics.

total_gaussians: int

Total number of Gaussians.

class 3dgs_io.metadata.Placement(lat, lon, height)

Bases: object

Geospatial placement in geodetic coordinates.

lat: float

Latitude in degrees.

lon: float

Longitude in degrees.

height: float

Height in metres.

class 3dgs_io.metadata.GlbMetadata(dataset_type, generator, training_data, checkpoint, export, model, placement)

Bases: object

Typed metadata for GLB files stored in asset.extras.

Use to_dict() to produce a JSON-serializable dictionary and from_dict() to reconstruct from one.

to_dict()

Convert to a JSON-serializable dictionary.

None values in optional fields are stripped from the output.

Return type:

dict[str, Any]

classmethod from_dict(data)

Reconstruct a GlbMetadata from a plain dictionary.

Unknown keys inside each section are silently ignored so that files written by a newer schema version can still be read.

Return type:

GlbMetadata

3dgs_io.metadata.parse_metadata(raw)

Parse raw asset.extras metadata.

Returns a GlbMetadata when the dictionary matches the schema. Falls back to returning the raw dictionary unchanged for legacy files, or None when no metadata was present.

Return type:

GlbMetadata | dict[str, Any] | None

3dgs_io.metadata.serialize_metadata(metadata)

Serialize metadata for writing to asset.extras.

Accepts both GlbMetadata (calls to_dict()) and plain dictionaries (passed through unchanged).

Return type:

dict[str, Any] | None