Why these dicom files exported by gdcm cannot be recongnized correctly by 3d slicer?

I exported multiple slices of the same series (and the same study) using GDCM in C++. The data is attached here.
But it seems that 3D Slicer cannot recognize these files correctly:

  1. Each dcm file was recognized as a volume
  2. After import, nothing is displayed in Slicer.

I think I’ve filled some inappropriate content into some important dicom Tags. But there are hundreds of tags, how to find which one[s] is[are] inappropriate? How to make these dicom files compatible with Slicer?

One problem is that there is no windowing information. Both WindowWidth and WindowCenter are 0 and you should also have SmallestImagePixelValue and LargestImagePixelValue. There may be other issues as well.

Thx for your reply. I’ve added all your mentioned tags but still unresolved.


I can load the study (with errors) on my local build of Slicer. Try using a nightly build.

I got the following errors with version 4.10.0 r27501.
Is there any information of which tag was filled wrong value or missed?

Python 2.7.13 (default, Oct 18 2018, 22:10:33) [MSC v.1900 64 bit (AMD64)] on win32
Traceback (most recent call last):
  File "C:\Program Files\Slicer 4.10.0\lib\Slicer-4.10\qt-scripted-modules\DICOMLib\DICOMWidgets.py", line 737, in getLoadablesFromFileLists
    loadablesByPlugin[plugin] = plugin.examine(fileLists)
  File "C:/Program Files/Slicer 4.10.0/bin/../lib/Slicer-4.10/qt-scripted-modules/MultiVolumeImporterPlugin.py", line 106, in examine
    loadables += self.examineFiles(files)
  File "C:/Program Files/Slicer 4.10.0/bin/../lib/Slicer-4.10/qt-scripted-modules/MultiVolumeImporterPlugin.py", line 493, in examineFiles
    mvNodes = self.initMultiVolumes(subseriesLists[key])
  File "C:/Program Files/Slicer 4.10.0/bin/../lib/Slicer-4.10/qt-scripted-modules/MultiVolumeImporterPlugin.py", line 789, in initMultiVolumes
    tagValue = self.tm2ms(tagValueStr) # convert to ms
  File "C:/Program Files/Slicer 4.10.0/bin/../lib/Slicer-4.10/qt-scripted-modules/MultiVolumeImporterPlugin.py", line 756, in tm2ms
    raise IOError("Invalid DICOM time string: "+tm+" (failed to parse HHMMSS)")
IOError: Invalid DICOM time string: 14:47:47 (failed to parse HHMMSS)
Warning: Plugin failed: MultiVolumeImporterPlugin

See python console for error message.
DICOM Plugin failed: Invalid DICOM time string: 14:47:47 (failed to parse HHMMSS)
Warning in DICOM plugin Scalar Volume when examining loadable Series Number: Unnamed Series: Reference image in series does not contain geometry information. Please use caution.

Loading with imageIOName: GDCM
Could not read scalar volume using GDCM approach.  Error is: FileFormatError
Loading with imageIOName: DCMTK
Could not read scalar volume using DCMTK approach.  Error is: FileFormatError

Could not load: Series Number: Unnamed Series as a Scalar Volume

How to modify my dicom files to fix the errors?

To fix the immediate problem, time fields need to be in the format “HHMMSS.FFFFFF” so 14:47:47 needs to be changed to 144747.000000 (see the TM field at https://dicom.nema.org/dicom/2013/output/chtml/part05/sect_6.2.html)
In your original file this is the field AcquisitionTime.

You should also upgrade your Slicer if possible as 5.x is better able to handle non-compliant DICOM files.

Changing time format did not solve the problem. But I can load my dcm files after upgrade Slicer to 5.3.0. Great Thx!