def setup_method(self, method):
     m = Signal1D(np.arange(30).reshape((3, 10))).create_model()
     m.append(Lorentzian())
     m.multifit(show_progressbar=False)
     self.m = m
     # have to be imported here, as otherwise crashes nosetools
     from hyperspy.samfire_utils.goodness_of_fit_tests.information_theory \
         import (AIC_test, AICc_test, BIC_test)
     self.aic = AIC_test(0.)
     self.aicc = AICc_test(0.)
     self.bic = BIC_test(0.)
 def setup_method(self, method):
     m = Signal1D(np.arange(30).reshape((3, 10))).create_model()
     m.append(Lorentzian())
     # HyperSpy 2.0: remove setting iterpath='serpentine'
     m.multifit(iterpath='serpentine')
     self.m = m
     # have to be imported here, as otherwise crashes nosetools
     from hyperspy.samfire_utils.goodness_of_fit_tests.information_theory \
         import (AIC_test, AICc_test, BIC_test)
     self.aic = AIC_test(0.)
     self.aicc = AICc_test(0.)
     self.bic = BIC_test(0.)
    def setUp(self):
        m = Signal1D(np.arange(30).reshape((3, 10))).create_model()
        m.append(Lorentzian())
        m.multifit(show_progressbar=False)
        self.m = m
        # have to be imported here, as otherwise crashes nosetools
        from hyperspy.samfire_utils.goodness_of_fit_tests.information_theory import AIC_test, AICc_test, BIC_test

        self.aic = AIC_test(0.0)
        self.aicc = AICc_test(0.0)
        self.bic = BIC_test(0.0)
class TestInformationCriteria:

    def setup_method(self, method):
        m = Signal1D(np.arange(30).reshape((3, 10))).create_model()
        m.append(Lorentzian())
        # HyperSpy 2.0: remove setting iterpath='serpentine'
        m.multifit(iterpath='serpentine')
        self.m = m
        # have to be imported here, as otherwise crashes nosetools
        from hyperspy.samfire_utils.goodness_of_fit_tests.information_theory \
            import (AIC_test, AICc_test, BIC_test)
        self.aic = AIC_test(0.)
        self.aicc = AICc_test(0.)
        self.bic = BIC_test(0.)

    def test_index(self):
        ind = (0,)
        assert not self.aic.test(self.m, ind)
        assert not self.aicc.test(self.m, ind)
        assert not self.bic.test(self.m, ind)
        ind = (1,)
        assert self.aic.test(self.m, ind)
        assert self.aicc.test(self.m, ind)
        assert self.bic.test(self.m, ind)
        ind = (2,)
        assert self.aic.test(self.m, ind)
        assert self.aicc.test(self.m, ind)
        assert self.bic.test(self.m, ind)

        self.aic.tolerance = -50
        self.aicc.tolerance = -50
        self.bic.tolerance = -50
        ind = (1,)
        assert not self.aic.test(self.m, ind)
        assert not self.aicc.test(self.m, ind)
        assert not self.bic.test(self.m, ind)
        ind = (2,)
        assert self.aic.test(self.m, ind)
        assert self.aicc.test(self.m, ind)
        assert self.bic.test(self.m, ind)

    def test_map(self):
        mask = np.array([True, True, False])
        assert np.all(self.aic.map(self.m, mask) == [0, 1, 0])
        assert np.all(self.aicc.map(self.m, mask) == [0, 1, 0])
        assert np.all(self.bic.map(self.m, mask) == [0, 1, 0])
        self.aic.tolerance = -50
        self.aicc.tolerance = -50
        self.bic.tolerance = -50
        assert np.all(self.aic.map(self.m, mask) == [0, 0, 0])
        assert np.all(self.aicc.map(self.m, mask) == [0, 0, 0])
        assert np.all(self.bic.map(self.m, mask) == [0, 0, 0])
class TestInformationCriteria:

    def setup_method(self, method):
        m = Signal1D(np.arange(30).reshape((3, 10))).create_model()
        m.append(Lorentzian())
        m.multifit(show_progressbar=False)
        self.m = m
        # have to be imported here, as otherwise crashes nosetools
        from hyperspy.samfire_utils.goodness_of_fit_tests.information_theory \
            import (AIC_test, AICc_test, BIC_test)
        self.aic = AIC_test(0.)
        self.aicc = AICc_test(0.)
        self.bic = BIC_test(0.)

    def test_index(self):
        ind = (0,)
        assert not self.aic.test(self.m, ind)
        assert not self.aicc.test(self.m, ind)
        assert not self.bic.test(self.m, ind)
        ind = (1,)
        assert self.aic.test(self.m, ind)
        assert self.aicc.test(self.m, ind)
        assert self.bic.test(self.m, ind)
        ind = (2,)
        assert self.aic.test(self.m, ind)
        assert self.aicc.test(self.m, ind)
        assert self.bic.test(self.m, ind)

        self.aic.tolerance = -50
        self.aicc.tolerance = -50
        self.bic.tolerance = -50
        ind = (1,)
        assert not self.aic.test(self.m, ind)
        assert not self.aicc.test(self.m, ind)
        assert not self.bic.test(self.m, ind)
        ind = (2,)
        assert self.aic.test(self.m, ind)
        assert self.aicc.test(self.m, ind)
        assert self.bic.test(self.m, ind)

    def test_map(self):
        mask = np.array([True, True, False])
        assert np.all(self.aic.map(self.m, mask) == [0, 1, 0])
        assert np.all(self.aicc.map(self.m, mask) == [0, 1, 0])
        assert np.all(self.bic.map(self.m, mask) == [0, 1, 0])
        self.aic.tolerance = -50
        self.aicc.tolerance = -50
        self.bic.tolerance = -50
        assert np.all(self.aic.map(self.m, mask) == [0, 0, 0])
        assert np.all(self.aicc.map(self.m, mask) == [0, 0, 0])
        assert np.all(self.bic.map(self.m, mask) == [0, 0, 0])
Example #6
0
class TestInformationCriteria:
    def setUp(self):
        m = Signal1D(np.arange(30).reshape((3, 10))).create_model()
        m.append(Lorentzian())
        m.multifit(show_progressbar=False)
        self.m = m
        # have to be imported here, as otherwise crashes nosetools
        from hyperspy.samfire_utils.goodness_of_fit_tests.information_theory \
            import (AIC_test, AICc_test, BIC_test)
        self.aic = AIC_test(0.)
        self.aicc = AICc_test(0.)
        self.bic = BIC_test(0.)

    def test_index(self):
        ind = (0, )
        nt.assert_false(self.aic.test(self.m, ind))
        nt.assert_false(self.aicc.test(self.m, ind))
        nt.assert_false(self.bic.test(self.m, ind))
        ind = (1, )
        nt.assert_true(self.aic.test(self.m, ind))
        nt.assert_true(self.aicc.test(self.m, ind))
        nt.assert_true(self.bic.test(self.m, ind))
        ind = (2, )
        nt.assert_true(self.aic.test(self.m, ind))
        nt.assert_true(self.aicc.test(self.m, ind))
        nt.assert_true(self.bic.test(self.m, ind))

        self.aic.tolerance = -50
        self.aicc.tolerance = -50
        self.bic.tolerance = -50
        ind = (1, )
        nt.assert_false(self.aic.test(self.m, ind))
        nt.assert_false(self.aicc.test(self.m, ind))
        nt.assert_false(self.bic.test(self.m, ind))
        ind = (2, )
        nt.assert_true(self.aic.test(self.m, ind))
        nt.assert_true(self.aicc.test(self.m, ind))
        nt.assert_true(self.bic.test(self.m, ind))

    def test_map(self):
        mask = np.array([True, True, False])
        nt.assert_true(np.all(self.aic.map(self.m, mask) == [0, 1, 0]))
        nt.assert_true(np.all(self.aicc.map(self.m, mask) == [0, 1, 0]))
        nt.assert_true(np.all(self.bic.map(self.m, mask) == [0, 1, 0]))
        self.aic.tolerance = -50
        self.aicc.tolerance = -50
        self.bic.tolerance = -50
        nt.assert_true(np.all(self.aic.map(self.m, mask) == [0, 0, 0]))
        nt.assert_true(np.all(self.aicc.map(self.m, mask) == [0, 0, 0]))
        nt.assert_true(np.all(self.bic.map(self.m, mask) == [0, 0, 0]))