import numpy as np import Orange from Orange.widgets.tests.base import WidgetTest from Orange.preprocess.preprocess import Preprocess from orangecontrib.spectroscopy.data import getx from orangecontrib.spectroscopy.tests import spectral_preprocess from orangecontrib.spectroscopy.tests.spectral_preprocess import pack_editor, wait_for_preview from orangecontrib.spectroscopy.widgets.owpreprocess import OWPreprocess, PREPROCESSORS, \ CutEditor, SavitzkyGolayFilteringEditor from orangecontrib.spectroscopy.widgets.preprocessors.utils import BaseEditorOrange, \ REFERENCE_DATA_PARAM from orangecontrib.spectroscopy.tests.util import smaller_data SMALL_COLLAGEN = smaller_data(Orange.data.Table("collagen"), 70, 4) class TestAllPreprocessors(WidgetTest): def test_allpreproc_indv(self): data = Orange.data.Table("peach_juice.dpt") for p in PREPROCESSORS: self.widget = self.create_widget(OWPreprocess) self.send_signal("Data", data) self.widget.add_preprocessor(p) self.widget.unconditional_commit() wait_for_preview(self.widget) self.wait_until_finished() def test_allpreproc_indv_empty(self): data = Orange.data.Table("peach_juice.dpt")[:0]
import Orange from Orange.data import Table from Orange.preprocess.preprocess import PreprocessorList from orangecontrib.spectroscopy.data import getx from orangecontrib.spectroscopy.preprocess import Absorbance, Transmittance, \ Integrate, Interpolate, Cut, SavitzkyGolayFiltering, \ GaussianSmoothing, PCADenoising, RubberbandBaseline, \ Normalize, LinearBaseline, CurveShift, EMSC, MissingReferenceException, \ WrongReferenceException, NormalizeReference, XASnormalization, ExtractEXAFS, PreprocessException, \ NormalizePhaseReference, Despike from orangecontrib.spectroscopy.preprocess.me_emsc import ME_EMSC from orangecontrib.spectroscopy.tests.util import smaller_data COLLAGEN = Orange.data.Table("collagen") SMALL_COLLAGEN = smaller_data(COLLAGEN, 2, 2) SMALLER_COLLAGEN = smaller_data(COLLAGEN[195:621], 40, 4) # only glycogen and lipids def preprocessor_data(preproc): """ Rerturn appropriate test file for a preprocessor. Very slow preprocessors should get smaller files. """ if isinstance(preproc, ME_EMSC): return SMALLER_COLLAGEN return SMALL_COLLAGEN
import random import unittest import numpy as np import Orange from orangecontrib.spectroscopy.data import getx from orangecontrib.spectroscopy.preprocess import Absorbance, Transmittance, \ Integrate, Interpolate, Cut, SavitzkyGolayFiltering, \ GaussianSmoothing, PCADenoising, RubberbandBaseline, \ Normalize, LinearBaseline, CurveShift, EMSC from orangecontrib.spectroscopy.tests.util import smaller_data SMALL_COLLAGEN = smaller_data(Orange.data.Table("collagen"), 2, 2) # Preprocessors that work per sample and should return the same # result for a sample independent of the other samples PREPROCESSORS_INDEPENDENT_SAMPLES = [ Interpolate(np.linspace(1000, 1700, 100)), SavitzkyGolayFiltering(window=9, polyorder=2, deriv=2), Cut(lowlim=1000, highlim=1800), GaussianSmoothing(sd=3.), Absorbance(), Transmittance(), Integrate(limits=[[900, 100], [1100, 1200], [1200, 1300]]), Integrate(methods=Integrate.Simple, limits=[[1100, 1200]]), Integrate(methods=Integrate.Baseline, limits=[[1100, 1200]]), Integrate(methods=Integrate.PeakMax, limits=[[1100, 1200]]), Integrate(methods=Integrate.PeakBaseline, limits=[[1100, 1200]]),