[Dcmlib] [Fwd: [Insight-developers] anonymize DICOM files]

Jean-Pierre Roux jpr at creatis.insa-lyon.fr
Sun Feb 6 17:08:29 CET 2005


Emmanuel olart wrote:

>>Mathieu Malaterre wrote:
>>
>>    
>>
>>>Ok , j'ai citer moi meme cette methode. Le probleme c'est que gdcm va
>>>lire *ET* interpreter l'image avant de la reecrire.
>>>      
>>>
>>Desole !
>>Je venais de relire ta reponse , jusqu'au bout cette fois...
>>
>>J'ai vu les Theralyssiens, a midi.
>>La manip serait de passer un ensemble de -list, vector, ou autre
>>chose-  tuples (group, elem, newValue) a une methode.
>>Pour chaque element, on a son offset  (sa position a partir du debut du
>>fichier), on fait des fseek, fwrite avec la nouvelle valeur si elle
>>tient, ou des espaces sur la bonne longueur.
>>En sachant qu'on recrit sur l'image (l'utilisateur n'a qu'a bosser sur
>>une copie)
>>    
>>
>
>Oui mais quid si justement la nouvelle longueur est plus grande ?
>Trouvez vous logique de padder des espaces sur toutes la longueur du champs
>? Ca ferais tout de meme bizarre d'avoir un Patient's Name longuer =26 avec
>26 espaces.
>
>Actuellement, quand je veux anonymiser j'ouvre l'image, blank les champs
>voulu et reecris l'image, donc entete + pixels. Ce que fait egalement
>gdcm::File.Anonymize()
>  
>
File::Anonymize() reecrit l'image, proprement, apres l'avoir lue  
(champs Dicom + Pixels)
Si l'utilisateur n'arrive pas alire les Pixels ( par exemple les images 
JPEG-2000), il est fait comme un rat.
(peut pas anonymiser l'image, peut pas nous l'envoyer)

La nouvelle methode File::AnonymizeNoLoad() re-ecrit, juste les champs 
qu'on veut effacer, dans l'image source.
C'est rapide -et violent-
On lui passe la liste des champs qu'on veut effacer, avec leur nouvelle 
valeur.
(pareil pour File::Anonymize() )

JPRx

>Je proposais a JP ce midi de pouvoir choisir les champs a anonymiser, voir
>les valeurs a remplacer dans l'entete via une methode SetAnonymizedFields
>(vector<string value, uint16_t group, uint16_t element>)
>
>Manu
>
>
>  
>
>  
>



More information about the Dcmlib mailing list