Ignore:
Timestamp:
May 25, 2020 11:07:21 AM (2 years ago)
Author:
vondreele
Message:

change ifConstraint flag in Transform to False
flag missing reflection list in RMCProfile setup
use Limits to bound PWDR sum routine - allows summing of unequal scans

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/GSASIIdataGUI.py

    r4431 r4432  
    33823382        '''Allows user to supply scale factor(s) when summing data
    33833383        '''
    3384         def __init__(self,parent,title,text,dataType,data,dataList):
     3384        def __init__(self,parent,title,text,dataType,data,dataList,Limits=None):
    33853385            wx.Dialog.__init__(self,parent,-1,title,size=(400,250),
    33863386                pos=wx.DefaultPosition,style=wx.DEFAULT_DIALOG_STYLE|wx.RESIZE_BORDER)
     
    33943394            self.selectVals = len(data)*[0.0,]
    33953395            self.dataList = dataList
     3396            self.Limits = Limits
    33963397            self.filterlist = range(len(self.dataList)) # list of the choice numbers that have been filtered (list of int indices)
    33973398            self.dataType = dataType
     
    35333534                if scale:
    35343535                    x,y,w,yc,yb,yd = data   #numpy arrays!
     3536                    if self.Limits is not None:
     3537                        xMin = np.searchsorted(x,self.Limits[1][0])
     3538                        xMax = np.searchsorted(x,self.Limits[1][1])
     3539                        x = x[xMin:xMax]
     3540                        y = y[xMin:xMax]
     3541                        lenX = xMax-xMin
    35353542                    XY.append([x,scale*y])
    35363543                    v = 1./w
     
    35403547                                '\nExpected:'+str(lenX)+
    35413548                                '\nFound:   '+str(len(x))+'\nfor '+name)
    3542                             self.OnCancel(event)
     3549                            return
     3550#                            self.OnCancel(event)
    35433551                    else:
    35443552                        lenX = len(x)
     
    35483556                                '\nExpected:'+str(Xminmax[0])+' '+str(Xminmax[1])+
    35493557                                '\nFound:   '+str(x[0])+' '+str(x[-1])+'\nfor '+name)
    3550                             self.OnCancel(event)
     3558                            return
     3559#                            self.OnCancel(event)
    35513560                    else:
    35523561                        Xminmax = [x[0],x[-1]]
     
    35983607        TextList = []
    35993608        DataList = []
     3609        Limits = []
    36003610        Names = []
    36013611        Inst = None
     
    36113621                    if not Inst:
    36123622                        Inst = self.GPXtree.GetItemPyData(GetGPXtreeItemId(self,item, 'Instrument Parameters'))
     3623                    if not Limits:
     3624                        Limits = self.GPXtree.GetItemPyData(GetGPXtreeItemId(self,item, 'Limits'))
    36133625                item, cookie = self.GPXtree.GetNextChild(self.root, cookie)
    36143626            if len(TextList) < 2:
     
    36163628                return
    36173629            TextList.append('default_ave_name')               
    3618             dlg = self.SumDialog(self,'Sum/Average data',' Enter scale for each pattern to be summed/averaged','PWDR',TextList,DataList)
     3630            dlg = self.SumDialog(self,'Sum/Average data','''
     3631    Enter scale for each pattern to be summed/averaged
     3632    Limits for first pattern used sets range for the sum
     3633    All patterns used must extend over this range
     3634                ''','PWDR',
     3635                TextList,DataList,Limits)
    36193636            try:
    36203637                if dlg.ShowModal() == wx.ID_OK:
     
    36833700                return
    36843701            TextList.append('default_sum_name')               
    3685             dlg = self.SumDialog(self,'Sum data',' Enter scale for each image to be summed','IMG',TextList,DataList)
     3702            dlg = self.SumDialog(self,'Sum data',' Enter scale for each image to be summed','IMG',
     3703                TextList,DataList)
    36863704            try:
    36873705                if dlg.ShowModal() == wx.ID_OK:
Note: See TracChangeset for help on using the changeset viewer.