code: def __create_galaxy_vertex_data(self):
      data = np.zeros(
          len(galaxy),
          dtype=[
              ("a_size", np.float32),
              ("a_position", np.float32, 2),
              ("a_color_index", np.float32),
              ("a_brightness", np.float32),
              ("a_type", np.float32),
          ],
      )
  
      # see shader for parameter explanations
      pw, ph = self.physical_size
      data["a_size"] = galaxy["size"] * max(pw / 800.0, ph / 800.0)
      data["a_position"] = galaxy["position"] / 13000.0
  
      data["a_color_index"] = (galaxy["temperature"] - t0) / (t1 - t0)
      data["a_brightness"] = galaxy["brightness"]
      data["a_type"] = galaxy["type"]
  
      return data
  
file_path: vispy/examples/demo/gloo/galaxy/galaxy.py
imports: import numpy
  import sys
  from vispy.util.transforms import perspective
  from vispy.util import transforms
  from vispy import gloo
  from vispy import app
  from vispy import io
  import galaxy_specrend
  from galaxy_simulation import Galaxy
label_desc: Use image node_id 2 for calling the Canvas obj's underlying member method code with example usage: obj.__create_galaxy_vertex_data() and returns: data