def coregistercheck(self,widget,filename=None): print filename, 'fn' if self.builder.get_object("filechooserbutton1").get_filename() == None: pass else: filename = self.filename = self.builder.get_object("filechooserbutton1").get_filename() print 'loading and checking coreg', filename try: self.mr = nibabel.load(filename); print 'loaded', filename except RuntimeError: print 'unsupported MR file'; return self.prevdata['MRI'] = filename readwrite.writedata(self.prevdata, os.getenv('HOME')+'/.pymegdata') try: xfm = readwrite.readdata(os.path.splitext(filename)[0]+'.pym') print 'file previously coregistered', xfm self.builder.get_object("button1").set_sensitive(True) except: print 'cant find fiducal file', os.path.splitext(filename)[0]+'.pym'; return self.lpa = xfm['lpa'] self.rpa = xfm['rpa'] self.nas = xfm['nas']
def __init__(self): self.builder = gtk.Builder() self.builder.add_from_file(os.path.splitext(__file__)[0]+".glade") self.window = self.builder.get_object("window") #for j in self.builder.get_objects(): #n = gtk.Buildable.get_name(j) try: self.prefs = readwrite.readdata(os.getenv('HOME')+'/.pymeg.pym') print 'reading pref file' for i in self.prefs.keys(): try: self.builder.get_object(i).set_state(self.prefs[i]) except: pass pass #i.set_state(self.prefs[i]) except IOError: print 'no pref set.' self.prefs = {} dic = { "on_preference_toggled" : self.updateprefs, } self.builder.connect_signals(dic)
def __init__(self): self.builder = gtk.Builder() self.builder.add_from_file(os.path.splitext(__file__)[0]+".glade") self.window = self.builder.get_object("window") dic = { "on_toolbutton_refresh_clicked" : self.generate_testdata, "on_button1_clicked" : self.generate_testdata, "on_vboxMain_button_press_event" : self.button_press_event, "on_vboxMain_button_release_event" : self.button_release_event, "on_vboxMain_drag" : self.drag_begin, "on_vboxMain_motion_notify_event" : self.drag_begin, "on_toolbar_clear_clicked" : self.clear_selections, "on_toolbar_zoomin_clicked" : self.zoomin_time, "on_toolbar_zoomout_clicked" : self.zoomout_time, "on_go_back_clicked" : self.page_back, "on_go_forward_clicked" : self.page_forward, "on_toolbutton_setup_toggled" : self.preferences_open, "on_button_channel_apply_clicked" : self.channel_selection_apply, "set_channel_groups" : self.set_channel_groups, "showpopupmenu" : self.showpopupmenu, "on_toolbar_plot_clicked" : self.plot_contour, "on_plot_contour_activate" : self.plot_contour, "on_button_delete_selection_clicked" : self.event_selection_delete, "gtk_widget_hide" : self.hideinsteadofdelete, "on_button_display_apply_clicked": self.display_apply, "on_go_up_clicked" : self.page_up, "on_go_down_clicked" : self.page_down, "on_toolbutton_load_clicked" : self.load_data, "on_menu_offset_correct_clicked" : self.offset_correct, "on_button_epoch_clicked" : self.add_selections_to_event_process, "on_store_event_clicked" : self.store_event, "on_menu_save_noise_activate" : self.store_noise, "on_menu_save_event_activate" : self.store_event, "on_key_press_event" : self.key_press_event, } self.builder.connect_signals(dic) try: self.prefs = readwrite.readdata(os.getenv('HOME')+'/.pymeg.pym') except IOError: self.prefs = {}; readwrite.writedata(self.prefs, os.getenv('HOME')+'/.pymeg') try: self.line_r,self.line_g,self.line_b = self.prefs['LineColor'][0],self.prefs['LineColor'][1],self.prefs['LineColor'][2] self.back_r,self.back_g,self.back_b = self.prefs['BackColor'][0],self.prefs['BackColor'][1],self.prefs['BackColor'][2] except: self.line_r,self.line_g,self.line_b = 1.,1.,1. self.back_r,self.back_g,self.back_b = .9,.9,.9 self.color = (self.line_r,self.line_g,self.line_b) self.create_draw_frame('none') self.create_spec_frame('none') self.create_csd_frame('none') self.space = 0 #self.generate_testdata(None) self.preferences_open(None)
def retrievepythondata(fn): from pdf2py import readwrite pyd = readwrite.readdata(fn) try: data = pyd["data"] chlabels = pyd["chlabels"] samplerate = pyd["samplerate"] sp = 1 / np.float32(samplerate) timeaxes = np.arange(0, sp * np.size(data, 0), sp) except AttributeError: print "ae" return data, timeaxes, chlabels, samplerate
def create_draw_frame(self,widget): #ion() self.fig = Figure(figsize=[200,200], dpi=100) self.canvas = FigureCanvas(self.fig) #self.canvas.connect("scroll_event", self.scroll_event) #self.canvas.connect('button_press_event', self.button_press_event) self.canvas.show() self.figure = self.canvas.figure self.axes = self.fig.add_axes([0.045, 0.05, 0.93, 0.925], axisbg='#FFFFCC') self.axes.axis('off') self.vb = self.builder.get_object("viewport1") self.vb.add(self.canvas) #self.vb.pack_start(self.canvas, gtk.TRUE, gtk.TRUE) self.vb.show() from pdf2py import readwrite self.data = readwrite.readdata('/home/danc/vault/decrypted/programming/python/chanlocs.pym') #self.data = np.arange(300)#np.random.randn(300) self.axes.scatter(self.data[1],self.data[0],marker='o',facecolors='none');
def changed_cb(self, combobox): model = combobox.get_model() index = combobox.get_active() if index > -1: print model[index][0], 'selected','index',index #self.chan_ind = index self.color_sel = str(model[index][0]) #self.im1.axes.clear() print 'debug' self.im1.set_cmap(self.color_sel) self.im1.axes.figure.canvas.draw() self.im2.set_cmap(self.color_sel) self.im2.axes.figure.canvas.draw() self.im3.set_cmap(self.color_sel) self.im3.axes.figure.canvas.draw() try: prefs = readwrite.readdata(os.getenv('HOME')+'/.pymeg.pym') prefs['MRI_color'] = index readwrite.writedata(prefs, os.getenv('HOME')+'/.pymeg') except IOError: pass return
def populate_combo(self, colorlabels=None): print 'populating channel list' #if colorlabels == None: #colorlabels = arange(50) combobox = self.builder.get_object("combobox1") combobox.clear() liststore = gtk.ListStore(str) cell = gtk.CellRendererText() combobox.pack_start(cell) combobox.add_attribute(cell, 'text', 0) combobox.set_wrap_width(int(ceil(sqrt(len(colorlabels))))) for n in colorlabels: #range(50): liststore.append([n]) combobox.set_model(liststore) combobox.connect('changed', self.changed_cb) try: prefs = readwrite.readdata(os.getenv('HOME')+'/.pymeg.pym') combobox.set_active(prefs['MRI_color']) print 'Setting color scheme to last' except: combobox.set_active(0) return
def __init__(self, filepath): print 'reading',filepath self.nifti = nibabel.load(filepath) dirpath = os.path.dirname(filepath) self.data = copy(self.nifti.get_data())#.T #self.nifti.data = self.data h = self.nifti.get_header() self.pixdim = h['pixdim'][1:4] self.gettransform(h) #self.reorient() xfm_fn = os.path.splitext(filepath)[0]+'.pym' if os.path.isfile(xfm_fn) == True: print('loading index points found in file',xfm_fn) self.fiddata = readwrite.readdata(xfm_fn) self.getfiducals(h) else: try: #This is a shitty way in which fiducal point were saved in descrip field in header, as there were no user avail fields to store the 3X3 matrix. self.lpa = eval(str(h['descrip']))[0] self.rpa = eval(str(h['descrip']))[1] self.nas = eval(str(h['descrip']))[2] print('got fiducal info from description field in header') except NameError: print 'no fiducal file or info found. you will not be able to perform any transforms with other data.'
def __init__(self): MT = progressbar.MainThread() self.datahandler() self.builder = gtk.Builder() self.builder.add_from_file(os.path.splitext(__file__)[0]+".glade") self.window = self.builder.get_object("window1") n = self.builder.get_object('notebook1') self.statusbar = self.builder.get_object("statusbar1") self.statusbar_cid = self.statusbar.get_context_id("") #n.set_current_page(0) dic = { "on_mrigridcompute_clicked" : self.mrigrid, "on_filechooserbutton1_file_set": self.coregistercheck, "on_filechooserbutton2_file_set": self.pdfcheck, "on_coregister_clicked" : self.coregister_handler, "on_radiobutton_clicked" : self.gridtypechanged, "on_button2_clicked" : self.manualgrid, } self.builder.connect_signals(dic) try: self.prevdata = readwrite.readdata(os.getenv('HOME')+'/.pymegdata.pym') print 'previous data', self.prevdata self.builder.get_object("filechooserbutton1").set_uri('file://'+self.prevdata['MRI']) #self.builder.get_object("filechooserbutton1").set_filename(self.prevdata['MRI']) #self.mr = img.loadimage(self.prevdata['brain.nii.gz']) filename = self.filename = self.prevdata['MRI'] self.coregistercheck(None, filename) self.statusbar.push(self.statusbar_cid, 'Loading Previous MRI.') except (IOError, KeyError): #no last file print 'no prev data' self.prevdata = {} except TypeError: pass
m.show_all() m.popup(None,None,None,3,0) if event.button == 1: ap = self.axes.get_position() x,y = self.canvas.get_width_height() posx = (event.x/x-.5)*(1/(ap.x1-ap.x0))*-1 posy = ((event.y/y-.5)*(1/(ap.y0-ap.y1))) #posx = ((event.x/x)-ap.x0)*(1/(ap.x1-ap.x0)) #posy = ((event.y/y)-(1-ap.y0))*(1/(ap.y0-ap.y1)) print posx,posy from meg import nearest nx=nearest.nearest(self.data[0],posy)[0] ny=nearest.nearest(self.data[1],posx)[0] print nx,ny def apply_selection(self, widget): print 'Number of channels applied:',size(self.chanchecked,0) self.result_handler(self.chanchecked) return self.chanchecked if __name__ == "__main__": from pdf2py import readwrite chanlocs = readwrite.readdata('/home/danc/python/chlocs.pym') chanlabels = [] for i in arange(size(chanlocs,1)): chanlabels = append(chanlabels, 'A'+str(i)) mainwindow = setup(chanlocs,chanlabels) mainwindow.window.show() print 'testing' gtk.main()
def load_coregister_info(self, widget): if os.path.isfile(filepath+'.pym') == True: print('loading index points found in file',filepath+'.pym') self.fiddata = readwrite.readdata(filepath+'.pym') self.getfiducals(h)