I've been studying some dicom series and find that the thickness attribute and the itkimage.GetSpacing()[2] value are not always consistent.
For example the thickness (0018, 0050) value encoded in the dcm file is 1.5 mm but the corresponding spacing indicated simpleITK on z axis is 1.00. Then what value should I use to indicate the physical distance between adjacent voxel centers on the z axis? If they are different things then What do spacings actually mean?
I retrieve thickness and spacing values in python like this:
//thickness using dicom
thickness = dicom.read_file(dcm_file)[0x0018, 0x0050].value
//spacing using simpleITK
reader = sitk.ImageSeriesReader()
dicom_files = reader.GetGDCMSeriesFileNames(dicom_dir)
reader.SetFileNames(dicom_names)
itkImage= rader.Execute
spacing_x, spacing_y, spacing_z = itkImage.GetSpacing()
I've been searching in the docs but haven't found something like an answer yet. Thanks!
====== Update1 ======
I've checked the Image Position(Patient) (0020,0032) value and they are indeed 1mm away per slice. Then What leaves thickness mean?