Video sequence of 3D volumetric data?

I have a stack of 100 images of size 300 x 300 which represent a 3D volume of a medical scan. I have another 100 of these 3D volumes as a sequence. I have been trying to visualize this 3D image sequence data as a video where I can watch how the volume is changing over time and move around the scene to see the changes in the volume from different views.

I initially tried doing this in matplotlib but it only works on 3D point data and I could not figure out how to make it visualize a 3D stack of images as a video. I also did not see support for this in mayavi or plotly and I was wondering if there is a package that can do this visualization out of the box? I would like to see the video sequence As MIP and if possible to slice through them. This is when I though of ThreeJS but I was not sure if Three Js is capable of rendering volumetric data in real-time or update fast enough as a sequence of videos? Or if there are any examples of this available?

You can try DataArrayTexture, check the official example.

1 Like

What do you mean by sequence?

So for a video, you have 2D frames as a sequence. I have 3D volumes as a sequence and I wanted to visualize how this volume is changing in that sequence like a video.

Then you would just render it like a video, sequence by sequence with a delay. However i don’t know how you compressed that.

Assuming the depth is also 300 that would be 300 frames of 300x300 images. You could squeeze them in a compressed video and render the frames of one sequence into a 3D texture, and continue for the next sequences, but i don’t know how well the result will look as there is no exact access on single frames on videos asides of compression artifacts.