code: def real_to_complex(real_fid):
      
      np = int(real_fid.shape[0] / 2)
      complex_fid = numpy.zeros(np, 'complex')
      complex_fid[:] = real_fid[:np]
  
      # the imaginary part of the FID has been reversed, have to flip it back
      imag_fid = real_fid[np:]
      complex_fid += 1j * imag_fid[::-1]
      return complex_fid
docs: Standard optimization routines as used in lmfit require real data. This
      function takes a real FID generated from the optimization routine and
      converts it back into a true complex form.
  
      :param real_fid: the real FID to be converted to complex.
      :return: the complex version of the FID