采样图像以获得点模式

时间:2018-09-05 13:07:25

标签: spatstat

以下是作者拍摄这张照片的示例:

enter image description here

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

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

2 个答案:

答案 0 :(得分:1)

spatstat包假设您已经处理过图像,并最终获得了坐标列表,并且可能还有与每对(x,y)相关联的一些属性(标记)。理想情况下,您还应该有一个观察窗,指示可能在何处出现这些点。 spatstat中有一种名为im的栅格/图像格式,可以存储图像/栅格,但是很多用于存储实验中的辅助信息,可以用来解释发生或不存在的信息观察窗区域中的点,并且本身不进行图像处理。

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

答案 1 :(得分:1)

你可以

container.node = 3

所有具有坐标的单元格:

container.node

或样本:

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