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

如何在MATLAB的同一GUI中显示不同轴上的不同图像?,matlab,3d,axes,figures,Matlab,3d,Axes,Figures,我正在使用MatlabR2012A开发一个用于手动医学图像分割的GUI。特别是,我想让这些区域训练一个分类器,用于自动脑组织分类 GUI I设计包含两个轴,分别带有标记“figureImage”和“figureVOI”。在第一个示例中,我想显示3D MRI扫描的单个切片,在另一个示例中,我想显示与该切片相关的掩模。我允许用户使用滚动条在片之间移动 我用一个3D矩阵来表示图像(“图像”),用一个3D矩阵来表示遮罩(“voi”),这两个矩阵都在句柄结构中。加载GUI时,我用零初始化“voi”矩阵 当

我正在使用MatlabR2012A开发一个用于手动医学图像分割的GUI。特别是,我想让这些区域训练一个分类器,用于自动脑组织分类

GUI I设计包含两个轴,分别带有标记“figureImage”和“figureVOI”。在第一个示例中,我想显示3D MRI扫描的单个切片,在另一个示例中,我想显示与该切片相关的掩模。我允许用户使用滚动条在片之间移动

我用一个3D矩阵来表示图像(“图像”),用一个3D矩阵来表示遮罩(“voi”),这两个矩阵都在句柄结构中。加载GUI时,我用零初始化“voi”矩阵

当用户在滚动条上单击clics时,我应用的代码是下一个:

% 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仅滚动到大约剪切nº70,然后GUI停止更新轴。如果我关闭窗口并再次尝试运行GUI,MATLAB会显示一个系统错误


我想知道我做了什么坏事,以及是否有其他方法来做我需要做的事情。非常感谢!:)

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

我真的不知道这里到底发生了什么。但是,作为提醒,您应该重置
cdata
,而不是使用新的
imshow
进行更新回调。您还应该复制并粘贴错误。