[Dcmlib] Trouble with 'Shadow Dictionaries'

Jean-Pierre Roux Jean-Pierre.Roux at creatis.insa-lyon.fr
Mon Jan 30 17:18:39 CET 2006


Mathieu Malaterre wrote:

> Jean-Pierre Roux wrote:
>
>> Hi !
>>
>> Some Shadow Dictionnaries seem to be automatically taken into account 
>> ...
>> that results in something strange :
>>
>> PrintFile on a Siemens image shows :
>>
>> D 0011|0010 [LO]                     [Private Creator Identification 
>> (GEMS_PATI_01) ] [SPI RELEASE 1 ]
>> D 0011|0011 [LO]                                                      
>> [gdcm::Unknown] [SIEMENS CM VA0  CMS ]
>> D 0011|1110 [  ]                                                      
>> [gdcm::Unknown] [19970530]
>> D 0011|1111 [  ]                                                      
>> [gdcm::Unknown] [081719.000000 ]
>> D 0011|1123 [  ]                                                      
>> [gdcm::Unknown] [97]
>
>
> I believe I told you that when visiting France. This has nothing to do 
> with the shadow dictionary. This is somewhere in gdcm code. I believe 
> this could be side effect of the virtual entry, in the past it created 
> entry for me (though this was for public entry).


OK. My example was a very bad one !
(the "LO" pb is fixed)

But you can see the 'name' comes from a shadow dict  :
[Private Creator Identification (GEMS_PATI_01) ]

I commented out the line in Dicts/CMake, and it fixes the trouble.



>
>> Of course, we don't care about shadow elements !
>> But some stupid DICOM readers (eg. the MatLab one) cannot process 
>> images including groups partially 'ExplicitVR' and partially 
>> 'ImplicitVR'...
>>
>> Many 'ExplicitVR' images have their Shadow group homogeneous 
>> 'ImplicitVR', and they are 'MatLab readable'.
>> When we re-write them (Anonymize, for instance), Shadow Group are no 
>> longer homogeneous, and MatLab reader fails.
>
>
> I have no idea what you mean by homogeneous.

In the following example :
D 0011|0010 [LO]                     [Private Creator Identification 
(GEMS_PATI_01) ] [SPI RELEASE 1 ]
D 0011|0011 [LO]                                                      
[gdcm::Unknown] [SIEMENS CM VA0  CMS ]
D 0011|1110 [  ]                                                      
[gdcm::Unknown] [19970530]
D 0011|1111 [  ]                                                      
[gdcm::Unknown] [081719.000000 ]
D 0011|1123 [  ]                                                      
[gdcm::Unknown] [97]

some DataEntries are Explicit VR, some others are Implicit VR.
I call that 'non homogeneous'.
When all the DataEntries of a group are ExplicitVR, I say the group is 
'ExplicitVR homogeneous'
When all the DataEntries of a group are ImplicitVR, I say the group is 
'ImplicitVR homogeneous'

>
>> Any suggestion?
>> (one easy to implement would be to allow user to ask not to take in 
>> account Shadow Dictionnary ?)
>
>
> Do a grep "0011 0011" you'll see that the siemens shadow dict contains 
> another name for the entry.

I know ...
The name comes from GEMS shadow Dict.
Almost all the shadow dict names atre commented out in Dicts/CMake, but 
the GEMS one.
I wondered if there was any special reason .
JP

> Therefore this is not the shadow dict that is taken into account.
>
> Mathieu
>




More information about the Dcmlib mailing list