def check_answer(self) : data = self.data.copy() outdata, weights = p2s.separate_cal(data, self.n_bins_cal, flag=-1) self.assertTrue(sp.allclose(outdata[:,:,0,:], 1.0)) self.assertTrue(sp.allclose(outdata[:,:,1,:], 0.0)) data = self.data.copy() outdata, weights = p2s.separate_cal(data, self.n_bins_cal, flag=10) self.assertTrue(sp.allclose(outdata[:,:,0,:], 1.0)) self.assertTrue(sp.allclose(outdata[:,:,1,:], 0.0))
def test_fast_flagger(self): for ii in range(self.ntime * self.nfreq * 4 // self.n_bins_cal // 10): #for ii in range(3): i_f = rand.randint(0, self.nfreq) i_t = rand.randint(0, self.ntime) i_p = rand.randint(0, 4) self.data[i_t,i_p,i_f] += self.level[i_f] * 5 data, weights = p2s.separate_cal(self.data, self.n_bins_cal, flag=10) right_answer = sp.empty((4, 2, self.nfreq)) right_answer[...] = self.dc right_answer[0,0,:] += self.level self.assertTrue(sp.allclose(data, right_answer, atol=self.level / 10)) self.assertTrue(sp.all(weights <= 1.)) kept_fraction = 1. - 4./self.n_bins_cal - (4./self.n_bins_cal/10) self.assertTrue(sp.allclose(sp.mean(weights), kept_fraction, rtol=1e-3))
def check_answer(self): data = p2s.separate_cal(self.data, self.n_bins_cal) self.assertTrue(sp.allclose(data[:, :, 0, :], 1.0)) self.assertTrue(sp.allclose(data[:, :, 1, :], 0.0))
def check_answer(self) : data = p2s.separate_cal(self.data, self.n_bins_cal) self.assertTrue(sp.allclose(data[:,:,0,:], 1.0)) self.assertTrue(sp.allclose(data[:,:,1,:], 0.0))