def main(): try: duration = int(sys.argv[1]) except: print "Usage: %s <duration> [ch1,ch2,..,chN]" % sys.argv[0] return 1 channels = None try: channels = sys.argv[2].split(",") except: pass # Setup headset headset = epoc.EPOC(enable_gyro=False) if channels: headset.set_channel_mask(channels) # Acquire idx, data = headset.acquire_data_fast(duration) print "Battery: %d %%" % headset.battery print "Contact qualities" print headset.quality utils.save_as_matlab(data, headset.channel_mask) try: headset.disconnect() except e: print e
def headsetRead(headset): idx, data = headset.acquire_data_fast(9) print "Battery: %d %%" % headset.battery print "Contact qualities" print headset.quality metadata = {"quality": headset.quality, "battery": headset.battery} utils.save_as_matlab(data, headset.channel_mask, folder="../eeg_data", metadata=metadata)
data = np.empty((duration * 128, n_channels), dtype=np.uint16) try: for i in range(duration): # Blocks raw_bytes = client.recv(RECVSIZE) # We should receive 1 second of EEG data 128x15 matrix d = np.fromstring(raw_bytes, dtype=np.uint16).reshape((128, n_channels)) # This is for accumulating data[i * 128:(i+1) * 128, :] = d # Process data #process_eeg(data[:(i+1)*128, :]) process_eeg(d) except Exception, e: print e pass finally: # Pass the result back to acquisition daemon # TODO: client.send(...) server.close() os.unlink(SOCKET) utils.save_as_matlab(data, channel_mask, metadata=metadata) print "Total packet lost: %d/%d" % (len(utils.check_packet_drops(data[:, CTR])), data[:, CTR].size) if __name__ == "__main__": sys.exit(main())
for i in range(duration): # Blocks raw_bytes = client.recv(RECVSIZE) # We should receive 1 second of EEG data 128x15 matrix d = np.fromstring(raw_bytes, dtype=np.uint16).reshape( (128, n_channels)) # This is for accumulating data[i * 128:(i + 1) * 128, :] = d # Process data #process_eeg(data[:(i+1)*128, :]) process_eeg(d) except Exception, e: print e pass finally: # Pass the result back to acquisition daemon # TODO: client.send(...) server.close() os.unlink(SOCKET) utils.save_as_matlab(data, channel_mask, metadata=metadata) print "Total packet lost: %d/%d" % (len( utils.check_packet_drops(data[:, CTR])), data[:, CTR].size) if __name__ == "__main__": sys.exit(main())