Wait for app to close before continuing script execution

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.

1 Commento

Is there a way to close an app (not made with App Designer) with a command?

Accedi per commentare.

Risposte (1)

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 Commenti

Thank you @Taylor for the answer, but I think it can't be an aplicable solution. The groudTruthMed.mat file is creted as soon as a new session starts in Medical Image Labeler, so the loop will end immediatly after the session starts.
You are correct that groundTruthMed.mat is created upon startup of the Medical Image Labeler app. However, when you select "Export" in the app, you have the option to name the MAT file whatever you'd like. So you could just pick a different name and change the name of the file in the exist statement above.
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.
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.

Accedi per commentare.

Categorie

Prodotti

Release

R2024a

Richiesto:

il 16 Apr 2024

Commentato:

il 17 Apr 2024

Community Treasure Hunt

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

Start Hunting!

Translated by