Three dimensional plots for image frames

16 views (last 30 days)
Neha Binish
Neha Binish on 14 Jul 2021
Edited: Neha Binish on 19 Jul 2021
If I have a multidimensional array of size ( height of image x width of image x 3 x number of frames), is it possible to generate a three dimensional interactive plot for all the different frames as given in the image below
Here, y would be the total number of image frames, x will be the width of the image frames and finally z will be the height of the image.
  2 Comments
Neha Binish
Neha Binish on 14 Jul 2021
@Rik I have not looked at any medical data veiwers so far. I will check them out. I have already saved my video into a four dimensional array that contains all the frames. For a one dimensional plot, I can simply use imshow() but I am not sure how to do the same with for generating the above plot.

Sign in to comment.

Answers (2)

Walter Roberson
Walter Roberson on 15 Jul 2021
It depends what you mean by "interactive plot" .
MATLAB offers the volumeViewer() app, which is interactive... but in some ways is rather limited. I would not use it for interactive volume reconstruction.
I have found that the File Exchange contribution video_fig can be very useful as a foundation for handling volumes. It is only 2D display, but can use the slices as "frames" for animation, and you can do 2D manipulations on each of the slices. It is often not what people were originally thinking of for 3D work, but it can often be customized to be useful.
  1 Comment
Neha Binish
Neha Binish on 19 Jul 2021
@Walter Roberson I do not want to represent the frames as an animation of the slices. I want to see all the frames in one figure like the image depicted. By interactive, I mean the possibility of zooming in and rotating the figure, as in the case of a normal 3D plot in Matlab. I think I am able to do this using the slice() function but it only takes a three dimensional input which does not allow me to project the image in the RGB colour sequence. I am only able to input a three dimensional gray scale image fo slice(), which produces the below output. I have no control over the colour of the images.

Sign in to comment.


ecartman22
ecartman22 on 14 Jul 2021
Edited: Walter Roberson on 15 Jul 2021
  1 Comment
Neha Binish
Neha Binish on 15 Jul 2021
@ecartman22 It looks similar to a surface plot and unfortunately, I am not able to reproduce the same results

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!

Translated by