[Dcmlib] SerieHeader

Jean-Pierre Roux jpr at creatis.insa-lyon.fr
Tue Feb 1 17:28:15 CET 2005


Mathieu Malaterre wrote:

> Incorrect:
>
>  // Find out if sorting worked:
>    if( min == max || max == 0 || max > (n+min)) return false;
>
> Ca permet de sortir des mauvais cas. Qu'est ce que t'as comme mauvaise 
> valeur (que vale min / max / ?)

J'etais dans un cas a la con ou les 'image number' valaient :
2, 3, 4, 6, 7 (non consecutifs)
J'ai resolu ce cas precis en faisant :
if( min == max || max == 0 || max >= (n+min)) return false;
ce qui est non satidfaisant, car si le 'trou' dans les numeros est de 2, 
on est de la baise.
Pareil les image numbers sont, par exemple 10, 20, 30, etc.

Quelque soit l'algorithme pour transformer, de maniere absolue, une 
valeur en une position dans un std::vector, on trouvera forcement un 
contre exemple qui le fait planter.

La solution serait probablement de trier la liste sur un critere donne.
On aurait alors une position dans la liste (quelle que soit l'allure des 
valeurs sur lesquelles on trie)

-> A condition de s'etre donne les moyens de verifier que 'le' critere 
sur lequel on trie a un sens pour ce qu'on veut faire.

J'ai recupere un exemple de 'Serie' d'enfer dont je parlais : N plans de 
coupe, a P instants (3D dynamique)
Si on trie sur la position, en laissant tomber les 'doublons' -meme 
position-, on va etre mal.

Il faudra surement, *a cote* de gdcmData, creer un Directory contenant 
... des directories qui contiennent des series un peu particulieres :
-> 8 images, dans 3 orientaions differentes (scout views)
-> 3D dynamique
-> pas de 'Image Position Patient"
-> etc

JP



>
> Mathieu
>
>
> Jean-Pierre ROUX wrote:
>
>> Bonjour.
>>
>> Cause du bugg localisee :
>> ImageNumberOrdering suppose que tous les numeros d'images d'une 
>> 'Serie' sont des chaines de caracteres correspondant a des entiers 
>> consecutif.
>> Si ce n'est pas le cas, on n'a aucune chance de s'en sortir avec la 
>> methode de tri actuelle...
>>
>> JP
>>   Jean-Pierre ROUX
>>   UMR CNRS 5515-CREATIS
>>   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
>>                                    
>> _______________________________________________
>> Dcmlib mailing list
>> Dcmlib at creatis.insa-lyon.fr
>> http://www.creatis.insa-lyon.fr/mailman/listinfo/dcmlib
>>
>
> _______________________________________________
> Dcmlib mailing list
> Dcmlib at creatis.insa-lyon.fr
> http://www.creatis.insa-lyon.fr/mailman/listinfo/dcmlib
>



More information about the Dcmlib mailing list