Пример #1
0
 def mean_axis(self, T=False):
     tmplst = []
     for obj in self.datlst:
         obj.mean_axis(T)
         tmplst += [obj.mean]
     self.mean = h4d.handle_4d()
     self.mean.set_multi(tmplst, T=True)
Пример #2
0
 def trapezoid(self, abcs=0,lgtd=1, T=False):
     from modules.numerical_utils.basic_util import trapezoid
     tmplst = []
     for obj in self.datlst:
         obj.trapezoid(abcs, lgtd, T)
         tmplst += [obj.trap]
     self.trap = h4d.handle_4d()
     self.trap.set_multi(tmplst, T=True)
Пример #3
0
    def subtract(self, abcs=2, lgtd=1, absolute=True):
        self.hist.input()
        lsts = lstsplit(self.datlst,2)
        retlsts= []
        for a,b in lsts:
                
            if a.T == False:
                a.transpose()
            if b.T == False:
                b.transpose()

            a_arrs = a.get_data()
            b_arrs = b.get_data()
            
            retlst = [[], [], []]
            for n, a_y in enumerate(a_arrs[lgtd]):
                flag = False
                a_tmpx = a_arrs[abcs][n][0]
                for i, b_y in enumerate(b_arrs[lgtd]):
                    b_tmpx = b_arrs[abcs][i][0]
                    if a_tmpx == b_tmpx:
                        if absolute:
                            a_y = abs(a_y) - abs(b_y)
                        else:
                            a_y -= b_y
                        flag = True
                        break
                    else:
                        continue
                    
                if flag:
                    a_x = a_arrs[abcs][n]
                    a_z = a_arrs[3-abcs-lgtd][n]
                    retlst[abcs] += [a_x]
                    retlst[lgtd] += [a_y]
                    retlst[3-abcs-lgtd] += [a_z]
            tmp = h4d.handle_4d()
            tmp.T = True
            tmp.dinput(array(retlst))
            retlsts += [tmp]
        self.sbt = h4d.handle_5d(retlsts)
Пример #4
0
    def prof_ave(self, abcs=2, lgtd=1,  errb=False):
        if self.T == False:
            self.transpose()

        #self.sort(abcs)
        #arrs = self.sorted.get_data()
        arrs = self.get_data()
        
        retlst = [[], [], []]
        currx = nan
        retxarr = None
        retzarr = None
        for n, y in enumerate(arrs[lgtd]):
            tmpx = arrs[abcs][n][0]
            tmpxarr = arrs[abcs][n]
            tmpzarr = arrs[3-abcs-lgtd][n]

            if tmpx == currx:
                sumy += y
                i += 1
            else:
                if type(retxarr) != type(None):
                    retlst[abcs] += [retxarr]
                    retlst[lgtd] += [sumy / i]
                    retlst[3-abcs-lgtd] += [retzarr]
                
                retxarr = tmpxarr
                sumy = y
                retzarr = tmpzarr
                currx = tmpx 
                i = 1
        
        retlst[abcs] += [retxarr]
        retlst[lgtd] += [sumy / i]
        retlst[3-abcs-lgtd] += [retzarr]
        self.pave = h4d.handle_4d()
        self.pave.T = True
        self.pave.dinput(array(retlst))