# Path: sunds/tasks/boundaries_utils.py
# class MultiSceneBoundaries:
#   def __init__(self, scene_boundaries: List[ArrayDict]):
#   def get_corners(self, scene_name: TensorLike) -> Tuple[tf.Tensor, tf.Tensor]:
# 
# Path: sunds/typing.py



import contextlib
import numpy as np
import pytest
import sunds
import tensorflow as tf
import tensorflow_datasets as tfds
from sunds.tasks import boundaries_utils
from sunds.typing import FeatureSpecsHint
          tf.constant([
              [0., -2., -2],
              [2., 2., 2.],
              [8., -2., 4.],
              [8., -2., 4.],
          ]),
      'ray_directions':
          tf.constant([
              [0., 0., 23.],
              [1., 1., 0.],
              [3., 3., 0.],
              [0., 0., 0.],
          ]),
  }
  scene_ex = [
      {
          'scene_name': 'scene_00',
          'scene_box': {
              'min_corner': np.array([-20, -20, -20], dtype=np.float32),
              'max_corner': np.array([20, 20, 20], dtype=np.float32),
          },
      },
      {
          'scene_name': 'scene_01',
          'scene_box': {
              'min_corner': np.array([0, -2, -2], dtype=np.float32),
              'max_corner': np.array([8, 2, 6], dtype=np.float32),
          },
      },
  ]

# Path: sunds/tasks/boundaries_utils.py
# class MultiSceneBoundaries:
#   def __init__(self, scene_boundaries: List[ArrayDict]):
#   def get_corners(self, scene_name: TensorLike) -> Tuple[tf.Tensor, tf.Tensor]:
# 
# Path: sunds/typing.py



# Path: sunds/tasks/nerf_test.py
import contextlib
import numpy as np
import pytest
import sunds
import tensorflow as tf
import tensorflow_datasets as tfds
from sunds.tasks import boundaries_utils
from sunds.typing import FeatureSpecsHint

          tf.constant([
              [0., -2., -2],
              [2., 2., 2.],
              [8., -2., 4.],
              [8., -2., 4.],
          ]),
      'ray_directions':
          tf.constant([
              [0., 0., 23.],
              [1., 1., 0.],
              [3., 3., 0.],
              [0., 0., 0.],
          ]),
  }
  scene_ex = [
      {
          'scene_name': 'scene_00',
          'scene_box': {
              'min_corner': np.array([-20, -20, -20], dtype=np.float32),
              'max_corner': np.array([20, 20, 20], dtype=np.float32),
          },
      },
      {
          'scene_name': 'scene_01',
          'scene_box': {
              'min_corner': np.array([0, -2, -2], dtype=np.float32),
              'max_corner': np.array([8, 2, 6], dtype=np.float32),
          },
      },
  ]

  scene_boundaries = boundaries_utils.MultiSceneBoundaries(scene_ex)