You idea is basically good. Find a sample with a little trick in the link below.
The Selected Image field can be hidden and serves as the indicator for which image was selected. By using the same name for image and button you can build an "array" of objects where you check the .index . The calculate is the tricksy thing - when you press the button it overwrites the TextField - as we use the calculate of the button all the buttons changes their looks.
The designer will block the buttons when you enter a new calculate script. That will be corrected by the initialize line.