docs: def crackOCR(self, image):
          """ Attempts to crack the given OCR
          
          Uses the "darkest pixel" method to find the darkest pixel in the image. Once
          found it generates a virtual box around the rest of the pet and returns the
          x and y coordinate of the middle of the virtual box. About 98.7% accurate.
             
          Parameters:
             img (StringIO) -- The image content
             
          Returns
             tuple - The x and y coordinates of the center of the pet
             
          Raises
             failedOCR
          """
          try:
              im = Image.open(image)
              
              # Convert to greyscale, and find darkest pixel
              im = im.convert("L")
              lo, hi = im.getextrema()
              
              # Find the pet outline and create a rectangle around a part of it
              im = im.point(lambda p: p == lo)
              rect = im.getbbox()
              
              # Return the center point
              return (str(0.5 * (rect[0] + rect[2])), str(0.5 * (rect[1] + rect[3])))
          except Exception:
              logging.getLogger("neolib.item").exception("Failed to crack OCR")
              raise failedOCR