【发布时间】:2013-07-15 03:38:09
【问题描述】:
我正在尝试将非均匀数据重新网格化到 4-D 空间中定义的均匀网格上。数据测量由函数d = f(xp,yp,zp,wp) 给出,其中xp、yp、zp 和wp 是4-D 坐标。我想将非均匀间隔的xp、yp、zp 和wp 重新网格到x、y、z 和w 的均匀间隔网格上.
为了方便讨论,让我们将网格化内核定义为可分离汉宁内核的乘积:
1/a(1+cos(2*pi*x/a))
1/b(1+cos(2*pi*y/b))
1/c(1+cos(2*pi*z/c))
1/d(1+cos(2*pi*w/d))
然后,我认为重新网格化我需要做的是执行 4-D 卷积并在统一网格上重新采样。但是,我不确定如何使用离散数据来实现这一点。我的问题如下:
1) 我应该如何对每个网格内核进行采样?例如,在计算离散卷积值时,我应该使用非均匀的xp、yp、zp 和wp 值吗?或者我应该使用均匀间隔的值x、y、z 和w?或者这些想法都不正确?
2) 我怎样才能实现 4-D 卷积?我想我可能需要使用四个 for 循环,但我不确定如何组织我的数据,即 4-D 数据结构还是简单的 4 列矩阵?
我对最快的方法不感兴趣,但对找到最直观或最直接的方法更感兴趣。
我相信我了解 sinc 插值和网格算法的基础知识。我读过多篇论文,包括 J.D. O'Sullivan 和 J.I. Jackson,讨论了不同网格内核的属性和差异。我还阅读了一些使用网格的 MRI 重建论文,但这些方法中的大多数都假设为 2-D 网格。
我不知道如何以离散的方式实际实现该方法,最好是在 Matlab 或 C++ 中,甚至更困惑如何在四个维度上实现这样的东西。
我查看了几个线程,我的问题与这些线程有些相似,但是我想使用带有通用内核的卷积,而不是线性插值,并且这些都没有真正建议如何组织 4-D 数据或执行卷积:
Python 4D linear interpolation on a rectangular grid
Python 4D linear interpolation on a rectangular grid
感谢您的任何建议、见解或建议!
【问题讨论】:
-
@horchler:你还在寻找这个问题的答案吗?
-
@KDN:这不是我的问题。我只是编辑它以清理格式和排版。无论事实发生多久,始终欢迎您在 StackOverflow 上发布新答案。 OP 是否会看到它并认为它有用是另一回事,但未来几年其他人可能会。
标签: matlab image-processing sampling convolution