首页 > 解决方案 > 过滤 2D 强度图

问题描述

我有以下文件:https://drive.google.com/file/d/1b1uHylFgbwczHVNsoJWiJikoPF-JdPKx/view?usp=sharing,我用熊猫导入,做一些清理和重新规范化,并将值重塑为将二维数组绘制为彩色图(抱歉,我无法附加图像,但您可以使用 FILE 进行尝试)。

data = pd.read_csv(FILE, sep="\t")
data.columns = ["x", "y","I"]
data = data1.replace('-nan(ind)',0)
data['I']=data.I.astype(float)
data['I']=(data['I']-data['I'].min())/(data['I'].max()-data['I'].min())

X = data.x
Y = data.y
I = data.I.values

mappa = I.reshape([len(Y.unique()),len(X.unique())])

fig, ax1 = plt.subplots(figsize=(12, 10))
im = plt.imshow(mappa, extent=(np.amin(X), np.amax(X), np.amin(Y), np.amax(Y)), vmax = amax(I), vmin = 0)
cbar = fig.colorbar(im,extend='neither',ax=ax1,fraction=0.021, pad=0.03)
cbar.ax.tick_params(labelsize=12)
plt.xlabel('x',fontsize=14)
plt.ylabel('y',fontsize=14)
plt.xticks(fontsize=12)
plt.yticks(fontsize=12);

现在我想过滤这些值(在数据帧中或直接在地图数组上)以去除较大的簇(将所有这些强度值设为零),并留下较小的点(即使它们强度较低)。我尝试以不同的方式围绕坐标 x,y 循环,以尝试仅保持更紧凑的区域完整,但无法做到。有什么建议么?谢谢!

标签: arrays

解决方案


推荐阅读