class_docstr: Utils to query split/scenes info.
class_docstr_tok: ["Utils","to","query","split\/scenes","info","."]
code: def __init__(
      self, split_to_scene_configs: SplitDict[list[SceneConfig]]
  ):
      self.split_to_scene_configs = split_to_scene_configs
  
      # Ideally, we could use `@functools.cached_property` directly, however
      # because of lazy-computation, `id()` executed on the workers processes
      # might not match `id()` computed in master thread.
      self.split_names = self._split_names()
      self.split_name_to_split_index = self._split_name_to_split_index()
      self.all_scene_configs = self._all_scene_configs()
      self.scene_id_to_scene_config = self._scene_id_to_scene_config()
      self.split_name_to_scene_ids = self._split_name_to_scene_ids()
      self.scene_id_to_split_names = self._scene_id_to_split_names()
  
imports: from __future__ import annotations
  import abc
  import collections
  import dataclasses
  import itertools
  import tempfile
  from typing import Any, Dict, Iterator, List, Optional, TypeVar, Union
  import apache_beam
  from etils import edc
  from etils import epath
  import kubric
  import tensorflow_datasets
label_desc: Use image node_id 1 to create a new SplitScenesMapping object  with example: obj = SplitScenesMapping(split_to_scene_configs)