Ignore:
Timestamp:
05/11/12 14:07:24 (8 years ago)
Author:
sc
Message:
  • updates for exporting ThinkGear? and Emotiv custom data headers
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Puzzlebox/Synapse/Session.py

    r390 r393  
    463463                 
    464464                 
    465                 #headers = 'Date,Time' 
    466                 headers = 'Date,Time,Attention,Meditation,Signal Level,Delta,Theta,Low Alpha,High Alpha,Low Beta,High Beta,Low Gamma,Mid Gamma' 
     465                headers = 'Date,Time' 
     466                #headers = headers + ',' 
     467                #headers = 'Date,Time,Attention,Meditation,Signal Level,Delta,Theta,Low Alpha,High Alpha,Low Beta,High Beta,Low Gamma,Mid Gamma' 
     468                #headers = headers + 'Attention,Meditation,Signal Level,Delta,Theta,Low Alpha,High Alpha,Low Beta,High Beta,Low Gamma,Mid Gamma' 
    467469                #headers = self.customDataHeaders 
    468470                 
     
    471473                        customDataHeaders.append(header) 
    472474                for plugin in parent.activePlugins: 
     475                        print plugin.name 
    473476                        for header in plugin.customDataHeaders: 
    474477                                customDataHeaders.append(header) 
     
    485488                         
    486489                         
     490                        # NOTE: Move this to ThinkGear Server object 
    487491                        if 'rawEeg' in packet.keys(): 
    488492                                continue 
    489493                         
     494                         
    490495                        if packet['timestamp'] not in csv.keys(): 
    491496                                 
    492                                 if 'blinkStrength' in packet.keys(): 
    493                                         # Skip any blink packets from log 
    494                                         continue 
     497                                #if 'blinkStrength' in packet.keys(): 
     498                                        ## Skip any blink packets from log 
     499                                        #continue 
    495500                                 
    496501                                 
     
    504509                                csv[timestamp]['Date'] = date 
    505510                                csv[timestamp]['Time'] = localtime 
    506                                 csv[timestamp]['Attention'] = '' 
    507                                 csv[timestamp]['Meditation'] = '' 
    508                                 csv[timestamp]['Signal Level'] = '' 
    509                                 csv[timestamp]['Delta'] = '' 
    510                                 csv[timestamp]['Theta'] = '' 
    511                                 csv[timestamp]['Low Alpha'] = '' 
    512                                 csv[timestamp]['High Alpha'] = '' 
    513                                 csv[timestamp]['Low Beta'] = '' 
    514                                 csv[timestamp]['High Beta'] = '' 
    515                                 csv[timestamp]['Low Gamma'] = '' 
    516                                 csv[timestamp]['Mid Gamma'] = '' 
    517                                  
    518                                 for header in customDataHeaders: 
    519                                         csv[timestamp][header] = '' 
    520                          
    521                          
    522                         if 'eSense' in packet.keys(): 
    523                                 if 'attention' in packet['eSense'].keys(): 
    524                                         csv[timestamp]['Attention'] = packet['eSense']['attention'] 
    525                                 if 'meditation' in packet['eSense'].keys(): 
    526                                         csv[timestamp]['Meditation'] = packet['eSense']['meditation'] 
    527                          
    528                         if 'poorSignalLevel' in packet.keys(): 
    529                                 csv[timestamp]['Signal Level'] = packet['poorSignalLevel'] 
    530                          
    531                         if 'eegPower' in packet.keys(): 
    532                                 if 'delta' in packet['eegPower'].keys(): 
    533                                         csv[timestamp]['Delta'] = packet['eegPower']['delta'] 
    534                                 if 'theta' in packet['eegPower'].keys(): 
    535                                         csv[timestamp]['Theta'] = packet['eegPower']['theta'] 
    536                                 if 'lowAlpha' in packet['eegPower'].keys(): 
    537                                         csv[timestamp]['Low Alpha'] = packet['eegPower']['lowAlpha'] 
    538                                 if 'highAlpha' in packet['eegPower'].keys(): 
    539                                         csv[timestamp]['High Alpha'] = packet['eegPower']['highAlpha'] 
    540                                 if 'lowBeta' in packet['eegPower'].keys(): 
    541                                         csv[timestamp]['Low Beta'] = packet['eegPower']['lowBeta'] 
    542                                 if 'highBeta' in packet['eegPower'].keys(): 
    543                                         csv[timestamp]['High Beta'] = packet['eegPower']['highBeta'] 
    544                                 if 'lowGamma' in packet['eegPower'].keys(): 
    545                                         csv[timestamp]['Low Gamma'] = packet['eegPower']['lowGamma'] 
    546                                 if 'highGamma' in packet['eegPower'].keys(): 
    547                                         csv[timestamp]['Mid Gamma'] = packet['eegPower']['highGamma'] 
     511                                 
     512                                 
     513                                for plugin in parent.activePlugins: 
     514                                        if plugin.customDataHeaders != []: 
     515                                                #try: 
     516                                                csv[timestamp] = plugin.processPacketForExport(output=csv[timestamp], packet=packet) 
     517 
     518                                                #print "csv[timestamp]:", 
     519                                                #print csv[timestamp] 
     520                                                #except Exception, e: 
     521                                                        #if self.DEBUG: 
     522                                                                #print "ERROR: [Synapse:Session] Exception calling processPacketForExport on", 
     523                                                                #print plugin.name 
     524                                 
     525                                 
     526                                #csv[timestamp]['Attention'] = '' 
     527                                #csv[timestamp]['Meditation'] = '' 
     528                                #csv[timestamp]['Signal Level'] = '' 
     529                                #csv[timestamp]['Delta'] = '' 
     530                                #csv[timestamp]['Theta'] = '' 
     531                                #csv[timestamp]['Low Alpha'] = '' 
     532                                #csv[timestamp]['High Alpha'] = '' 
     533                                #csv[timestamp]['Low Beta'] = '' 
     534                                #csv[timestamp]['High Beta'] = '' 
     535                                #csv[timestamp]['Low Gamma'] = '' 
     536                                #csv[timestamp]['Mid Gamma'] = '' 
     537                                 
     538                                #for header in customDataHeaders: 
     539                                        #csv[timestamp][header] = '' 
     540                         
     541                         
     542                        #if 'eSense' in packet.keys(): 
     543                                #if 'attention' in packet['eSense'].keys(): 
     544                                        #csv[timestamp]['Attention'] = packet['eSense']['attention'] 
     545                                #if 'meditation' in packet['eSense'].keys(): 
     546                                        #csv[timestamp]['Meditation'] = packet['eSense']['meditation'] 
     547                         
     548                        #if 'poorSignalLevel' in packet.keys(): 
     549                                #csv[timestamp]['Signal Level'] = packet['poorSignalLevel'] 
     550                         
     551                        #if 'eegPower' in packet.keys(): 
     552                                #if 'delta' in packet['eegPower'].keys(): 
     553                                        #csv[timestamp]['Delta'] = packet['eegPower']['delta'] 
     554                                #if 'theta' in packet['eegPower'].keys(): 
     555                                        #csv[timestamp]['Theta'] = packet['eegPower']['theta'] 
     556                                #if 'lowAlpha' in packet['eegPower'].keys(): 
     557                                        #csv[timestamp]['Low Alpha'] = packet['eegPower']['lowAlpha'] 
     558                                #if 'highAlpha' in packet['eegPower'].keys(): 
     559                                        #csv[timestamp]['High Alpha'] = packet['eegPower']['highAlpha'] 
     560                                #if 'lowBeta' in packet['eegPower'].keys(): 
     561                                        #csv[timestamp]['Low Beta'] = packet['eegPower']['lowBeta'] 
     562                                #if 'highBeta' in packet['eegPower'].keys(): 
     563                                        #csv[timestamp]['High Beta'] = packet['eegPower']['highBeta'] 
     564                                #if 'lowGamma' in packet['eegPower'].keys(): 
     565                                        #csv[timestamp]['Low Gamma'] = packet['eegPower']['lowGamma'] 
     566                                #if 'highGamma' in packet['eegPower'].keys(): 
     567                                        #csv[timestamp]['Mid Gamma'] = packet['eegPower']['highGamma'] 
     568                         
    548569                         
    549570                        for header in customDataHeaders: 
     571                                 
     572                                #if header in packet.keys(): 
     573                                        #csv[timestamp][header] = packet[header] 
     574                                 
    550575                                if 'custom' in packet.keys() and \ 
    551576                                   header in packet['custom'].keys(): 
     
    553578                 
    554579                 
     580                #print csv 
     581                 
     582                 
    555583                if scrub_data: 
    556584                        csv = self.scrubData(csv, truncate_csv_timezone, source=source) 
     
    559587                output = headers 
    560588                 
    561                 csv_keys = csv.keys() 
    562                 csv_keys.sort() 
    563                  
    564                 for key in csv_keys: 
    565                          
    566                         row = '%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s' % \ 
    567                               (csv[key]['Date'], \ 
    568                                csv[key]['Time'], \ 
    569                                csv[key]['Attention'], \ 
    570                                csv[key]['Meditation'], \ 
    571                                csv[key]['Signal Level'], \ 
    572                                csv[key]['Delta'], \ 
    573                                csv[key]['Theta'], \ 
    574                                csv[key]['Low Alpha'], \ 
    575                                csv[key]['High Alpha'], \ 
    576                                csv[key]['Low Beta'], \ 
    577                                csv[key]['High Beta'], \ 
    578                                csv[key]['Low Gamma'], \ 
    579                                csv[key]['Mid Gamma']) 
     589                timestamps = csv.keys() 
     590                timestamps.sort() 
     591                 
     592                for timestamp in timestamps: 
     593                         
     594                        #row = '%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s' % \ 
     595                              #(csv[timestamp]['Date'], \ 
     596                               #csv[timestamp]['Time'], \ 
     597                               #csv[timestamp]['Attention'], \ 
     598                               #csv[timestamp]['Meditation'], \ 
     599                               #csv[timestamp]['Signal Level'], \ 
     600                               #csv[timestamp]['Delta'], \ 
     601                               #csv[timestamp]['Theta'], \ 
     602                               #csv[timestamp]['Low Alpha'], \ 
     603                               #csv[timestamp]['High Alpha'], \ 
     604                               #csv[timestamp]['Low Beta'], \ 
     605                               #csv[timestamp]['High Beta'], \ 
     606                               #csv[timestamp]['Low Gamma'], \ 
     607                               #csv[timestamp]['Mid Gamma']) 
     608                         
     609                         
     610                        #print csv[timestamp] 
     611                         
     612                        row = '%s,%s' % \ 
     613                              (csv[timestamp]['Date'], \ 
     614                               csv[timestamp]['Time']) 
    580615                         
    581616                        for header in customDataHeaders: 
    582                                 row = row + ',%s' % csv[key][header] 
     617                                row = row + ',%s' % csv[timestamp][header] 
    583618                         
    584619                        row = row + '\n' 
Note: See TracChangeset for help on using the changeset viewer.