[vtk-developers] vtkDICOMImageReader
Bartosz Wiklak
bwiklak at gmail.com
Mon Jul 21 07:18:20 EDT 2008
Hi,
I'm new to VTK but I'm very impressed by it's capabilities.
I'm specially interested in medical 3D visualization (CT,MR,PET).
I have already learned haw to use many VTK methods and also how to
read DICOM data through vtkDICOMImageReader. Here my question begins.
In many dicom data sets (scans) spacing between slices in not the same
in whole 3D object (f.e series).
To make things worse tags such as SliceLocation, SpacingBetweenSlices
have comonly bad values.
Good information about slice positions in 3D is always (in Dicom 3
compilant images) stored in:
Image Orientation (Patient) (0020,0037),
Image Position (Patient) (0020,0032).
Standard says about this In PS 3.3:
C.7.6.2.1.1 Image Position And Image Orientation
The Image Position (0020,0032) specifies the x, y, and z coordinates of the
upper left hand
corner of the image; it is the first pixel transmitted. Image Orientation
(0020,0037) specifies the
direction cosines of the first row and the first column with respect to the
patient. These Attributes
shall be provide as a pair. Row value for the x, y, and z axes respectively
followed by the Column
value for the x, y, and z axes respectively.
The direction of the axes is defined fully by the patient's orientation.
The x-axis is increasing to the
left hand side of the patient. The y-axis is increasing to the posterior
side of the patient. The z-axis
is increasing toward the head of the patient.
I'm sure that in some of my datasets that not have homogenious spacing
between slices the data shown in VTK is bad.
I would like to contibute in VTK and help to imporve
vtkDICOMImageReader but I need some help to start.
I need to know how exacly vtkDICOMImageReader creates VTK 3D dataset,
and if there is possibility to construct anisotropic data tor
vizsualiztion without need to use interpolation to force isotropy.
I have read vtkDICOMImageReader code but after quick look I cant find
place where data is build.
Maybe someone can help me to make a few first steps?
Bartek
More information about the vtk-developers
mailing list