예제 #1
0
 def _select_good_fired(self):
     try:
         gc = schlaf_ged.get_good_channels(self.patient_name)
         print "Got", gc, "from database"
         self.channels = gc
     except ValueError, ve:
         #Zeige Fehlermeldung
         print ve
         print self.patient_name
         try:
             short_patient_name = self.patient_name.split("_")[0]
             gc = schlaf_ged.get_good_channels(short_patient_name)
             print "Got", gc, "from database"
             self.channels = gc
         except ValueError,ve:
             print ve
             print short_patient_name
             message = Message(message="Cannot find good channels for subject %s" % self.patient_name)
             message.edit_traits()
예제 #2
0
 def object_fn_changed(self,info):
     print "fn has changed,", info.object.fn
     #print self.controler
     if os.path.exists(info.object.fn):
         if os.path.splitext(info.object.fn)[1] in [".f32",".dat"]:
             if len(info.object.eeg_filename1)==0:
                 info.object.eeg_filename1 = os.path.split(info.object.fn)[1]
                 info.object.long_eeg_filename1 = info.object.fn
             elif len(info.object.eeg_filename2)==0:
                 info.object.eeg_filename2 = os.path.split(info.object.fn)[1]
                 info.object.long_eeg_filename2 = info.object.fn
             else:
                 dialog = Message(message="Maximum number of eeg-files reached.")
                 dialog.edit_traits()
                 return False
             info.object.fn = os.path.split(os.path.abspath(info.object.fn))[0]
         elif os.path.splitext(info.object.fn)[1] in [".evt",".vmrk"]:
             #info.object.evt_filenames.append(os.path.split(info.object.fn)[1])
             #info.object.long_evt_filenames.append(info.object.fn)
             info.object.etm.append(info.object.fn)
         elif os.path.isdir(info.object.fn):
             pass
         else:
             dialog = Message(message="Unknown file extension!")
             dialog.edit_traits()
             return False
         #info.object.controler.update()
     else:
         dialog = Message(message="File not found!")
         print "fn:", info.object.fn
         dialog.edit_traits()
         return False
예제 #3
0
 def update(self):
     #Create readers that do not exist
     #reader_exists = N.zeros((len(self.file_selection.long_eeg_filenames)),N.bool)
     print "update", self.file_selection.long_eeg_filename1
     if len(self.file_selection.long_eeg_filename1) > 0:
         if self.reader1 == None or (self.reader1 != None and self.reader1.fn != self.file_selection.long_eeg_filename1):
             self.reader1 = eegpy.F32(self.file_selection.long_eeg_filename1,"r")
             #self.channels = []
             #for ch in self.reader1.channel_names:
             self.controltab.ch_editor.values = [(i,cn) for i,cn in enumerate(self.reader1.channel_names)]
             self.controltab.channels = range(self.reader1.num_channels)
             self.controltab.num_channels = self.reader1.num_channels
             self.controltab.patient_name = self.file_selection.eeg_filename1[:-4]
             self.inputs.start=0
             self.formulas=[]
     else:
         self.reader1=None
         self.subplots = ""
         self.lines = {}
         self.figure.clf()
         wx.CallAfter(self.figure.canvas.draw)
     if len(self.file_selection.long_eeg_filename2) > 0:
         if self.reader2 == None or (self.reader1 != None and self.reader2.fn != self.file_selection.long_eeg_filename2):
             self.reader2 = eegpy.F32(self.file_selection.long_eeg_filename2,"r")
         #Check if dimesions are equal
         if self.reader2 != None:
             if not self.reader2.shape==self.reader1.shape:
                 self.reader2 = None
                 self.file_selection.long_eeg_filename2 = ""
                 self.file_selection.eeg_filename2 = ""
                 dialog = Message(message="The selected file doesn't have the same dimensions")
                 dialog.edit_traits()
     else:
         self.reader2=None
     
     if not self.mpl_connected:
         self.figure.canvas.mpl_connect('button_press_event', self.canvas_cb)
         self.mpl_connected = True
     self._do_plot_fired()
예제 #4
0
 def object_fn_changed(self, info):
     print "fn has changed,", info.object.fn
     #print self.controler
     if os.path.exists(info.object.fn):
         if os.path.splitext(info.object.fn)[1] in [".f32", ".dat"]:
             if len(info.object.eeg_filename1) == 0:
                 info.object.eeg_filename1 = os.path.split(
                     info.object.fn)[1]
                 info.object.long_eeg_filename1 = info.object.fn
             elif len(info.object.eeg_filename2) == 0:
                 info.object.eeg_filename2 = os.path.split(
                     info.object.fn)[1]
                 info.object.long_eeg_filename2 = info.object.fn
             else:
                 dialog = Message(
                     message="Maximum number of eeg-files reached.")
                 dialog.edit_traits()
                 return False
             info.object.fn = os.path.split(os.path.abspath(
                 info.object.fn))[0]
         elif os.path.splitext(info.object.fn)[1] in [".evt", ".vmrk"]:
             #info.object.evt_filenames.append(os.path.split(info.object.fn)[1])
             #info.object.long_evt_filenames.append(info.object.fn)
             info.object.etm.append(info.object.fn)
         elif os.path.isdir(info.object.fn):
             pass
         else:
             dialog = Message(message="Unknown file extension!")
             dialog.edit_traits()
             return False
         #info.object.controler.update()
     else:
         dialog = Message(message="File not found!")
         print "fn:", info.object.fn
         dialog.edit_traits()
         return False