我尝试使用radiomics包(https://www.mathworks.com/matlabcentral/fileexchange/51948-radiomics)运行GLCM,使用以下代码:
volume = double(rgb2gray(imread('http://www.cs.sjsu.edu/~bruce/images/fall_2016_cs160/lectures/eye_pupil_tracking/grayscale_eye_cropped_to_bounding_box.png')));
mask = ones(size(volume,1),size(volume,2));
[ROIonly,levels] = prepareVolume(volume,mask,'Other','Matrix','Uniform',32);
[GLCM] = getGLCM(ROIonly,levels);
出现以下错误:
输入参数不足。
如果出现~strcmp(文本类型,“全局”)&& ~strcmp(文本类型,“矩阵”),则prepareVolume(第110行)出错
无标题错误(第7行)[仅ROI,水平] =准备体积(体积,掩码,“其他”,“矩阵”,“均匀”,32);
我该怎么修呢?
2条答案
按热度按时间ojsjcaue1#
prepareVolume
的函数定义如下:第8个输入为
textType
。调用时只提供了6个输入
因此,该错误准确地描述了发生了什么问题
输入参数不足。
只有第9个和第10个输入是可选的,正如函数
if nargin > 8
中的第3个实际代码行所捕获的,但是,第一个代码行使用textType
,并且总是假设它已经作为输入传递。2mbi3lxu2#
正如我所看到的,这个错误是由于没有为radiomics包中的
prepareVolume
函数提供足够的输入参数引起的。具体来说,这个错误说没有足够的输入参数,您可以在这里的注解中看到文档。为了便于理解,prepareVolume
函数需要8个输入参数,而不是您提供的6个参数。该错误还表明问题与
textType
参数有关,该参数是函数定义中的第8个参数。因此,应确保提供所有必需的参数,如scale
和textType
,并确保按正确的顺序提供这些参数。下面是
prepareVolume
函数的用法示例:在本例中,
prepareVolume
函数准备volume
,以便在与面内分辨率相等的比例下进行全局纹理分析,R=2
。该函数将返回ROIonly
属性,该属性是包含从volume
提取的ROI的3D矩阵。