def test_pow_freq_bands():
    expected = np.array([0, 0.005, 0, 0, 0.00125]) / 0.00625
    assert_almost_equal(
        compute_pow_freq_bands(sfreq, data_sin, psd_method='fft'), expected)
    # Ratios of power in bands:
    # For data_sin, only the usual theta (4Hz - 8Hz) and low gamma
    # (30Hz - 70Hz) bands contain non-zero power.
    fb = np.array([[4., 8.], [30., 70.]])
    expected_pow = np.array([0.005, 0.00125]) / 0.00625
    expected_ratios = np.array([4., 0.25])
    assert_almost_equal(
        compute_pow_freq_bands(sfreq,
                               data_sin,
                               freq_bands=fb,
                               ratios='all',
                               psd_method='fft'), np.r_[expected_pow,
                                                        expected_ratios])
    assert_almost_equal(
        compute_pow_freq_bands(sfreq,
                               data_sin,
                               freq_bands=fb,
                               ratios='only',
                               psd_method='fft'), expected_ratios)
    with assert_raises(ValueError):
        # Invalid `ratios` parameter
        compute_pow_freq_bands(sfreq, data_sin, ratios=['alpha', 'beta'])
def test_pow_freq_bands():
    expected = np.array([0, 0.005, 0, 0, 0.00125]) / 0.00625
    assert_almost_equal(compute_pow_freq_bands(sfreq, data_sin), expected)
    # Ratios of power in bands:
    # For data_sin, only the usual theta (4Hz - 8Hz) and low gamma
    # (30Hz - 70Hz) bands contain non-zero power.
    fb = np.array([[4., 8.], [30., 70.]])
    expected_pow = np.array([0.005, 0.00125]) / 0.00625
    expected_ratios = np.array([4., 0.25])
    assert_almost_equal(compute_pow_freq_bands(sfreq, data_sin, freq_bands=fb,
                                               ratios='all'),
                        np.r_[expected_pow, expected_ratios])
    assert_almost_equal(compute_pow_freq_bands(sfreq, data_sin, freq_bands=fb,
                                               ratios='only'), expected_ratios)
示例#3
0
def test_pow_freq_bands_no_norm():
    expected = np.array([0, 0.005, 0, 0, 0.00125])
    assert_almost_equal(
        compute_pow_freq_bands(sfreq,
                               data_sin,
                               normalize=False,
                               psd_method='fft'), expected)
示例#4
0
def test_pow_freq_bands_no_norm_log():
    expected = np.array(
        [-33.23246877, -2.30103, -32.79457753, -32.16599353, -2.90308999])
    assert_almost_equal(
        compute_pow_freq_bands(sfreq,
                               data_sin,
                               normalize=False,
                               log=True,
                               psd_method='fft'), expected)
示例#5
0
def test_pow_freq_bands_norm_log():
    expected = np.array([
        -5317.19500282, -368.16479931, -5247.13240494, -5146.55896452,
        -464.49439792
    ])
    assert_almost_equal(
        compute_pow_freq_bands(sfreq,
                               data_sin,
                               normalize=True,
                               log=True,
                               psd_method='fft'), expected)
示例#6
0
def test_pow_freq_bands_log_ratios():
    # Log ratios of power in bands:
    # For data_sin, only the usual theta (4Hz - 8Hz) and low gamma
    # (30Hz - 70Hz) bands contain non-zero power.
    fb = np.array([[4., 8.], [30., 70.]])
    expected_pow = np.log10(np.array([0.005, 0.00125]))
    expected_ratios = np.log10(np.array([4., 0.25]))
    assert_almost_equal(
        compute_pow_freq_bands(sfreq,
                               data_sin,
                               freq_bands=fb,
                               normalize=False,
                               ratios='all',
                               psd_method='fft',
                               log=True), np.r_[expected_pow, expected_ratios])
    assert_almost_equal(
        compute_pow_freq_bands(sfreq,
                               data_sin,
                               freq_bands=fb,
                               normalize=False,
                               ratios='only',
                               psd_method='fft',
                               log=True), expected_ratios)