查找三角测量器/插值器

我需要插值一组不规则的抽样 点:给定一组x,y,z点,我需要插值z x,y网格的值. 我尝试使用Scipy Sandbox Delaunay模块,但是 插值器不起作用:天然邻居插值器 在其中产生一个带有"孔"的表面:插装器返回 NAN无缘无故在凸面内某些地区 (凸壳看起来正确,其中输入z值 区域看起来没有什么不同的区域). 线性插值器只是segfualts,无论我有什么数据 尝试一下. 过去,我使用了delny/libqhull模块,但不是 进行插值,所以我不得不在python中编写插装器 (有效,但非常慢). 是否有任何"从货架上"模块进行插值 不规则间隔的数据? - - 格兰特·爱德华兹·格兰特·尤! 看!! 忧郁 在美国青少年穿着 visi.com马德拉斯短裤和"羊群 海鸥"发型!

# 回答1

格兰特·爱德华兹(Grant Edwards)写道: 听起来是您贡献的绝佳机会. 最简单的 贡献是找到尽可能小的情况 证明问题,修复并添加测试用例将是 显然,贡献更大. - 斯科特·戴维·丹尼尔斯(Scott David Daniels) 在2006-05-26,斯科特·戴维·丹尼尔斯(Scott David Daniels)写道: 我会尝试的,但看来我整个周末都在工作 是. 最简单的贡献是发现尽可能小的案例证明了问题,解决问题并添加测试案例显然是更大的贡献. - - 格兰特·爱德华兹·格兰特·尤! 嗯...傲慢自大 在花束上有微妙的 visi.com聚乙烯的建议 氯化物...
# 回答2

在2006-05-27,格兰特·爱德华兹(Grant Edwards)写道:听起来像是您贡献的绝佳机会. 我会尝试的,但看起来我会整个周末都在工作. Otoh,看来我无论哪种方式都被搞砸了. 我的python 插装器是如此慢的速度,以至于在实践中无用. 它 每秒只能处理4点,我需要处理 阵列为10,000至50,000个元素. :( - - 格兰特·爱德华兹·格兰特·尤! 你! 现在我 在理解高级 Visi.com微生物学和新的 税制改革法!
# 回答3

格兰特> otoh,看来我无论哪种方式都被搞砸了. 我的python 插装器是如此慢的速度,以至于在实践中无用. 它 每秒只能处理4点,我需要处理 阵列为10,000至50,000个元素. :( 赦免我对Scipy的完全无知,但既不是Psyco也不是Pyrex 利用? 干杯, 约翰
# 回答4

在2006-05-27,格兰特·爱德华兹(Grant Edwards)写道:我会尝试的,但看来我会整个周末都在工作. Otoh,看来我无论哪种方式都被搞砸了. 我的 python插值器是如此的绝望,以至于在实践中毫无用处. 它只能处理每秒4点,我需要处理10,000至50,000个元素的阵列. :( 我找到了另一个声称要做我想做的模块 但是,无论我通过什么数据,我都会得到所有零或全部 Nans回来了. :// 我现在为3. - - 格兰特·爱德华兹·格兰特·尤! 我是Zippy! 是 玩得开心了吗? visi.com
# 回答5

格兰特·爱德华兹(Grant Edwards)写道: 您有几个X,Y,Z点? 您是否尝试过Scipy中的FitPack函数Bisplrep? 它可以很好地工作 只要您没有太多的起点. 这是如何使用它的示例 来自Numpy Import Rand,Exp,Ogrid 从Scipy进口插入 x = 2*rand(20)-1 y = 2*rand(20)-1 z =(x+y)*exp(-6.0*(x*x+y*y)) tck = interpaly.bisplrep(x,y,z,s = 0,xb = -1,xe = 1,yb = -1,ye = 1) Xnew = r _ [ - 1:1:70J] ynew = r _ [ - 1:1:70J] znew = interpaly.bisplev(Xnew,Ynew,TCK) 有一个固定在svn scipy中的错误,这意味着您需要 输入XB,XE,YB和YE. -travis
# 回答6

格兰特·爱德华兹(Grant Edwards)写道: 我将您指向http://www.scipy.org/cookbook/matplo...ly_spaced_data 较早. 那不做你想要的吗? - - 罗伯特·克恩(Robert Kern) "我已经相信整个世界都是一个谜,无害的谜 这是我们自己疯狂地尝试解释它的可怕的 一个基本的真理." -Umberto Eco
# 回答7

在2006-05-27,Grant Edwards 写道: Aaarrrggh. 经过更多的出汗和宣誓后,看起来像 griddata模块和scipy.delaunay.nn_interpolator 只要将首选的阵列品牌传递给 它们并使用正确的方案指定网格/网格. 我的问题似乎是由一个相互作用引起的 因素数: 1)gnuplot.py似乎喜欢转换_Some_浮点 绘制整数值的数组到整数值 - 仅此 当将2D阵列传递到splot()时,似乎发生了. 那 打破了我的一些数据. 2)将阵列转换为嵌套列表可防止舍入 到一个整数问题 轴,没有我的注意. 然后在某些 插值表面出现. 事实证明有 输入数据中导致孔的NAN,但 由于X/Y轴的转轴,我在看 数据中的错误位置. 3)尝试使用Griddata模块导致混合 来自Pylab,Numpy,Numeric和Scipy的数组对象(有些 其中可能是也可能不一样的 - 我不能跟踪). 混合阵列类型似乎已经绊倒了一些 扩展. Afaict,Python密码对任何一项都很满意 阵列类型,因为如果您走了几乎相同 "鸭"打字. 但是c/fortran扩展似乎只能工作 有一种或另一种,还有一些python模块 包裹这些扩展将传递任何颤抖的东西 降至C/F Ortran代码,然后混淆. 也许. 4)即使阵列还可以,也有几个 指定网格/网格的不兼容方法,我选择了 在至少一个情况下是错误的. - - 格兰特·爱德华兹·格兰特·尤! mmm-mm !! 这就是 在生物结束! visi.com
# 回答8

在2006-05-27,Robert Kern 写道:我将您指向http://www.scipy.org/cookbook/matplo....ly_spaced_data早些时候. 那不做你想要的吗? 是的,在安装程序较新的版本之后,请弄平 其他一些问题. - - 格兰特·爱德华兹·格兰特·尤! 我们正在罢工吗? 在 visi.com
# 回答9

在2006-05-27,Travis E. Oliphant
    写道: 我有大约700个数据点. 它们不规则地安排 沿着弧形排列的弧形粉丝形状. 您是否尝试过Scipy中的FitPack函数Bisplrep? 不是最近. 我花了一个月左右的时间与bisplrep a搏斗 回来时,但无法获得稳定的结果(要么 现实世界数据或来自教程中的示例):http://www.visi.com/~grante/scipy/scipy/interpalle.html http://www.scipy.net/pipermail/pipermail/scipy/scipy...er/003921. html 发布后不久,我切换到了三角计划, 从那时起,Bisplrep就再也没有累了. - - 格兰特·爱德华兹·格兰特·尤! 我称之为"沙丁鱼 在小麦上! visi.com
# 回答10

格兰特·爱德华兹(Grant Edwards)写道:您有几个X,Y,Z点? 我有大约700个数据点. 它们沿着排列的截短的粉丝形状不规则地排列. 不是最近. 我花了一段时间与Bisplrep一起度过了一个月左右的时间,但是无法获得稳定的结果(使用现实世界数据或教程中的示例):http://www.visi.com/~grante.com/~grante/scipy/ interpaly.html http://www.scipy.net/pipermail/scipy...er/003921.html我在发布后不久就切换到了三角形方案,此后并没有疲倦的Bisplrep. 并不是说您做出了不好的选择. 我想知道,你多少 难度是在基础fitpack例程的接口上. 该界面非常涉及,因为有很多参数选择 到基础例程. 界面很可能被打破 以某种奇怪的方式. 鉴于有多少人想进行插值. 我很惊讶没有人 已经考虑修复执行此操作的FitPack例程. 我想 在2-D中,底层FitPack例程可能是错误的. 您的例子将有助于该研究. Pearu在2003年为FitPack制作了一些不错的基于班级的界面. 在Scipy中,但看来人们并没有太多使用 他们. 你尝试过吗? 他们在fitpack2.py2.py 有新的包装器
# 回答11

在2006-05-27,Travis E. Oliphant
    写道: 不是我记得. 对于该特定应用,插值必须是 实时完成 三角剖分方案原来是 更快的速度[对输入数据有一些约束,以使 三角形搜索O(SQRT(n))]. - - 格兰特·爱德华兹·格兰特·尤! 是炖李子 在吹风机中? visi.com
# 回答12

格兰特·爱德华兹(Grant Edwards)写道:我不知道. 我以前从未使用过花键做任何事情,所以很有可能我只是做得不正确. 我从来没有让它用于非网格数据(这是我需要的). 由于即使对于网格数据也不稳定,我或多或少放弃了. 我看了底层福特代码,但这让我头晕目眩. 只是为了完成这个主题,我应该提到我昨天花了一些时间 研究由 Bisplrep. 使用S = 0时似乎有困难. 它似乎 适合您试图适应的平滑应用 "嘈杂"的数据散射到平滑函数. 有很多警告 关于选择S太低. 因此,尝试使用Bisplrep进行插值(而不是数据 双Bisplrep可能很难平滑. 我们仍然需要Scipy中的良好的N-D重新网格算法. -travis

标签: python

添加新评论