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])
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]))