def __init__(self, name, server): start = time.time() # configure cassandra cluster self.cluster = Cluster() self.session = self.cluster.connect('cloudbrain') # configure the spacebrew client self.brew = SpacebrewApp(name, server=server) for path in CASSANDRA_METRICS: publisher_metric_name = calculate_spacebrew_name(path) for muse_port in MUSE_PORTS: # add subscriber subscriber_metric_name = '%s-muse-%s' % (publisher_metric_name, muse_port) self.brew.add_subscriber(subscriber_metric_name, "string") # handle value handle_value = self.handle_value_factory( publisher_metric_name, muse_port) self.brew.subscribe(subscriber_metric_name, handle_value) end = time.time() print 'configuration took %s s' % (end - start)
def __init__(self, name, server, paths): # configure the spacebrew client self.brew = SpacebrewApp(name, server=server) for spacebrew_name in paths: self.brew.add_subscriber(spacebrew_name, "string") self.brew.subscribe(spacebrew_name, self.handle_value) self.number_of_packets = 0 self.start_time = time.time()
def __init__(self, muse_id=7777, server='127.0.0.1', port=9000): self.muse_id = muse_id self.server = server self.port = port name = 'muse-%s' % muse_id self.brew = SpacebrewApp(name, server=server) for path in CASSANDRA_METRICS: publisher_metric_name = calculate_spacebrew_name(path) self.brew.add_publisher(publisher_metric_name, "string", '0') print publisher_metric_name
def __init__(self, muse_port, muse_id, server): self.muse_port = muse_port self.muse_id = muse_id # Configuring the Muse OSC client ServerThread.__init__(self, muse_port) logger.info('Muse %s connected to museIO on port %s' % (muse_id, muse_port)) # configure the Spacebrew client self.brew = SpacebrewApp(muse_id, server=server) self.osc_paths = [ '/muse/eeg', '/muse/eeg/quantization', # '/muse/eeg/dropped_samples', '/muse/acc', # '/muse/acc/dropped_samples', '/muse/batt', # '/muse/drlref', #'/muse/elements/raw_fft0', #'/muse/elements/raw_fft1', #'/muse/elements/raw_fft2', #'/muse/elements/raw_fft3', '/muse/elements/low_freqs_absolute', '/muse/elements/delta_absolute', '/muse/elements/theta_absolute', '/muse/elements/alpha_absolute', '/muse/elements/beta_absolute', '/muse/elements/gamma_absolute', #'/muse/elements/delta_relative', #'/muse/elements/theta_relative', #'/muse/elements/alpha_relative', #'/muse/elements/beta_relative', #'/muse/elements/gamma_relative', #'/muse/elements/delta_session_score', #'/muse/elements/theta_session_score', #'/muse/elements/alpha_session_score', #'/muse/elements/beta_session_score', #'/muse/elements/gamma_session_score', '/muse/elements/touching_forehead', '/muse/elements/horseshoe', '/muse/elements/is_good', '/muse/elements/blink', '/muse/elements/jaw_clench', '/muse/elements/experimental/concentration', '/muse/elements/experimental/mellow' ] for osc_path in self.osc_paths: spacebrew_name = self.calculate_spacebrew_name(osc_path) self.brew.add_publisher(spacebrew_name, 'string') logger.debug('Spacebrew publisher %s added for muse with ID %s' % (spacebrew_name, self.muse_id)) # Connect to spacebrew self.brew.start() logger.debug('Initialization completed for muse with ID %s' % self.muse_id)
def __init__(self, name, server): # get app name and server from query string self.name = name server = server # configure the spacebrew client self.brew = SpacebrewApp(name, server=server) # cassandra self.muse_cassandra_repo = CassandraRepository(KEYSPACE, MUSE_COLUMN_FAMILY) self.batches = {} self.osc_paths = [{ 'address': "/muse/eeg", 'arguments': 4 }, { 'address': "/muse/eeg/quantization", 'arguments': 4 }, { 'address': "/muse/eeg/dropped_samples", 'arguments': 1 }, { 'address': "/muse/acc", 'arguments': 3 }, { 'address': "/muse/acc/dropped_samples", 'arguments': 1 }, { 'address': "/muse/batt", 'arguments': 4 }, { 'address': "/muse/drlref", 'arguments': 2 }, { 'address': "/muse/elements/low_freqs_absolute", 'arguments': 4 }, { 'address': "/muse/elements/delta_absolute", 'arguments': 4 }, { 'address': "/muse/elements/theta_absolute", 'arguments': 4 }, { 'address': "/muse/elements/alpha_absolute", 'arguments': 4 }, { 'address': "/muse/elements/beta_absolute", 'arguments': 4 }, { 'address': "/muse/elements/gamma_absolute", 'arguments': 4 }, { 'address': "/muse/elements/delta_relative", 'arguments': 4 }, { 'address': "/muse/elements/theta_relative", 'arguments': 4 }, { 'address': "/muse/elements/alpha_relative", 'arguments': 4 }, { 'address': "/muse/elements/beta_relative", 'arguments': 4 }, { 'address': "/muse/elements/gamma_relative", 'arguments': 4 }, { 'address': "/muse/elements/delta_session_score", 'arguments': 4 }, { 'address': "/muse/elements/theta_session_score", 'arguments': 4 }, { 'address': "/muse/elements/alpha_session_score", 'arguments': 4 }, { 'address': "/muse/elements/beta_session_score", 'arguments': 4 }, { 'address': "/muse/elements/gamma_session_score", 'arguments': 4 }, { 'address': "/muse/elements/touching_forehead", 'arguments': 1 }, { 'address': "/muse/elements/horseshoe", 'arguments': 4 }, { 'address': "/muse/elements/is_good", 'arguments': 4 }, { 'address': "/muse/elements/blink", 'arguments': 1 }, { 'address': "/muse/elements/jaw_clench", 'arguments': 1 }, { 'address': "/muse/elements/experimental/concentration", 'arguments': 1 }, { 'address': "/muse/elements/experimental/mellow", 'arguments': 1 }] for path in self.osc_paths: spacebrew_name = path['address'].split('/')[-1] self.brew.add_subscriber(spacebrew_name, "string") self.brew.subscribe(spacebrew_name, self.handle_value)
def __init__(self, name, server): # configure the spacebrew client self.brew = SpacebrewApp(name, server=server) self.osc_paths = [{ 'address': "/muse/eeg", 'arguments': 4 }, { 'address': "/muse/eeg/quantization", 'arguments': 4 }, { 'address': "/muse/eeg/dropped_samples", 'arguments': 1 }, { 'address': "/muse/acc", 'arguments': 3 }, { 'address': "/muse/acc/dropped_samples", 'arguments': 1 }, { 'address': "/muse/batt", 'arguments': 4 }, { 'address': "/muse/drlref", 'arguments': 2 }, { 'address': "/muse/elements/low_freqs_absolute", 'arguments': 4 }, { 'address': "/muse/elements/delta_absolute", 'arguments': 4 }, { 'address': "/muse/elements/theta_absolute", 'arguments': 4 }, { 'address': "/muse/elements/alpha_absolute", 'arguments': 4 }, { 'address': "/muse/elements/beta_absolute", 'arguments': 4 }, { 'address': "/muse/elements/gamma_absolute", 'arguments': 4 }, { 'address': "/muse/elements/delta_relative", 'arguments': 4 }, { 'address': "/muse/elements/theta_relative", 'arguments': 4 }, { 'address': "/muse/elements/alpha_relative", 'arguments': 4 }, { 'address': "/muse/elements/beta_relative", 'arguments': 4 }, { 'address': "/muse/elements/gamma_relative", 'arguments': 4 }, { 'address': "/muse/elements/delta_session_score", 'arguments': 4 }, { 'address': "/muse/elements/theta_session_score", 'arguments': 4 }, { 'address': "/muse/elements/alpha_session_score", 'arguments': 4 }, { 'address': "/muse/elements/beta_session_score", 'arguments': 4 }, { 'address': "/muse/elements/gamma_session_score", 'arguments': 4 }, { 'address': "/muse/elements/touching_forehead", 'arguments': 1 }, { 'address': "/muse/elements/horseshoe", 'arguments': 4 }, { 'address': "/muse/elements/is_good", 'arguments': 4 }, { 'address': "/muse/elements/blink", 'arguments': 1 }, { 'address': "/muse/elements/jaw_clench", 'arguments': 1 }, { 'address': "/muse/elements/experimental/concentration", 'arguments': 1 }, { 'address': "/muse/elements/experimental/mellow", 'arguments': 1 }] for path in self.osc_paths: spacebrew_name = self.calculate_spacebrew_name(path['address']) self.brew.add_subscriber(spacebrew_name, "string") self.brew.subscribe(spacebrew_name, self.handle_value)