code: def get_camera_wireframe(scale: float = 0.3):  # pragma: no cover
      """
      Returns a wireframe of a 3D line-plot of a camera symbol.
      """
      a = 0.5 * torch.tensor([-2, 1.5, 4])
      up1 = 0.5 * torch.tensor([0, 1.5, 4])
      up2 = 0.5 * torch.tensor([0, 2, 4])
      b = 0.5 * torch.tensor([2, 1.5, 4])
      c = 0.5 * torch.tensor([-2, -1.5, 4])
      d = 0.5 * torch.tensor([2, -1.5, 4])
      C = torch.zeros(3)
      F = torch.tensor([0, 0, 3])
      camera_points = [
          a,
          up1,
          up2,
          up1,
          b,
          d,
          c,
          a,
          C,
          b,
          d,
          C,
          c,
          C,
          F,
      ]
      lines = torch.stack([x.float() for x in camera_points]) * scale
      return lines
  
imports: import warnings
  from typing import Dict, List, NamedTuple, Optional, Tuple, Union
  import plotly.graph_objects
  import torch
  from plotly.subplots import make_subplots
  from pytorch3d.renderer import HeterogeneousRayBundle, ray_bundle_to_ray_points, RayBundle, TexturesAtlas, TexturesVertex
  from pytorch3d.renderer.camera_utils import camera_to_eye_at_up
  from pytorch3d.renderer.cameras import CamerasBase
  from pytorch3d.structures import join_meshes_as_scene, Meshes, Pointclouds
label_desc: Use image node_id 4 for calling a global function with example usage: get_camera_wireframe(scale) and returns: lines