def test_noiseless(): sampling = create_random_pointings([0, 90], 100, 10) acq_qubic = QubicAcquisition(150, sampling) acq_planck = PlanckAcquisition(150, acq_qubic.scene, true_sky=SKY) acq_fusion = QubicPlanckAcquisition(acq_qubic, acq_planck) np.random.seed(0) y1 = acq_fusion.get_observation() np.random.seed(0) y2 = acq_fusion.get_observation(noiseless=True) + acq_fusion.get_noise() assert_same(y1, y2)
with open(directory + '/cov_map_' + file_name, 'w') as f: write_map(f, coverage) input_map = np.zeros((hp.nside2npix(nside), 3)) acq_planck = PlanckAcquisition(band, acq_qubic.scene, true_sky=input_map) acq_fusion = QubicPlanckAcquisition(acq_qubic, acq_planck) obs_noiseless = acq_fusion.get_observation(noiseless=True) H = acq_fusion.get_operator() invntt = acq_fusion.get_invntt_operator() A = H.T * invntt * H for realization in xrange(nrealizations): print 'rank={}: realization {} / {}'.format(rank, realization + 1, nrealizations) obs = obs_noiseless + acq_fusion.get_noise() b = H.T * invntt * obs solution = pcg(A, b, disp=True, maxiter=maxiter) rec_map = solution['x'] if rank == 0: file_name = 'angspeed{}_delta_az{}_realization{}.fits'.format(angspeed, delta_az, realization) with open(directory + '/rec_map_' + file_name, 'w') as f: write_map(f, rec_map, mask=coverage>0.) # release the pointing matrix del H, A gc.collect()