code: def linear_normalization(
      x: float, lower_bound: float, upper_bound: float
  ) -> float:
      """
      Linearly normalize a value between lower_bound and upper_bound to a value between 0 and 1.
  
      Parameters:
          x: The value to normalize.
          lower_bound: The lower bound of the range of x.
          upper_bound: The upper bound of the range of x.
  
      Returns:
          The normalized value between 0 and 1.
      """
      return min(
          1, max(0, (x - lower_bound) / (upper_bound - lower_bound))
      )
  
file_path: NeMo/nemo/collections/multimodal/data/nerf/random_poses.py
imports: import random
  from typing import Any, Dict, Iterator, List, Optional, Tuple
  import numpy
  import torch
  import torch.nn.functional
  from torch.utils.data import IterableDataset
  from nemo.collections.multimodal.data.nerf.cameras import PinholeCamera
  from nemo.collections.multimodal.data.nerf.utils import compute_look_at_vectors, construct_poses, get_rays, get_view_direction
label_desc: Use image node_id 1 for calling a global function with example usage: linear_normalization(x, lower_bound, upper_bound) and returns: min