[Dcmlib] modifier le header d'une serie dicom

Mathieu Malaterre mathieu.malaterre at kitware.com
Mon Apr 25 15:17:41 CEST 2005


laurent.paul at club-internet.fr wrote:
> 
> Bonjour a tous!
> 
> Ca fait plaisir d'avoir une mailling list sur le dicom en francais!
> Ca me fait gagne un temps fou quand je poste une question!
> 
> Alors voila, je cherche un exe qui serait capable de modifier un champ 
> dans le header d'une série Dicom.
> Je vous explique:
> 
> J'ai scanné une greffe pour un projet et lors du scan, la greffe etait 
> mal orientée (à l'envers) et le technicien qui a réalisé l'acquisition a 
> juste mis un ecart entre les slices de "-1".
> Ca resoud son probleme, mais pas le mien!
> Lorsque j'ouvre cette série avec certains logiciels, ca pose des 
> problemes notamment pour ce qui est mesure de distances, cropping....
> Bref, j'aimerais changer cette valeur dans chaque header de ma série.

ca me parait pas insurmontable. Mais il va faloir que tu prennes exemple 
sur des exemples gdcm deja existant.
Premiere etape reperer le champe DICOM auquel tu fais reference:


./bin/PrintHeader dicom.dcm

tu notes sur un papier le ref de la form "0028|0005"

Et dans l'exemple tu fais:

...
header->InsertValEntry( "1", 0x0028, 0x0005);
...
file->Write("newdicom.dcm");


ATTENTION: gdcm ne sauve qu'en RAW (pour l'instant) donc tes images 
seront alterer (par rapport a la solution consistant a faire un hexedit 
sur tous les fichiers).

> Autre solution:
> J'utilise le format Analyze. Ma série est donc convertie en un fichier 
> et un header. Je ne sais pas exactement quelle est la structure mais il 
> doit bien y avoir un tag du meme style que celui du dicom. Peut etre 
> serait-ce plus facile de modifier seulement ce tag.

Quoi les fichier en Analyze ont aussi le meme probleme ?

Mathieu
Ps: comme tu utilises ITK pourquoi ne pas faire le traitement dans ITK 
directement:

if( image == image_avec_faux_ecart )
    ecart = abs(ecart)

ca evite de faire un batch sur les images original. Dans le future tu 
peux ne pas te rappeler si tu as preprocesser les fichiers ou non...



More information about the Dcmlib mailing list