[Dcmlib] UID: Question pour Theralys

Mathieu Malaterre mathieu.malaterre at kitware.com
Mon Sep 27 18:21:50 CEST 2004


Au fait une question bete, quand on fais une aquisition de plusieurs 
slice (dison IRM d'une artere), toutes les SOP Instance UID sont bien 
differentes ?

Dans ce cas je comprends mieux pourquoi la solution hardware est facile, 
par rapport a la solution software. Mais pour moi time() est precis a la 
seconde ce devrait passer, sauf si gdcm met moins d'une seconde pour 
ecrire une image...

Au fait on peut toujours faire un:

radical + md5 ( "GDCM" + IP + time () )

ca devrait faire une syntax plus joli (plus habituelle), non ?

Mathieu
Ps: md5 sur Win32 ... hum pas sur


Emmanuel Olart wrote:
> Actuellement nous générons le SOP Instance UID de A a Z en partant de notre
> Radical et en rajoutant en ensemble de choses.
> 
> Je ne serais pas du tout opposé a ce que GDCM rajoute quelque chose a la fin
> automatiquement, j'aurai juste a enlever le datetime que je met a la fin (un
> bon vieux time() unix)
> 
> Par contre je n'ai encore jamais rencontré de SOP instance UID ayant
> quelquechose comme "GDCM" le constituant. C'est toujours une chaine de
> caractères composée d'entiers :
> aaaaa.Bbbbbbb.ccccc.ddddd.ee.ffff.gg
> 
> Donc IP + gdcm bof pour nous, par contre datetime ca me parait OK.
> 
> Il faudrait dans ce cas la une methode du gdcmHeader je suppose :
> SetDcmRadical(string)  ou qquechose du genre.
> 
> Manu
> 
> ----- Original Message ----- 
> From: "Mathieu Malaterre" <mathieu.malaterre at kitware.com>
> To: "Eric Boix" <Eric.Boix at creatis.insa-lyon.fr>
> Cc: <dcmlib at tux.creatis.insa-lyon.fr>
> Sent: Monday, September 27, 2004 5:53 PM
> Subject: Re: [Dcmlib] UID: Question pour Theralys
> 
> 
> 
>>Eric Boix wrote:
>>
>>>Yo,
>>>
>>>Quoting Mathieu Malaterre <mathieu.malaterre at kitware.com>:
>>>
>>>
>>>>Une question pour un guru DICOM. Est-ce que c'est vrai qu'il faut
>>>>une nouvelle UID a chq fois que l'on ecris une image DICOM ?
>>>
>>>Ben, dans le standard il est ecrit que oui. Chaque image (entre autres)
>>>doit avoir un UID (pense aux PACS) i.e. un Unique IDentifier...
>>>(fait un "grep UID gdcm/Dicts/dicomV3.dic" et t'en vera un pacquet).
>>>Un UID est de la forme entier1.entier2.entier3....
>>>
>>>Le pb c'est que pour generer un tel UID, chaque constructeur (ou
>>>generateur d'image) doit faire deux choses:
>>> * avoir un radical (operation payante) correspondant a lui
>>>   (c'est ce qu'a fait Theralys par exemple).
>>> * garantir que chaque image sous ce radical est unique.
>>>
>>>La deuxieme partie est faisable avec du hard, mais avec du soft c'est
>>>plus dur a implementer (on peut par exemple coller le numero IP de
>>>la machine ou le code tourne, mais c'est un pis-aller)... Il faudrait
>>>un modele centralise' pour garantir les choses.
>>>
>>>Le "mieux" est sans doute (afin d'eviter les ennuis) de modifier l'UID
>>>lors d'une Write de gdcm en post-fixant avec un truc genre
>>>   "GDCM"+numeroIP+date
>>>
>>>Mais bon...c'est vraiment pas clean.
>>
>>Alors je pose la question a l'envers pour Theralys est-ce que gdcm
>>fournit l'API necessaire pour faire cette operation ou est-ce que vous
>>avez hacke' dans le code pour faire le necessaire.
>>
>>Est-ce qu'on peut faire une heuristique
>>
>>if( radical fournit)
>>    return radical + "GDCM" + IP + date
>>else
>>    return oldradical + "GDCM" + IP + date
>>
>>
>>Commentaires ?
>>Mathieu
>>
>>
>>_______________________________________________
>>Dcmlib mailing list
>>Dcmlib at creatis.insa-lyon.fr
>>http://www.creatis.insa-lyon.fr/mailman/listinfo/dcmlib
>>
>>
> 
> 
> 
> 






More information about the Dcmlib mailing list