old_contents: """
  This script handles the skimage exif problem.
  """
  
  from PIL import Image
  import numpy as np
  
  ORIENTATIONS = {   # used in apply_orientation
      2: (Image.FLIP_LEFT_RIGHT,),
      3: (Image.ROTATE_180,),
      4: (Image.FLIP_TOP_BOTTOM,),
      5: (Image.FLIP_LEFT_RIGHT, Image.ROTATE_90),
      6: (Image.ROTATE_270,),
      7: (Image.FLIP_LEFT_RIGHT, Image.ROTATE_270),
      8: (Image.ROTATE_90,)
  }
  
  
  def open_oriented_im(im_path):
      im = Image.open(im_path)
      if hasattr(im, '_getexif'):
          exif = im._getexif()
          if exif is not None and 274 in exif:
              orientation = exif[274]
              im = apply_orientation(im, orientation)
      return np.asarray(im).astype(np.float32) / 255.
  
  
  def apply_orientation(im, orientation):
      if orientation in ORIENTATIONS:
          for method in ORIENTATIONS[orientation]:
              im = im.transpose(method)
      return im
  
new_contents: """
  This script handles the skimage exif problem.
  """
  
  from PIL import Image
  import numpy as np
  
  ORIENTATIONS = {   # used in apply_orientation
      2: (Image.FLIP_LEFT_RIGHT,),
      3: (Image.ROTATE_180,),
      4: (Image.FLIP_TOP_BOTTOM,),
      5: (Image.FLIP_LEFT_RIGHT, Image.ROTATE_90),
      6: (Image.ROTATE_270,),
      7: (Image.FLIP_LEFT_RIGHT, Image.ROTATE_270),
      8: (Image.ROTATE_90,)
  }
  
  
  def open_oriented_im(im_path):
      im = Image.open(im_path)
      if hasattr(im, '_getexif'):
          exif = im._getexif()
          if exif is not None and 274 in exif:
              orientation = exif[274]
              im = apply_orientation(im, orientation)
      img = np.asarray(im).astype(np.float32) / 255.
      if img.ndim == 2:
          img = img[:, :, np.newaxis]
          img = np.tile(img, (1, 1, 3))
      elif img.shape[2] == 4:
          img = img[:, :, :3]
      return img
  
  
  def apply_orientation(im, orientation):
      if orientation in ORIENTATIONS:
          for method in ORIENTATIONS[orientation]:
              im = im.transpose(method)
      return im
  
subject: FIX web_demo upload was not processing grayscale correctly