code: def save_image(image_array: np.ndarray, f_name: str) -> None:
      """
      Saves image into a file inside `ART_DATA_PATH` with the name `f_name`.
  
      :param image_array: Image to be saved.
      :param f_name: File name containing extension e.g., my_img.jpg, my_img.png, my_images/my_img.png.
      """
      from PIL import Image
  
      file_name = os.path.join(config.ART_DATA_PATH, f_name)
      folder = os.path.split(file_name)[0]
      if not os.path.exists(folder):
          os.makedirs(folder)
  
      image = Image.fromarray(image_array)
      image.save(file_name)
      logger.info("Image saved to %s.", file_name)
  
file_path: adversarial-robustness-toolbox/art/visualization.py
imports: from __future__ import absolute_import, division, print_function, unicode_literals
  import logging
  import os.path
  from typing import List, Optional, TYPE_CHECKING
  import numpy
  from art import config
label_desc: Use image node_id 3 for calling a global function with example usage: save_image(image_array, f_name) without return types