code: def get_3D_quiver_trace(points, directions, color="#bd1540", name=""):
      assert (
          points.shape[1] == 3
      ), "3d cone plot input points are not correctely shaped "
      assert (
          len(points.shape) == 2
      ), "3d cone plot input points are not correctely shaped "
      assert (
          directions.shape[1] == 3
      ), "3d cone plot input directions are not correctely shaped "
      assert (
          len(directions.shape) == 2
      ), "3d cone plot input directions are not correctely shaped "
  
      trace = go.Cone(
          name=name,
          x=points[:, 0].cpu(),
          y=points[:, 1].cpu(),
          z=points[:, 2].cpu(),
          u=directions[:, 0].cpu(),
          v=directions[:, 1].cpu(),
          w=directions[:, 2].cpu(),
          sizemode="absolute",
          sizeref=0.125,
          showscale=False,
          colorscale=[[0, color], [1, color]],
          anchor="tail",
      )
  
      return trace
  
imports: import plotly.graph_objs
  import plotly.offline
  import numpy
  import torch
  from skimage import measure
  import torchvision
  import trimesh
  from PIL import Image
  from utils import rend_util
  import pickle
label_desc: Use image node_id 4 for calling a global function with example usage: get_3D_quiver_trace(points, directions, color, name) and returns: trace