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

Mathieu Malaterre mathieu.malaterre at kitware.com
Fri Apr 8 16:48:24 CEST 2005



> (moyennant un p'tit rescale de la plage de couleur)

quoi ? Normalement le rescale est fait automatiquement. itkGDCMImageIO 
prends les valeurs :

 >>0028,1052,Rescale Intercept=-1000
 >>0028,1053,Rescale Slope=1

Et les applique correctement, non ?

Mathieu


>>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