code: def _image_has_flipped_dimensions(img):
      """Returns True if image has flipped width/height dimensions
  
      EXIF Orientation metadata can specify that an image be rotated or otherwise
      transposed. ``PIL.Image`` does not handle this by default so we have to
      inspect the EXIF info. See ``PIL.ImageOps.exif_transpose()`` for the basis
      of this function, except we don't actually want to transpose the image
      when we only need the dimensions.
  
      Tag name reference: https://exiftool.org/TagNames/EXIF.html
      PIL.ImageOps reference: https://github.com/python-pillow/Pillow/blob/main/src/PIL/ImageOps.py
  
      Args:
          img: a ``PIL.Image``
  
      Returns:
          True if image width/height should be flipped
      """
      # Value from PIL.ExifTags.Base.Orientation == 274
      #   We hard-code the value directly here so we can support older Pillow
      #   versions that don't have ExifTags.Base.
      #   It's ok because this value will never change.
      orientation_tag = 0x0112
      exif_orientation = img.getexif().get(orientation_tag)
      # 5, 6, 7, 8 --> TRANSPOSE, ROTATE_270, TRANSVERSE, ROTATE_90
      is_rotated = exif_orientation in {5, 6, 7, 8}
      return is_rotated
  
imports: import itertools
  import logging
  import multiprocessing.dummy
  import os
  import requests
  from PIL import Image
  import eta.core.utils
  import eta.core.video
  import fiftyone
  from fiftyone.core.odm import DynamicEmbeddedDocument
  import fiftyone.core.fields
  import fiftyone.core.media
  import fiftyone.core.utils
label_desc: Use image node_id 3 for calling a global function with example usage: _image_has_flipped_dimensions(img) and returns: is_rotated