예제 #1
0
def test_get_event_data():
    """Test emulation of realtime data stream."""
    raw = read_raw_fif(raw_fname, preload=True, verbose=False)
    picks = pick_types(raw.info,
                       meg='grad',
                       eeg=False,
                       eog=True,
                       stim=True,
                       exclude=raw.info['bads'])

    event_id, tmin, tmax = 2, -0.1, 0.3
    epochs = Epochs(raw,
                    events,
                    event_id=event_id,
                    tmin=tmin,
                    tmax=tmax,
                    picks=picks,
                    baseline=None,
                    preload=True,
                    proj=False)

    data = epochs.get_data()[0, :, :]

    rt_client = MockRtClient(raw)
    rt_data = rt_client.get_event_data(event_id=event_id,
                                       tmin=tmin,
                                       tmax=tmax,
                                       picks=picks,
                                       stim_channel='STI 014')

    assert_array_equal(rt_data, data)
예제 #2
0
def test_get_event_data():
    """Test emulation of realtime data stream."""

    event_id, tmin, tmax = 2, -0.1, 0.3
    epochs = Epochs(
        raw, events, event_id=event_id, tmin=tmin, tmax=tmax, picks=picks, baseline=None, preload=True, proj=False
    )

    data = epochs.get_data()[0, :, :]

    rt_client = MockRtClient(raw)
    rt_data = rt_client.get_event_data(event_id=event_id, tmin=tmin, tmax=tmax, picks=picks, stim_channel="STI 014")

    assert_array_equal(rt_data, data)
예제 #3
0
def test_get_event_data():
    """Test emulation of realtime data stream."""

    raw = mne.io.Raw(raw_fname, preload=True, verbose=False)
    picks = mne.pick_types(raw.info, meg="grad", eeg=False, eog=True, stim=True, exclude=raw.info["bads"])

    event_id, tmin, tmax = 2, -0.1, 0.3
    epochs = Epochs(
        raw, events, event_id=event_id, tmin=tmin, tmax=tmax, picks=picks, baseline=None, preload=True, proj=False
    )

    data = epochs.get_data()[0, :, :]

    rt_client = MockRtClient(raw)
    rt_data = rt_client.get_event_data(event_id=event_id, tmin=tmin, tmax=tmax, picks=picks, stim_channel="STI 014")

    assert_array_equal(rt_data, data)
예제 #4
0
def test_get_event_data():
    """Test emulation of realtime data stream."""

    event_id, tmin, tmax = 2, -0.1, 0.3
    epochs = Epochs(raw,
                    events,
                    event_id=event_id,
                    tmin=tmin,
                    tmax=tmax,
                    picks=picks,
                    baseline=None,
                    preload=True,
                    proj=False)

    data = epochs.get_data()[0, :, :]

    rt_client = MockRtClient(raw)
    rt_data = rt_client.get_event_data(event_id=event_id,
                                       tmin=tmin,
                                       tmax=tmax,
                                       picks=picks,
                                       stim_channel='STI 014')

    assert_array_equal(rt_data, data)
예제 #5
0
    score_lv, score_rv, score_x = [], [], []

    command = [sys.executable, 'rt_feedback_client.py']
    with running_subprocess(command,
                            after='kill',
                            stdout=subprocess.PIPE,
                            stderr=subprocess.PIPE):
        for ii in range(n_trials):
            # Tell the stim_client about the next stimuli
            stim_server.add_trigger(ev_list[ii])

            # Collecting data
            if ii == 0:
                X = rt_client.get_event_data(event_id=ev_list[ii],
                                             tmin=-0.2,
                                             tmax=0.5,
                                             picks=picks,
                                             stim_channel='STI 014')[None, ...]
                y = ev_list[ii]
            else:
                X_temp = rt_client.get_event_data(event_id=ev_list[ii],
                                                  tmin=-0.2,
                                                  tmax=0.5,
                                                  picks=picks,
                                                  stim_channel='STI 014')
                X_temp = X_temp[np.newaxis]
                X = np.concatenate((X, X_temp), axis=0)
                time.sleep(isi)  # simulating the isi
                y = np.append(y, ev_list[ii])

            # Start decoding after collecting sufficient data
예제 #6
0
    # Just some initially decided events to be simulated
    # Rest will decided on the fly
    ev_list = [4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4]

    score_c1, score_c2, score_x = [], [], []

    for ii in range(50):

        # Tell the stim_client about the next stimuli
        stim_server.add_trigger(ev_list[ii])

        # Collecting data
        if ii == 0:
            X = rt_client.get_event_data(
                event_id=ev_list[ii], tmin=-0.2, tmax=0.5, picks=picks, stim_channel="STI 014"
            )[None, ...]
            y = ev_list[ii]
        else:
            X_temp = rt_client.get_event_data(
                event_id=ev_list[ii], tmin=-0.2, tmax=0.5, picks=picks, stim_channel="STI 014"
            )
            X_temp = X_temp[np.newaxis, ...]

            X = np.concatenate((X, X_temp), axis=0)

            time.sleep(1)  # simulating the isi
            y = np.append(y, ev_list[ii])

        # Start decoding after collecting sufficient data
        if ii >= 10: