Thank you all @fedorov, @pieper and @lassoan for your helps. In the meanwhile, I have realized that not only DCE but also other sequences, like T1 FS+C, for this case can not be loaded into Slicer. But i can display the images in a different software.
The dataset have been generated on a preclinical system, as you figured, so I will contact with someone who generated the data and get more detailed information about it.
@fedorov yes, the tag it complains about is LossyImageCompression,
0x0028,0x2110. But the value looks okay to me (“00”) and since this isn’t
one that that dciodvfy complains about so I suspect the actual issue is
something else.
Works just fine in OsiriX!
@kirezgik yes, you should report that the data generated by the system is not standard-compliant, please do that, but I don’t expect a quick fix.
Since it works in OsiriX, it must be possible to figure out how to make it work in Slicer, it’s just a matter of resources. I don’t have a lot of time to spend on this today.
Do you know if I can make your dataset public? We could share it with the ITK/GDCM developers, since the problem is outside of Slicer really (but Slicer should rightfully take the full blame for the dataset not loading!)
Is it possible that the image is compressed?
You may also try to run Slicer’s DICOM patcher on it (although it does not contain fixes related to the specific errors that are reported).
@fedorov - I agree, this is certainly fixable with some time and effort.
It would be good to see if we can replicate the issue in pure ITK.
I tried the DICOMPatcher and it didn’t solve the issue.
Ive just shared the
anonymized` data set with you to share it with the ITK/GDCM developers. Hope it helps.
I reproduced the problem using pure ITK (the version that is used by Slicer).
The repo to reproduce the problem is here: https://github.com/fedorov/itk-gdcm-dcmtk-readers
GDCM reader fails with the same error as in Slicer:
Exception thrown while reading the series
itk::ExceptionObject (0x7ff2538696d8)
Location: "virtual void itk::ImageBase<3>::ComputeIndexToPhysicalPointMatrices() [VImageDimension = 3]"
File: /Users/fedorov/local/builds/Slicer4-Release/ITKv4/Modules/Core/Common/include/itkImageBase.hxx
Line: 187
Description: itk::ERROR: Image(0x7ff253873c90): A spacing of 0 is not allowed: Spacing is [0.3125, 0.3125, 0]
DCMTK reader works just fine, and results in a volume with slice thickness 1.3, as expected.
I will follow up with the ITK folks, but this experience, once again, begs the question - why do we rely in ITK and Slicer on GDCM and not on DCMTK?
ITK issue reported: https://issues.itk.org/jira/browse/ITK-3546
Sample dataset shared by @kirezgik uploaded here: https://github.com/fedorov/itk-gdcm-dcmtk-readers/releases/download/gdcm_fails/GDCM_fails.zip
CC: @thewtex
@kirezgik are you able to build Slicer from source, or you only use the downloaded binaries?
I have a modified version of code that works for your dataset, but other people have concerns about integrating that solution into the main application, so I need to work on another approach.
I only use the downloaded binaries. But if building from source helps, we might try to do that.
@kirezgik I feel sorry to ask you to build it, since it might be easier for me to implement this feature in the extension, than for you to build Slicer. I think it is too much trouble for you. I am not sure if I can get to it this week, but if not then next week for sure.
Hi Andrey,
Thanks very much for your fast reply, No problem, I can build it again.
Best regards
Zen
@zp12132016 this is the branch that contains the fix that should allow loading of the DCE dataset @kirezgik shared earlier: https://github.com/fedorov/slicer/tree/dcmtk-for-scalar-volume
Hi Andrey,
Thanks for your active reply!
I am trying to built the slicer again, currently I am using slicer version 4.6.2 and Viusal studio 2013 desktop with update 5, Qt 4.8.7 and CMake 3.8.1
Do you think I need to try different version of slicer?
For the branch you mentioned below, how to put it in build slicer?
Best regards
Zen
You will have to check out the branch I mentioned above from GitHub, and build Slicer from scratch. Looking at the instructions [1], your setup should work.
[1] https://www.slicer.org/wiki/Documentation/Nightly/Developers/Build_Instructions#Windows
Hi,
We tried the instructions for setup, but can not unzip Cmake and Qt folders in common prerequisites.
Do you have CMake running? Do you have any anti-virus software that may prevent extraction of executable files? Can you extract the files in your user directory or desktop?
We are moving forward with the implementation discussed in this thread: Slicer DICOM Scalar volume plugin relies on (old) GDCM: why do we not use DCMTK?
We should hopefully have it in the application sometime soon. I will followup with @pieper later this week. I think fixing this problem of failing read of scalar volume in the Slicer application should be done no matter what.