Как указано в документации , scipy.ndimage.affine_transform()
вычисляет новую позицию, выполнив: np.dot(matrix, o) + offset
(где o
- позиция вывода).
Это означает, что следующеетесты должны пройти успешно:
m = np.array(m)
assert(m[0, 1] == x[0, 0])
assert(m[0, 2] == x[0, 1])
assert(m[1, 1] == x[1, 0])
assert(m[1, 2] == x[1, 1])
assert(m[2, 1] == x[2, 0])
assert(m[2, 2] == x[2, 1])
или, более кратко:
assert(np.all(m[:, 1] == x[:, 0]))
assert(np.all(m[:, 2] == x[:, 1]))
, и они пройдут, как и ожидалось.Таким образом, матрица действительно смещается на 1
-индекс.Возможно, вы ожидали другую матрицу как вывод, потому что вы были смущены печатным выводом.Нулевой индекс обозначает строки, первый - столбцы.Следовательно, смещение по первому индексу сместит столбцы.