在翻转 Java 坐标中绘制

Plot in Flipped Java Coordinates

我想从 ImageJ 中的粒子分析中绘制一个 ppp 对象,该对象来自大小为 imageSizeX、点对象 Particles$X、Particles$Y 的 imageSizeY 的灰度图像,翻转 Java 坐标(y0 = 顶部-剩下)。 我有一种可行的解决方案(自定义示例):

library(spatstat)

X <- ppp(Particles$X, Particles$Y, c(0, imageSizeX), c(0, imageSizeY))
plot(x = 0, y = 0, xlim = c(0, imageSizeX), ylim = c(imageSizeY, 0), type = "n", main = "Density", 
    asp = 1, axes = F, xlab = "X", ylab = "Y")
plot(density(X), xlim = c(1, imageSizeX), ylim = c(imageSizeY, 0), add = T)
plot(X, axes = TRUE, xlim = c(1, imageSizeX), ylim = c(imageSizeY, 0), add = T)
axis(1)
axis(2, las = 2)

结果如下图(省略图例):

但是我需要创建一个带有翻转坐标的空绘图命令 (ylim = c(imageSizeY, 0)),然后必须添加 spatstat 图。

如果我尝试绘制:

library(spatstat)
X <- ppp(Particles$X, Particles$Y, c(0, imageSizeX), c(0, imageSizeY))
plot(density(X), xlim = c(1, imageSizeX), ylim = c(imageSizeY, 0))
plot(X, axes = TRUE, xlim = c(1, imageSizeX), ylim = c(imageSizeY, 0), add = T)
axis(1)
axis(2, las = 2)

坐标未绘制翻转 (ylim = c(imageSizeY, 0)):

有没有办法在没有第一个定义绘图命令的情况下翻转 spatstat 中的绘图坐标?

这是 plot.ppp 中的错误。我已经在 spatstat 的当前开发版本中修复了它,版本 1.46-1.010 可从 the spatstat repository on GitHub

获得

在 CRAN (1.46-1) 上 spatstat 的当前版本中,windows、plot.owin 的绘图方法确实可以像您一样识别 xlim, ylim喜欢,而 plot.ppp 不喜欢。所以如果 X 是一个点模式,你可以做

W <- Window(X)
plot(W, xlim=rev(W$xrange), main="The title")
plot(X, add=TRUE, ...)