Выделите синглтоны в группах, используя множества Стиенена и дилатацию - PullRequest
0 голосов
/ 12 апреля 2019

Я хотел бы сформировать группы точек, используя множества Штейнера (spatstat::dilation).

Есть синглтоны, которые нужно удалить, и я думаю об этом для набора Стьенена (spatstat::stienenSet): для синглетонов Stienen> Steiner.

Как это можно сделать?

library(spatstat)

a=stienenSet(redwood)
b=dilation(redwood, r=0.03)

plot(a, col='orange', main="")
plot(b,add=T, main="")

enter image description here

1 Ответ

1 голос
/ 15 апреля 2019

Вы можете использовать connected.ppp для поиска подключенных компонентов и идентификации синглетонов таким образом (извините за быстрый незакомментированный код):

library(spatstat)
## Points within distance R are connected.
## This should happen when two discs of radius r=0.03 touch each other,
## i.e., R=r+r=0.06:
cc <- connected(redwood, R=0.06)
s <- split(cc)
np <- sapply(s, npoints)
X <- s[np==1]
X <- unmark(superimpose(X))
Y <- s[np>1]
Y <- unmark(superimpose(Y))
plot(dilation(X, 0.03), main = "", col = "orange")
plot(dilation(Y, 0.03), add = TRUE)

...