Как я могу отображать разные изображения на разных осях в одном графическом интерфейсе в MATLAB?

Я использую MATLAB R2012a для разработки графического интерфейса для ручной сегментации медицинских изображений. В частности, я хочу, чтобы эти регионы обучали классификатор для автоматической классификации тканей мозга.

Дизайн GUI I содержит 2 оси с тегами «figureImage» и «figureVOI» соответственно. В первом я хочу отобразить один срез 3D-МРТ, а в другом я хочу показать маску, связанную с этим срезом. Я разрешаю пользователю перемещаться между фрагментами с помощью полосы прокрутки.

Я использую 3D-матрицу для представления изображения («изображение») и 3D-матрицу для представления маски («вои»), обе они в структуре дескрипторов. Я инициализирую матрицу «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));

Однако, когда я нажимаю на полосу прокрутки, графический интерфейс просто прокручивается до выреза № 70, а затем все, затем графический интерфейс останавливается для обновления осей. Если я закрою окно и снова попытаюсь запустить графический интерфейс, а MATLAB покажет мне системную ошибку.

Я хочу знать, что я делаю плохо, и есть ли другой способ сделать то, что мне нужно сделать. Большое спасибо! :)


person user2227561    schedule 30.03.2013    source источник
comment
Не мог точно расшифровать, что здесь происходит. Но, в качестве предупреждения, вы должны сбросить cdata вместо использования нового imshow для обратного вызова обновления. Вы также должны скопировать и вставить ошибку.   -  person Justin    schedule 30.03.2013


Ответы (1)


Это довольно простой вопрос. У вас могут быть разные имена осей и оси, расположенные в разных местах. Затем вы направляете свои изображения на соответствующие оси в зависимости от того, с какой из них вы хотите работать в качестве оси, и вы можете выбрать обе одновременно. Надеюсь это поможет. Удачи.

person Kartik    schedule 13.11.2013