class_docstr: General class responsible for generation and updating images used to attack neural network. Images are crated basing
  on adversarial objects passed to the class.
class_docstr_tok: ["General","class","responsible","for","generation","and","updating","images","used","to","attack","neural","network",".","Images","are","crated","basing","on","adversarial","objects","passed","to","the","class","."]
docstr: Add two images and return resultant image.
  
  :param image1: First image.
  :param image2: Second image.
docstr_tok: ["Add","two","images","and","return","resultant","image",".",":","param","image1",":","First","image",".",":","param","image2",":","Second","image","."]
code: def add_images(image1: np.ndarray, image2: np.ndarray) -> np.ndarray:
      """
      Add two images and return resultant image.
  
      :param image1: First image.
      :param image2: Second image.
      """
      return add_images(image1, image2)
  
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 2 for calling the ImageGenerator obj's underlying member method code with example usage: obj.add_images(image1, image2) and returns: add_images