code: def extract_image_data_embed(image):
      d = 3
      outarr = (
          crop_black(
              np.array(image.convert("RGB").getdata())
              .reshape(image.size[1], image.size[0], d)
              .astype(np.uint8)
          )
          & 0x0F
      )
      black_cols = np.where(np.sum(outarr, axis=(0, 2)) == 0)
      if black_cols[0].shape[0] < 2:
          print("No Image data blocks found.")
          return None
  
      data_block_lower = outarr[:, : black_cols[0].min(), :].astype(
          np.uint8
      )
      data_block_upper = outarr[:, black_cols[0].max() + 1 :, :].astype(
          np.uint8
      )
  
      data_block_lower = xor_block(data_block_lower)
      data_block_upper = xor_block(data_block_upper)
  
      data_block = (data_block_upper << 4) | (data_block_lower)
      data_block = data_block.flatten().tobytes()
  
      data = zlib.decompress(data_block)
      return json.loads(data, cls=EmbeddingDecoder)
  
imports: import base64
  import json
  import warnings
  import numpy
  import zlib
  from PIL import Image, ImageDraw
  import torch
label_desc: Use image node_id 8 for calling a global function with example usage: extract_image_data_embed(image) and returns: json, None