You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在R的spatstat中用图像设置kappa模拟Thomas聚类时出错

非均匀父点强度的Thomas过程模拟问题解决

报错本质

这个错误源于Thomas过程的生成逻辑:父点的后代会以父点为中心、scale为半径分布。当kappa传入强度图像时,该图像的窗口必须覆盖目标模拟窗口(win)向外扩张scale距离后的区域——否则会出现父点过于靠近图像边缘,导致后代超出目标窗口的情况,触发窗口范围不足的报错。

解决步骤

要实现非均匀父点强度的Thomas模拟,需要先扩大生成kappa的窗口,确保其范围足够覆盖目标窗口的扩张区域,具体代码如下:

  1. 初始化参数与目标窗口
library(spatstat)
scale_val <- 0.1
# 设定你要输出的目标模拟窗口,这里用默认单位正方形
target_win <- owin()
  1. 生成适配的异质父点强度图像
# 将目标窗口向外扩张scale_val距离,用于生成kappa图像
expanded_win <- dilation(target_win, scale_val)
# 在扩张后的窗口生成泊松点过程,再计算密度得到非均匀强度Z
Z <- as.im(density(rpoispp(lambda = 14, win = expanded_win)))
  1. 执行非均匀Thomas过程模拟
# 指定目标窗口win,传入适配的kappa图像
thomas_result <- rThomas(scale = scale_val, kappa = Z, mu = 50, win = target_win)
plot(thomas_result)

补充说明

这种方式完全可以实现非均匀父点分布的Thomas聚类,和你用mu设置非均匀后代数的逻辑平行:kappa控制父点的空间密度差异,mu控制每个父点产生后代数量的空间差异,二者都能实现非均匀的聚类模式。

内容的提问来源于stack exchange,提问作者nis38

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 15:22:14