(App Designer) Callback for an ROI event does not work
Ältere Kommentare anzeigen
I have spent a lot of time trying to figure this out, so now is time to ask for help -
In App Designer, I have been trying to set up a callback triggered by changing a position of an ROI line in a (standard, not UI) axes object
function startupFcn(app)
app.ax = axes(app.Panel, 'Title', [], 'XLabel', [], 'YLabel', [], 'Color', 'none','YColor', 'none', 'Xlim', [0 1.5], 'YTick', [], 'XTick', [0 0.5 1 1.5], 'TickDir', 'both', 'TickLength', [0.03 0.035], 'XMinorTick', 'on', 'Units', 'pixels','Position', [8 30 284 0]);
disableDefaultInteractivity(app.ax);
app.ax.Toolbar.Visible = 'off';
app.line1 = drawline(app.ax,'Position',[app.RMP_t1 0; app.RMP_t2 0]);
addlistener(app.line1, 'Position', 'ROIMoved', @line1Moved);
drawnow;
app.UIFigure.WindowState = 'maximized';
end
However, I get the following error:
Error using images.roi.Line/addlistener
Event 'ROIMoved' is not defined for class 'images.roi.Line'.
According to the documentation on images.roi.Line class, this should be a valid event name. By the way, when I remove the 'Position' argument, the app runs without errors but the callback (@line1Moved) doesn't do anything.
1 Kommentar
Jyotsna Talluri
am 22 Aug. 2019
The error is due to 'Position' argument and its not due to 'ROIMoved' as addlistener creates listener for given event triggered by callback function on the object.It cannot take 'Position' as argument.
If your function 'line1Moved' is correct then that should work fine.Can your provide your 'line1Moved' function so that I can check
Akzeptierte Antwort
Weitere Antworten (0)
Kategorien
Mehr zu ROI-Based Processing finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!