vtkDICOMReader and vtkDICOMImageReader is Different

Hi

Why the vtkImageData which is on GetOutPut() function of vtkDICOMReader and vtkDICOMImageReader is Different ?

When i Read DicomSeri with vtkDICOMImageReader and i get imageData from that it is correct but when i read that by vtkDICOMReader the ImageData is in incorrect state ( orientation and position and Origin and … ) .

I most use vtkDICOMReader Because i want read also some tag from Dicoms and also i want read some dicom file (without .dcm file extension) which only vtkDICOMReader can read that.

I’m also confused about it and i find that there also are some difference between itkimagereader with vtkdicomreader.could you please reply when you have correct conclution about it.thanks

DICOM is an extremely complex standard. Imaging device manufacturers make lots of mistakes when they create data objects. Each DICOM toolkit deals with these mistakes differently and they has its own set of mistakes and various limitations. Therefore, it is expected that for the same set of DICOM files each DICOM reader provides different results. Currently, problems and inconsistencies must be solved at application level: You specify in your application’s DICOM conformance statement what kind of data you can take as input and produce as output and it is your responsibility to make your application work correctly for these data by dealing with all errors of the underlying software stack.

In 3D Slicer, we use many libraries (dcmtk, gdcm, pydicom, itk, plastimatch) in dozens of “plugins”, each being responsible for recognizing a certain type of data and reading/wtiting that correctly. There are always several interpretations of the same data, so each plugin provides a confidence value and the one with the highest value is used by default. 3D Slicer’s DICOM plugin infrastructure and plugins could be factored out into a separate library so that it can be used in other applications, too, but to make this happen, somebody would need to find the resources (funding or work contribution).