[Dcmlib] MONOCHROME1 vs MONOCHROME2
Jean-Pierre Roux
jpr at creatis.insa-lyon.fr
Fri Apr 29 12:04:49 CEST 2005
laurent.paul at club-internet.fr wrote:
>Bonjour la Gdcm team!
>
>Si j'ai bien compris, c'est plus simple pour tout le monde si je poste ici.
>Je vous explique:
>
>Je voudrais utiliser ITK pour lire une serie dicom, cropper le volume, rescaler l'intensité, registrer...
>Je construits des petits exe qui mis bout a bout realisent la registration. Jusqu'ici j'utilisais un log pour convertir les images en volume (Analyze, mais je suis pret a changer si vous me conseillez un format meilleur que celui-ci).
>Je voudrais lire une serie provenant d'un CT, monochrome2, avec une vleur intercept de -1000, avec DicomSeriesReadImageWrite2.cxx qui utilise donc votre librairie. En sortie de cet exe, les couleurs sont inversées.
>Je suis allé fouiller dans le volume pour lire les valeurs en hexa. Le noir a une valeur de 0x18FC alors que d'origine (dans les images Dicom) il est de 0x0000.
>Mais je ne pense pas que le pb viennent de votre librairie. C'est plus complexe que ca. Quand j'ouvre le volume obtenu avec MRicro, le blanc (l'os) est noir et inversement. Le blanc vaut 32268 (le max) et le noir 0 (le min). Je pense que c'est MRicro (qui gere la variable "intercept", on peut meme la modifier en direct) qui ne fait pas la différence entre entier signés et non signés.
>
>
Pourrais-tu nous envoyer un exemplaire d'image, afin que l'on examine le
bazar...
En ce qui concerne 'rescale slope' et 'rescale intercept', gdcm ne s'en
n'occupe pas.
(Nous avions considéré que c'était une information qui concerne le
viewer uniquement)
En revanche, entre MONOCHROME2, qui est le cas "normal" (low values
=dark, hight values =bright)
et MONOCHROME1, qui est le contraire (low values =bright, hight values
=dark),
j'ai fait il n'y a pas tres longtemps une modif pour tout mettre en
'MONOCHROME2', ce qui n'est probablement pas un tres riche idée.
(on peut considerer que c'est un pb pour le viewer, également)
JPRX
> Quand j'ouvre le meme volume avec Volview, en format raw, je lui specifie que les données sont des entiers signés et l'affichage est bon, le noir valant -1000 et le blanc valant environ 2000, ma valeur initiale.
>Je pense que MRicro se melange les pedales au moment de la lecture des données.
>
>C'est un probleme assez complexe a expliquer, en gros je voudrais savoir comment se fait la conversion et si "intercept" entre en jeu.
>
>Merci de votre aide,
>
>Laurent.
>
>
>_______________________________________________
>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