次の 3D マスク ボリュームL
があります。
print(L.shape)
(170, 256, 256)
print("L: ", np.unique(L))
L: [0 1 2 3 4 5 6 7 8]
ラベル値を同じに保ちながら、マスクを元のサイズにダウンサンプリングしてからアップサンプリングしたいと考えています。
失敗 -> ダウンサンプリング:
from scipy.ndimage.interpolation import zoom
zL = zoom(L, (0.5, 0.5, 0.5), mode='nearest')
print("zL: ", np.unique(zL))
zL: [-3 -2 -1 0 1 2 3 4 5 6 7 8 9 10]
ラベルの値を変更しています。and allmode
などの他のオプションを試しました。constant
しかし、どれも機能していないようです。
試行の成功 -> ダウンサンプリング: 一方:
dx = 2
dy = 2
dz = 2
if DOWNSAMPLE:
L_down = L[::dx, ::dy, ::dz]
print("L_down: ", np.unique(L_down))
L_down: [0 1 2 3 4 5 6 7 8]
ラベルの値を変更せずに動作するようです。
試行失敗 -> アップサンプリング:
しかし、元のサイズに戻すとき
zL = zoom(L_down, (2, 2, 2), mode='nearest')
動作しませんでした。また、トリリニア補間などに関するその他の詳細がある場合は、いただければ幸いです。
ありがとう。