python - python 中的灰化矩阵,包括 NaN

标签 python numpy image-processing glcm

我从所选的 MRI 图像中选择了一个不规则的感兴趣区域。我想使用 skimage.feature.greycomatrix 库对图像进行共现分析。然而,我的投资返回率形状不规则。在图像的 numpy 数组中保留 0 会导致灰色共现分析不正确,我已将它们设置为 NaN。但是,greycomatrix 无法分析具有 NaN 的 numpy 数组。有人遇到过这个问题或者有解决办法吗?

最佳答案

关于这个问题,skimage 中的 greycomatrix 库似乎不能处理 NaN 值或不规则形状,而只能进行“整个图像”分析。

为了解决这个问题,我选择在“R”中进行图像分析,方法是将矩阵导出为 csv,然后使用以下方法将其导入到 R 中:

import rpy2.robjects.numpy2ri
from rpy2.robjects.packages import importr
import rpy2.robjects as ro
import pandas.rpy.common as com
import rpy2.robjects.numpy2ri
rpy2.robjects.numpy2ri.activate()
ro.r("Axial_Data <- read.csv('axial_slice_ROI.csv', header = FALSE)")
print(ro.r('max(Axial_Data, na.rm = TRUE)'))
ro.r('Axial_Data <- as.matrix(Axial_Data)')
ro.r("library(radiomics)")
ro.r("library('glcm')") 
ro.r("library('raster')")

## get first order statistics
ro.r("first_order <- calc_features(Slice_Data)")
## GLCM
ro.r("textures <- glcm(raster(Axial_Data), na_opt = 'any', shift=list(c(0,1),c(1,1), c(1,0), c(1,-1)))")

希望对以后遇到类似问题的人有所帮助。

干杯,

关于python - python 中的灰化矩阵,包括 NaN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40230795/

相关文章:

python - python多处理模块中的map(block)和map_async(non block)有什么区别?

python - 从 C++ 到 Python 的 OpenCV absdiff 等价物

python - 我如何确定具体从 PyQt4 导入什么?

python - 使用列组合提高算术运算的性能

numpy - 从 numpy 矩阵创建 Spark 数据帧

python - 使用 OpenCV 和 Python 在多边形上应用高斯模糊

python - 使用相机图像从 Pyzbar 检测 QR 码

algorithm - 图像识别的起点?

python - 如何使用 TensorFlow 中的 Estimator 将模型存储在 `.pb` 文件中?

python - NumPy 的 : calculate the derivative of the softmax function