[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