code: def get_3D_bound(
      list_path_img,
      path_intrinsic,
      list_path_trans,
      depth_thresh,
      limit_size=600,
      voxel_size=0.01,
  ):
      vol_bnds = np.zeros((3, 2))
      list_min = np.zeros((3, len(list_path_img)))
      list_max = np.zeros((3, len(list_path_img)))
      for i, path_img in tqdm(
          enumerate(list_path_img), total=len(list_path_img)
      ):
          # read imageio
          depth = imageio.imread(path_img) / 1000.0
          depth[depth > depth_thresh] = 0
          intrinsic = np.loadtxt(path_intrinsic)
          pose = np.loadtxt(list_path_trans[i])
          view_frust_pts = fusion.get_view_frustum(
              depth, intrinsic, pose
          )
          list_min[:, i] = np.amin(view_frust_pts, axis=1)
          list_max[:, i] = np.amax(view_frust_pts, axis=1)
      # take the quantile instead of the min to be more robust to outilers frames
  
      vol_bnds[:, 0] = np.quantile(list_min, 0.1, axis=1)
      vol_bnds[:, 1] = np.quantile(list_max, 0.9, axis=1)
  
      # remove some voxel that are on the edge to control the size of the tsdf.
      vol_dim = (vol_bnds[:, 1] - vol_bnds[:, 0]) / voxel_size
      for i in range(3):
          # add and substract delta to limit the size
          if vol_dim[i] > limit_size:
              delta = voxel_size * (vol_dim[i] - limit_size) * 0.5
              vol_bnds[i][0] += delta
              vol_bnds[i][1] -= delta
      return vol_bnds
  
imports: import collections
  import errno
  import numpy
  import os
  import os.path
  import torch
  from torch_geometric.data import Data
  from torch_points_kernels.points_cpu import ball_query
  import imageio
  from tqdm.auto import tqdm
  from torch_points3d.core.data_transform import GridSampling3D, SaveOriginalPosId
  from torch_geometric.transforms import Compose
  import torch_points3d.datasets.registration.fusion
  from torch_cluster import fps
label_desc: Use image node_id 11 for calling a global function with example usage: get_3D_bound(list_path_img, path_intrinsic, list_path_trans, depth_thresh, limit_size, voxel_size) and returns: vol_bnds