()
| 11 | |
| 12 | |
| 13 | def main(): |
| 14 | BoardShim.enable_dev_board_logger() |
| 15 | # use synthetic board for demo |
| 16 | params = BrainFlowInputParams() |
| 17 | board = BoardShim(BoardIds.SYNTHETIC_BOARD.value, params) |
| 18 | board.prepare_session() |
| 19 | board.start_stream() |
| 20 | time.sleep(10) |
| 21 | data = board.get_board_data() |
| 22 | board.stop_stream() |
| 23 | board.release_session() |
| 24 | |
| 25 | eeg_channels = BoardShim.get_eeg_channels(BoardIds.SYNTHETIC_BOARD.value) |
| 26 | eeg_data = data[eeg_channels, :] |
| 27 | eeg_data = eeg_data / 1000000 # BrainFlow returns uV, convert to V for MNE |
| 28 | |
| 29 | # Creating MNE objects from brainflow data arrays |
| 30 | ch_types = ['eeg'] * len(eeg_channels) |
| 31 | ch_names = BoardShim.get_eeg_names(BoardIds.SYNTHETIC_BOARD.value) |
| 32 | sfreq = BoardShim.get_sampling_rate(BoardIds.SYNTHETIC_BOARD.value) |
| 33 | info = mne.create_info(ch_names=ch_names, sfreq=sfreq, ch_types=ch_types) |
| 34 | raw = mne.io.RawArray(eeg_data, info) |
| 35 | # its time to plot something! |
| 36 | raw.plot_psd(average=True) |
| 37 | plt.savefig('psd.png') |
| 38 | |
| 39 | |
| 40 | if __name__ == '__main__': |
no test coverage detected