[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