[Insight-users] Re: Help with Dicom PET images

Ziv Yaniv zivy at isis.imac.georgetown.edu
Mon Sep 25 13:18:27 EDT 2006


insight-users-request at itk.org wrote:

>Send Insight-users mailing list submissions to
>	insight-users at itk.org
>
>To subscribe or unsubscribe via the World Wide Web, visit
>	http://www.itk.org/mailman/listinfo/insight-users
>or, via email, send a message with subject or body 'help' to
>	insight-users-request at itk.org
>
>You can reach the person managing the list at
>	insight-users-owner at itk.org
>
>When replying, please edit your Subject line so it is more specific
>than "Re: Contents of Insight-users digest..."
>
>
>Today's Topics:
>
>   1. Help with Dicom PET images (Markus Weigert)
>
>
>----------------------------------------------------------------------
>
>Message: 1
>Date: Mon, 25 Sep 2006 13:41:59 +0200
>From: "Markus Weigert" <m.weigert at fz-juelich.de>
>Subject: [Insight-users] Help with Dicom PET images
>To: <insight-users at itk.org>
>Message-ID: <008101c6e097$9c81beb0$2f085e86 at ime.kfajuelich.de>
>Content-Type: text/plain; charset="iso-8859-1"
>
>Hi all,
>
>I have a problem regarding dicom PET image series.
>To load and use those images, I use itk::image<short,3> as container.
>The problem is that those PET images show very high values, which
>are over the range of short datatype (also above unsigned short).
>I tried to switch to "int" and was able to read and display the series, 
>but unfortunately, I also need to write the data in dicom format.
>However, when I try to write a dicom series using an itk::image<int,3>,
>I get an error message, that dicom does not support this datatype!!!!
>So what can I do?
>I do not want to rescale the image though this would violate the physical
>meaning of the values.
>I just wonder that dicom is someway coding these high values (because the
>original values can be loaded properly from a serie), but doesn't let me write it.
>
>
>Kind regards,
>Markus
>
>
> 
>-------------- next part --------------
>An HTML attachment was scrubbed...
>URL: http://public.kitware.com/pipermail/insight-users/attachments/20060925/165cd72f/attachment.html
>
>------------------------------
>
>_______________________________________________
>Insight-users mailing list
>Insight-users at itk.org
>http://www.itk.org/mailman/listinfo/insight-users
>
>
>End of Insight-users Digest, Vol 29, Issue 62
>*********************************************
>
>
>  
>
Hi Markus,

 From my experience with PET, the voxel values are float and not 
int/short. Before you continue with your work I suggest that you look at 
the DICOM header. The type of the gray level value is defined by 
multiple fields, Rescale Slope [0028-1053] (for PET usually some 
floating value), Rescale Intercept [0028-1054] (for PET usually zero), 
and Pixel Representation [0028-0103] (for PET 1==signed short). The 
final value is computed as
finalValue = RescaleSlope*pixelValue + RescaleIntercept. The way you are 
currently reading the images in ITK simply C-casts the float data to int.

To save your ITK image back to DICOM reverse the computation so that 
your "pixelValue" is a signed short and combined with the rescale slope 
and intercept yields the value found in your ITK image.
I am not aware of a nice way to do this in ITK, but perhaps the GDCM 
people have an elegant solution?

                      regards
                          Ziv



More information about the Insight-users mailing list