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)

    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.
    
art/attacks/evasion/laser_attack/utils.py