У меня есть нерегулярная область интереса от изображения MRI, которое я выбрал. Я хотел бы сделать совместный анализ на изображении с помощью библиотеки skimage.feature.greycomatrix
. Однако мой ROI имеет неправильную форму. Сохранение 0 в массиве numpy изображения приведет к некорректному анализу совпадения серы, и я сделал их NaN
. Однако greycomatrix
не может анализировать массив numpy с NaN
. Кто-нибудь испытал эту проблему или имел решение?greycomatrix в python, включая NaN
1
A
ответ
1
В связи с этим вопросом не похоже, что библиотека greycomatrix в skimage может обрабатывать значения 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)))")
Надежда, которая помогает всем, кто может иметь аналогичные вопросы в будущем.
Cheers,
не думаю * python * сам имеет 'greycomatrix'. Вы имеете в виду ['skimage.feature.graycomatrix' из' sckit-image'] (http://scikit-image.org/docs/dev/auto_examples/plot_glcm.html)? Если нет, с какой библиотекой обработки изображений вы сейчас получаете функцию? –
Привет, Уоррен, да, я импортирую skimage.feature.greycomatrix. Поэтому мне интересно, есть ли способ использовать эту библиотеку на изображениях, которые включают в себя NaN/нерегулярные ROI или если есть другая библиотека greycomatrix, которую можно использовать. Я помню, что читал, что Matlab может обрабатывать NaN в вычислениях. Благодарю. –