fiber.py 文件源码

python
阅读 59 收藏 0 点赞 0 评论 0

项目:Panacea 作者: grzeimann 项目源码 文件源码
def eval_trace_poly(self, use_poly=False, smoothing_length=25):
        sel = self.trace_x != self.flag
        if use_poly:
            self.trace = np.polyval(self.trace_polyvals, 
                                    1. * np.arange(self.D) / self.D)
        else:
            self.trace = np.zeros((self.D,))
            init_x = np.where(sel)[0][0]
            fin_x = np.where(sel)[0][-1]
            self.trace[init_x:fin_x] = np.interp(np.arange(init_x,fin_x), 
                                                self.trace_x[sel],
                                                self.trace_y[sel])
            self.trace[init_x:fin_x] = biweight_filter(self.trace[init_x:fin_x], 
                                              smoothing_length)
            ix = int(init_x+smoothing_length/2+1)
            fx = int(init_x+smoothing_length/2+1 + smoothing_length*2)
            p1 = np.polyfit(np.arange(ix,fx), self.trace[ix:fx], 1)
            self.trace[:ix] = np.polyval(p1, np.arange(ix))
            ix = int(fin_x-smoothing_length/2-1 - smoothing_length*2)
            fx = int(fin_x-smoothing_length/2) 
            pf = np.polyfit(np.arange(ix,fx), self.trace[ix:fx], 1)
            self.trace[fx:self.D] = np.polyval(pf, np.arange(fx,self.D))
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号