[Insight-developers] GDCM eventually replacing DICOMImageIO2
Mathieu Malaterre
mathieu.malaterre at kitware.com
Mon Nov 29 16:16:53 EST 2004
Jim,
Miller, James V (Research) wrote:
> The slope and offset are more that just "for display". They indicate
> how to convert from the (usually) 16 bit storage format to the appropriate
> dynamic range of the data. For CT, the slope and offset are usually
> 1 and -1024 (for data on some PACS systems, the slope may be 2 and the
> offset -2048). Applying the slope and offset is important for CT to
> convert the storage data to Hounsfeld units. Each vendor could use a
> different slope and offset. For proper processing, we should always
> present CT to ITK in Hounsfeld units.
Quick question when you say 'offset' you mean intercept ?
Looking at the DICOM2 code + Utilities I don't see where it is done. It
looks like the rescale was only done is the slope/intercept were
floating number.
But it looks like you want rescale anytime slope != 1.0 and intercept !=
0.0, correct ? No particular attention should be done based on Modality ?
> For PET the situation is more insipid. PET data cannot be stored in
> 16 bits without loss of information. To limit the loss, each PET slice
> is scaled independently to fit in 16 bits. So each PET slice in the
> series will have a different slope and intersept.
Thanks for clarification, I wasn't aware of this 'feature' :)
> In the DICOMParser code, we took the position that the pixel data returned
> from the library would already have the appropriate slope and offset
> applied. This means that CT data is always presented to ITK in Hounsfeld
> units and PET data is reconciled to a common dynamic range.
>
> To apply the slope and offset correctly, we looked at the magnitude of the
> slope. If slope was exactly 1, we kept the pixel data as an integer.
> If the slope was different from 1, we returned the pixel data as float.
> The ITK readers will convert the pixel data to whatever datatype the user
> requested but the DICOM library always returns the data in the most
> appropriate type.
Thanks,
Mathieu
More information about the Insight-developers
mailing list