code: def update(self, bucket, image_data):
      image_data = image_data * 255
      image = PILImage.fromarray(image_data).convert("L")
      image_file = io.BytesIO()
  
      image.save(image_file, "png")
      image_file.seek(0)
  
      core_image = CoreImage(image_file, ext="png")
      self.images[bucket].texture = core_image.texture
  
file_path: SerpentAI/serpent/visual_debugger/visual_debugger_app.py
imports: from serpent.visual_debugger.visual_debugger import VisualDebugger
  from serpent.utilities import SerpentError
  from serpent.config import config
  from PIL import Image
  import io
label_desc: Use image node_id 2 for calling the VisualDebuggerCanvas obj's underlying member method code with example usage: obj.update(bucket, image_data) without return types