def test_spikes_removal_tool(): s = signals.Signal1D(np.ones((2, 3, 30))) np.random.seed(1) s.add_gaussian_noise(1E-5) # Add three spikes s.data[1, 0, 1] += 2 s.data[0, 2, 29] += 1 s.data[1, 2, 14] += 1 sr = SpikesRemoval(s) sr.threshold = 1.5 sr.find() assert s.axes_manager.indices == (0, 1) sr.threshold = 0.5 assert s.axes_manager.indices == (0, 0) sr.find() assert s.axes_manager.indices == (2, 0) sr.find() assert s.axes_manager.indices == (0, 1) sr.find(back=True) assert s.axes_manager.indices == (2, 0) sr.add_noise = False sr.apply() assert_almost_equal(s.data[0, 2, 29], 1, decimal=5) assert s.axes_manager.indices == (0, 1) sr.apply() assert_almost_equal(s.data[1, 0, 1], 1, decimal=5) assert s.axes_manager.indices == (2, 1) np.random.seed(1) sr.add_noise = True sr.default_spike_width = 3 sr.interpolator_kind = "Spline" sr.spline_order = 3 sr.apply() assert_almost_equal(s.data[1, 2, 14], 1, decimal=5) assert s.axes_manager.indices == (0, 0)
def test_spikes_removal_tool(): s = signals.Signal1D(np.ones((2, 3, 30))) # Add three spikes s.data[1, 0, 1] += 2 s.data[0, 2, 29] += 1 s.data[1, 2, 14] += 1 sr = SpikesRemoval(s) sr.threshold = 1.5 sr.find() assert s.axes_manager.indices == (0, 1) sr.threshold = 0.5 assert s.axes_manager.indices == (0, 0) sr.find() assert s.axes_manager.indices == (2, 0) sr.find() assert s.axes_manager.indices == (0, 1) sr.find(back=True) assert s.axes_manager.indices == (2, 0) sr.add_noise = False sr.apply() assert s.data[0, 2, 29] == 1 assert s.axes_manager.indices == (0, 1) sr.apply() assert s.data[1, 0, 1] == 1 assert s.axes_manager.indices == (2, 1) np.random.seed(1) sr.add_noise = True sr.interpolator_kind = "Spline" sr.spline_order = 3 sr.apply() assert s.data[1, 2, 14] == 0 assert s.axes_manager.indices == (0, 0)