我有一个数据输入表,用于输入来自图像分析的数据。我在 ImageJ 中截取膜图像的片段,然后将强度值粘贴到 Excel 电子表格中。然后生成一个图表,从分割开始绘制像素,并标出该像素的强度。这个想法是在图表中找到两个峰值,以找到膜的特定区域进行比较,从而得到一个称为 Kp(分配系数)的值。
参见下图。(b)显示了图像在真正好的图片中的外观。线条显示了如何分割图像,线条中这些像素的强度值被复制到 Excel 表中。(c)显示了典型的强度图,其中两个峰值与膜边缘相对应。
原始数据输入页面中,通过查找 Excel 列中特定区域的最大值,可以在电子表格中发现这些峰值。此方法仅当图像中的对象具有特定尺寸时才有效。
我认为有更好的算法来发现这些峰值。如图 b 所示,与图的其余部分相比,这些峰值的斜率变化很大。我的想法是在像素 (x) 和强度 (y) 列旁边有一列来计算每个点的斜率。找到最大和最小斜率 +/- 某个值,我将能够发现与我感兴趣的膜边缘相对应的斜率面积。
目前我有三列:
px intensity slope
0 139
1 138 -0.57
...
当右侧的单元格包含斜率列中的最大值或最小值时,我希望能够选择强度列中的特定单元格。
我怎样才能在 Excel 中正确实现这一点?
在实施一些建议后,我发现我的算法中有一个意想不到的小错误。有时,强度图在膜结束和背景图像开始时会有一个更平缓的变化。这导致了如下所示的强度图。我认为一个额外的步骤将忽略与最大斜率相距一定距离的最小斜率,这将解决这个问题。
答案1
您可以对此运行索引匹配。
如果强度在 B 列,斜率在 C 列,则公式可能是 -
=INDEX(B1:C10,MATCH(MAX(C1:C10),C1:C10,0),1)
找到最大斜率的强度和
=INDEX(B1:C10,MATCH(MIN(C1:C10),C1:C10,0),1)
找到最小斜率的强度
答案2
你可以适应http://www.extendoffice.com/documents/excel/961-excel-identify-cell-address.html为了你的目的
基本上,您使用MAX()
或MIN()
获取范围的最大值或最小值,然后INDEX()
找到与该值匹配的单元格,并将CELL("address",)
其输出为文本