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

Reply via email to