[Dcmlib] gdcmHeaderHelper
Mathieu Malaterre
Mathieu.Malaterre at creatis.insa-lyon.fr
Mon Jul 21 18:29:20 CEST 2003
Salut les gdcm-hackers,
Suite à différents courriels (attention: ne plus utiliser email!) avec
Eric, je voulais un peu changer l'approche à gdcmHeader, et essayer
d'englober les heuristiques dicomesque dans une classe à part.
Je joins donc au mail 3 fichiers:
- gdcmHeaderHelper.h
- gdcmHeaderHelper.cxx
- testHelper.cxx
Le but principal de la classe gdcmHeaderHelper est *d'interpreter* les
résultats fournis par gdcmHeader.
Tandis que gdcmSerieHeaderHelper permet de stocker une liste d'images
dicom et de pouvoir récuperer les infos dans le but -secret- de
construire un volume 3D.
Ainsi, je vois d'un coté:
- gdcmHeader, qui permet l'accès brute aux données,
- gdcmHeaderHelper, qui interprete les données lues, remplace -le cas
échéant- par des données par défaut et est capable d'aller chercher
l'info dans le dict de gdcmHeader à différent endroit.
Ex typique: gdcmHeaderHelper::GetZOrigin
On cherche l'origine de l'image d'abord dans:
- Image Position Patient
- Image Position (RET)
- Slice Location
- Location
- Sinon retourne 0.
Vous l'aurez remarqué bcp des méthodes de cette classe proviennent de
gdcmHeader (introduites par jpr). Ces méthodes étaient là mais n'avaient
pas vraiment -AMHA- leur place ici.
Ajout réel:
gdcmHeaderHelper::GetImageOrientationPatient -> angle d'acquisition (ce
sont de cosinus).
gdcmHeaderHelper::GetImageNumber -> pour +tard, selon comment l'on veut
classer les images
gdcmHeaderHelper::GetModality -> retourne le type de modalité (d'apres
un enum)
gdcmSerieHeaderHelper::OrderGdcmFileList -> algo de classement de
fichiers dicom (pour l'instant se base sur l'IPP et l'IOP des patients).
Dans la TODO liste:
- Certaines image dicom ont les plans RGB séparés, gdcmHeader récupére
les infos brute et gdcmHeaderHelper réordonnes les données pour
permettre le transfert à VTK ou d'autres soft,
- Rendre +robuste l'algo d'ordonnancement d'un stack d'image dicom,
- gdcmSerieHeaderHelper::AddFile(Name) devraient etre + intelligente ->
s'inspirer de vtkGdcm::CheckCoherence,
- AddDirectory à implémenter.
En principal défaut: je n'ai pas trouvé de solution viable à la
différence entre un dicom multiframe et une liste de fichier dicom...le
developpeur doit faire la différence.
Remarques/suggestions/critiques bienvenues,
mathieu
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: testHelper.cxx
URL: <http://www.creatis.insa-lyon.fr/pipermail/dcmlib/attachments/20030721/8a501ad6/attachment.cxx>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: gdcmHeaderHelper.h
URL: <http://www.creatis.insa-lyon.fr/pipermail/dcmlib/attachments/20030721/8a501ad6/attachment.h>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: gdcmHeaderHelper.cxx
URL: <http://www.creatis.insa-lyon.fr/pipermail/dcmlib/attachments/20030721/8a501ad6/attachment-0001.cxx>
More information about the Dcmlib
mailing list