-
numpy拼接
import numpy as np
in_volume = np.array([[0, 0, 0, 0, 0, 0],
[0, 1, 1, 1, 1, 0],
[0, 1, 3, 3, 1, 0],
[0, 1, 3, 3, 1, 0],
[0, 1, 1, 1, 1, 0],
[0, 0, 0, 0, 0, 0]]
)
temp_target = np.array([[0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0],
[0, 0, 6, 6, 0, 0],
[0, 0, 6, 6, 0, 0],
[0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0]]
)
seg_labels = np.dstack((in_volume, temp_target)) # 在垂直的z轴上进行拼接 seg_labels shape 是(6, 6, 2)
seg_labels_ = np.reshape(seg_labels, (-1, 2))
shape = in_volume.shape + (2,) # 新的shape是 (6, 6, 2)
print(seg_labels[:, :, 0])
print(np.reshape(seg_labels_, shape)[:, :, 0])
seg_labels[:, :, 0]和 np.reshape(seg_labels_, shape)[:, :, 0] 一样 输出结果为:
[[0 0 0 0 0 0]
[0 1 1 1 1 0]
[0 1 3 3 1 0]
[0 1 3 3 1 0]
[0 1 1 1 1 0]
[0 0 0 0 0 0]]
[[0 0 0 0 0 0]
[0 1 1 1 1 0]
[0 1 3 3 1 0]
[0 1 3 3 1 0]
[0 1 1 1 1 0]
[0 0 0 0 0 0]]