如何在MATLAB中的同一GUI中的不同轴上显示不同的图像?

时间:2013-03-30 17:09:38

标签: matlab 3d axes figures

我正在使用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会向我显示系统错误。

我想知道自己做得不好,以及是否有其他办法可以做我需要做的事情。非常感谢! :)

1 个答案:

答案 0 :(得分:0)

这是一个相当容易的问题。您可能有不同的轴名称和轴位于不同的位置。然后根据您想要选择使用哪个轴作为轴将图像路由到相应的轴,您可以同时选择两个轴。希望这可以帮助。祝好运。