Can a single slider control 3 or 4 axes?

1 view (last 30 days)
I have done a figure controlled by a slider so images can run on the axes. Is it possible, somehow, to use the same single slider to control 3 or 4 axes at the same time and have those images run simultaneously?

Answers (1)

Walter Roberson
Walter Roberson on 9 Jun 2018
You can have a slider callback do any amount of work necessary. However, sliders are linear so you cannot use a single slider to control two different things independently: you can only use any one slider to control multiple things in synchronization. For example it would be fine to have a slider control which respective image from a number of different data sets was to be displayed.
idx = 1 + floor(get(hObject, 'Value'));
image(handles.axes7, image7set{idx});
image(handles.axes8, image8set{idx});
If you are doing a lot of this, then it is better to create the images ahead of time and update their CDATA:
idx = 1 + floor(get(hObject, 'Value'));
set(handles.image7, 'CData', image7set{idx});
set(handles.image8, 'CData', image8set{idx});
  9 Comments
Stelios Fanourakis
Stelios Fanourakis on 17 Jun 2018
My data is a stack of images. 3D DICOM images and b/w. I don't know if that helps.
Related to my poor reaction. I wasn't able to understand your question, since, as you saw at my last comment, I said that the slider was working properly for a couple of times and then stopped.
The solution was that I needed to combine frameindex and CurrentFrame. So, the minimum value of the frameindex would be the CurrentFrame and the maximum the NumFrames. And it worked.
Stelios Fanourakis
Stelios Fanourakis on 17 Jun 2018
@Walter. Can you please answer to my new question? Thanks!

Sign in to comment.

Categories

Find more on Display Image in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!