dicomimagejitkgdcmnifti

Failed to read DICOM files in C++ ITK after conversion from .nii format


I converted NifTi (.nii) dataset into DICOM dataset using the plugin Tudor DICOM from ImageJ. The generated files work fine with ImageJ but are not accepted from ITK.

I become these warnings:

function gdcm::DataSet::GetMediaStorage
Media Storage Class UID: 2.25.11... is unknown

function gdcm::PixmapReader::Read Attempting to read this file as a DICOM file 
Desperate attempt

function gdcm::MediaStorage::SetFromDataSetOrHeader Does not know what: 2.25.11...is...

Could someone help me out?


Solution

  • DICOM -as a container- can be seen pretty much like XML. What this means is that you have a binary format to store pretty much anything you want (even PDF, Text, Audio...).

    So on top of XML we have DTD or XSD, well in DICOM it's already included. So what you have is a DICOM container, which contains an instance of 2.25.11... (next time, please include the full UID for disambiguation).

    Since this UID is not part of the 'well known' UIDs declared in the standard, this means it can only be handled via private vendor implementation. This file is written using DICOM format, but is not compatible with the rest of the world...

    What is not clear in your post is that since NifTi is supported in ITK, there is no need to convert .nii to DICOM first, simply load the .nii file directly.