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:
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.
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
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.