Re: [Dcmlib] Pb qualité image via ITK...

Emmanuel Olart eolart at theralys.net
Fri Apr 8 17:30:16 CEST 2005


Salut a tous,

en lisant ce mail un doute m'a saisi et je viens de relire la partie 3 de la
norme DICOM :

il y est dit que la valeur 0000H indique des données non signées alors que
la valeur 0001H  représente des données signées.

Est ce que je fais erreur ?

petit exemple copié de la norme :

*snip* "Usually they will be zero, though if the pixel data is signed, i.e.
Pixel Representation (0028,0103) is 0001H," *snip*


Manu

----- Original Message ----- 
From: "Mathieu Malaterre" <mathieu.malaterre at kitware.com>
To: "Fabrice BERGER" <f.berger at topsolid.com>
Cc: "Mailing List GDCM" <dcmlib at creatis.insa-lyon.fr>
Sent: Friday, April 08, 2005 4:27 PM
Subject: Re: [Dcmlib] Pb qualité image via ITK...


> Fabrice,
>
> Je vois un peu ton probleme et c'est celui de ITK en general il faut
> que tu sache ton pixel type avant de lire l'image ! Je crois me souvenir
> que ITK a un GDCMafficheInfo (dans le rep Exemple/IO) ou qlq chose du
> genre (a verifier).  Dans ce cas voila ce qu'il faut faire:
>
>  > 0028,0101,Bits Stored=12
>
> Conclusion: tu aura bien a faire a des donnes codee sur 12bits,
> malheureusement ce n'existe pas. Dans ce cas il faut bien instancier ton
> image ITK sur une donnee sizeof() > 12.
> Maitenant le dilemne est de savoir si c'est unsigned ou signed ?
>
>
>  > 0028,0103,Pixel Representation=0
>
> Conclusion: tes donnees sont signee (si Pixel Representation=1 ->
unsigned).
>
> HTH
> Mathieu
>
> Fabrice BERGER wrote:
> > Bonjour,
> >
> > J’utilise depuis peu et pour un besoin ponctuel ITK, et par son
> > intermédiaire GDCM.
> > Je ne suis pas du tout spécialiste en images DICOM (j’apprends sur le
tas,
> > en l’occurrence…)
> >
> > Je cherche à afficher une image DICOM dans un produit de CAO. J’ai donc
> > besoin de reprendre les pixels avec les bonnes valeurs.
> > Mes images de tests sont codées comme ça (merci ezDicom !!) :
> > 0028,0000,Image Presentation Group Length=180
> > 0028,0002,Samples Per Pixel=1
> > 0028,0004,Photometric Interpretation=MONOCHROME2
> > 0028,0010,Rows=512
> > 0028,0011,Columns=512
> > 0028,0030,Pixel Spacing=0.390625 0.390625
> > 0028,0100,Bits Allocated=16
> > 0028,0101,Bits Stored=12
> > 0028,0102,High Bit=11
> > 0028,0103,Pixel Representation=0
> > 0028,1050,Window Center=00700 00700
> > 0028,1051,Window Width=02700 02700
> > 0028,1052,Rescale Intercept=-1000
> > 0028,1053,Rescale Slope=1
> >
> > J’ai pu constater dans plusieurs viewer DICOM (ezDicom et DICOMscope
> > notamment) que l’image est bonne (en tout cas, ils l’affichent avec des
gris
> > bien choisis, sans intervention de l’utilisateur)
> >
> > Sachant que je déclare les types suivants :
> > typedef itk::Image<PixelType, 2 > ImageType;
> > typedef itk::ImageFileReader<ImageType> ReaderType;
> >
> > Si je déclare un PixelType de type unsigned char, la conversion semble
> > catastrophique, les niveaux de gris ne correspondent à rien : on dirait
> > qu’il fait un modulo 256 sur la valeur en unsigned short.
> > Si je déclare un PixelType de type unsigned short, c’est mieux, mais la
> > plage n’est pas bonne (j’utilise environ 2000 valeurs de gris sur les
65535
> > dispos, autant dire rien).
> > Dans ce dernier cas, j’ai constaté que la fonction RescaleFunction()
dans
> > itkGDCMImageIO.cxx avait un comportement bizarre. En effet, j’ai un
slope à
> > 1.0 (ça me semble ok) et Intercept = -1000.0 (c’est courant des valeurs
> > négatives ?), et la valeur de mes pixels avant rescale, et en unsigned
> > short, oscille entre 0 et 3000… Bref, le resampling en vient souvent à
> > convertir un nombre négatif en en unsigned short… et je me retrouve avec
du
> > quasi noir et du quasi blanc à l’affichage. Visuellement, on ne voit que
du
> > noir ou du blanc, même en zoomant sur l’image.
> >
> > Je suppose que j’ai mal fait quelque chose, mais je ne voit pas quoi...
> >
> > Si quelqu'un a une idée qui me permette de progresser, je le remercie
par
> > avance.
> >
> > Fabrice Berger
> >
> >
> > _______________________________________________
> > 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