Changeset 2610
- Timestamp:
- Jan 4, 2017 1:31:26 PM (8 years ago)
- Location:
- trunk
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified trunk/GSASIIIO.py ¶
r2563 r2610 141 141 return Comments,Peaks,limits,wave 142 142 143 def CheckImageFile(G2frame,imagefile):143 def GetCheckImageFile(G2frame,treeId): 144 144 '''Try to locate an image file if the project and image have been moved 145 145 together. If the image file cannot be found, request the location from … … 147 147 148 148 :param wx.Frame G2frame: main GSAS-II Frame and data object 149 :param str imagefile: name of image file 150 :returns: imagefile, if it exists, or the name of a file 151 that does exist or False if the user presses Cancel 149 :param wx.Id treeId: Id for the main tree item for the image 150 :returns: Npix,imagefile,imagetag with (Npix) number of pixels, 151 imagefile, if it exists, or the name of a file that does exist or False if the user presses Cancel 152 and (imagetag) an optional image number 152 153 153 154 ''' 155 Npix,imagefile,imagetag = G2frame.PatternTree.GetImageLoc(G2frame.Image) 154 156 if not os.path.exists(imagefile): 155 157 print 'Image file '+imagefile+' not found' … … 162 164 if os.path.exists(os.path.join(G2frame.dirname,fil)): 163 165 print 'found image file '+os.path.join(G2frame.dirname,fil) 164 return os.path.join(G2frame.dirname,fil) 166 imagefile = os.path.join(G2frame.dirname,fil) 167 G2frame.PatternTree.UpdateImageLoc(G2frame.Image,imagefile) 168 return Npix,imagefile,imagetag 165 169 pth,enddir = os.path.split(pth) 166 170 fil = os.path.join(enddir,fil) … … 184 188 if os.path.exists(os.path.join(pth,fil)): 185 189 print 'found image file '+os.path.join(pth,fil) 186 return os.path.join(pth,fil) 190 imagefile = os.path.join(pth,fil) 191 G2frame.PatternTree.UpdateImageLoc(G2frame.Image,imagefile) 192 return Npix,imagefile,imagetag 187 193 pth,enddir = os.path.split(pth) 188 194 #GSASIIpath.IPyBreak() … … 198 204 if dlg.ShowModal() == wx.ID_OK: 199 205 imagefile = dlg.GetPath() 206 G2frame.PatternTree.UpdateImageLoc(G2frame.Image,imagefile) 200 207 else: 201 208 imagefile = False 202 209 finally: 203 210 dlg.Destroy() 204 return imagefile211 return Npix,imagefile,imagetag 205 212 206 213 def EditImageParms(parent,Data,Comments,Image,filename): -
TabularUnified trunk/GSASIIctrls.py ¶
r2608 r2610 222 222 return size,imagefile,None 223 223 224 def UpdateImageLoc(self,TreeId,imagefile): 225 '''Saves a new imagefile name in the Tree. Handles cases where the 226 image name is specified, as well as where the image file name is 227 a tuple containing the image file and an image number 228 ''' 229 230 idata = self.GetItemPyData(TreeId) 231 if type(idata[1]) is tuple or type(idata[1]) is list: 232 idata[1][0] = [imagefile,idata[1][1]] 233 else: 234 idata[1] = imagefile 235 224 236 def SaveExposedItems(self): 225 237 '''Traverse the top level tree items and save names of exposed (expanded) tree items. -
TabularUnified trunk/GSASIIimgGUI.py ¶
r2604 r2610 56 56 ''' 57 57 58 Npix,imagefile,imagetag = G2frame.PatternTree.GetImageLoc(G2frame.Image) 59 imagefile = G2IO.CheckImageFile(G2frame,imagefile) 58 Npix,imagefile,imagetag = G2IO.GetCheckImageFile(G2frame,G2frame.Image) 60 59 formatName = data.get('formatName','') 61 60 sumImg = G2IO.GetImageData(G2frame,imagefile,True,ImageTag=imagetag,FormatName=formatName) … … 70 69 Ddata = G2frame.PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,Did,'Image Controls')) 71 70 dformatName = Ddata.get('formatName','') 72 Npix,imagefile,imagetag = G2frame.PatternTree.GetImageLoc(Did) 73 imagefile = G2IO.CheckImageFile(G2frame,imagefile) 71 Npix,imagefile,imagetag = G2IO.GetCheckImageFile(G2frame,Did) 74 72 darkImage = G2IO.GetImageData(G2frame,imagefile,True,ImageTag=imagetag,FormatName=dformatName) 75 73 if darkImg is not None: … … 81 79 Bid = G2gd.GetPatternTreeItemId(G2frame, G2frame.root, backImg) 82 80 if Bid: 83 Npix,imagefile,imagetag = G2frame.PatternTree.GetImageLoc(Bid) 84 imagefile = G2IO.CheckImageFile(G2frame,imagefile) 81 Npix,imagefile,imagetag = G2IO.GetCheckImageFile(G2frame,Bid) 85 82 Bdata = G2frame.PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,Bid,'Image Controls')) 86 83 bformatName = Bdata.get('formatName','') … … 91 88 Ddata = G2frame.PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,Did,'Image Controls')) 92 89 dformatName = Ddata.get('formatName','') 93 Npix,imagefile,imagetag = G2frame.PatternTree.GetImageLoc(Did) 94 imagefile = G2IO.CheckImageFile(G2frame,imagefile) 90 Npix,imagefile,imagetag = G2IO.GetCheckImageFile(G2frame,Did) 95 91 darkImage = G2IO.GetImageData(G2frame,imagefile,True,ImageTag=imagetag,FormatName=dformatName) 96 92 if darkImage is not None: -
TabularUnified trunk/GSASIIpwdGUI.py ¶
r2596 r2610 4569 4569 ##### PDF controls 4570 4570 ################################################################################ 4571 4572 4571 def UpdatePDFGrid(G2frame,data): 4573 4572 '''respond to selection of PWDR PDF data tree item. 4574 ''' 4575 global inst 4576 tth2q = lambda t,w:4.0*math.pi*sind(t/2.0)/w 4577 tof2q = lambda t,C:2.0*math.pi*C/t 4578 dataFile = G2frame.PatternTree.GetItemText(G2frame.PatternId) 4579 powName = 'PWDR'+dataFile[4:] 4580 powId = G2gd.GetPatternTreeItemId(G2frame,G2frame.root, powName) 4581 fullLimits,limits = G2frame.PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,powId, 'Limits'))[:2] 4582 inst = G2frame.PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,powId, 'Instrument Parameters'))[0] 4583 if 'C' in inst['Type'][0]: 4584 wave = G2mth.getWave(inst) 4585 keV = 12.397639/wave 4586 qLimits = [tth2q(fullLimits[0],wave),tth2q(fullLimits[1],wave)] 4587 polariz = inst['Polariz.'][1] 4588 else: #'T'of 4589 qLimits = [tof2q(fullLimits[1],inst['difC'][1]),tof2q(fullLimits[0],inst['difC'][1])] 4590 polariz = 1.0 4591 data['QScaleLim'][1] = min(qLimits[1],data['QScaleLim'][1]) 4592 if data['QScaleLim'][0]: 4593 data['QScaleLim'][0] = max(qLimits[0],data['QScaleLim'][0]) 4594 else: #initial setting at 90% of max Q 4595 data['QScaleLim'][0] = 0.90*data['QScaleLim'][1] 4596 itemDict = {} 4597 #patch 4598 if 'BackRatio' not in data: 4599 data['BackRatio'] = 0. 4600 if 'noRing' not in data: 4601 data['noRing'] = False 4602 if 'Rmax' not in data: 4603 data['Rmax'] = 100. 4604 if 'Flat Bkg' not in data: 4605 data['Flat Bkg'] = 0. 4606 if 'IofQmin' not in data: 4607 data['IofQmin'] = 1.0 4608 4573 ''' 4609 4574 def FillFileSizer(fileSizer,key): 4610 4575 #fileSizer is a FlexGridSizer(3,6) … … 4617 4582 Obj.SetValue(fmt%(value)) 4618 4583 data[fileKey][itemKey] = value 4619 wx.CallAfter(UpdatePDFGrid,G2frame,data) 4584 wx.CallLater(100,UpdatePDFGrid,G2frame,data) 4585 wx.CallAfter(OnComputePDF,None) 4620 4586 4621 4587 def OnMoveMult(event): … … 4896 4862 G2plt.PlotISFG(G2frame,newPlot=True,plotType='G(R)') 4897 4863 print ' Done calculating PDFs:' 4898 4864 4865 # Routine UpdatePDFGrid starts here 4866 global inst 4867 tth2q = lambda t,w:4.0*math.pi*sind(t/2.0)/w 4868 tof2q = lambda t,C:2.0*math.pi*C/t 4869 dataFile = G2frame.PatternTree.GetItemText(G2frame.PatternId) 4870 powName = 'PWDR'+dataFile[4:] 4871 powId = G2gd.GetPatternTreeItemId(G2frame,G2frame.root, powName) 4872 fullLimits,limits = G2frame.PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,powId, 'Limits'))[:2] 4873 inst = G2frame.PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,powId, 'Instrument Parameters'))[0] 4874 if 'C' in inst['Type'][0]: 4875 wave = G2mth.getWave(inst) 4876 keV = 12.397639/wave 4877 qLimits = [tth2q(fullLimits[0],wave),tth2q(fullLimits[1],wave)] 4878 polariz = inst['Polariz.'][1] 4879 else: #'T'of 4880 qLimits = [tof2q(fullLimits[1],inst['difC'][1]),tof2q(fullLimits[0],inst['difC'][1])] 4881 polariz = 1.0 4882 data['QScaleLim'][1] = min(qLimits[1],data['QScaleLim'][1]) 4883 if data['QScaleLim'][0]: 4884 data['QScaleLim'][0] = max(qLimits[0],data['QScaleLim'][0]) 4885 else: #initial setting at 90% of max Q 4886 data['QScaleLim'][0] = 0.90*data['QScaleLim'][1] 4887 itemDict = {} 4888 #patch 4889 if 'BackRatio' not in data: 4890 data['BackRatio'] = 0. 4891 if 'noRing' not in data: 4892 data['noRing'] = False 4893 if 'Rmax' not in data: 4894 data['Rmax'] = 100. 4895 if 'Flat Bkg' not in data: 4896 data['Flat Bkg'] = 0. 4897 if 'IofQmin' not in data: 4898 data['IofQmin'] = 1.0 4899 4899 if G2frame.dataDisplay: 4900 4900 G2frame.dataFrame.Clear()
Note: See TracChangeset
for help on using the changeset viewer.