Esempio n. 1
0
def raw_to_spectrum(rawdata):
    #print rawdata
    #print len(rawdata)
    flen = 50
    spectrum, relative_spectrum = bin_power(rawdata, range(flen), 512)
    #print spectrum
    #print relative_spectrum
    return spectrum
Esempio n. 2
0
def raw_to_spectrum(rawdata):
    #print rawdata
    #print len(rawdata)
    flen = 50
    spectrum, relative_spectrum = bin_power(rawdata, range(flen), 512)
    #print spectrum
    #print relative_spectrum
    return spectrum
Esempio n. 3
0
	def frame(self, p,window):
		flen = 50
		spectrum, relative_spectrum = bin_power(p.raw_values[-p.buffer_len:], range(flen),512)
		self.spectra.append(array(relative_spectrum))
		if len(self.spectra)>30:
			self.spectra.pop(0)
		spectrum = mean(array(self.spectra),axis=0)
		value = (1-sum(spectrum[3:8]))*100
		self.graph.insert_value(time(), value)
		for i in range(6):
			pygame.draw.line(window, pygame.Color(0,0,200),(0,400-i*20*3),(600,400-i*20*3), 2)
		self.graph.draw_graph(window,3.0)
Esempio n. 4
0
    def raw_values_callback(self, raw_values):
        """ This function takes the raw values data, in blocks specified by the block size, and 
        sends it to the sound buffer """
        
        spec,rel_spec = bin_power(raw_values + self.last_raw, [0.5,4,7,9.5,12,21,30], 512)
         
        msg = OSC.OSCMessage("/calcdelta")
        msg.append(spec[0])
        self.osc_client.send(msg)
        msg = OSC.OSCMessage("/calctheta")
        msg.append(spec[1])
        self.osc_client.send(msg)
        
        msg = OSC.OSCMessage("/calclowbeta")
        msg.append(spec[4])
        self.osc_client.send(msg)
        
        self.c_low_beta_stab.add_point(spec[4])
        msg = OSC.OSCMessage("/calc_low_beta_instability")
        msg.append(self.c_low_beta_stab.stability)
        self.osc_client.send(msg) 

        msg = OSC.OSCMessage("/calchighbeta")
        msg.append(spec[5])
        self.osc_client.send(msg)

        self.c_high_beta_stab.add_point(spec[5])
        msg = OSC.OSCMessage("/calc_high_beta_instability")
        msg.append(self.c_high_beta_stab.stability)
        self.osc_client.send(msg) 

        msg = OSC.OSCMessage("/calclowalpha")
        msg.append(spec[2])
        self.osc_client.send(msg)

        self.c_low_alpha_stab.add_point(spec[2])
        msg = OSC.OSCMessage("/calc_low_alpha_instability")
        msg.append(self.c_low_alpha_stab.stability)
        self.osc_client.send(msg) 

        msg = OSC.OSCMessage("/calchighalpha")
        msg.append(spec[3])
        self.osc_client.send(msg)
        self.last_raw = raw_values

        self.c_high_alpha_stab.add_point(spec[3])
        msg = OSC.OSCMessage("/calc_high_alpha_instability")
        msg.append(self.c_high_alpha_stab.stability)
        self.osc_client.send(msg) 

        # We're going to try various parameters based on the raw data, from the EEG helpers
        eeg_hfd = hfd(raw_values, 10)
        eeg_pfd = pfd(raw_values)
        
        msg = OSC.OSCMessage("/eegpfd")
        msg.append(eeg_pfd)
        self.osc_client.send(msg)
        msg = OSC.OSCMessage("/eeghfd")
        msg.append(eeg_hfd)
        self.osc_client.send(msg)

        raw_values = [1. * float(i) / 32768. for i in raw_values]
        #print len(raw_values), raw_values
        msg = OSC.OSCMessage("/raw_data")
        msg.append(raw_values)
        self.osc_client.send(msg)

        return None
Esempio n. 5
0
meditation_img = font.render("Meditation", False, redColor)
attention_img = font.render("Attention", False, redColor)

record_baseline = False

while True:
	p.update()
	#window.blit(background_img,(0,0))
	if p.sending_data:
		iteration+=1

		flen = 50

		if len(p.raw_values)>=500:
			spectrum, relative_spectrum = bin_power(p.raw_values[-p.buffer_len:], range(flen),512)
			spectra.append(array(relative_spectrum))
			if len(spectra)>30:
				spectra.pop(0)

			spectrum = mean(array(spectra),axis=0)
			for i in range (flen-1):
				value = float(spectrum[i]*1000)
				if i<3:
					color = deltaColor
				elif i<8:
					color = thetaColor
				elif i<13:
					color = alphaColor
				elif i<30:
					color = betaColor