Wait for app to close before continuing script execution

19 次查看(过去 30 天)
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 个)

Taylor
Taylor 2024-4-16
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 个评论
Nicola Dall'Osto
Nicola Dall'Osto 2024-4-16
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 2024-4-17
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.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Matrix Indexing 的更多信息

产品


版本

R2024a

Community Treasure Hunt

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

Start Hunting!

Translated by