欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

CUDA中一维三次样条插值的讨论与解析

最编程 2024-01-18 09:30:37
...
  • @adiyu07,Greengard等人提到的第一个库是Fortran,它是快速高斯网格的实现,我不知道,所以我没有花很长时间看这个库(虽然这确实提供了类型III的非均匀到非均匀的转换)。
  • 第二个是费拉拉在Matlab/MEX中实现Greengard的算法,我无法得到它给出正确的解决方案(请参阅我刚才在Mathworks FileExchange上的评论)。
  • http://www-user.tu-chemnitz.de/~potts/nfft/我无法在Windows上编译它,所以我放弃了它。它也有第三类NUFFT。
  • http://web.eecs.umich.edu/~fessler/code/是用Matlab/MEX编写的,至少为Linux和Windows提供了预编译的二进制文件。当然是由非专业程序员编写的,但这是我得到的4个中唯一一个正确工作的。我甚至让它在got中工作,因为Octave可以使用预编好的MEX二进制文件,所以我在少数地方修改了他们的Matlab源代码(基本上是通过查看产生八度错误的地方)。这也使用了与Greengard或Potts不同的算法,基于minimize准则(它的解决方案保证最大DFT错误最小化),但缺少类型-III NUFFT(只有类型-I和II:其中一个域必须是统一的)。
  • 我相信第五个NUFFT/“网格”实现是由Hargreaves等人:http://www-mrsrl.stanford.edu/~brian/gridding/ (论文at http://dx.doi.org/10.1109/TMI.2005.848376)完成的。它是在Matlab/MEX中实现的。事实上,它并不像清单上的前四种那样通用,因为它很大程度上嵌入了核磁共振成像的背景中。
  • 这里还有第六个实现,使用Cython (快速Python),具有type-III非统一到非一致转换和其他一些很好的特性,唉,在GPL:https://github.com/mrbell/gfft下面。