code: def tofits(outfilename, pixelarray, hdr = None, verbose = True):
      
      pixelarrayshape = pixelarray.shape
      if verbose :
          print "FITS export shape : (%i, %i)" % (pixelarrayshape[0], pixelarrayshape[1])
  
      if pixelarray.dtype.name == "bool":
          pixelarray = np.cast["uint8"](pixelarray)
  
      if os.path.isfile(outfilename):
          os.remove(outfilename)
      
      if hdr == None: # then a minimal header will be created 
          hdu = pyfits.PrimaryHDU(pixelarray.transpose())
      else: # this if else is probably not needed but anyway ...
          hdu = pyfits.PrimaryHDU(pixelarray.transpose(), hdr)
  
      hdu.writeto(outfilename)
      
      if verbose :
          print "Wrote %s" % outfilename
docs: Takes a 2D numpy array and write it into a FITS file.
      If you specify a header (pyfits format, as returned by fromfits()) it will be used for the image.
      You can give me boolean numpy arrays, I will convert them into 8 bit integers.