class_docstr: Class that generates one or more sprite atlases.
class_docstr_tok: ["Class","that","generates","one","or","more","sprite","atlases","."]
docstr: Returns size of the first no failed image.
  
  Helper method to identify image size for validation.
  
  Raises:
    ValueError if all images had failed retrieval and/or conversion.
docstr_tok: ["Returns","size","of","the","first","no","failed","image",".","Helper","method","to","identify","image","size","for","validation",".","Raises",":","ValueError","if","all","images","had","failed","retrieval","and\/or","conversion","."]
code: def _identify_image_size(self):
      """Returns size of the first no failed image.
  
      Helper method to identify image size for validation.
  
      Raises:
        ValueError if all images had failed retrieval and/or conversion.
      """
      for img_with_status in self._images_with_statuses:
          img = img_with_status[0]
          if img is not None:
              return img.size
      raise ValueError(
          "No images were successfully retrieved and converted."
      )
  
imports: import math
  import os
  from absl import logging
  from PIL import Image
label_desc: Use image node_id 2 for calling the SpriteAtlasGenerator obj's underlying member method code with example usage: obj._identify_image_size() and returns: img