Source code for est.tests.widgets.test_noise

from ewokscore.missing_data import is_missing_data
from orangecontrib.est.widgets.utils.noise import NoiseOW
from est.core.types.xasobject import XASObject
from .utils import wait_task_executed


[docs] def test_energy_roi_widget_execute(qtapp, spectrum_cu_from_pymca): "Check behavior ifof the nergy roi widget" # create Xas obj energy = spectrum_cu_from_pymca.energy mu = spectrum_cu_from_pymca.mu xas_obj = XASObject( spectra=mu.reshape(mu.shape[0], 1, 1), energy=energy, ) xas_obj.spectra[0, 0].edge_step = 2.8 e0 = 100 xas_obj.spectra[0, 0].e0 = e0 # set edge_step otherwise will ask for pre_edge to be run first widget = NoiseOW() widget.update_default_inputs(xas_obj=xas_obj, window_size=5, polynomial_order=2) while qtapp.hasPendingEvents(): qtapp.processEvents() # insure xas_obj is not propagated and the widget is set up assert is_missing_data(widget.get_task_output_value("xas_obj")) expected = {"window_size": 5, "polynomial_order": 2, "e_min": 150, "e_max": None} assert widget._window.getParameters() == expected # check behavior parameter changed widget._window._options.setEStart(220) wait_task_executed(qtapp, widget) xas_obj = widget.get_task_output_value("xas_obj") assert not is_missing_data(xas_obj) expected = { "window_size": 5, "polynomial_order": 2, "e_min": 220, "e_max": None, } assert widget._window.getParameters() == expected assert xas_obj.spectra[0, 0].larch_dict["noise_e_min"] == e0 + 220 assert xas_obj.spectra[0, 0].larch_dict["noise_e_max"] == max(energy)