Hello, I am working on a GUI using two buttons where the enhancement operations perfromed on an image can be changed. Once I select the required operation; I have an another drop down gives options in relation to the first selection. My questions is
  • It looks like by default the first button is always pressed. So when am running if condition to check whether the first button is selected or not; some how the code within the if not executing; it is only executing when the value is changed (means when option changed from one radio button to the other and vice versa)
How can i access the initial value or default value of radio button selection.
Thanks.

Antworten (2)

Cris LaPierre
Cris LaPierre am 17 Sep. 2020

0 Stimmen

8 Kommentare

Venkata Khambhammettu
Venkata Khambhammettu am 17 Sep. 2020
Bearbeitet: Venkata Khambhammettu am 17 Sep. 2020
Thanks for your response. I did that before; after that I posted this Qn :). Means i think something else is not correct. Here is my code. Please let me know if you get a chance.
Cris LaPierre
Cris LaPierre am 17 Sep. 2020
It would be easier to help if you shared the mlapp file.
Venkata Khambhammettu
Venkata Khambhammettu am 17 Sep. 2020
Please see attached. Thanks.
For you, it looks like the default is to have no button selected. This would cause your if statement to evaluate as false, and therefore the code inside it to not be executed.
if app.LinearStretchingButton.Value
Note that your dropdown is also unselected by default, so those if statements will also not execute.
if strcmp(dropdown_value,'Low') % also check 'Medium' and 'High'
Venkata Khambhammettu
Venkata Khambhammettu am 18 Sep. 2020
Thank you Cris.
I think am not following you correct. But, I did modify the code a bit and make it mroe easier to follow (i guess) by deleting repetitive code and putting in a function. This time it is updating the image but only if i selected the second method and then the linear stretching. Since the Linear stretching is selected by default, How can start showing result without moving back and forth. Thank you.
Cris LaPierre
Cris LaPierre am 18 Sep. 2020
Bearbeitet: Cris LaPierre am 18 Sep. 2020
That was my point. Linear stretching is NOT selected by default. If you look at the screen shot, the radio buttons are both unselected.
Venkata Khambhammettu
Venkata Khambhammettu am 18 Sep. 2020
I see what you are saying now. Linear stretching must be selected to even go into the if statement. In the modified code (attached above) ; I do have linear stretching selected and contrast is at Low. For reason, i dont understand; the processed image is not showing; unless I click on second method and then come back to the first.
Thanks.
Cris LaPierre
Cris LaPierre am 22 Sep. 2020
Bearbeitet: Cris LaPierre am 22 Sep. 2020
What is your trigger? Do you want the app to open with the linear stretching result already displayed? If so, place the following at the bottom of your startupFcn callback.
MethodButtonGroupSelectionChanged(app, app.MethodButtonGroup)

Melden Sie sich an, um zu kommentieren.

Mario Malic
Mario Malic am 22 Sep. 2020
Bearbeitet: Mario Malic am 22 Sep. 2020

0 Stimmen

  • Create property that takes Method and Contrast level values.
  • Create a callback for button group (method and image enhancement operation) - see this property (app.ImageEnhancementOperationButtonGroup.SelectedObject.Text)
  • Create a callback that sends contrast dropdown value to property.
  • Initialise starting values in startupFcn, for each component.
You read your image twice, save it in a property.

Bearbeitet:

am 22 Sep. 2020

Community Treasure Hunt

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

Start Hunting!

Translated by