Hi there
We had a look through various DICOM images from various projects. We found
several issues, so if there are any DICOM experts out there, please can we
discuss the following before we head off and make incompatible code changes:
1. Tag 0020,0037 (patient orientation) is a direction cosines matrix. If
different slices have slightly different matrices due to rounding error, the
loaded image is split into multiple volumes:
https://github.com/MITK/MITK/blob/master/Core/Code/IO/mitkDicomSeriesReader.cpp#L861
2. In our images, tag 0020,0037 (patient orientation) may be missing.
https://github.com/MITK/MITK/blob/master/Core/Code/IO/mitkDicomSeriesReader.cpp#L936
3. In our images, tag 0020, 0032 (patient position) may be missing.
https://github.com/MITK/MITK/blob/master/Core/Code/IO/mitkDicomSeriesReader.cpp#L936
4. In our images, tag 0020,000d (Series Instance UID) may be missing.
https://github.com/MattClarkson/MITK/blob/master/Core/Code/IO/mitkDicomSeriesReader.cpp#L853
5. Image loads as signed short, but not as unsigned short. i.e. if we force
the templating to only load as signed short, it looks ok, otherwise, the data
is not loaded, and image appears blank.
https://github.com/MattClarkson/MITK/blob/master/Core/Code/IO/mitkDicomSeriesReader.cpp#L152
6. Reportedly, image fails to load first time resulting in a blank volume, but
then simply doing a File Open and trying again loads the image correctly.
For Item 1, I was going to simply parse the string as a series of numbers, and
then truncate them after fewer decimal places? For item 2, 3 and 4 we probably
need someone more familiar with DICOM to decide what the preferred approach
should be, as we need some kind of fallback policy. From a code perspective,
it might be nice to provide a way to easily plug-in a class that decides if we
can handle a certain image, like a Chain Of Responsibility pattern? In our
images, image 2 and 3 have appeared on the same image, but not 2,3 and 4 on the
same image.
I haven't quite got my head round 5 or 6 yet, but if anyone else has seen
similar issues, I would be interested to hear...
thanks
Matt
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
mitk-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mitk-users