def setUp(self): np.random.seed(17) ax = np.arange(250) self.widths = [5, 10, 15] self.centres = [50, 105, 180] self.areas = [5000, 10000, 20000] g = hs.model.components1D.Gaussian() g.sigma.value = self.widths[0] g.A.value = self.areas[0] l = hs.model.components1D.Lorentzian() l.gamma.value = self.widths[1] l.A.value = self.areas[1] l1 = hs.model.components1D.Lorentzian() l1.gamma.value = self.widths[2] l1.A.value = self.areas[2] d = g.function(ax - self.centres[0]) + \ l.function(ax - self.centres[1]) + \ l1.function(ax - self.centres[2]) s = hs.signals.Signal1D(np.array([d, d])) s.add_poissonian_noise() s.metadata.Signal.set_item("Noise_properties.variance", s.deepcopy() + 1.) m = s.create_model() m.append(hs.model.components1D.Gaussian()) m[-1].name = 'g1' m.append(hs.model.components1D.Lorentzian()) m[-1].name = 'l1' m.append(hs.model.components1D.Lorentzian()) m[-1].name = 'l2' m.append(hs.model.components1D.Gaussian()) m[-1].name = 'g2' m.append(hs.model.components1D.Gaussian()) m[-1].name = 'g3' m.append(hs.model.components1D.Lorentzian()) m[-1].name = 'l3' for c in m: c.active_is_multidimensional = True vals = { 'g1': {}, 'g2': {}, 'g3': {}, 'l1': {}, 'l2': {}, 'l3': {}, } vals['g1']['centre'] = [50, 150] vals['g1']['sigma'] = [5] vals['g1']['A'] = [10000] vals['l1']['centre'] = [43] vals['l1']['gamma'] = [25] vals['l1']['A'] = [10000] vals['l2']['centre'] = [125] vals['l2']['gamma'] = [8] vals['l2']['A'] = [10000] vals['g2']['centre'] = [105] vals['g2']['sigma'] = [20] vals['g2']['A'] = [10000] vals['l3']['centre'] = [185] vals['l3']['gamma'] = [11] vals['l3']['A'] = [10000] vals['g3']['centre'] = [175] vals['g3']['sigma'] = [12] vals['g3']['A'] = [10000] self.vals = vals self.model = m self.q = Mock_queue() self.ind = (1, ) self.args = {} self.model_letter = 'sldkfjg' from hyperspy.samfire_utils.fit_tests import red_chisq_test as rct self.gt_dump = dill.dumps(rct(tolerance=1.0)) m_slice = m.inav[self.ind[::-1]] m_slice.store(self.model_letter) m_dict = m_slice.signal._to_dictionary(False) m_dict['models'] = m_slice.signal.models._models.as_dictionary() self.model_dictionary = m_dict self.optional_comps = [1, 2, 3, 4, 5]
def setUp(self): np.random.seed(17) ax = np.arange(250) self.widths = [5, 10, 15] self.centres = [50, 105, 180] self.areas = [5000, 10000, 20000] g = hs.model.components1D.Gaussian() g.sigma.value = self.widths[0] g.A.value = self.areas[0] l = hs.model.components1D.Lorentzian() l.gamma.value = self.widths[1] l.A.value = self.areas[1] l1 = hs.model.components1D.Lorentzian() l1.gamma.value = self.widths[2] l1.A.value = self.areas[2] d = g.function(ax - self.centres[0]) + \ l.function(ax - self.centres[1]) + \ l1.function(ax - self.centres[2]) s = hs.signals.Signal1D(np.array([d, d])) s.add_poissonian_noise() s.metadata.Signal.set_item("Noise_properties.variance", s.deepcopy() + 1.) m = s.create_model() m.append(hs.model.components1D.Gaussian()) m[-1].name = 'g1' m.append(hs.model.components1D.Lorentzian()) m[-1].name = 'l1' m.append(hs.model.components1D.Lorentzian()) m[-1].name = 'l2' m.append(hs.model.components1D.Gaussian()) m[-1].name = 'g2' m.append(hs.model.components1D.Gaussian()) m[-1].name = 'g3' m.append(hs.model.components1D.Lorentzian()) m[-1].name = 'l3' for c in m: c.active_is_multidimensional = True vals = {'g1': {}, 'g2': {}, 'g3': {}, 'l1': {}, 'l2': {}, 'l3': {}, } vals['g1']['centre'] = [50, 150] vals['g1']['sigma'] = [5] vals['g1']['A'] = [10000] vals['l1']['centre'] = [43] vals['l1']['gamma'] = [25] vals['l1']['A'] = [10000] vals['l2']['centre'] = [125] vals['l2']['gamma'] = [8] vals['l2']['A'] = [10000] vals['g2']['centre'] = [105] vals['g2']['sigma'] = [20] vals['g2']['A'] = [10000] vals['l3']['centre'] = [185] vals['l3']['gamma'] = [11] vals['l3']['A'] = [10000] vals['g3']['centre'] = [175] vals['g3']['sigma'] = [12] vals['g3']['A'] = [10000] self.vals = vals self.model = m self.q = Mock_queue() self.ind = (1,) self.args = {} self.model_letter = 'sldkfjg' from hyperspy.samfire_utils.fit_tests import red_chisq_test as rct self.gt_dump = dill.dumps(rct(tolerance=1.0)) m_slice = m.inav[self.ind[::-1]] m_slice.store(self.model_letter) m_dict = m_slice.signal._to_dictionary(False) m_dict['models'] = m_slice.signal.models._models.as_dictionary() self.model_dictionary = m_dict self.optional_comps = [1, 2, 3, 4, 5]