图像间空间相关性的统计方法

机器算法验证 相关性 空间的 图像处理
2022-03-15 13:41:44

我正在分析一个数据集,我想知道证明图像之间存在强空间相关性的最有效的统计方法是什么。

我有一个包含大约 50 对癌组织样本图像的数据集。每对中的第一张图像显示了金纳米粒子的位置,第二张图像显示了同一组织样本中血管的位置。通过查看图像,很容易看出纳米颗粒的位置与血管相匹配,但我想在论文中用统计学证明这一点。这是很重要的一点,因为它表明纳米颗粒特异性结合癌变区域而不是正常组织。

我一直在研究不同的统计数据,例如简单的线性相关性或类似以下问题的答案:分析图像中空间相关性的有效方法?但是,我还没有找到任何适合图像之间相关性的方法。


来自 Ladislav Nado 的编辑: 我从网络上制作了两张图片……大小和分辨率相同。

治疗前

治疗后

4个回答

如何在两个图像中解决这个问题的最简单方法是从两个栅格中提取值并进行相关性我不确定此解决方案是否适合您的特定情况。你有什么“格式”的图像?灰度,RGB,大小,分辨率......)。请提供更具体的细节。

R中的两个栅格用于演示:

在此处输入图像描述

图片A 的值:

x <- c(1.0,1.0,1.0,1.0,0.5,0.5,0.0,0.0,0.5,0.5,
       2.0,2.0,1.5,1.5,1.0,1.0,0.5,1.0,1.0,1.0,
       2.5,2.0,2.0,2.0,2.0,1.0,1.0,1.5,2.0,2.0,
       2.5,3.0,3.0,3.0,2.5,2.0,2.0,2.0,2.5,2.5,
       2.5,3.5,4.0,3.5,2.5,2.0,2.5,3.0,3.0,3.5,
       2.5,3.5,3.5,2.5,2.0,2.5,3.0,3.5,4.0,3.5,
       2.5,3.5,3.5,3.0,3.5,4.0,4.0,4.0,3.5,2.5,
       2.5,3.5,4.0,4.0,3.5,3.5,3.0,3.0,2.5,2.0,
       2.5,3.5,3.5,3.0,2.5,2.5,2.0,2.0,2.0,1.5,
       2.0,3.0,2.5,2.0,2.0,1.5,1.5,1.5,1.0,1.0)

图片B的值:

y <- c(rep(1, times = 10),
       rep(2, times = 6), 1, rep(2, times = 3),
       rep(2, times = 10),
       rep(3, times = 4), rep(2, times = 4), 3,3,
       3,4,4,3,2,rep(3, times = 4), 4,
       3,4,rep(3, times = 5), rep(4, times = 3),
       3,4,3,3,3,4,4,4,3,3,
       3, rep(4, times = 4), rep(3, times=4), 2,
       3,3,4,3,3,3,rep(2, times = 4),
       2,3,3,3,rep(2, times = 6))

创建数组 -> 将数组转换为栅格

x_array<-array(x, dim=c(10,10))
y_array<-array(y, dim=c(10,10))
x_raster<-raster(x_array)
y_raster<-raster(y_array)

设置调色板和绘图...

colors_x <- c("#fff7f3","#fde0dd","#fcc5c0","#fa9fb5","#f768a1","#dd3497",
              "#ae017e","#7a0177","#49006a")
colors_y <- c("#fff7f3","#fcc5c0","#f768a1","#ae017e")

par(mfrow=c(1,2))
plot(x_raster, col = colors_x)
plot(y_raster, col = colors_y)

...这是相关性

cor(x,y)
    Pearson's product-moment correlation

data:  x and y
t = 21.7031, df = 98, p-value < 2.2e-16
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
 0.8686333 0.9385211
sample estimates:
      cor 
0.9098219 

也许有更专业的解决方案,但我认为这个解决方案非常健壮、简单和直接

值得关注的链接:(用于ImageJhttp://imagej.nih.gov/ij/plugins/intracell/index.html

这是一个在天文学或宇宙学领域用星系空间相关函数等问题得到最广泛分析的问题。简短的回答是,您可能想要计算一个 2D 相关函数,该函数可以使用快速傅里叶变换(如果需要)有效计算。您可能还想搜索诸如 Landy-Szalay 估计器之类的术语,它允许处理被遮蔽的区域和边界。

听起来您还想计算不确定性或置信区间。这有点棘手。在天文学中,它是用杰克刀法估计的,尽管我认为它仍然缺乏严格的基础。使用蒙特卡洛技术通常对此也很有用,但也不完全建立在严格的基础上。

您可以手动追踪中心线或血管壁(或使用机器学习来填充这些区域。然后您可以在该区域周围建立一个缓冲围栏。作为第二步,您可以识别图像上的粒子(手动或通过机器学习)。然后您可以计算与缓冲栅栏填充区域内的纳米粒子数量相关的统计数据。

使用五十对图像,手动绘制缓冲栅栏并测量进出的粒子数量可能会更快、更准确。

请参阅 R 包 SpatialPack。在那里你会发现三种不同的统计方法来解决这个问题