code: def align_bbox(src, tgt):  # pragma: no cover
      """
      Copied from meshrcnn codebase:
      https://github.com/facebookresearch/meshrcnn/blob/main/tools/preprocess_shapenet.py#L263
  
      Return a copy of src points in the coordinate system of tgt by applying a
      scale and shift along each coordinate axis to make the min / max values align.
  
      Args:
          src, tgt: Torch Tensor of shape (N, 3)
  
      Returns:
          out: Torch Tensor of shape (N, 3)
      """
      if src.ndim != 2 or tgt.ndim != 2:
          raise ValueError(
              "Both src and tgt need to have dimensions of 2."
          )
      if src.shape[-1] != 3 or tgt.shape[-1] != 3:
          raise ValueError(
              "Both src and tgt need to have sizes of 3 along the second dimension."
          )
      src_min = src.min(dim=0)[0]
      src_max = src.max(dim=0)[0]
      tgt_min = tgt.min(dim=0)[0]
      tgt_max = tgt.max(dim=0)[0]
      scale = (tgt_max - tgt_min) / (src_max - src_min)
      shift = tgt_min - scale * src_min
      out = scale * src + shift
      return out
  
imports: import math
  from typing import Dict, List
  import numpy
  import torch
  from pytorch3d.common.datatypes import Device
  from pytorch3d.datasets.utils import collate_batched_meshes
  from pytorch3d.ops import cubify
  from pytorch3d.renderer import HardPhongShader, MeshRasterizer, MeshRenderer, PointLights, RasterizationSettings, TexturesVertex
  from pytorch3d.renderer.cameras import CamerasBase
  from pytorch3d.transforms import Transform3d
label_desc: Use image node_id 6 for calling a global function with example usage: align_bbox(src, tgt) and returns: out