Changeset 2782
- Timestamp:
- Apr 14, 2017 10:45:44 AM (6 years ago)
- Location:
- trunk
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/GSASIIimgGUI.py
r2775 r2782 2298 2298 processing loop. (Default is 30.0 seconds.) 2299 2299 ''' 2300 2301 2300 def __init__(self,G2frame,PollTime=30.0): 2302 2301 def OnStart(event): … … 2464 2463 fInp4.invalid = not os.path.exists(fInp4.GetValue()) 2465 2464 fInp4._IndicateValidity() 2465 2466 def OnAutoScale(event): 2467 self.AutoScale = autoscale.GetValue() 2468 2469 def OnAutoScaleName(event): 2470 self.AutoScaleName = scalename.GetValue() 2471 self.Scale[0] = self.AutoScales[self.AutoScaleName] 2472 scaleval.SetValue(self.Scale[0]) 2466 2473 2467 2474 ################################################## … … 2489 2496 self.params['optPDF'] = True 2490 2497 self.pdfControls = {} 2498 self.AutoScale = False 2499 self.Scale = [1.0,] 2491 2500 2492 2501 G2frame.PatternTree.GetSelection() 2493 size,imagefile,imagetag = G2frame.PatternTree.GetImageLoc(self.imageBase) 2502 size,imagefile,imagetag = G2frame.PatternTree.GetImageLoc(self.imageBase) 2494 2503 self.imagedir,fileroot = os.path.split(imagefile) 2504 Comments = G2frame.PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId( 2505 G2frame,self.imageBase, 'Comments')) 2506 DefaultAutoScaleNames = GSASIIpath.GetConfigValue('Autoscale_ParmNames') 2507 self.AutoScaleName = GSASIIpath.GetConfigValue('DefaultAutoScale') 2508 self.AutoScales = {} 2509 for comment in Comments: 2510 if '=' in comment: 2511 name,val = comment.split('=',1) 2512 if name in DefaultAutoScaleNames: 2513 try: 2514 self.AutoScales[name] = float(val) 2515 if name == self.AutoScaleName: 2516 self.Scale[0] = float(val) 2517 except ValueError: 2518 continue 2495 2519 self.params['filter'] = '*'+os.path.splitext(fileroot)[1] 2496 2520 self.params['outdir'] = os.path.abspath(self.imagedir) … … 2557 2581 sizer.Add(G2G.G2CheckBox(mnpnl,'',self.params,'SeparateDir')) 2558 2582 lblsizr.Add(sizer) 2583 if self.AutoScales: 2584 sizer = wx.BoxSizer(wx.HORIZONTAL) 2585 autoscale = wx.CheckBox(mnpnl,label='Do autoscaling with:') 2586 autoscale.Bind(wx.EVT_CHECKBOX,OnAutoScale) 2587 sizer.Add(autoscale,0,WACV) 2588 scalename = wx.ComboBox(mnpnl,value=self.AutoScaleName,choices=self.AutoScales.keys(), 2589 style=wx.CB_READONLY|wx.CB_DROPDOWN) 2590 scalename.Bind(wx.EVT_COMBOBOX,OnAutoScaleName) 2591 sizer.Add(scalename,0,WACV) 2592 sizer.Add(wx.StaticText(mnpnl,label=' to '),0,WACV) 2593 scaleval = G2G.ValidatedTxtCtrl(mnpnl,self.Scale,0,nDig=(10,2),min=1.) 2594 sizer.Add(scaleval,0,WACV) 2595 lblsizr.Add(sizer,0) 2596 #ToDO: Autonormalize, parm name?, scaling value? 2559 2597 sizer = wx.BoxSizer(wx.HORIZONTAL) 2560 2598 sizer.Add(wx.StaticText(mnpnl, wx.ID_ANY,'Autocompute PDF:'),0,wx.ALIGN_CENTER_VERTICAL) … … 2716 2754 # do integration 2717 2755 size,imagefile,imagetag = G2frame.PatternTree.GetImageLoc(imgId) 2756 if self.AutoScale: 2757 Comments = G2frame.PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId( 2758 G2frame,imgId, 'Comments')) 2759 for comment in Comments: 2760 if '=' in comment: 2761 name,val = comment.split('=',1) 2762 if name == self.AutoScaleName: 2763 val = float(val) 2764 if val > 0.: 2765 Scale = self.Scale[0]/val 2766 break 2718 2767 masks = G2frame.PatternTree.GetItemPyData( 2719 2768 G2gd.GetPatternTreeItemId(G2frame,G2frame.Image, 'Masks')) … … 2737 2786 # write out the images in the selected formats 2738 2787 Sdata = G2frame.PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,Id, 'Sample Parameters')) 2788 if self.AutoScale: 2789 print 'Rescale by %.4f'%(Scale) 2790 y,w = G2frame.PatternTree.GetItemPyData(Id)[1][1:3] 2791 y *= Scale 2792 w /= Scale**2 2739 2793 # determine the name for the current file 2740 2794 fileroot = namepre -
trunk/GSASIIpwdGUI.py
r2780 r2782 2221 2221 iBeg = np.searchsorted(x0,Xmin) 2222 2222 iFin = np.searchsorted(x0,Xmax) 2223 sum0 = np.sum(y0[iBeg:iFin]) 2224 result = dlg.GetSelections() 2225 for i in result: 2226 item = histList[i] 2227 Id = G2gd.GetPatternTreeItemId(G2frame,G2frame.root,item) 2228 xi,yi,wi = G2frame.PatternTree.GetItemPyData(Id)[1][:3] 2229 sumi = np.sum(yi[iBeg:iFin]) 2230 if sumi: 2231 Scale = sum0/sumi 2232 yi *= Scale 2233 wi /= Scale**2 2223 if iBeg > iFin: 2224 wx.MessageBox('Wrong order for Xmin, Xmax','Error',style=wx.ICON_EXCLAMATION) 2225 else: 2226 sum0 = np.sum(y0[iBeg:iFin]) 2227 result = dlg.GetSelections() 2228 for i in result: 2229 item = histList[i] 2230 Id = G2gd.GetPatternTreeItemId(G2frame,G2frame.root,item) 2231 xi,yi,wi = G2frame.PatternTree.GetItemPyData(Id)[1][:3] 2232 sumi = np.sum(yi[iBeg:iFin]) 2233 if sumi: 2234 Scale = sum0/sumi 2235 yi *= Scale 2236 wi /= Scale**2 2234 2237 finally: 2235 2238 dlg.Destroy() 2236 2239 G2plt.PlotPatterns(G2frame,plotType=histName[:4],newPlot=True) 2237 2238 2240 2239 2241 def OnSampleCopy(event): -
trunk/config_example.py
r2775 r2782 125 125 Default is 30 seconds 126 126 ''' 127 128 Autoscale_ParmNames = ['userComment2',r'extraInputs\1\extraInputs','Ion_Chamber_I0',] 129 DefaultAutoScale = "userComment2" 130 '''Gives the possible selection of incident monitor names as found in an image metadata file. 131 DefaultAutoScale must be one of the AutoScale_ParmNames 132 Used in AutoIntegration 133 '''
Note: See TracChangeset
for help on using the changeset viewer.