【问题标题】:Sampling an image to get point pattern采样图像以获取点模式
【发布时间】:2018-09-05 13:07:25
【问题描述】:

这是作者拍摄此图像的示例:

并使用 spatstat 进行分析。为此,他们提取了可以看到的坐标here。我也想做同样的事情,我想知道如何从这样的图像中获得样本点图案。直接将图像转换为 ppp 对象会产生大量伪像。

他们的 R 包 BioC2015Oles 中的手册似乎不存在。谢谢。

【问题讨论】:

  • 您的问题太模糊,无法真正理解。您能否提供一些示例代码/图片来准确解释您现在拥有的以及您想要实现的目标?
  • 谢谢!我添加了带有更多详细信息的图像。
  • 您希望将示例减少到多少分?您能否在绘图上绘制相关区域(只需使用鼠标粗略绘制即可)?
  • 我编辑了整个帖子以反映我面临的更大问题。我想如果我在小窗口中采样,我可以通过移动窗口来获得图像的采样点模式,但是对于我遇到的更大问题可能会有更聪明的解决方案。感谢您深思熟虑。

标签: spatstat


【解决方案1】:

spatstat 包假定您已经处理了图像并最终得到了与每对 (x,y) 相关联的坐标列表和可能的一些属性(标记)。理想情况下,您还应该有一个观察窗口,指示这些点可能出现的位置。在spatstat中有一个光栅/图像格式叫做im,可以存储一个图像/光栅,但是很多用来存储来自实验的辅助信息,可以用来解释区域中点的出现与否观察窗口,本身不做图像处理。

将嘈杂的显微镜图像转换为例如细胞中心列表 人们通常使用各种图像处理工具和技术(分水岭、形态开闭等)。您所指的演示文稿似乎建立在 R 包 EBimage 上(位于 BioConductor 上并且有手册),您可以尝试使用它来提取细胞。或者,R 中有其他软件包或完全不同的开源系统专注于图像分析,例如 QuPathImageJ 和许多其他软件包。我无法真正指导您哪种工具更适合您的任务。

【讨论】:

  • 是的,我意识到了这一点。我尝试了 EBImage 并使用图像处理技术来提取点模式。非常感谢。我想我现在可以开始使用spatstat
【解决方案2】:

你可以的

library(raster)
x <- brick('tLh2E.jpg')
#plotRGB(x)

所有有坐标的单元格:

xyz = rasterToPoints(x)
head(xyz)
#       x      y tLh2E.1 tLh2E.2 tLh2E.3
#[1,] 0.5 1103.5     222     222     224
#[2,] 1.5 1103.5     214     214     216
#[3,] 2.5 1103.5     223     223     225
#[4,] 3.5 1103.5     220     220     222
#[5,] 4.5 1103.5     197     197     199
#[6,] 5.5 1103.5     198     198     200

或者一个样本:

s1 <- sampleRandom(x, 100, xy=TRUE)
s2 <- sampleRegular(x, 100, xy=TRUE)

查看样本的位置

plotRGB(x)
points(s1[, 1:2])
points(s2[, 1:2], col='red', pch=20)

从常规样本创建图像

r <- sampleRegular(x, 1000, asRaster=TRUE)
plotRGB(r)

对于分层抽样,您必须定义区域。您可以使用raster::drawPoly() 后跟rasterize 绘制它们,或者对它们进行建模参见raster::predict。这里有一个非常简单的,也许不是很好的基于眼球的方法。事实证明,第二个“绿色”层(来自红-绿-蓝图像)包含大部分信息。这让你接近:

r <- reclassify(x[[2]], rbind(c(0,100,1), c(100,175,2), c(175,255,3)))
plot(r, col=c('red', 'blue','gray'))

您现在可以执行以下操作来找出每个点的颜色:

extract(r, s1[,1:2])

【讨论】:

  • 谢谢!我有机会以图像的形式查看示例数据吗?
  • 随机样本没有“图像”结构。但我添加了一些代码用于显示和可以表示为图像(光栅)的常规样本。
  • 但我想随机抽样是统一的吧?如何仅从“红色”区域或“蓝色”区域采样?
  • 是的,制服。查看分层抽样的扩展答案
猜你喜欢
  • 1970-01-01
  • 2020-09-26
  • 1970-01-01
  • 2019-01-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-13
  • 1970-01-01
相关资源
最近更新 更多