[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