下面的代码M1
是一个 4d 矩阵。我在运行此代码时收到的错误消息是:
parfor 中的变量
this_volume
无法分类。
据我了解,我只是将变量同时用作切片输入和输出变量,因为我正在为其中的一些元素赋值。我不确定这两个额外的 for 循环parfor
是否是问题的原因。我将不胜感激任何建议。
tic
fill_thresh = 12;
for a_fill = 1:size_M1(4)
this_volume = M1(:,:,:,a_fill);
this_volume_copy = this_volume;
parfor b_fill = 1:size_M1(3)
fill_factor = zeros(size_M1(1),size_M1(2));
for c_fill = 1+2:size_M1(1)-2
for d_fill = 1+2:size_M1(2)-2
fill_factor(c_fill,d_fill) = sum(sum(this_volume_copy(c_fill-2:c_fill+2,d_fill-2:d_fill+2,b_fill )));
if fill_factor(c_fill,d_fill ) > fill_thresh
this_volume(c_fill,d_fill,b_fill ) = 1;
end
end
end
toc
end
M1(:,:,:,a_fill) = this_volume;
toc
end