Wait for app to close before continuing script execution

18 views (last 30 days)
I have a matlab script that opens Medical Image Labeler app of Image Processing Toolbox and uploads some images in it. I need the script to wait until the user segments the images and once the app is closed the script continue its execution.
The only solution that I've tried to implement was to add the following line of code.
uiwait(msgbox('This message will pause execution until you click OK'));
This command shows a message box and pauses the script execution until the user presses "OK".
But this is not an ideal solution for me. It will be much better if the user has to simply close the app, becuase the message box appears in front of the app's window and not in the background.

Answers (1)

Taylor
Taylor on 16 Apr 2024
To my knowledge there is currently no way to check the window status of shipped apps like Medical Image Labeler.
A workaround could be to use a while loop after you call Medical Image Labeler that looks for the MAT file you will save in the Medical Image Labeler app. Here's an example of this logic:
medicalImageLabeler
while ~exist("groundTruthMed.mat", "file")
disp("Waiting for file")
pause(2)
end
disp("Ground Truth file found!")
  4 Comments
Nicola Dall'Osto
Nicola Dall'Osto on 16 Apr 2024
You are right, but in this way I can't use the autosave feature, which is essential for my work. Moreover, since every user can export the .mat file with different name, I can't know what name to search for the file with.
Taylor
Taylor on 17 Apr 2024
Ah ok I see. Short of using system to terminate a process based on PID, I'm not sure if I have any alternative methods beyond what you are already doing. Frankly, I don't know if that would even be superior to what you are doing currently.

Sign in to comment.

Products


Release

R2024a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!