Beispiel #1
0
def test_basic_redux():
    x = np.linspace(-100, 100, 1000)
    y = 10 * np.exp(-(x**2 / (2 * 20**2)))

    als = SubtractBaselineALS(smoothness_param=1e-2,
                              asym_param=1e-1,
                              redux=10,
                              fix_end_points=False,
                              fix_rng=None,
                              verbose=True)

    y_als = als.calculate(y)

    np.testing.assert_almost_equal(y_als, 0, decimal=3)
Beispiel #2
0
def test_basic():
    x = np.linspace(-100, 100, 1000)
    y = 10 * np.exp(-(x**2 / (2 * 20**2)))

    als = SubtractBaselineALS(smoothness_param=1,
                              asym_param=1e-3,
                              redux=1,
                              fix_end_points=False,
                              fix_rng=None,
                              verbose=True)

    y_als = als.calculate(y)

    assert y_als.max() < 0.0004
Beispiel #3
0
def test_basic_rng():
    x = np.linspace(-100, 100, 1000)
    y = 10 * np.exp(-(x**2 / (2 * 20**2)))

    rng = np.arange(200, 800)
    als = SubtractBaselineALS(smoothness_param=1,
                              asym_param=1e-3,
                              rng=rng,
                              redux=1,
                              fix_end_points=False,
                              fix_rng=None,
                              verbose=True)

    y_als = als.calculate(y)

    np.testing.assert_almost_equal(y_als[..., rng], 0, decimal=2)
    np.testing.assert_allclose(y_als[:200], 0)
    np.testing.assert_allclose(y_als[800:], 0)
Beispiel #4
0
def test_2Dbasic_transform_redux_rng():
    x = np.linspace(-100, 100, 1000)
    y = 10 * np.exp(-(x**2 / (2 * 20**2)))
    y = np.dot(np.ones((10, 1)), y[None, :])

    rng = np.arange(200, 800)
    als = SubtractBaselineALS(smoothness_param=1e-2,
                              asym_param=1e-1,
                              rng=rng,
                              redux=10,
                              fix_end_points=False,
                              fix_rng=None,
                              verbose=True)

    als.transform(y)

    np.testing.assert_allclose(y[..., :200], 0)
    np.testing.assert_allclose(y[..., 800:], 0)
    np.testing.assert_almost_equal(y[..., rng], 0, decimal=3)
Beispiel #5
0
def test_vec_asym_param():
    x = np.linspace(-100, 100, 1000)
    y = 10 * np.exp(-(x**2 / (2 * 20**2)))

    asym_param = 1e-6 * np.ones((x.size))

    als = SubtractBaselineALS(smoothness_param=1e3,
                              asym_param=asym_param,
                              redux=1,
                              fix_end_points=False,
                              fix_rng=None,
                              verbose=True)
    y_als = als.calculate(y)

    assert np.max((y_als)[250:750]) > 7

    asym_param[200:800] = 1e-2

    als = SubtractBaselineALS(smoothness_param=1e3,
                              asym_param=asym_param,
                              redux=1,
                              fix_end_points=False,
                              fix_rng=None,
                              verbose=True)
    y_als = als.calculate(y)

    assert np.max((y_als)[250:750]) < 0.03
Beispiel #6
0
def test_fix_ends():
    x = np.linspace(-100, 100, 1000)
    y = 1000 * np.exp(-x**2 / (2 * 20**2)) + 200 * np.exp(-(x + 99)**2 /
                                                          (2 * 1**2))

    als = SubtractBaselineALS(smoothness_param=1e2,
                              asym_param=1e-3,
                              redux=1,
                              fix_end_points=False,
                              fix_rng=None,
                              verbose=True)

    y_als = als.calculate(y)

    assert y_als[0] > 20

    als = SubtractBaselineALS(smoothness_param=1e1,
                              asym_param=1e-3,
                              redux=1,
                              fix_end_points=True,
                              fix_rng=None,
                              verbose=True)

    y_als = als.calculate(y)

    assert y_als[0] < 2
Beispiel #7
0
def test_fix_rng():
    x = np.linspace(-100, 100, 1000)
    y = 10 * np.exp(-(x**2 / (2 * 20**2)))
    fix_rng = np.arange(200, 800)

    als = SubtractBaselineALS(smoothness_param=1e3,
                              asym_param=1e-5,
                              redux=1,
                              fix_end_points=False,
                              fix_rng=None,
                              verbose=True)
    y_als = als.calculate(y)

    assert np.max((y_als)[200:800]) > 0.002

    als = SubtractBaselineALS(smoothness_param=1e3,
                              asym_param=1e-5,
                              redux=1,
                              fix_end_points=False,
                              fix_rng=fix_rng,
                              verbose=True)
    y_als = als.calculate(y)
    assert np.max((y_als)[200:800]) < 0.002