Пример #1
0
 def __init__(self, source, target):
     if not isinstance(source, TriMesh):
         source = TriMesh(source.points)
     PureAlignment.__init__(self, source, target)
     if self.n_dims != 2:
         raise ValueError("source and target must be 2 "
                          "dimensional")
Пример #2
0
 def __init__(self, source, target, kernel=None):
     PureAlignment.__init__(self, source, target)
     if self.n_dims != 2:
         raise ValueError('TPS can only be used on 2D data.')
     if kernel is None:
         kernel = R2LogR2(source.points)
     self.kernel = kernel
     self.k = self.kernel.apply(self.source.points)
     self.p = np.concatenate(
         [np.ones([self.n_points, 1]), self.source.points], axis=1)
     o = np.zeros([3, 3])
     top_l = np.concatenate([self.k, self.p], axis=1)
     bot_l = np.concatenate([self.p.T, o], axis=1)
     self.l = np.concatenate([top_l, bot_l], axis=0)
     self.v, self.y, self.coefficients = None, None, None
     self._build_coefficients()