def test_remove_background_tool(): s = hs.datasets.artificial_data.get_core_loss_eels_signal(True, False) s.plot() BgR = BackgroundRemoval(s) BgR.gui(**KWARGS) BgR.span_selector.extents = (450., 500.) BgR.span_selector_changed() BgR.apply() assert s.isig[:500.0].data.mean() < 1
def test_plot_BackgroundRemoval_close_figure(): s = signals.Signal1D(np.arange(1000).reshape(10, 100)) br = BackgroundRemoval(s, background_type='Gaussian') signal_plot = s._plot.signal_plot assert len(signal_plot.events.closed.connected) == 5 assert len(s.axes_manager.events.indices_changed.connected) == 4 s._plot.close() assert not br._fit in s.axes_manager.events.indices_changed.connected assert not br.disconnect in signal_plot.events.closed.connected
def test_plot_BackgroundRemoval_close_tool(): s = signals.Signal1D(np.arange(1000).reshape(10, 100)) br = BackgroundRemoval(s, background_type='Gaussian') br.span_selector.extents = (20, 40) br.span_selector_changed() signal_plot = s._plot.signal_plot assert len(signal_plot.events.closed.connected) == 5 assert len(s.axes_manager.events.indices_changed.connected) == 4 br.on_disabling_span_selector() assert not br._fit in s.axes_manager.events.indices_changed.connected s._plot.close() assert not br.disconnect in signal_plot.events.closed.connected
def test_plot_BackgroundRemoval_change_background(): pl = components1d.PowerLaw() pl.A.value = 1e10 pl.r.value = 3 s = signals.Signal1D(pl.function(np.arange(100, 200))) s.axes_manager[0].offset = 100 s.add_gaussian_noise(100) br = BackgroundRemoval(s, background_type='Power Law', polynomial_order=2, fast=False, plot_remainder=True) br.span_selector.extents = (105, 150) # will draw the line br.span_selector_changed() # will update the right axis br.span_selector_changed() assert isinstance(br.background_estimator, components1d.PowerLaw) br.background_type = 'Polynomial' assert isinstance(br.background_estimator, type(components1d.Polynomial(legacy=False)))
def test_plot_BackgroundRemoval(): pl = components1d.PowerLaw() pl.A.value = 1e10 pl.r.value = 3 s = signals.Signal1D(pl.function(np.arange(100, 200))) s.axes_manager[0].offset = 100 s.add_poissonian_noise(random_state=1) br = BackgroundRemoval(s, background_type='Power Law', polynomial_order=2, fast=False, plot_remainder=True) br.span_selector.extents = (105, 150) # will draw the line br.span_selector_changed() # will update the right axis br.span_selector_changed() return br.signal._plot.signal_plot.figure