Changeset 3180 for trunk/GSASIIimgGUI.py
- Timestamp:
- Dec 7, 2017 4:00:04 PM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/GSASIIimgGUI.py
r3177 r3180 1232 1232 PollTime = GSASIIpath.GetConfigValue('Autoint_PollTime',30.) 1233 1233 G2frame.autoIntFrame = AutoIntFrame(G2frame,PollTime=PollTime) 1234 # debug code to reload code for window on each use 1235 #import GSASIIimgGUI 1236 #reload(GSASIIimgGUI) 1237 #G2frame.autoIntFrame = GSASIIimgGUI.AutoIntFrame(G2frame,PollTime=PollTime) 1238 1234 1239 G2frame.autoIntFrame.Bind(wx.EVT_WINDOW_DESTROY,OnDestroy) # clean up name on window close 1235 1240 G2frame.Bind(wx.EVT_MENU, OnAutoInt, id=G2G.wxID_IMAUTOINTEG) … … 2480 2485 G2frame.GPXtree.GetSelection() 2481 2486 size,imagefile,imagetag = G2frame.GPXtree.GetImageLoc(self.imageBase) 2482 self.imagedir,fileroot = os.path.split(imagefile) 2487 self.params['readdir'],fileroot = os.path.split(imagefile) 2488 self.params['filter'] = '*'+os.path.splitext(fileroot)[1] 2489 self.params['outdir'] = os.path.abspath(self.params['readdir']) 2483 2490 Comments = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId( 2484 2491 G2frame,self.imageBase, 'Comments')) … … 2497 2504 except ValueError: 2498 2505 continue 2499 self.params['filter'] = '*'+os.path.splitext(fileroot)[1]2500 self.params['outdir'] = os.path.abspath(self.imagedir)2501 2506 wx.Frame.__init__(self, G2frame, title='Automatic Integration', 2502 2507 style=wx.DEFAULT_FRAME_STYLE ^ wx.CLOSE_BOX) … … 2514 2519 self.useActive.SetLabel("Active Image: "+ 2515 2520 G2frame.GPXtree.GetItemText(self.imageBase)) 2516 lblsizr.Add(self.useActive, 1,wx.EXPAND,1)2521 lblsizr.Add(self.useActive,0,wx.EXPAND,1) 2517 2522 self.useActive.SetValue(True) 2518 2523 minisizer = wx.BoxSizer(wx.HORIZONTAL) … … 2526 2531 # bind button and deactivate be default 2527 2532 lblsizr.Add(minisizer) 2528 mnsizer.Add(lblsizr, 1,wx.EXPAND,1)2533 mnsizer.Add(lblsizr,0,wx.EXPAND,0) 2529 2534 2530 2535 # file filter stuff 2531 2536 sizer = wx.BoxSizer(wx.HORIZONTAL) 2532 sizer.Add(wx.StaticText(mnpnl, wx.ID_ANY,'Image filter')) 2533 flterInp = G2G.ValidatedTxtCtrl(mnpnl,self.params,'filter',OnLeave=self.ShowMatchingFiles) 2537 sizer.Add(wx.StaticText(mnpnl, wx.ID_ANY,'Read images from ')) 2538 self.readDir = G2G.ValidatedTxtCtrl(mnpnl,self.params,'readdir', 2539 OnLeave=self.ShowMatchingFiles,size=(200,-1)) 2540 sizer.Add(self.readDir,1,wx.EXPAND,1) 2541 btn3 = wx.Button(mnpnl, wx.ID_ANY, "Browse") 2542 btn3.Bind(wx.EVT_BUTTON, self.SetSourceDir) 2543 sizer.Add(btn3,0,wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL) 2544 mnsizer.Add(sizer,0,wx.EXPAND,0) 2545 # not yet implemented 2546 sizer = wx.BoxSizer(wx.HORIZONTAL) 2547 sizer.Add(wx.StaticText(mnpnl, wx.ID_ANY,'Keep read images in tree ')) 2548 self.params['keepReadImage'] = True 2549 keepImage = G2G.G2CheckBox(mnpnl,'',self.params,'keepReadImage') 2550 sizer.Add(keepImage) 2551 keepImage.Enable(False) 2552 sizer.Add((-1,-1),1,wx.EXPAND,1) 2553 sizer.Add(wx.StaticText(mnpnl, wx.ID_ANY,' Image filter')) 2554 flterInp = G2G.ValidatedTxtCtrl(mnpnl,self.params,'filter', 2555 OnLeave=self.ShowMatchingFiles) 2534 2556 sizer.Add(flterInp) 2535 mnsizer.Add(sizer,0,wx.ALIGN_RIGHT,1) 2557 mnsizer.Add(sizer,0,wx.EXPAND,0) 2558 2536 2559 self.ListBox = wx.ListBox(mnpnl,size=(-1,100)) 2537 mnsizer.Add(self.ListBox, 0,wx.EXPAND,1)2560 mnsizer.Add(self.ListBox,1,wx.EXPAND,1) 2538 2561 self.ShowMatchingFiles(self.params['filter']) 2562 2539 2563 # box for output selections 2540 2564 lbl = wx.StaticBox(mnpnl, wx.ID_ANY, "Output settings") … … 2674 2698 return msg 2675 2699 2700 def SetSourceDir(self,event): 2701 '''Use a dialog to get a directory for image files 2702 ''' 2703 dlg = wx.DirDialog(self, 'Select directory for image files', 2704 self.params['readdir'],wx.DD_DEFAULT_STYLE) 2705 dlg.CenterOnParent() 2706 try: 2707 if dlg.ShowModal() == wx.ID_OK: 2708 self.params['readdir'] = dlg.GetPath() 2709 self.readDir.SetValue(self.params['readdir']) 2710 self.ShowMatchingFiles(None) 2711 finally: 2712 dlg.Destroy() 2713 return 2714 2676 2715 def ShowMatchingFiles(self,value,invalid=False,**kwargs): 2716 '''Find and show images in the tree and the image files matching the image 2717 file directory (self.params['readdir']) and the image file filter 2718 (self.params['filter']) and add this information to the GUI list box 2719 ''' 2677 2720 G2frame = self.G2frame 2678 2721 if invalid: return … … 2691 2734 msg1 = "" 2692 2735 try: 2693 imageList = sorted( 2694 glob.glob(os.path.join(self.imagedir,value))) 2695 if not imageList: 2696 msg1 = 'Warning: No files match search string '+os.path.join(self.imagedir,value) 2736 if os.path.exists(self.params['readdir']): 2737 imageList = sorted( 2738 glob.glob(os.path.join(self.params['readdir'],self.params['filter']))) 2739 if not imageList: 2740 msg1 = 'Warning: No files match search string '+os.path.join(self.params['readdir'],self.params['filter']) 2741 else: 2742 for fil in imageList: 2743 if fil not in imageFileList: msg1 += '\n '+fil 2744 if msg1: 2745 msg += 'Files to integrate from '+os.path.join(self.params['readdir'],self.params['filter'])+msg1 2746 else: 2747 msg += 'No files found to read in '+self.params['readdir'] 2697 2748 else: 2698 for fil in imageList: 2699 if fil not in imageFileList: msg1 += '\n '+fil 2700 if msg1: 2701 msg += 'Files to integrate from '+os.path.join(self.imagedir,value)+msg1 2702 else: 2703 msg += 'No files found to read' 2749 msg1 = 'Warning: does not exist: '+self.params['readdir'] 2704 2750 except IndexError: 2705 msg += 'Error searching for files named '+os.path.join(self. imagedir,value)2751 msg += 'Error searching for files named '+os.path.join(self.params['readdir'],self.params['filter']) 2706 2752 self.ListBox.Clear() 2707 2753 self.ListBox.AppendItems(msg.split('\n')) … … 2787 2833 subdir = '' 2788 2834 fil = os.path.join(self.params['outdir'],subdir,fileroot) 2789 print('writing file '+fil+dfmt)2790 2835 G2IO.ExportPowder(G2frame,treename,fil,dfmt) 2791 2836 … … 3021 3066 try: 3022 3067 self.currImageList = sorted( 3023 glob.glob(os.path.join(self. imagedir,self.params['filter'])))3068 glob.glob(os.path.join(self.params['readdir'],self.params['filter']))) 3024 3069 self.ShowMatchingFiles(self.params['filter']) 3025 3070 except IndexError: … … 3033 3078 # have not yet been processed 3034 3079 oldData = {'tilt':0.,'distance':0.,'rotation':0.,'center':[0.,0.],'DetDepth':0.,'azmthOff':0.} 3080 self.useTA = None 3035 3081 for img in G2gd.GetGPXtreeDataNames(G2frame,['IMG ']): 3036 3082 imgId = G2gd.GetGPXtreeItemId(G2frame,G2frame.root,img) … … 3056 3102 self.OnPause() 3057 3103 self.PreventReEntryTimer = False 3104 self.Raise() 3058 3105 return 3059 3106 … … 3068 3115 self.OnPause() 3069 3116 self.PreventReEntryTimer = False 3117 self.Raise() 3070 3118 return 3071 3119 if GSASIIpath.GetConfigValue('debug'): … … 3073 3121 print ("Timer tick at {:%d %b %Y %H:%M:%S}\n".format(datetime.datetime.now())) 3074 3122 self.PreventReEntryTimer = False 3123 self.Raise() 3075 3124 3076 3125 def DefineEvaluator(dlg):
Note: See TracChangeset
for help on using the changeset viewer.