我正在使用 MATLAB R2012a 开发用于手动医学图像分割的 GUI。特别是,我希望这些区域能够训练用于自动脑组织分类的分类器。
我设计的 GUI 包含 2 个轴,分别带有标签“figureImage”和“figureVOI”。在第一个中,我想显示 3D MRI 扫描的单个切片,而在另一个中,我想显示与该切片相关联的蒙版。我允许用户使用滚动条在切片之间移动。
我使用 3D 矩阵来表示图像('image'),并使用 3D 矩阵来表示掩码('voi'),它们都在句柄结构中。加载 GUI 时,我用零初始化“voi”矩阵。
我在用户点击滚动条时应用的代码是下一个:
% update the number of the actual slice
handles.actualSlice = round(get(handles.sliceSelector, 'Value'));
% update the image and the mask
axes(handles.figureImage)
imshow(handles.image(:, :, handles.actualSlice));
axes(handles.figureVOI)
imshow(handles.voi(:, :, handles.actualSlice));
但是,当我点击滚动条时,GUI 只是滚动到大约 70 度,然后 GUI 停止更新轴。如果我关闭窗口并尝试再次运行 GUI,MATLAB 会显示系统错误。
我想知道我做错了什么,以及是否有其他方法可以做我需要做的事情。非常感谢!:)