我从所选的 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)))")
希望对以后遇到类似问题的人有所帮助。
干杯,
我是一名优秀的程序员,十分优秀!