def test_discrimination_fidelity(self):
        # Test the correct file is loaded
        self.assertEqual(
            self.a_discr.folder,
            os.path.join(self.datadir, '20161214', '120000_dummy_Butterfly'))
        mu_a = self.a_discr.mu_a
        mu_b = self.a_discr.mu_b

        # Test if the fit gives the expected means
        self.assertAlmostEqual(mu_a.real, -6719.6, places=1)
        self.assertAlmostEqual(mu_a.imag, 20024.2, places=1)
        self.assertAlmostEqual(mu_b.real, 1949.4, places=1)
        self.assertAlmostEqual(mu_b.imag, 37633.0, places=1)

        # Test identifying the rotation vector
        self.assertAlmostEqual(self.a_discr.theta % 180, 63.8, places=1)
        self.assertAlmostEqual(self.a_discr.theta % 180,
                               np.angle(self.a_discr.mu_b-self.a_discr.mu_a,
                                        deg=True), places=1)
        diff_v_r = rotate_complex((mu_b-mu_a), -self.a_discr.theta)
        self.assertAlmostEqual(diff_v_r.imag, 0)

        self.assertAlmostEqual(self.a_discr.opt_I_threshold,
                               np.mean([mu_a.real, mu_b.real]), places=1)
        self.assertAlmostEqual(self.a_discr.F_discr, 0.954, places=3)
        self.assertAlmostEqual(self.a_discr.F_discr_I, 0.5427, places=3)
Exemplo n.º 2
0
    def test_discrimination_fidelity(self):
        # Test the correct file is loaded
        a = ma.SSRO_discrimination_analysis(label='dummy_Butterfly',
                                            plot_2D_histograms=False)

        self.assertEqual(
            a.folder,
            os.path.join(self.datadir, '20161214', '120000_dummy_Butterfly'))
        mu_a = a.mu_a
        mu_b = a.mu_b

        # Test if the fit gives the expected means
        self.assertAlmostEqual(mu_a.real, -6719.6, places=1)
        self.assertAlmostEqual(mu_a.imag, 20024.2, places=1)
        self.assertAlmostEqual(mu_b.real, 1949.4, places=1)
        self.assertAlmostEqual(mu_b.imag, 37633.0, places=1)

        # Test identifying the rotation vector
        self.assertAlmostEqual(a.theta % 180, 63.8, places=1)
        self.assertAlmostEqual(a.theta % 180,
                               np.angle(a.mu_b - a.mu_a, deg=True),
                               places=1)
        diff_v_r = rotate_complex((mu_b - mu_a), -a.theta)
        self.assertAlmostEqual(diff_v_r.imag, 0)

        self.assertAlmostEqual(a.opt_I_threshold,
                               np.mean([mu_a.real, mu_b.real]),
                               places=1)
        self.assertAlmostEqual(a.F_discr, 0.954, places=3)
        self.assertAlmostEqual(a.F_discr_I, 0.5427, places=3)
Exemplo n.º 3
0
    def test_rotate_complex_number(self):
        self.assertAlmostEqual(1j, rotate_complex(1, 90, deg=True))

        real_vec = np.ones(10)
        np.testing.assert_almost_equal(1j * real_vec,
                                       rotate_complex(real_vec, 90, deg=True))
Exemplo n.º 4
0
    def test_rotate_complex_number(self):
        self.assertAlmostEqual(1j, rotate_complex(1, 90, deg=True))

        real_vec = np.ones(10)
        np.testing.assert_almost_equal(1j*real_vec,
                                       rotate_complex(real_vec, 90, deg=True))