Changeset 268


Ignore:
Timestamp:
Apr 21, 2011 12:59:52 PM (10 years ago)
Author:
vondreele
Message:

fix integration limits issues
changes to full image integration control

Location:
trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/GSASIIimage.py

    r267 r268  
    301301    dsp = wave/(2.*npsind(tth/2.))
    302302    azm = (npatan2d(dx,-dy)+azmthoff+720.)%360.
    303     azm = np.where(azm<LRazim[0],azm+360.,azm)
     303    azm = np.where(azm>180,azm-360.,azm)
    304304    return tth,azm,dsp
    305305   
     
    590590                Nup += 1
    591591                dlg.Update(Nup)
     592                tax = np.where(tax > LRazm[1],tax-360.,tax)                 #put azm inside limits if possible
     593                tax = np.where(tax < LRazm[0],tax+360.,tax)
    592594                NST,H0 = h2d.histogram2d(len(tax),tax,tay,taz,numAzms,numChans,LRazm,LUtth,Dazm,Dtth,NST,H0)
    593595                del tax,tay,taz
  • trunk/GSASIIimgGUI.py

    r267 r268  
    171171        G2plt.PlotExposedImage(self,event=event)
    172172       
    173     def OnFullIntegrate(event):
    174         if data['fullIntegrate']:
    175             data['fullIntegrate'] = False
    176             self.Lazim.SetEditable(True)           
    177             self.Razim.SetEditable(True)           
    178         else:
    179             data['fullIntegrate'] = True
    180             self.Lazim.SetEditable(False)           
    181             self.Razim.SetEditable(False)
    182         UpdateImageControls(self,data,masks)           
    183         G2plt.PlotExposedImage(self,event=event)
    184        
    185173    def OnSetDefault(event):
    186174        import copy
     
    202190        G2plt.PlotExposedImage(self,event=event)
    203191       
     192    def OnFullIntegrate(event):
     193        Lazm =int(self.Lazim.GetValue())
     194        if data['fullIntegrate']:
     195            data['fullIntegrate'] = False
     196            data['LRazimuth'] = [Lazm,Lazm+20]
     197        else:
     198            data['fullIntegrate'] = True
     199            data['LRazimuth'] = [Lazm,Lazm+360]
     200        UpdateImageControls(self,data,masks)           
     201        G2plt.PlotExposedImage(self,event=event)
     202       
    204203    def OnLRazim(event):
    205         Lazm = min(180,int(self.Lazim.GetValue()))
    206         Razm = max(-180,int(self.Razim.GetValue()))
     204        Lazm =int(self.Lazim.GetValue())
     205        if data['fullIntegrate']:
     206           self.Razim.SetValue("%6d" % (Lazm+360))
     207        Razm = int(self.Razim.GetValue())
     208        if Lazm > Razm:
     209            Lazm -= 360
    207210        data['LRazimuth'] = [Lazm,Razm]
    208211        G2plt.PlotExposedImage(self,event=event)
     
    496499    self.Razim.Bind(wx.EVT_TEXT_ENTER,OnLRazim)
    497500    self.Razim.Bind(wx.EVT_KILL_FOCUS,OnLRazim)
     501    if data['fullIntegrate']:
     502        self.Razim.Enable(False)
     503        self.Razim.SetBackgroundColour(VERY_LIGHT_GREY)
     504        self.Razim.SetValue("%6d" % (LRazim[0]+360))
    498505    littleSizer.Add(self.Razim,0,wx.ALIGN_CENTER_VERTICAL)
    499506    dataSizer.Add(littleSizer,0,)
  • trunk/GSASIIplot.py

    r267 r268  
    13311331                        elif 'line2' in itemPicked:
    13321332                            Data['IOtth'][1] = tth
    1333                         elif 'line3' in itemPicked and not Data['fullIntegrate']:
     1333                        elif 'line3' in itemPicked:
    13341334                            Data['LRazimuth'][0] = int(azm)
     1335                            if Data['fullIntegrate']:
     1336                                Data['LRazimuth'][1] = Data['LRazimuth'][0]+360
    13351337                        elif 'line4' in itemPicked and not Data['fullIntegrate']:
    13361338                            Data['LRazimuth'][1] = int(azm)
    13371339                           
    1338                         if Data['LRazimuth'][1] < Data['LRazimuth'][0]:
    1339                             Data['LRazimuth'][1] += 360
     1340                        if Data['LRazimuth'][0] > Data['LRazimuth'][1]:
     1341                            Data['LRazimuth'][0] -= 360
     1342                           
     1343                        azLim = np.array(Data['LRazimuth'])   
     1344                        if np.any(azLim>360):
     1345                            azLim -= 360
     1346                            Data['LRazimuth'] = list(azLim)
     1347                           
    13401348                        if  Data['IOtth'][0] > Data['IOtth'][1]:
    13411349                            Data['IOtth'][0],Data['IOtth'][1] = Data['IOtth'][1],Data['IOtth'][0]
     
    14791487        if Data['showLines']:
    14801488            LRAzim = Data['LRazimuth']                  #NB: integers
    1481             if Data['fullIntegrate']: LRAzim = [0,360]
    14821489            Nazm = Data['outAzimuths']
    14831490            delAzm = float(LRAzim[1]-LRAzim[0])/Nazm
     
    14891496            dspO = wave/(2.0*sind(IOtth[1]/2.0))
    14901497            ellO = G2img.GetEllipse(dspO,Data)           #Ditto & more likely for outer ellipse
    1491             if Data['fullIntegrate']:
    1492                 Azm = np.array(range(0,361))
    1493             else:
    1494                 Azm = np.array(range(LRAzim[0],LRAzim[1]+1))-AzmthOff
     1498            Azm = np.array(range(LRAzim[0],LRAzim[1]+1))-AzmthOff
    14951499            if ellI:
    14961500                xyI = []
     
    15071511                arcxO,arcyO = xyO.T
    15081512                Plot.plot(arcxO,arcyO,picker=3)
    1509             if ellO and ellI and not Data['fullIntegrate']:
     1513            if ellO and ellI:
    15101514                Plot.plot([arcxI[0],arcxO[0]],[arcyI[0],arcyO[0]],picker=3)
    15111515                Plot.plot([arcxI[-1],arcxO[-1]],[arcyI[-1],arcyO[-1]],picker=3)
    1512             if Nazm > 1:
    1513                 for i in range(Nazm):
    1514                     if Data['fullIntegrate']:
    1515                         cake = (LRAzim[0]+i*delAzm+720)%360
    1516                     else:
    1517                         cake = LRAzim[0]+i*delAzm
    1518                     ind = np.searchsorted(Azm,cake)
    1519                     Plot.plot([arcxI[ind],arcxO[ind]],[arcyI[ind],arcyO[ind]],color='k',dashes=(5,5))
     1516            for i in range(Nazm):
     1517                cake = LRAzim[0]+i*delAzm
     1518                ind = np.searchsorted(Azm,cake)
     1519                Plot.plot([arcxI[ind],arcxO[ind]],[arcyI[ind],arcyO[ind]],color='k',dashes=(5,5))
    15201520                   
    15211521        for xring,yring in Data['ring']:
Note: See TracChangeset for help on using the changeset viewer.