code: def superimposition_matrix(v0, v1, scale=False, usesvd=True):
      """Return matrix to transform given 3D point set into second point set.
  
      v0 and v1 are shape (3, -1) or (4, -1) arrays of at least 3 points.
  
      The parameters scale and usesvd are explained in the more general
      affine_matrix_from_points function.
  
      The returned matrix is a similarity or Euclidean transformation matrix.
      This function has a fast C implementation in transformations.c.
  
      >>> v0 = numpy.random.rand(3, 10)
      >>> M = superimposition_matrix(v0, v0)
      >>> numpy.allclose(M, numpy.identity(4))
      True
      >>> R = random_rotation_matrix(numpy.random.random(3))
      >>> v0 = [[1,0,0], [0,1,0], [0,0,1], [1,1,1]]
      >>> v1 = numpy.dot(R, v0)
      >>> M = superimposition_matrix(v0, v1)
      >>> numpy.allclose(v1, numpy.dot(M, v0))
      True
      >>> v0 = (numpy.random.rand(4, 100) - 0.5) * 20
      >>> v0[3] = 1
      >>> v1 = numpy.dot(R, v0)
      >>> M = superimposition_matrix(v0, v1)
      >>> numpy.allclose(v1, numpy.dot(M, v0))
      True
      >>> S = scale_matrix(random.random())
      >>> T = translation_matrix(numpy.random.random(3)-0.5)
      >>> M = concatenate_matrices(T, R, S)
      >>> v1 = numpy.dot(M, v0)
      >>> v0[:3] += numpy.random.normal(0, 1e-9, 300).reshape(3, -1)
      >>> M = superimposition_matrix(v0, v1, scale=True)
      >>> numpy.allclose(v1, numpy.dot(M, v0))
      True
      >>> M = superimposition_matrix(v0, v1, scale=True, usesvd=False)
      >>> numpy.allclose(v1, numpy.dot(M, v0))
      True
      >>> v = numpy.empty((4, 100, 3))
      >>> v[:, :, 0] = v0
      >>> M = superimposition_matrix(v0, v1, scale=True, usesvd=False)
      >>> numpy.allclose(v1, numpy.dot(M, v[:, :, 0]))
      True
  
      """
      v0 = numpy.array(v0, dtype=numpy.float64, copy=False)[:3]
      v1 = numpy.array(v1, dtype=numpy.float64, copy=False)[:3]
      return affine_matrix_from_points(
          v0, v1, shear=False, scale=scale, usesvd=usesvd
      )
  
imports: import math
  import numpy
label_desc: Use image node_id 19 for calling a global function with example usage: superimposition_matrix(v0, v1, scale, usesvd) and returns: affine_matrix_from_points