Changeset 2297


Ignore:
Timestamp:
May 27, 2016 11:25:21 AM (6 years ago)
Author:
vondreele
Message:

implement creation of summed file from multi-frame ge image files; creates a G2img file which is put on tree in place of multi frame file. Subsequent accesses get teg G2img file.
Insert skipPageChange = True to prevent plot tab change causing tree change from Strain plots & Image plots

Location:
trunk
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/GSASII.py

    r2290 r2297  
    531531                                rd.Data['ImageTag'] = rd.repeatcount
    532532                            rd.Data['formatName'] = rd.formatName
     533#                            print rd.readfilename
     534#                            print rd.sumfile
     535#                            print rd.Image.shape,rd.Image.dtype
     536                            if rd.sumfile:
     537                                rd.readfilename = rd.sumfile
    533538                            G2IO.LoadImage2Tree(rd.readfilename,self,rd.Comments,rd.Data,rd.Npix,rd.Image)
    534539                            rd_list.append(True) # save a stub the result before it is written over
     
    27812786                            Comments.append("%10.3f %s" % (scale,' * '+name))
    27822787                            Npix,imagefile,imagetag = DataList[i]
     2788                            imagefile = G2IO.CheckImageFile(self,imagefile)
    27832789                            image = G2IO.GetImageData(self,imagefile,imageOnly=True,ImageTag=imagetag)
    27842790                            if First:
     
    28002806                        return
    28012807                       
    2802                     newImage = np.asfarray(newImage,dtype=np.float32)                       
     2808                       
     2809                    newImage = np.array(newImage,dtype=np.int32)                       
    28032810                    outname = 'IMG '+result[-1]
    28042811                    Id = 0
  • trunk/GSASIIIO.py

    r2296 r2297  
    16321632         * 'ImageTag': image number or other keyword used to retrieve image from
    16331633           a multi-image data file (defaults to ``1`` if not specified).
     1634         * 'sumfile': holds sum image file name if a sum was produced from a multi image file
    16341635
    16351636    optional data items:
     
    16621663        self.repeat = False
    16631664        self.repeatcount = 1
     1665        self.sumfile = ''
    16641666
    16651667    def LoadImage(self,ParentFrame,imagefile,imagetag=None):
  • trunk/GSASIIplot.py

    r2284 r2297  
    289289        if pid: self.G2frame.PatternTree.SelectItem(pid)
    290290        self.allowZoomReset = True
    291  #       print 'invoke',str(self).split('0x')[1]
     291#        print 'invoke',str(self).split('0x')[1],str(pid)
    292292           
    293293class GSASIItoolbar(Toolbar):
     
    26762676    Page.Choice = None
    26772677    G2frame.G2plotNB.RaisePageNoRefresh(Page)
     2678    G2frame.G2plotNB.skipPageChange = True      #to keep Stress/Strain data tab visible
    26782679    G2frame.G2plotNB.status.DestroyChildren()
    26792680    Plot.set_title('Strain')
     
    39493950                ypix = int(ypos*scaley)
    39503951                Int = 0
    3951                 if (0 <= xpix <= sizexy[0]) and (0 <= ypix <= sizexy[1]):
     3952                if (0 <= xpix < sizexy[0]) and (0 <= ypix < sizexy[1]):
    39523953                    Int = G2frame.ImageZ[ypix][xpix]
    39533954                tth,azm,D,dsp = G2img.GetTthAzmDsp(xpos,ypos,Data)
     
    41114112            G2frame.StrainKey = ''
    41124113            G2imG.UpdateStressStrain(G2frame,StrSta)
    4113             PlotStrain(G2frame,StrSta)
    41144114            wx.CallAfter(PlotImage,G2frame,newPlot=False)           
    41154115        else:
     
    42364236    if not event:                       #event from GUI TextCtrl - don't want focus to change to plot!!!
    42374237        G2frame.G2plotNB.RaisePageNoRefresh(Page)
     4238    G2frame.G2plotNB.skipPageChange = True
    42384239    Title = G2frame.PatternTree.GetItemText(G2frame.Image)[4:]
    42394240    G2frame.G2plotNB.status.DestroyChildren()
  • trunk/imports/G2img_1TIF.py

    r2133 r2297  
    245245                print 'Read APS PE-detector tiff file: ',filename
    246246                if dataType == 5:
    247                     image = np.array(ar.array('f',File.read(4*Npix)),dtype=np.float32)
     247                    image = np.array(ar.array('f',File.read(4*Npix)),dtype=np.intt32)
    248248                else:
    249249                    image = np.array(ar.array('I',File.read(4*Npix)),dtype=np.int32)
  • trunk/imports/G2img_GE.py

    r2296 r2297  
    6060        if imagenum is None: imagenum = 1
    6161        self.Comments,self.Data,self.Npix,self.Image,more = \
    62             GetGEsumData(filename,imagenum=imagenum)
     62            GetGEsumData(self,filename,imagenum=imagenum)
    6363        if self.Npix == 0 or not self.Comments:
    6464            return False
     
    8282            extensionlist=('.ge1','.ge2','.ge3','.ge4'),
    8383            strictExtension=True,
    84             formatName = 'GE multi-image summed',
     84            formatName = 'sum GE multi-image',
    8585            longFormatName = 'sum of GE multi-image file'
    8686            )
     
    104104        if imagenum is None: imagenum = 1
    105105        self.Comments,self.Data,self.Npix,self.Image,more = \
    106             GetGEsumData(filename,imagenum=imagenum,sum=True)
     106            GetGEsumData(self,filename,imagenum=imagenum,sum=True)
    107107        if self.Npix == 0 or not self.Comments:
    108108            return False
     
    112112        return True
    113113
    114 def GetGEsumData(filename,imagenum=1,sum=False):
     114def GetGEsumData(self,filename,imagenum=1,sum=False):
    115115    '''Read G.E. detector images from various files as produced at 1-ID and
    116116    with Detector Pool detector. Also sums multiple image files if desired
     
    118118    import struct as st
    119119    import array as ar
     120    import cPickle
    120121    more = False
    121122    File = open(filename,'rb')
     
    154155        head += ['file: '+filename+' image #'+str(imagenum),]
    155156        if sum:    #will ignore imagenum
     157            print 'Frames to read %d'%(nframes),
    156158            while nframes > 1: #OK, this will sum the frames.
    157                 image += np.array(ar.array('H',File.read(2*Npix)),dtype=np.int32)
     159                try:
     160                    image += np.array(ar.array('H',File.read(2*Npix)),dtype=np.int32)
     161                except ValueError:
     162                    break
    158163                nframes -= 1
     164                print '%d'%(nframes),
     165            print ''   
    159166            more = False
     167            filename = os.path.splitext(filename)[0]+'.G2img'
     168            File = open(filename,'wb')
     169            Data = {'pixelSize':[200,200],'wavelength':0.15,'distance':250.0,'center':[204.8,204.8],'size':sizexy}
     170            image = np.reshape(image,(sizexy[1],sizexy[0]))
     171            cPickle.dump([head,Data,Npix,image],File,1)
     172            File.close()
     173            self.sumfile = filename
     174            self.formatName = 'Summed GSAS-II image'
     175            sum = False
    160176    image = np.reshape(image,(sizexy[1],sizexy[0]))
    161177    data = {'pixelSize':[200,200],'wavelength':0.15,'distance':250.0,'center':[204.8,204.8],'size':sizexy}
  • trunk/imports/G2img_SumG2.py

    r2133 r2297  
    3636        '''
    3737        try:
    38             Fp = open(filename,'rb')
    39             cPickle.load(Fp)
     38            cPickle.load(filepointer)
    4039        except:
    4140            return False
Note: See TracChangeset for help on using the changeset viewer.