Changeset 2174
- Timestamp:
- Mar 16, 2016 1:25:24 PM (9 years ago)
- Location:
- trunk
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified trunk/GSASII.py ¶
r2160 r2174 2325 2325 self.oldImagefile = '' # the name of the last image file read 2326 2326 self.oldImageTag = None # the name of the tag for multi-image files 2327 self.ImageZ = [] # this contains the image plotted and used for integration2327 self.ImageZ = [] # this contains the image plotted 2328 2328 # self.ImageZ and self.oldImagefile are set in GSASIIplot.PlotImage 2329 2329 # and GSASIIIO.GetImageData -
TabularUnified trunk/GSASIIimgGUI.py ¶
r2149 r2174 149 149 style = wx.PD_ELAPSED_TIME|wx.PD_AUTO_HIDE) 150 150 try: 151 sumImg = G2frame.ImageZ 151 Npix,imagefile,imagetag = G2frame.PatternTree.GetImageLoc(G2frame.Image) 152 sumImg = G2IO.GetImageData(G2frame,imagefile,True,ImageTag=imagetag) 152 153 darkImg,darkScale = data['dark image'] 154 backImg,backScale = data['background image'] 153 155 if darkImg: 154 156 Did = G2gd.GetPatternTreeItemId(G2frame, G2frame.root, darkImg) … … 156 158 darkImage = G2IO.GetImageData(G2frame,imagefile,True,ImageTag=imagetag) 157 159 sumImg += darkImage*darkScale 158 backImg,backScale = data['background image']159 160 if backImg: #ignores any transmission effect in the background image 160 161 Bid = G2gd.GetPatternTreeItemId(G2frame, G2frame.root, backImg) … … 162 163 backImage = G2IO.GetImageData(G2frame,imagefile,True,ImageTag=imagetag) 163 164 Bdata = G2frame.PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,Bid,'Image Controls')) 164 BdarkImg,BdarkScale = Bdata['dark image'] 165 if BdarkImg: 166 BDid = G2gd.GetPatternTreeItemId(G2frame, G2frame.root,BdarkImg) 167 Npix,imagefile,imagetag = G2frame.PatternTree.GetImageLoc(BDid) 168 BdarkImage = G2IO.GetImageData(G2frame,imagefile,True,ImageTag=imagetag) 169 backImage += BdarkImage*BdarkScale 165 if darkImg: 166 Did = G2gd.GetPatternTreeItemId(G2frame, G2frame.root,darkImg) 167 Npix,imagefile,imagetag = G2frame.PatternTree.GetImageLoc(Did) 168 darkImage = G2IO.GetImageData(G2frame,imagefile,True,ImageTag=imagetag) 169 backImage += darkImage*darkScale 170 170 sumImg += backImage*backScale 171 171 G2frame.Integrate = G2img.ImageIntegrate(sumImg-data['Flat Bkg'],data,masks,blkSize,dlg) 172 # G2plt.PlotIntegration(G2frame,newPlot=True)173 172 Id = G2IO.SaveIntegration(G2frame,G2frame.PickId,data,(event is None)) 174 173 G2frame.PatternId = Id … … 186 185 while id: 187 186 name = G2frame.PatternTree.GetItemText(id) 188 # Names.append(name)189 187 if 'IMG' in name: 190 188 TextList.append([False,name,id]) … … 214 212 style = wx.PD_ELAPSED_TIME|wx.PD_AUTO_HIDE) 215 213 try: 216 id = G2gd.GetPatternTreeItemId(G2frame, G2frame.root, name)217 214 Npix,imagefile,imagetag = G2frame.PatternTree.GetImageLoc(id) 218 215 image = G2IO.GetImageData(G2frame,imagefile,True,ImageTag=imagetag) 219 backImage = [] 220 if Data['background image'][0]: 221 backImg = Data['background image'][0] 222 backScale = Data['background image'][1] 216 darkImg,darkScale = data['dark image'] 217 backImg,backScale = data['background image'] 218 if darkImg: 219 id = G2gd.GetPatternTreeItemId(G2frame, G2frame.root, darkImg) 220 Npix,imagefile,imagetag = G2frame.PatternTree.GetImageLoc(id) 221 darkImage = G2IO.GetImageData(G2frame,imagefile,True,ImageTag=imagetag) 222 image += darkScale*darkImage 223 if backImg: 223 224 id = G2gd.GetPatternTreeItemId(G2frame, G2frame.root, backImg) 224 225 Npix,imagefile,imagetag = G2frame.PatternTree.GetImageLoc(id) 225 backImage = G2IO.GetImageData(G2frame,imagefile,True,ImageTag=imagetag)*backScale 226 FlatBkg = Data.get('Flat Bkg',0.0) 227 try: 228 Masks = G2frame.PatternTree.GetItemPyData( 229 G2gd.GetPatternTreeItemId(G2frame,id, 'Masks')) 230 except TypeError: #missing Masks 231 # I think the next line should be 'range'! (BHT) 232 Imin,Imax = Data['Range'] 233 Masks = {'Points':[],'Rings':[],'Arcs':[],'Polygons':[],'Frames':[],'Thresholds':[(Imin,Imax),[Imin,Imax]]} 234 G2frame.PatternTree.SetItemPyData( 235 G2gd.GetPatternTreeItemId(G2frame,id, 'Masks'),Masks) 236 CleanupMasks(Masks) 237 if len(backImage): 238 G2frame.Integrate = G2img.ImageIntegrate(image+backImage-FlatBkg,Data,Masks,blkSize,dlgp) 239 else: 240 G2frame.Integrate = G2img.ImageIntegrate(image-FlatBkg,Data,Masks,blkSize,dlgp) 226 backImage = G2IO.GetImageData(G2frame,imagefile,True,ImageTag=imagetag) 227 Bdata = G2frame.PatternTree.GetItemPyData(G2gd.GetPatternTreeItemId(G2frame,id,'Image Controls')) 228 if darkImg: 229 id = G2gd.GetPatternTreeItemId(G2frame, G2frame.root,darkImg) 230 Npix,imagefile,imagetag = G2frame.PatternTree.GetImageLoc(id) 231 darkImage = G2IO.GetImageData(G2frame,imagefile,True,ImageTag=imagetag) 232 backImage += darkImage*darkScale 233 image += backImage*backScale 234 image -= Data['Flat Bkg'] 235 Masks = G2frame.PatternTree.GetItemPyData( 236 G2gd.GetPatternTreeItemId(G2frame,id, 'Masks')) 237 G2frame.Integrate = G2img.ImageIntegrate(image,Data,Masks,blkSize,dlgp) 241 238 pId = G2IO.SaveIntegration(G2frame,Id,Data) 242 239 finally: -
TabularUnified trunk/GSASIIphsGUI.py ¶
r2172 r2174 2411 2411 Obj = event.GetEventObject() 2412 2412 data['Layers']['Laue'] = Obj.GetValue() 2413 UpdateLayerData()2413 wx.CallAfter(UpdateLayerData) 2414 2414 2415 2415 def OnToler(event): #used when Laue = unknown … … 2427 2427 [['mmm'],8,zip([" a = "," b = "," c = "],["%.5f","%.5f","%.5f"],[True,True,True],[0,1,2,])], 2428 2428 [['2/m(ab)','2/m(c)','-1','axial','unknown'],10,zip([" a = "," b = "," c = "," gamma = "], 2429 ["%.5f","%.5f","%.5f","%.3f"],[True,True,True,True],[0,1,2, 3])]]2429 ["%.5f","%.5f","%.5f","%.3f"],[True,True,True,True],[0,1,2,5])]] 2430 2430 2431 2431 def OnCellRef(event): … … 2459 2459 cell[4] = cell[5] = cell[6] = 90. 2460 2460 Obj.SetValue("%.5f"%(cell[ObjId+1])) 2461 elif laue in ['2/m' ]:2461 elif laue in ['2/m','-1']: 2462 2462 cell[4] = cell[5] = 90. 2463 2463 if ObjId != 3: … … 2467 2467 cell[6] = value 2468 2468 Obj.SetValue("%.3f"%(cell[6])) 2469 else:2470 cell[ObjId+1] = value2471 if ObjId < 3:2472 Obj.SetValue("%.5f"%(cell[1+ObjId]))2473 else:2474 Obj.SetValue("%.3f"%(cell[1+ObjId]))2475 2469 cell[7] = G2lat.calc_V(G2lat.cell2A(cell[1:7])) 2476 2470 volVal.SetLabel(' Vol = %.3f'%(cell[7])) -
TabularUnified trunk/GSASIIplot.py ¶
r2173 r2174 4147 4147 Plot.plot([arcxI[ind],arcxO[ind]],[arcyI[ind],arcyO[ind]],color='k',dashes=(5,5)) 4148 4148 4149 if G2frame.P atternTree.GetItemText(G2frame.PickId) in 'Image Controls':4149 if G2frame.PickId and G2frame.PatternTree.GetItemText(G2frame.PickId) in 'Image Controls': 4150 4150 for xring,yring in Data['ring']: 4151 4151 Plot.plot(xring,yring,'r+',picker=3) … … 5813 5813 TX += np.array(Trans[laySeq[il-1]][layer][1:4]) 5814 5814 XYZ += TX 5815 XYZT = XYZ.T5816 XYZT[0] = XYZT[0]%1.5817 XYZT[1] = XYZT[1]%1.5818 XYZ = XYZT.T5819 5815 AtNames += atNames 5820 5816 AtTypes += atTypes … … 5839 5835 5840 5836 cell = Layers['Cell'][1:7] 5837 print cell 5841 5838 Amat,Bmat = G2lat.cell2AB(cell) #Amat - crystal to cartesian, Bmat - inverse 5842 5839 A4mat = np.concatenate((np.concatenate((Amat,[[0],[0],[0]]),axis=1),[[0,0,0,1],]),axis=0) … … 6036 6033 for line,color in zip(uEdges,uColors): 6037 6034 glColor3ubv(color) 6038 glVertex3fv(-line[1]) 6035 glVertex3fv([0,0,0]) 6036 # glVertex3fv(-line[1]) 6039 6037 glVertex3fv(line[1]) 6040 6038 glEnd() -
TabularUnified trunk/GSASIIpwd.py ¶
r2172 r2174 1809 1809 gam = Layers['Cell'][6] 1810 1810 df.write('%.4f %.4f %.4f %.3f\n'%(a,b,c,gam)) 1811 laue = Layers['Laue'] 1812 if laue == '2/m(ab)': 1813 laue = '2/m(1)' 1814 elif laue == '2/m(c)': 1815 laue = '2/m(2)' 1811 1816 if 'unknown' in Layers['Laue']: 1812 df.write('%s %.3f\n'%( Layers['Laue'],Layers['Toler']))1817 df.write('%s %.3f\n'%(laue,Layers['Toler'])) 1813 1818 else: 1814 df.write('%s\n'%( Layers['Laue']))1819 df.write('%s\n'%(laue)) 1815 1820 df.write('%d\n'%(len(Layers['Layers']))) 1816 1821 if Layers['Width'][0][0] < 1. or Layers['Width'][0][1] < 1.: … … 1853 1858 df.write('TRANSITIONS\n') 1854 1859 for iY in range(len(Layers['Layers'])): 1860 sumPx = 0. 1855 1861 for iX in range(len(Layers['Layers'])): 1856 1862 p,dx,dy,dz = Layers['Transitions'][iY][iX][:4] 1857 df.write('%.3f %.5f %.5f %.5f\n'%(p,dx,dy,dz)) 1863 p = round(p,3) 1864 df.write('%.3f %.5f %.5f %.5f\n'%(p,dx,dy,dz)) 1865 sumPx += p 1866 if sumPx != 1.0: #this has to be picky since DIFFaX is. 1867 print 'ERROR - Layer probabilities sum to ',sumPx,' DIFFaX will insist it = 1.0' 1868 df.close() 1869 os.remove('data.sfc') 1870 os.remove('control.dif') 1871 os.remove('GSASII-DIFFaX.dat') 1872 return 1858 1873 df.close() 1859 1874 time0 = time.time() 1860 1875 subp.call(DIFFaX) 1861 1876 print 'DIFFaX time = %.2fs'%(time.time()-time0) 1862 Xpat = np.loadtxt('GSASII-DIFFaX.spc').T 1863 iFin = iBeg+Xpat.shape[1] 1864 bakType,backDict,backVary = SetBackgroundParms(background) 1865 backDict['Lam1'] = G2mth.getWave(inst) 1866 # GSASIIpath.IPyBreak() 1867 profile[4][iBeg:iFin] = getBackground('',backDict,bakType,inst['Type'][0],profile[0][iBeg:iFin])[0] 1868 profile[3][iBeg:iFin] = Xpat[2]*scale+profile[4][iBeg:iFin] 1869 if not np.any(profile[1]): #fill dummy data x,y,w,yc,yb,yd 1870 rv = st.poisson(profile[3][iBeg:iFin]) 1871 profile[1][iBeg:iFin] = rv.rvs() 1872 Z = np.ones_like(profile[3][iBeg:iFin]) 1873 Z[1::2] *= -1 1874 profile[1][iBeg:iFin] = profile[3][iBeg:iFin]+np.abs(profile[1][iBeg:iFin]-profile[3][iBeg:iFin])*Z 1875 profile[2][iBeg:iFin] = np.where(profile[1][iBeg:iFin]>0.,1./profile[1][iBeg:iFin],1.0) 1876 profile[5][iBeg:iFin] = profile[1][iBeg:iFin]-profile[3][iBeg:iFin] 1877 1878 1877 if os.path.exists('GSASII-DIFFaX.spc'): 1878 Xpat = np.loadtxt('GSASII-DIFFaX.spc').T 1879 iFin = iBeg+Xpat.shape[1] 1880 bakType,backDict,backVary = SetBackgroundParms(background) 1881 backDict['Lam1'] = G2mth.getWave(inst) 1882 # GSASIIpath.IPyBreak() 1883 profile[4][iBeg:iFin] = getBackground('',backDict,bakType,inst['Type'][0],profile[0][iBeg:iFin])[0] 1884 profile[3][iBeg:iFin] = Xpat[2]*scale+profile[4][iBeg:iFin] 1885 if not np.any(profile[1]): #fill dummy data x,y,w,yc,yb,yd 1886 rv = st.poisson(profile[3][iBeg:iFin]) 1887 profile[1][iBeg:iFin] = rv.rvs() 1888 Z = np.ones_like(profile[3][iBeg:iFin]) 1889 Z[1::2] *= -1 1890 profile[1][iBeg:iFin] = profile[3][iBeg:iFin]+np.abs(profile[1][iBeg:iFin]-profile[3][iBeg:iFin])*Z 1891 profile[2][iBeg:iFin] = np.where(profile[1][iBeg:iFin]>0.,1./profile[1][iBeg:iFin],1.0) 1892 profile[5][iBeg:iFin] = profile[1][iBeg:iFin]-profile[3][iBeg:iFin] 1879 1893 #cleanup files.. 1894 os.remove('GSASII-DIFFaX.spc') 1880 1895 os.remove('data.sfc') 1881 1896 os.remove('control.dif') 1882 1897 os.remove('GSASII-DIFFaX.dat') 1883 os.remove('GSASII-DIFFaX.spc')1884 1898 1885 1899 #testing data
Note: See TracChangeset
for help on using the changeset viewer.