COMPASS  5.0.0
End-to-end AO simulation tool using GPU acceleration
convergence.py
1 import numpy as np
2 import matplotlib.pyplot as plt
3 plt.ion()
4 import h5py
5 from guardians import groot, gamora
6 import os
7 
8 filename = os.getenv("DATA_GUARDIAN") + "roket_8m_LE.h5"
9 Cab = groot.compute_Cerr(filename)
10 _, _, psfModel, _ = gamora.psf_rec_Vii(filename, fitting=False,
11  cov=Cab.astype(np.float32))
12 
13 f = h5py.File(filename, 'r')
14 tb = f["tomography"][:] + f["bandwidth"][:]
15 
16 for k in range(10000, 201000, 10000):
17  C = tb[:, :k].dot(tb[:, :k].T) / k
18  _, _, psfC, _ = gamora.psf_rec_Vii(filename, fitting=False,
19  covmodes=C.astype(np.float32))
20  plt.matshow(
21  np.log10(np.abs(psfC - psfModel)), vmin=np.log10(np.abs(psfModel)).min(),
22  vmax=np.log10(np.abs(psfModel)).max())
23  plt.title("niter = %d" % k)
24  plt.colorbar()