%load_ext autoreload
%autoreload 2
%matplotlib inline
import os
import fpfs
import galsim
import numpy as np
import astropy.io.fits as pyfits
from astropy.visualization import simple_norm
import matplotlib as mpl
import matplotlib.pylab as plt
from mpl_toolkits.axes_grid1 import ImageGrid
mpl.rcParams['axes.linewidth'] = 2.0 #set the value globally
scale = 0.168
seeing = 0.6
rcut = 32
psfInt = galsim.Moffat(
beta=3.5, fwhm=seeing, trunc=seeing * 4.0
).shear(e1=0.02, e2=-0.02)
psf_data = psfInt.shift(0.5 * scale, 0.5 * scale).drawImage(nx=64, ny=64, scale=scale).array
noise_fname = os.path.join(fpfs.__data_dir__, 'noiPows3.npy')
noi_var = 7e-3
noise_pow = (
np.load(noise_fname, allow_pickle=True).item()["%s" % rcut]
* noi_var
* 100
)
noise_task = fpfs.image.measure_noise_cov(
psf_data,
nnord=4,
sigma_arcsec=0.45,
pix_scale=scale,
)
cov_mat = noise_task.measure(noise_pow)
mms = pyfits.getdata(os.path.join(fpfs.__data_dir__, "fpfs-cut32-0000-g1-0000.fits"))
cov_mat2 = fpfs.catalog.fpfscov_to_imptcov(mms)
for elem1, elem2 in zip(cov_mat.flatten(), cov_mat2.flatten()):
if elem2 != 0.0:
np.testing.assert_array_almost_equal(
elem1,
elem2,
)
2024/10/10 20:03:45 --- Unable to initialize backend 'rocm': module 'jaxlib.xla_extension' has no attribute 'GpuAllocatorConfig'
2024/10/10 20:03:45 --- Unable to initialize backend 'tpu': INTERNAL: Failed to open libtpu.so: libtpu.so: cannot open shared object file: No such file or directory
2024/10/10 20:03:45 --- Order of the shear estimator: nnord=4
2024/10/10 20:03:45 --- Shapelet kernel in configuration space: sigma= 0.4500 arcsec
2024/10/10 20:03:45 --- Detection kernel in configuration space: sigma= 0.4500 arcsec
2024/10/10 20:03:45 --- Maximum |k| is 2.945
plt.close()
plt.imshow(cov_mat,vmin=-1.5,vmax=1.5)
plt.colorbar()
<matplotlib.colorbar.Colorbar at 0x7fb7cc717970>
plt.close()
plt.imshow(cov_mat2,vmin=-1.5,vmax=1.5)
plt.colorbar()
<matplotlib.colorbar.Colorbar at 0x7fb7cc65f670>