def test_baseline_to_baseline(): uv = UVData() uv.read_miriad(test_d_file) uvf = UVFlag(uv) uvf2 = uvf.copy() uvf.to_baseline(uv) nt.assert_equal(uvf, uvf2)
def test_to_baseline_metric(): uv = UVData() uv.read_miriad(test_d_file) uvf = UVFlag(uv) uvf.to_waterfall() uvf.metric_array[0, 10, 0] = 3.2 # Fill in time0, chan10 uvf.metric_array[1, 15, 0] = 2.1 # Fill in time1, chan15 uvf.to_baseline(uv) nt.assert_true(np.all(uvf.baseline_array == uv.baseline_array)) nt.assert_true(np.all(uvf.time_array == uv.time_array)) times = np.unique(uvf.time_array) ind = np.where(uvf.time_array == times[0])[0] nt0 = len(ind) nt.assert_true(np.all(uvf.metric_array[ind, 0, 10, 0] == 3.2)) ind = np.where(uvf.time_array == times[1])[0] nt1 = len(ind) nt.assert_true(np.all(uvf.metric_array[ind, 0, 15, 0] == 2.1)) nt.assert_true( np.isclose(uvf.metric_array.mean(), (3.2 * nt0 + 2.1 * nt1) / uvf.metric_array.size))
def test_to_baseline_flags(): uv = UVData() uv.read_miriad(test_d_file) uvf = UVFlag(uv) uvf.to_waterfall() uvf.to_flag() uvf.flag_array[0, 10, 0] = True # Flag time0, chan10 uvf.flag_array[1, 15, 0] = True # Flag time1, chan15 uvf.to_baseline(uv) nt.assert_true(np.all(uvf.baseline_array == uv.baseline_array)) nt.assert_true(np.all(uvf.time_array == uv.time_array)) times = np.unique(uvf.time_array) ntrue = 0.0 ind = np.where(uvf.time_array == times[0])[0] ntrue += len(ind) nt.assert_true(np.all(uvf.flag_array[ind, 0, 10, 0])) ind = np.where(uvf.time_array == times[1])[0] ntrue += len(ind) nt.assert_true(np.all(uvf.flag_array[ind, 0, 15, 0])) nt.assert_true(uvf.flag_array.mean() == ntrue / uvf.flag_array.size)
def test_to_baseline_force_pol(): uv = UVData() uv.read_miriad(test_d_file) uvf = UVFlag(uv) uvf.to_waterfall() uvf.to_flag() uvf.flag_array[0, 10, 0] = True # Flag time0, chan10 uvf.flag_array[1, 15, 0] = True # Flag time1, chan15 uvf.polarization_array[0] = -4 # Change pol, but force pol anyway uvf.to_baseline(uv, force_pol=True) nt.assert_true(np.all(uvf.baseline_array == uv.baseline_array)) nt.assert_true(np.all(uvf.time_array == uv.time_array)) nt.assert_true( np.array_equal(uvf.polarization_array, uv.polarization_array)) times = np.unique(uvf.time_array) ntrue = 0.0 ind = np.where(uvf.time_array == times[0])[0] ntrue += len(ind) nt.assert_true(np.all(uvf.flag_array[ind, 0, 10, 0])) ind = np.where(uvf.time_array == times[1])[0] ntrue += len(ind) nt.assert_true(np.all(uvf.flag_array[ind, 0, 15, 0])) nt.assert_true(uvf.flag_array.mean() == ntrue / uvf.flag_array.size)