[Dcmlib] converting itk,vtk or any other 3D images into dicom.

Mathieu Malaterre mathieu.malaterre at kitware.com
Tue Nov 9 21:25:24 CET 2004


> --> ReplaceOrCreateByName ne doit pas exister pour le moment.
> --> les methodes xxxByName sont un peu dangereuses car, clairement, il 
> n'est dit nulle part que le 'name' est un identifiant dans le Dicom 
> Directory.

ok je suis converti/convaincu

> Bien au contraire, a cause dee ensembles de Dicom Groups 60xx et 50xx, 
> qui comportent donc chacun potentiellement 255 Groups (même s'il n'y en 
> a que 8 présents dans la version actuelle de dicomV3.dic) montre qu'il y 
> a 255 synonymes .
> De plus, quelques autres Dicom Elements 'isolés' (Raws, Columns, etc) 
> ont le même nom.

ok. Est-ce que c'est le seul group qui fais ca. Je peux modifier mon 
parsing pour que gdcmbin/src/gdcmDefaultDict.cxx genere ces groupes meme 
si ce n'est pas dans le pdf.

> xxxByName va chercher dans une H Table (std::map) qui pointe sur le 
> Dicom Dictionary 'le' nom, en déduit le tag (GroupNumber, 
> ElementNumber), et appelle ensuite xxxByNumber sur le Header...
> Pas de manière simple (ni compliquée, d'ailleurs) de gérer les 
> synonymes, car il peut, de plus y avoir *dans un Header* donné (et pas 
> seulement dans de Dicom Dictionary), plusieurs groups de l'ensemble 60xx 
> -une image de gdcmData a cette particularité-
> 
> De plus, d'une année sur l'autre, une dizaine -au moins- de Dicom 
> Elements changent de nom (tout le monde -?- se souvient de "Patient 
> Name" qui, devenu "Patient's Name", cassait la test suite de gdcm)

Ooooch, ok je comprends.

> On pourrait attendre pour voir si le group de réflexion DICOM sur l'API 
> a une opinion sur la question, mais la sagesse serait de ne *jamais* 
> utiliser les xxxByName.

Vu que c'est si dangereux pourquoi on s'embete a dupliquer le 
dictionnaires publique par acces par nom. Etant donne aue l'on a besoin 
qu'*un* dict. Et de proposer une methode (dangereuse) GetByName qui 
translate en group+element et renvoi le valeur trouver....

Mathieu





More information about the Dcmlib mailing list