
| Transfer Syntax UID |
Definition |
| 1.2.840.10008.1.2 |
Raw data, Implicit VR, Little Endian |
| 1.2.840.10008.1.2.x |
Raw data, Eplicit VR
x =
1: Little Endian
x =
2: Big Endian |
| 1.2.840.10008.1.2.4.xx |
JPEG compression
xx =
50-64: Lossy JPEG
xx =
65-70: Lossless JPEG |
| 1.2.840.10008.1.2.5 |
Lossless Run Length Encoding |
|
The DICOM
header
The Image on the left shows a hypothetical DICOM image file.
In this example, the first 794 bytes are used for a DICOM format
header, which describes the image dimensions and retains other
text information about the scan. The size of this header varies
depending on how much header information is stored. Here, the
header defines an image which has the dimensions 109x91x2 voxels,
with a data resolution of 1 byte per voxel (so the total image
size will be 19838). The image data follows the header
information (the header and the image data are stored in the
same file).
Further down, I show a more detailed list of the DICOM header
as displayed by my software. Note that DICOM requires a 128-byte
preamble (these 128 bytes are usually all set to zero), followed
by the letters 'D', 'I', 'C', 'M'. This is followed by the
header information, which is organized in 'groups'. For example,
the group 0002hex is the file meta information group, and (in
the example on the left) contains 3 elements: one defines the
group length, one stores the file version and the third stores
the transfer syntax.
The DICOM elements required depends on the image type, and
are listed in Part 3 of the DICOM standard. For example, this
image modality is 'MR' (see group:element 0008:0060), so it
should have elements to describe the MRI echo time. The absence
of this information in this image is a violation of the DICOM
standard. In practice, most DICOM format viewers (including
MRIcro and ezDICOM) do not check for the presence of most of
these elements, extracting only the header information which
describes the image size.
The NEMA standard preceded DICOM, and the structure is very
similar, with many of the same elements. The main difference is
that the NEMA format does not have the 128-byte data offset
buffer or the lead characters 'DICM'. In addition, NEMA did not
explicitly define multi-frame(3D) images, so element 0028,0008
was not present.
Of particular importance is group:element 0002:0010. This
defines the 'Transfer Syntax Unique Identification' (see
the table on the left). This value reports the structure of the
image data, revealing whether the data has been compressed. Note
that many DICOM viewers can only handle uncompressed raw data.
DICOM images can be compressed both by the common lossy JPEG
compression scheme (where some high frequency information is
lost) as well as a lossless JPEG scheme that is rarely seen
outside of medical imaging (this is the original and rare
Huffman lossless JPEG, not the more recent and efficient
JPEG-LS algorithm). These codes are described in Part 5 of the
DICOM standard. A nice introduction to this the transfer syntax
is provided at
www.barre.nom.fr.
Note that as well as reporting the compression technique (if
any), the Transfer Syntax UID also reports the byte order for
raw data. Different computers store integer values differently,
so called 'big endian' and 'little endian' ordering. Consider a
16-bit integer with the value 257: the most significant byte
stores the value 01 (=255), while the least significant byte
stores the value 02. Some computers would save this value as
01:02, while others will store it as 02:01. Therefore, for data
with more than 8-bits per sample, a DICOM viewer may need to
swap the byte-order of the data to match the ordering used by
your computer.
In addition to the Transfer Syntax UID, the image is also
specified by the Samples Per Pixel (0028:0002), Photometric
Interpretation (0028:0004), the Bits Allocated (0028:0100). For
most MRI and CT images, the photometric interpretation is a
continuous monochrome (e.g. typically depicted with pixels in
grayscale). In DICOM, these monochrome images are given a
photometric interpretation of 'MONOCHROME1' (low values=bright,
high values=dim) or 'MONOCHROME2' (low values=dark, high
values=bright). However, many ultrasound images and medical
photographs include color, and these are described by different
photometric interpretations (e.g. Palette, RGB, CMYK, YBR, etc).
Some colour images (e.g. RGB) store 3-samples per pixel (one
each for red, green and blue), while monochrome and paletted
images typically store only one sample per image. Each images
store 8-bits (256 levels) or 16-bits per sample (65,535 levels),
though some scanners save data in 12-bit or 32-bit resolution.
So a RGB image that stores 3 samples per pixel at 8-bits per can
potentially describe 16 million colours (256 cubed). |