[Dcmlib] Pb qualité image via ITK...
Fabrice BERGER
f.berger at topsolid.com
Fri Apr 8 13:05:07 CEST 2005
Bonjour,
Jutilise 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 (japprends sur le tas,
en loccurrence
)
Je cherche à afficher une image DICOM dans un produit de CAO. Jai 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
Jai pu constater dans plusieurs viewer DICOM (ezDicom et DICOMscope
notamment) que limage est bonne (en tout cas, ils laffichent avec des gris
bien choisis, sans intervention de lutilisateur)
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
quil fait un modulo 256 sur la valeur en unsigned short.
Si je déclare un PixelType de type unsigned short, cest mieux, mais la
plage nest pas bonne (jutilise environ 2000 valeurs de gris sur les 65535
dispos, autant dire rien).
Dans ce dernier cas, jai constaté que la fonction RescaleFunction() dans
itkGDCMImageIO.cxx avait un comportement bizarre. En effet, jai un slope à
1.0 (ça me semble ok) et Intercept = -1000.0 (cest 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 à laffichage. Visuellement, on ne voit que du
noir ou du blanc, même en zoomant sur limage.
Je suppose que jai 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
More information about the Dcmlib
mailing list