docs: def compute_trans(expnums, ccd, version, prefix=None, default="WCS"):
      """
      Pull the astrometric header for each image, compute an x/y transform and compare to trans.jmp
  
      this one overides trans.jmp if they are very different.
      @param expnums:
      @param ccd:
      @param version:
      @param prefix:
      @return: None
      """
      wcs_dict = {}
      for expnum in expnums:
          try:
              # TODO This assumes that the image is already N/E flipped.
              # If compute_trans is called after the image is retrieved from archive then we get the disk version.
              filename = storage.get_image(expnum, ccd, version, prefix=prefix)
              this_wcs = wcs.WCS(fits.open(filename)[0].header)
          except Exception as err:
              logging.warning("WCS Trans compute failed. {}".format(str(err)))
              return
          wcs_dict[expnum] = this_wcs
      x0 = wcs_dict[expnums[0]].header['NAXIS1'] / 2.0
      y0 = wcs_dict[expnums[0]].header['NAXIS2'] / 2.0
      (ra0, dec0) = wcs_dict[expnums[0]].xy2sky(x0, y0)
      result = ""
      for expnum in expnums:
          filename = storage.get_file(expnum, ccd, version, ext='.trans.jmp', prefix=prefix)
          jmp_trans = file(filename, 'r').readline().split()
          (x, y) = wcs_dict[expnum].sky2xy(ra0, dec0)
          x1 = float(jmp_trans[0]) + float(jmp_trans[1]) * x + float(jmp_trans[2]) * y
          y1 = float(jmp_trans[3]) + float(jmp_trans[4]) * x + float(jmp_trans[5]) * y
          dr = math.sqrt((x1 - x0) ** 2 + (y1 - y0) ** 2)
          if dr > 0.5:
              result += "WARNING: WCS-JMP transforms mis-matched {} reverting to using {}.\n".format(expnum, default)
              if default == "WCS": 
                 uri = storage.dbimages_uri(expnum, ccd, version, ext='.trans.jmp', prefix=prefix)
                 filename = os.path.basename(uri)
                 trans = file(filename, 'w')
                 trans.write("{:5.2f} 1. 0. {:5.2f} 0. 1.\n".format(x0 - x, y0 - y))
                 trans.close()
          else:
              result += "WCS-JMP transforms match {}\n".format(expnum)
      return result