It is good to know that it is using the standard SOP class for X-ray angiography.
By default, the reader will read each frame into a different slice, producing a volume where the Z dimension is actually the time dimension.
The vtkDICOMReader also has a method reader->TimeAsVectorOn()
that will cause all the frames to be read into a single image, so that each pixel in the image is actually a time vector (i.e. if there are 14 frames, each pixel of the image data will have 14 components). This is the way that I prefer to work with time in VTK. When I want to visualize the data, I use filters that allow me to select the component (i.e. time) that I want to display.
For example, vtkImageMapToColors has a SetActiveComponent(i)
method. And of course vtkImageExtractComponents has a SetComponents(i)
method.
You’ll have to decide for yourself how to deal with time in your application. VTK is really just 3D, there isn’t a standard way of dealing with a ‘time’ dimension in VTK. To work with time, you need to be a bit creative.