class_docstr: A dataset class to generate circle poses.
class_docstr_tok: ["A","dataset","class","to","generate","circle","poses","."]
docstr: Collate function to combine multiple data points into batches.
  
  Args:
      batch (list): List of data dictionaries.
  
  Returns:
      dict: Collated data.
docstr_tok: ["Collate","function","to","combine","multiple","data","points","into","batches",".","Args",":","batch","(","list",")",":","List","of","data","dictionaries",".","Returns",":","dict",":","Collated","data","."]
code: def collate_fn(
      self, batch: list
  ) -> Dict[str, Union[int, torch.Tensor]]:
      """Collate function to combine multiple data points into batches.
  
      Args:
          batch (list): List of data dictionaries.
  
      Returns:
          dict: Collated data.
      """
      return {
          "height": self.height,
          "width": self.width,
          "rays_o": torch.cat(
              [item["rays_o"] for item in batch], dim=0
          ),
          "rays_d": torch.cat(
              [item["rays_d"] for item in batch], dim=0
          ),
          "mvp": torch.cat([item["mvp"] for item in batch], dim=0),
          "dir": torch.cat([item["dir"] for item in batch], dim=0),
          "azimuth": torch.cat(
              [item["azimuth"] for item in batch], dim=0
          ),
      }
  
file_path: NeMo/nemo/collections/multimodal/data/nerf/circle_poses.py
imports: from typing import Dict, Union
  import numpy
  import torch
  from torch.utils.data import Dataset
  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 4 for calling the CirclePosesDataset obj's underlying member method code with example usage: obj.collate_fn(batch) and returns: dict