Changeset f310316 in sasview for invariantview/perspectives/invariant
- Timestamp:
- Jul 29, 2010 6:54:04 PM (14 years ago)
- Branches:
- master, ESS_GUI, ESS_GUI_Docs, ESS_GUI_batch_fitting, ESS_GUI_bumps_abstraction, ESS_GUI_iss1116, ESS_GUI_iss879, ESS_GUI_iss959, ESS_GUI_opencl, ESS_GUI_ordering, ESS_GUI_sync_sascalc, costrafo411, magnetic_scatt, release-4.1.1, release-4.1.2, release-4.2.2, release_4.0.1, ticket-1009, ticket-1094-headless, ticket-1242-2d-resolution, ticket-1243, ticket-1249, ticket885, unittest-saveload
- Children:
- 178bfea
- Parents:
- 0881f51
- Location:
- invariantview/perspectives/invariant
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
invariantview/perspectives/invariant/invariant_state.py
r51fb7ab rf310316 5 5 from xml.dom.minidom import parse 6 6 from lxml import etree 7 """ 8 try: 9 import PIL.Image as Image 10 import PIL.PngImagePlugin as PngImagePlugin 11 Image._initialized = 2 12 except: 13 try: 14 import Image 15 import PngImagePlugin 16 Image._initialized = 2 17 except: 18 Image = None 19 """ 20 7 21 8 22 from DataLoader.readers.cansas_reader import Reader as CansasReader … … 537 551 import cStringIO 538 552 import matplotlib,wx 539 matplotlib.use('Agg')540 553 import matplotlib.pyplot as plt 541 import Image542 554 from matplotlib.backends.backend_agg import FigureCanvasAgg 555 543 556 #we use simple plot, not plotpanel 544 557 #make matlab figure 545 558 fig = plt.figure() 559 fig.set_facecolor('w') 546 560 graph = fig.add_subplot(111) 547 561 548 562 #data plot 549 563 graph.errorbar(self.data.x, self.data.y, yerr=self.data.dy, fmt='o') … … 556 570 graph.set_xscale("log", nonposx='clip') 557 571 graph.set_yscale("log", nonposy='clip') 558 plt.xlabel('$\\rm{Q}(\\AA^{-1})$', fontsize = 12) 559 plt.ylabel('$\\rm{Intensity}(cm^{-1})$', fontsize = 12) 560 561 #make python.Image object 562 imagedata = cStringIO.StringIO() 563 fig.savefig(imagedata,format='png') 564 imagedata.seek(0) 565 img = Image.open(imagedata) 572 graph.set_xlabel('$\\rm{Q}(\\AA^{-1})$', fontsize = 12) 573 graph.set_ylabel('$\\rm{Intensity}(cm^{-1})$', fontsize = 12) 574 canvas = FigureCanvasAgg(fig) 575 #actually make image 576 canvas.draw() 577 578 #make python.Image object 579 #size 580 w,h =canvas.get_width_height() 566 581 #convert to wx.Image 567 wxim = wx.EmptyImage(img.size[0],img.size[1]) 568 wxim.SetData(img.convert("RGB").tostring()) 582 wximg = wx.EmptyImage(w,h) 583 #wxim.SetData(img.convert('RGB').tostring() ) 584 wximg.SetData(canvas.tostring_rgb()) 569 585 #get the dynamic image for the htmlwindow 570 wxim bmp = wx.BitmapFromImage(wxim)586 wximgbmp = wx.BitmapFromImage(wximg) 571 587 #store the image in wx.FileSystem Object 572 588 wx.FileSystem.AddHandler(wx.MemoryFSHandler()) … … 574 590 self.imgRAM = wx.MemoryFSHandler() 575 591 #AddFile, image can be retrieved with 'memory:filename' 576 self.imgRAM.AddFile('img_inv.png',wxim bmp, wx.BITMAP_TYPE_PNG)577 578 self.wxim bmp = 'memory:img_inv.png'579 self.image = img592 self.imgRAM.AddFile('img_inv.png',wximgbmp, wx.BITMAP_TYPE_PNG) 593 594 self.wximgbmp = 'memory:img_inv.png' 595 self.image = fig 580 596 581 597 class Reader(CansasReader): -
invariantview/perspectives/invariant/report_dialog.py
r9fb814a rf310316 113 113 dlg = wx.FileDialog(self, "Choose a file",\ 114 114 wildcard ='HTML files (*.html)|*.html|'+ 115 'Text files (*.txt)|*.txt|'+ 116 'PDF files (*.pdf)|*.pdf', 115 'Text files (*.txt)|*.txt', 117 116 style = wx.SAVE|wx.OVERWRITE_PROMPT|wx.CHANGE_DIR) 118 117 dlg.SetFilterIndex(0) #Set .html files to be default … … 136 135 f.close() 137 136 #save png file using pic_fname 138 self.report_list[2].save (pic_fname)137 self.report_list[2].savefig(pic_fname) 139 138 140 139 elif dlg.GetFilterIndex()== 1: … … 146 145 f.write(text) 147 146 f.close() 148 149 elif dlg.GetFilterIndex()== 2: 150 fName = os.path.splitext(fName)[0] + '.pdf' 151 dlg.Destroy() 152 153 #pic (png) file path/name 154 pic_fname = os.path.splitext(fName)[0] + '_img.png' 155 # save the image for use with pdf writer 156 self.report_list[2].save(pic_fname) 157 158 # put the image file path in the html data 159 html = self.report_list[0] % str(pic_fname) 160 161 open_pdf = True 162 # make/open file in case of absence 163 f = open(fName, 'w') 164 f.close() 165 # write pdf as a pdf file 166 pdf = self.HTML2PDF(data=html, filename=fName) 167 168 #open pdf 169 if open_pdf and pdf: 170 os.startfile(str(fName)) 171 172 #delete image file 173 os.remove(pic_fname) 174 147 175 148 def onPreview(self,event=None): 176 149 """
Note: See TracChangeset
for help on using the changeset viewer.