[Insight-developers] gdcm patient orientation

Bill Lorensen wlorens1 at nycap.rr.com
Tue Feb 21 11:28:32 EST 2006


That may be because gdcm is still reporting the new series as a Secondary 
Capture. I'm not sure. In my local copy I have removed 0002|0002 and 
0008|0016 from gdcmFileHelper. I do not think the new series should be a 
secondary capture. Rather it is really a derived image.

Since 0020|0020 does not affect me, you can leave it in. But, saying the 
series generated by itk are Secondary Captures is not correct I believe.

Bill

At 11:13 AM 2/21/2006, Mathieu Malaterre wrote:
>Lorensen, William E (GE, Research) wrote:
>>Mathieu,
>>My dicom checker complains:
>>(0x0020,0x0020)  CS  4        [L\P] 
>># Patient Orientation
>>!!                            ERROR : Patient Position (0x0020,0x0020) 
>>must not be present
>>!!                                    if (0x0020, 0x0032) and (0x0020, 
>>0x0037) are required
>>In Table C.7-9 of the dicom standard:
>>Patient direction of rows and columns of the image. Required if imkage 
>>does not require Image Orientation (Patient) (0020,0037) and Image 
>>Position (Patient) (0020,0032). See C.7.6.1.1.1 fr further explanation.
>>
>>I think gdcm should not be adding 0020|0020 if the others are present. 
>>However, this does not seem to affect processing on the A/W.
>
>If I remove 0020|0020, David Clunie tools report:
>
>./dciodvfy Image0075.dcm
>...
>Error - Missing attribute Type 2C Conditional Element=<PatientOrientation> 
>Module=<GeneralImage>
>
>Mathieu
>
>Index: gdcmFileHelper.cxx
>===================================================================
>RCS file: /cvsroot/Insight/Insight/Utilities/gdcm/src/gdcmFileHelper.cxx,v
>retrieving revision 1.8
>diff -u -3 -p -r1.8 gdcmFileHelper.cxx
>--- gdcmFileHelper.cxx  20 Feb 2006 21:35:24 -0000      1.8
>+++ gdcmFileHelper.cxx  21 Feb 2006 15:32:18 -0000
>@@ -1639,12 +1639,12 @@ void FileHelper::CheckMandatoryElements(
>
>     // Patient Orientation
>     // Can be computed from (0020|0037) :  Image Orientation (Patient)
>-   gdcm::Orientation o;
>-   std::string ori = o.GetOrientation ( FileInternal );
>-   if (ori != "\\" && ori != GDCM_UNFOUND)
>-      CheckMandatoryEntry(0x0020,0x0020,ori);
>-   else
>-      CheckMandatoryEntry(0x0020,0x0020,"");
>+   //gdcm::Orientation o;
>+   //std::string ori = o.GetOrientation ( FileInternal );
>+   //if (ori != "\\" && ori != GDCM_UNFOUND)
>+   //   CheckMandatoryEntry(0x0020,0x0020,ori);
>+   //else
>+   //   CheckMandatoryEntry(0x0020,0x0020,"");
>
>     // Modality : if missing we set it to 'OTher'
>     CheckMandatoryEntry(0x0008,0x0060,"OT");
>_______________________________________________
>Insight-developers mailing list
>Insight-developers at itk.org
>http://www.itk.org/mailman/listinfo/insight-developers



More information about the Insight-developers mailing list