How to store data without deleting previous one
3 views (last 30 days)
Show older comments
Hello,
I'm writing a program using App Designer that allows you to select a ROI using drawfreehand in a picture, then switch to the next picture using a "NEXT" button and draw over it again. For the drawfreehand function I have another button named ('DRAW').
I need to store the binary masks of the selected ROIs so I can use them later, but when I try to do it the program only saves the one from the last picture and deteles the previous ones.
How can I solve this?
Here is my code:
function NEXT(app, event)
%this function works fine to switch to the next image
k=length(app.complete);
if app.num<k
app.num=app.num + 1;
end
ISig = dicomread(app.complete{app.num});
imshow(ISig,[],'Parent',app.UIAxes);
function DRAW(app, event)
contE(app.num)=drawfreehand(app.UIAxes,'color','white');
mask{app.num}=createMask(contE(app.num));
save mask.mat mask
% app.num is a property that indicates de index of the image displayed and
% k represents the number of images loaded
Accepted Answer
Voss
on 23 Nov 2022
mask is a variable that only exists in the workspace of the DRAW function. In other words, each time DRAW is executed, a new mask variable is created and saved to the mat file.
To save the values of mask from multiple executions of DRAW, you can make mask an app property.
2 Comments
More Answers (0)
See Also
Categories
Find more on Create Block Masks in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!