【问题标题】:Is it possible to do interpolation over 4d data?是否可以对 4d 数据进行插值?
【发布时间】:2022-01-04 18:21:53
【问题描述】:

我正在尝试实现this 论文。如论文中所述,我必须尝试插入自动编码器的潜在代码。潜在代码是自动编码器的编码输入。潜在代码的形状(两个样本)是(2, 64, 64, 128)

这就是我所做的:

image1 = sel_train_encodings[0]
image2 = sel_train_encodings[1]

x = image1[:,0,0]
x_new = image2[:,0,0]

new_array = interp1d(x, image1, axis=0, fill_value='extrapolate', kind='linear')(x_new)

我基本上采用了两个图像的编码并尝试进行插值(对某些点进行外插,因为所有点都不在同一范围内),然后在其中一个轴上进行插值。但是我后来用这些插值得到的结果不是很好,我做错了什么/该怎么做?

根据给定的答案之一,我还尝试通过以下方式进行 2D 插值:

image1 = sel_train_encodings[0]
image2 = sel_train_encodings[1]

new_array = griddata((x,z),y,(x_new, z_new), method='cubic', fill_value='extrapolate')

但这导致了错误:

ValueError: shape mismatch: objects cannot be broadcast to a single shape

【问题讨论】:

    标签: python numpy multidimensional-array interpolation spatial-interpolation


    【解决方案1】:

    Scipy 有几个 2D 插值例程,取决于 (x, y) 的间距:

    【讨论】:

    • 我无法使用二维插值,因为x,y,z 的尺寸不一样。使用 griddata() 时出现以下错误:shape mismatch: objects cannot be broadcast to a single shape
    • 对不起,我误解了你的问题。我应该更仔细地阅读...我认为您将不得不处理重新采样,而不仅仅是插值。您还可以尝试为每个图像创建一个近似的 analytic 函数(如多项式或 fft),然后以分析的方式组合它们。我没看过论文,但大概作者谈到了他们“插值”方案的细节?
    猜你喜欢
    • 2017-12-25
    • 1970-01-01
    • 2019-03-11
    • 2023-03-07
    • 1970-01-01
    • 2011-02-19
    • 1970-01-01
    • 2023-02-07
    • 1970-01-01
    相关资源
    最近更新 更多