[Dcmlib] Migration gdcm 0.6 -> 1.0 in ITK

Jean-Pierre ROUX jean-pierre.roux at creatis.insa-lyon.fr
Tue Feb 22 02:04:24 CET 2005


At 16:26 -0500 21/02/05, Mathieu Malaterre wrote:
>>On pourrait rajouter un . h avec des #define
>>Ex :
>>#define PatientName "0x0010,0x0010"
>>ou
>>#define PatientName "0010|00010"
>>selon ce qui t'arrange.
>
>Enfin je fais la difference entre un accesseur clairement indiquer genre
>GetEntryByName qui incite le user a penser : bon ben je peux 
>attaquer la base par le nom DICOM.
>
>Et une methode:
>
>static TagKey TranslateDicomNameIfPossibleToGeneraylizedKey(str::string)

La 'Generalized Key', c'etait une notion introduite par Eric pour 
avoir un identifiant, dans les Entries d'un gdcm::Document, meme ceux 
qui etaient a l'interieur d'une Sequence.

Tant qu'on est au 'niveau zero', la 'Generalized Key' et la cle, 
obtenue par concatenation de numGroupe|numElement sont identiques.

Si on veut faire :
static TagKey TranslateDicomNameIfPossibleToGeneraylizedKey(str::string)
c'est, ou bien une HTable de plus, ou bien un parcourt de toute la table...

Avec le risque d'un changement de nom d'une année sur l'autre (en 
general, c'est des corrections de fautes de frappe, mais c'estb tt de 
meme un changement
ex : Patient Name --> Patient's Name)

>
>(dont j'aurais avantageusement eu besoin... sigh).
>
>La fonction en question peut etre super lente... (genre parcourir la 
>hash et faire des comparaison de string...).
>
>Enfin bon ca peut etre dangereux, c'est finalement pas plus mal que 
>j'ai virer ca de ITK.
>
>----------------------------------------------------------------
>
>Toujours est-il que j'ai changer le comportement interne de ITK pour 
>qu'il utilise une TagKey, mais ca ma fais raler sur le fais que je 
>pouvais plus acceder a une entree maintenant que je manipule des 
>TagKey.
>Ca serait pas mal de faire le distingo entre le user et le dev:
>
>Je concois que en interne gdcm utilise 2 unsigned short pour acceder a
>l'element. (dans ce cas ces methodes devrait peut-etre etre protected)
>
>Et ainsi dans l'API publique il n'y a plus qu'une seule methode d'acces
>par TagKey (pour Get comme pour Remove).
>
>La question a se poser. Est-ce qu'un utilisateur de gdcm a besoin
>d'acceder une dictentry par son group,elem DICOM ?

Selon ce qu'il 'a sous la main', il a besoin de l'un ou de l'autre.

>
>Ou alors on est redondant, mais completement sur: Get / Remove ...
>
>Mathieu
>Ps: la solution redondance peut etre implementer efficacement car 
>une methode peut etre 'inliner' (par rapport a l'autre)
>_______________________________________________
>Dcmlib mailing list
>Dcmlib at creatis.insa-lyon.fr
>http://www.creatis.insa-lyon.fr/mailman/listinfo/dcmlib

  Jean-Pierre ROUX
  UMR CNRS 5515-CREATIS
  Laboratoire de Radiologie Experimentale
  Hopital Cardiologique
  28 Avenue du Doyen LEPINE
  B.P. Lyon-Montchat
  69394 Lyon Cedex 03

  Tel      : (+33) 04 72 35 74 12
  Fax      : (+33) 04 72 68 49 16
  URL      : http://www.creatis.univ-lyon1.fr
  e-mail   : jpr at creatis.univ-lyon1.fr
								   




More information about the Dcmlib mailing list