code: def save_nrgb_image(
      image: np.ndarray, number=0, name_length=5, directory="attack"
  ):
      """
      Saves normalized RGB image, passed as numpy array to the set directory - default: "attack".
  
      :param image: Image to save.
      :param number: i.e. class of the image.
      :param name_length: Length of the random string in the name.
      :param directory: Directory where images will be saved.
      """
      import matplotlib.pyplot as plt
  
      alphabet = np.array(list(string.ascii_letters))
      Path(directory).mkdir(exist_ok=True)
      im_name = f"{directory}/{number}_{''.join(np.random.choice(alphabet, size=name_length))}.jpg"
      plt.imsave(im_name, image)
  
imports: from abc import ABC, abstractmethod
  from logging import Logger
  from pathlib import Path
  import string
  from typing import Any, Callable, List, Tuple, Union
  import numpy
label_desc: Use image node_id 3 for calling a global function with example usage: save_nrgb_image(image, number, name_length, directory) without return types