我正在使用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));
然而,当我在滚动条上clic时,GUI只是滚动到切割n°70 aprox。然后所有GUI停止更新轴。如果我关闭窗口并尝试再次运行GUI,MATLAB会向我显示系统错误。
我想知道自己做得不好,以及是否有其他办法可以做我需要做的事情。非常感谢! :)
答案 0 :(得分:0)
这是一个相当容易的问题。您可能有不同的轴名称和轴位于不同的位置。然后根据您想要选择使用哪个轴作为轴将图像路由到相应的轴,您可以同时选择两个轴。希望这可以帮助。祝好运。