code: def createFile(dataArray=None, outfile=None, header=None):
      
      # Insure that at least a data-array has been provided to create the file
      assert(dataArray is not None), "Please supply a data array for createFiles"
  
      try:
          # Create the output file
          fitsobj = fits.HDUList()
          if header is not None:
              try:
                  del(header['NAXIS1'])
                  del(header['NAXIS2'])
                  if 'XTENSION' in header:
                      del(header['XTENSION'])
                  if 'EXTNAME' in header:
                      del(header['EXTNAME'])
                  if 'EXTVER' in header:
                      del(header['EXTVER'])
              except KeyError:
                  pass
  
              if 'NEXTEND' in header:
                  header['NEXTEND'] = 0
  
              hdu = fits.PrimaryHDU(data=dataArray, header=header)
              try:
                  del hdu.header['PCOUNT']
                  del hdu.header['GCOUNT']
              except KeyError:
                  pass
  
          else:
              hdu = fits.PrimaryHDU(data=dataArray)
  
          fitsobj.append(hdu)
          if outfile is not None:
              fitsobj.writeto(outfile)
      finally:
          # CLOSE THE IMAGE FILES
          fitsobj.close()
  
          if outfile is not None:
              del fitsobj
              fitsobj = None
      return fitsobj
docs: Create a simple fits file for the given data array and header.
      Returns either the FITS object in-membory when outfile==None or
      None when the FITS file was written out to a file.