def setup_method(self, method): beam_energy = 200 energy_resolution_MnKa = 130 energy_axis = {'units': 'keV', 'size': 1200, 'scale': 0.01, 'name': 'E'} s1 = utils_eds.xray_lines_model( elements=['Fe', 'Cr'], weight_percents=[30, 70], beam_energy=beam_energy, energy_resolution_MnKa=energy_resolution_MnKa, energy_axis=energy_axis) s2 = utils_eds.xray_lines_model( elements=['Ga', 'As'], weight_percents=[50, 50], beam_energy=beam_energy, energy_resolution_MnKa=energy_resolution_MnKa, energy_axis=energy_axis) mix = np.linspace(0., 1., 4).reshape(2, 2) mix_data = np.tile(s1.data, mix.shape + (1,)) s = s1._deepcopy_with_new_data(mix_data) a = s.axes_manager._axes.pop(0).get_axis_dictionary() s.axes_manager.create_axes([{'size': mix.shape[0], 'navigate': True}] * 2 + [a]) s.add_elements(s2.metadata.Sample.elements) for d, m in zip(s._iterate_signal(), mix.flatten()): d[:] = d * m + (1 - m) * s2.data self.mix = mix self.s = s
def setUp(self): beam_energy = 200 energy_resolution_MnKa = 130 energy_axis = {"units": "keV", "size": 1200, "scale": 0.01, "name": "E"} s1 = utils_eds.xray_lines_model( elements=["Fe", "Cr"], weight_percents=[30, 70], beam_energy=beam_energy, energy_resolution_MnKa=energy_resolution_MnKa, energy_axis=energy_axis, ) s2 = utils_eds.xray_lines_model( elements=["Ga", "As"], weight_percents=[50, 50], beam_energy=beam_energy, energy_resolution_MnKa=energy_resolution_MnKa, energy_axis=energy_axis, ) mix = np.linspace(0.0, 1.0, 4).reshape(2, 2) mix_data = np.tile(s1.data, mix.shape + (1,)) s = s1._deepcopy_with_new_data(mix_data) a = s.axes_manager._axes.pop(0).get_axis_dictionary() s.axes_manager.create_axes([{"size": mix.shape[0], "navigate": True}] * 2 + [a]) s.add_elements(s2.metadata.Sample.elements) for d, m in zip(s._iterate_signal(), mix.flatten()): d[:] = d * m + (1 - m) * s2.data self.mix = mix self.s = s
def setUp(self): s = utils_eds.xray_lines_model( elements=["Fe", "Cr", "Zn"], beam_energy=200, weight_percents=[20, 50, 30], energy_resolution_MnKa=130, energy_axis={"units": "keV", "size": 400, "scale": 0.01, "name": "E", "offset": 5.0}, ) s = s + 0.002 self.s = s
def setup_method(self, method): s = utils_eds.xray_lines_model(elements=['Fe', 'Cr', 'Zn'], beam_energy=200, weight_percents=[20, 50, 30], energy_resolution_MnKa=130, energy_axis={'units': 'keV', 'size': 400, 'scale': 0.01, 'name': 'E', 'offset': 5.}) s = s + 0.002 self.s = s
def test_calibrate_xray_weight(self): s = self.s s1 = utils_eds.xray_lines_model( elements=["Co"], weight_percents=[50], energy_axis={"units": "keV", "size": 400, "scale": 0.01, "name": "E", "offset": 4.9}, ) s = s + s1 / 50 m = s.create_model() m.fit() with assert_warns(message="The X-ray line expected to be in the model " "was not found"): m.calibrate_xray_lines(calibrate="sub_weight", xray_lines=["Fe_Ka"], bound=100) nt.assert_true(np.allclose(0.0347, m["Fe_Kb"].A.value, atol=1e-3))
def test_calibrate_xray_weight(self): s = self.s s1 = utils_eds.xray_lines_model( elements=['Co'], weight_percents=[50], energy_axis={'units': 'keV', 'size': 400, 'scale': 0.01, 'name': 'E', 'offset': 4.9}) s = (s + s1 / 50) m = s.create_model() m.fit() with assert_warns(message='The X-ray line expected to be in the model ' 'was not found'): m.calibrate_xray_lines(calibrate='sub_weight', xray_lines=['Fe_Ka'], bound=100) np.testing.assert_allclose(0.0347, m['Fe_Kb'].A.value, atol=1e-3)
def setup_method(self, method): s = utils_eds.xray_lines_model(elements=['Al', 'Zn'], weight_percents=[50, 50]) self.signal = s
from hyperspy.datasets.example_signals import EDS_TEM_Spectrum from hyperspy.decorators import lazifyTestClass from hyperspy.misc import utils from hyperspy.misc.eds import utils as utils_eds from hyperspy.misc.elements import elements as elements_db # Create this outside the test class to # reduce computation in test suite by ~10seconds s = utils_eds.xray_lines_model( elements=["Fe", "Cr", "Zn"], beam_energy=200, weight_percents=[20, 50, 30], energy_resolution_MnKa=130, energy_axis={ "units": "keV", "size": 400, "scale": 0.01, "name": "E", "offset": 5.0, }, ) s = s + 0.002 @lazifyTestClass class TestlineFit: def setup_method(self, method): self.s = s.deepcopy()
def setUp(self): s = utils_eds.xray_lines_model(elements=["Al", "Zn"], weight_percents=[50, 50]) self.signal = s
def setUp(self): s = utils_eds.xray_lines_model(elements=['Al', 'Zn'], weight_percents=[50, 50]) self.spectrum = s