Cant read a special type of DICOM by VTK

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.

1 Like