[Dcmlib] UID: Question pour Theralys

Mathieu Malaterre mathieu.malaterre at kitware.com
Mon Sep 27 18:23:35 CEST 2004


Les lecteurs attentifs auront bien sur corriger en:


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


Mathieu Malaterre wrote:
> 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