Source code for est.tests.widgets.test_roiselector
import numpy
from ewokscore.missing_data import is_missing_data
from est.core.types.xasobject import XASObject
from est.tests.widgets.utils import wait_task_executed
from orangecontrib.est.widgets.utils.roi import RoiSelectionOW
[docs]
def test_roi_selection_widget(qtapp, spectrum_cu_from_pymca):
"""
Check behavior if we provide to the widget some valid inputs
"""
energy = spectrum_cu_from_pymca.energy
mu = spectrum_cu_from_pymca.mu
spectra = numpy.concatenate([mu] * 100).reshape(mu.shape[0], 10, 10)
xas_obj = XASObject(
spectra=spectra,
energy=energy,
)
roi_origin = (5, 5)
roi_size = (2, 2)
widget = RoiSelectionOW()
widget.update_default_inputs(
xas_obj=xas_obj,
)
widget.task_input_changed()
widget.loadSettings(
roi_origin=roi_origin,
roi_size=roi_size,
)
while qtapp.hasPendingEvents():
qtapp.processEvents()
assert tuple(widget.getROIOrigin()) == roi_origin
assert tuple(widget.getROISize()) == roi_size
widget.validate()
wait_task_executed(qtapp, widget)
xas_obj = widget.get_task_output_value("xas_obj")
assert not is_missing_data(xas_obj)
assert xas_obj.n_spectrum == roi_size[0] * roi_size[1]