我试图在100个2D numpy数组中定位质心,如下所示:array([[ 0.216, 0.24 , 0.244, ..., 0.679, 0.684, 0.707],
[ 0.23 , 0.229, 0.238, ..., 0.675, 0.676, 0.695],
[ 0.221, 0.238, 0.24 , ..., 0.669, 0.677, 0.684],
...,
[ 0.937, 0.925, 0.923, ..., 0.768, 0.754, 0.752],
[ 0.937, 0.929, 0.923, ..., 0.737, 0.735, 0.741],
[ 0.934, 0.932, 0.929, ..., 0.72 , 0.717, 0.728]])
基于一组类似于cutoff_values=[0.05,0.1,0.2]的阈值,我为每个矩阵确定满足cell_value>=0.05、cell_value>=0.1和{}的细胞区域。然后,我计算每个区域(或一组细胞)的质心。在
这要执行100次。对于每个阈值,都有一个对应的dictionary,其中我以列表的形式存储质心坐标:
dict005={'matrix 1':[row for center of mass, column for center of mass]}阈值=0.05
dict01={...}阈值=0.1
dict02={...}阈值=0.2
但是,由于每个图像可能有多个区域或单元格组,其中cell_value>=0.05(例如),我将得到一个包含两倍于质心的元素的列表(每个质心产生两个值-其行和列)。在
我的问题:为了正确填充我刚刚定义的dicts,我的块(见下文)中需要做哪些更改?一个列表的长度是怎样变化的
示例:
截止值=0.05
dict005={'matrix 1':[17,29],'matrix 2':[23,45,88,101,234,432], 'matrix 3':[0,34,67,86]}
矩阵1有1个质心,值大于0.05,矩阵2有3,矩阵3有2,依此类推,直到达到矩阵100。在
我的街区:
^{pr2}$