spline.py 文件源码

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

项目:CElegansBehaviour 作者: ChristophKirst 项目源码 文件源码
def set_values(self, values, points = None):
    """Calculate the bspline parameter for the given values and sample points 

    Arguments:
      values (array): values of data points
      points (array or None): sample points for the data values, if None use internal points or linspace(0,1,values.shape[0])
    """
    values = np.array(values, dtype = float);

    #set points
    if points is None:
      if self._points is None:
        self.set_points(values.shape[0]);
    else:
      self.set_points(points);

    if values.shape[0] != self._points.shape[0]:
      raise ValueError('number of values %d mismatch number of points %d' % (values.shape[0], self._points.shape[0]));

    #set parameter from values
    if self.with_projection and self.projection_inverse is not False:
      self._parameter = self._projection_inverse.dot(values); 
      self._values = values;  
    else:
      tck = splrep(self._points, values, t = self._knots, task = -1, k = self.degree);
      self._parameter = tck[1][:self._nparameter];
      # values changed
      self._values = None;
      #self._values = values; #fast but imprecise as values on spline due approximation might differ!
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号