How to store data without deleting previous one
Ältere Kommentare anzeigen
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
4 Kommentare
Jan
am 15 Okt. 2022
You are updating "mask", but save "maskE". Is this a typo in the forum only or in your code?
María Pérez Fernández
am 16 Okt. 2022
Jan
am 16 Okt. 2022
mask{app.num} = createMask(contE(app.num));
save mask.mat mask
This appends a new cell element to mask and stored the complete arrays. This should work and loading mask.mat should contain all stored masks.
So maybe you are not using the current mask.mat file? You did not provide an output folder in the save command. Safer:
save(fullfile(yourOutputfolder, 'mask.mat'), 'mask');
Of course, now you have to define yourOutputfolder accordingly.
María Pérez Fernández
am 23 Nov. 2022
Akzeptierte Antwort
Weitere Antworten (0)
Kategorien
Mehr zu Develop Apps Using App Designer 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!