Info

This question is closed. Reopen it to edit or answer.

How do I allow the user to iterate an expression within a GUI without permanently applying the processing code?

1 view (last 30 days)
As stated above, I want to allow the user to iterate within a GUI to find the optimal code, but I want them to be able to deselect the option they chose and revert any of the changes made.
Can I do this without calling an earlier version of the image back into the figure axes? For example, I want to allow the user to hit an "Apply" button to make the changes permanent and prior to that I want them to make any kind of changes they want without permanently applying that particular line of code.
Thank you!

Answers (2)

Walter Roberson
Walter Roberson on 17 Jul 2012
MATLAB has no built-in "undo". You will need to recall a previous version of the image.

Image Analyst
Image Analyst on 17 Jul 2012
"iterate within a GUI to find the optimal code" sounds like genetic programming. Or do you mean find the optimal set of parameters (rather than code)? Anyway, you cannot do that without recalling an earlier version of your image (which I know is what you wanted to avoid). Any kind of undo/reverse capability would do just that anyway.
  4 Comments
Caleb
Caleb on 17 Jul 2012
If I were to have the image I'm editing in one figure window and the result of the editing in the other, I could allow the user to select to "Apply" changes shown in the latter figure window and move those changes to the former, so that the user is not performing operations on the former until they want to.
Does that sound like it would work?
Image Analyst
Image Analyst on 21 Jul 2012
Yes. You can have a temporary image that the user can mess around with as much as they want, displaying the changes in an axes. If you want to overwrite your original image with your final temporary image, of course you're free to do that.

This question is closed.

Community Treasure Hunt

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

Start Hunting!