[Dcmlib] SerieHelper::AddRestriction
Jean-Pierre ROUX
jean-pierre.roux at creatis.insa-lyon.fr
Sun May 29 12:52:41 CEST 2005
At 17:24 -0400 27/05/05, Mathieu Malaterre wrote:
>Yo,
>
> Une des demandes actuelles sur la ML de ITK c'est de pouvoir
>sous selectionner une serie DICOM des le depart. On doit pouvoir
>donner une ensemble de regle a gdcm pour ne lire que certain fichier
>DICOM. Le cas actuel qui s'est presenter c'est de pouvoir trier la
>serie selon son EchotTime et d'ecarter celles qui n'aurait pas le
>bon (dans ce cas lUID etait la meme dans toutes les series).
Il se peut qu'on soit ammenés à réfléchir de nouveau sur la manière
de s'y prendre avec les 'ensembles d'images', qu'on considère pour le
moment comme pouvant etre multi-patient, multi-modalite, multi-examen
...
Pour le moment dans SerieHelper, en une seule opération (du point de
vue user) :
- on 'ventile' les images par 'Serie' (c'est a dire sur le Serie UID
quand il y en a un -c'est le cas des images DICOM-Kasher-, ou sur
d'autres criteres heuristiques.
- on 'trie' a l'intérieur de chaque 'Serie', selon des considérations
géographiques, au mieux de ce que les champs présents dans l'entete
nous permettent de faire.
Il faudra probablement dissocier :
- 'selection' (ce que l'on veut garder),
- 'ventilation' (dans ce qu'on a gardé, on fait une partition -au
sens math.- des images)
- 'classement' (dans chaque partition, on ordonne les images, selon
un certain critère)
Ce qu'on fait actuellement a toujours son utilité (pour afficher le
contenu d'un directory, en l'absence du DICOMDIR correspondant)
Les questions des utilisateurs de la ML ITK portent vraisemblablement
sur la partie 'Selection': ne garder *que* celles qui ont un 'Echo
Time' donné, a l'interieur de qq chose deja 'ventile' (une Serie).
Il faut, a mon avis, permettre a un utilisateur 'aware' de dissocxier
les opérations.
>
> J'ai essayer de faire ca de maniere generique afin que plus
>tard on puisse trier selon une date donnee, une hopital donne, une
>age...
>
> Le probleme c'est que je me suis encore pris la meme porte:
>Il n'y absolument pas de consistance dans gdcm on peut soit attendre:
>
>uint16_t group, uint16_t elem
>
>ou bien
>
>TagKeg key (par ex: "1234|5678")
Le TagKey est qq chose de parfaitement 'interne' (c'est la cle de la
std::map, dont l'utilisateur ignore l'existance), et n'aurait donc
jamais du etre 'vu' par les utilisateurs.
Ce que l'utilisateur connait, c'est 'group number', 'element number'.
Bon WE
JPRx
>
>
>Je suis heureux avec les deux, je veux juste que l'on fasse un choix:
>- Niveau user: c'est 1 OU 2 (XOR)
>- Niveau dvpler: c'est 1 ou 2 (XOR)
>
>
>Merci de vos suggestions et bon week end
>Mathieu
>
>
>$ cvs ci -m"ENH: Adding feature for user to refine the search of
>dicom file within a directory. The most common case is when user
>search based on a particular case of EchoTime" gdcmSerieHelper.cxx
>gdcmSerieHelper.h
>Checking in gdcmSerieHelper.cxx;
>/cvs/public/gdcm/src/gdcmSerieHelper.cxx,v <-- gdcmSerieHelper.cxx
>new revision: 1.8; previous revision: 1.7
>done
>Checking in gdcmSerieHelper.h;
>/cvs/public/gdcm/src/gdcmSerieHelper.h,v <-- gdcmSerieHelper.h
>new revision: 1.9; previous revision: 1.8
>done
>_______________________________________________
>Dcmlib mailing list
>Dcmlib at creatis.insa-lyon.fr
>http://www.creatis.insa-lyon.fr/mailman/listinfo/dcmlib
Jean-Pierre ROUX
CREATIS - CNRS UMR 5515, INSERM U 630
Laboratoire de Radiologie Experimentale
Hopital Cardiologique
28 Avenue du Doyen LEPINE
B.P. Lyon-Montchat
69394 Lyon Cedex 03
Tel : (+33) 04 72 35 74 12
Fax : (+33) 04 72 68 49 16
URL : http://www.creatis.univ-lyon1.fr
e-mail : jpr at creatis.univ-lyon1.fr
More information about the Dcmlib
mailing list