[Dcmlib] gdcm proposal

Mathieu Malaterre mathieu.malaterre at kitware.com
Tue Apr 26 16:21:26 CEST 2005


Yo,

     Bon ben voila j'ai un peu epure mon pseudo code. Il est tres centre'
sur lecture/manip/ecriture de DICOM 2D. J'espere ne pas avoir fais de
choix trop restrictif qui serait bloquant plus tard pour la lecture
d'image 3D ou de DICOMDIR:

http://www.creatis.insa-lyon.fr/~malaterre/gdcm/proposal/

     C'est pour moi l'approche XP qui j'ai repris. On decris le programme
via des cas d'utilisation. Mon objectif est de rester tres simple pour
l'utilisateur. L'API public doit etre minimalistique. Les exemples ont
aussi tres peu de commentaires, en XP le choix des noms de
classes/methodes est tres importants, il doit refleter la fonctionalite.

     Sinon dans les commentaires en vrac, je continue a donner un role
different a /l'image DICOM/. Pour moi on peut parfaitement avoir un
header avec PixelSize=12, Spacing=0,0 et pourtant l'image gdcm.Image
doit etre construite correctement. Ainsi on peut faire PrintDocument et
montrer les valeurs effectivement lues, et aussi bien plus tard sauver
l'image correctement. L'idee serait que gdcm.Writer ecrive un
dictionaire dont les valeurs se baserait sur gdcm.Image (et ecraserait
celle de l'input). Je fais reference a l'horeur qui est faite en ce
moment dans gdcm, si une image est codee sur 12 bits juste avant de
l'ecrire on change 12 -> 16 ... ce qui veut dire que PrintDocument est
dependant de l'ordre des actions au moment de l'ecriture.

     J'ai essayer d'avoir un reader/writer ala VTK, mais c'est aussi base
sur le principe de ifstream/ofstream. Je fais donc le choix de dupliquer
le header DICOM... ou alors il faudrait faire un Writer astucieux qui au
moment d'ecrire valeur par valeur verifierais qu'il n'ecrive pas une betise.

     J'introduis aussi la notion de gdcm.Validator ou par exemple on
verifierais la VM des elements et autres DICOMeries.

     Merci de me faire part de vos commentaires.

Mathieu
Ps: y'a beaucoup de choses a dire mais j'ai peur de faire un mail trop
long et personne ne le lirait...enfin bon je verrai bien les reactions
et en fonction je serais + prolix



More information about the Dcmlib mailing list