Three dimensional plots for image frames

5 visualizaciones (últimos 30 días)
Neha Binish
Neha Binish el 14 de Jul. de 2021
Editada: Neha Binish el 19 de Jul. de 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 comentarios
Rik
Rik el 14 de Jul. de 2021
You might need to convert to grayscale, but many medical data viewers will allow you to view 3D data. Have you looked for any?
This does require you to store your video in a single multidimensional array.
Neha Binish
Neha Binish el 14 de Jul. de 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.

Iniciar sesión para comentar.

Respuestas (2)

Walter Roberson
Walter Roberson el 15 de Jul. de 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 comentario
Neha Binish
Neha Binish el 19 de Jul. de 2021
Editada: Neha Binish el 19 de Jul. de 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.

Iniciar sesión para comentar.


ecartman22
ecartman22 el 14 de Jul. de 2021
Editada: Walter Roberson el 15 de Jul. de 2021
  1 comentario
Neha Binish
Neha Binish el 15 de Jul. de 2021
@ecartman22 It looks similar to a surface plot and unfortunately, I am not able to reproduce the same results

Iniciar sesión para comentar.

Community Treasure Hunt

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

Start Hunting!

Translated by