使用numpy中的小数步骤调整大小

时间:2012-04-03 08:58:30

标签: python numpy

如何使用非整数步修改numpy数组的大小?那是: 要将大小为(64,64,64)的3D数组转换为3D数组,例如大小(55,100,60),插值或使用类似kron函数

1 个答案:

答案 0 :(得分:3)

你想如何插值?

没有“最佳”,“正确”或“正常”的方式来插入数据......这一切都取决于你的问题。

有很多不同的方法可以做你想要的。

起点为scipy.ndimage.zoom,它可以使用样条线性,线性或最近邻插值,并完全按照您的要求进行。

指定order=0将给出最近邻插值,order=1将给出线性插值,而大于1的任何内容将给出指定的样条插值顺序。 (默认值为order=3,即“三次样条”插值。)

在你的情况下,它将是:

new = zoom(data, (55/64.0, 100/64.0, 60/64.0), order=typeofinterpolationyouwant)

您还需要考虑如何处理边界。默认设置是将原始数组外的任何值视为0.使用样条插值时,这通常会导致数组边缘附近出现强烈的伪影。