dctopnm(1) DICOM image to PNM file


man2html: unable to open or read file ../dicom3tools/gen.so
[ -v|verbose ] [ -quiet|silent ]
man2html: unable to open or read file ../dicom3tools/optin.so
man2html: unable to open or read file ../dicom3tools/binout.so



reads the named dicom or acr-nema input file and copies the raw image pixel data to a PNM file after adding a PGM or PPM header.

The input file must be unencapsulated, single channel (grayscale or palette color; the photometric interpretation is not checked for single channel), or three channel interleaved RGB, and in the case of > 8 bit data, in the same byte order as desired in the output, since the raw bytes are copied from input to output without any conversion. Use dccp(1) first to change the encoding if necessary.

Only the necessary number of bytes to encode the pixel data will be written (based on rows, columns, number of frames, samples per pixel and bits allocated); this means that for an odd number of bytes the extra DICOM padding byte will not be copied to the raw output. This prevents netpbm utilities freaking out with an error "reading magic number" if the padding byte is present. If any of the necessary attributes to calculate the correct pixel data length are missing, all encoded bytes will be written.


The PNM output goes where it is specified or standard out. The verbose output goes to standard error.

The basic input switches are described in dcintro(1). Options specific to this program are:

Suppress the normal description of image parameters.
Display byte offset from file start and message start, in hexadecimal, and dump contents while reading, once read, during replacement, and before writing.




  % dcfile big.dc3 Meta: UID              1.2.840.10008.1.2.1
Meta: Description      "Explicit VR Little Endian"
Meta: ByteOrder        Little
Meta: VR               Explicit
Meta: Encapsulated     No
Data: UID              1.2.840.10008.1.2.2
Data: Description      "Explicit VR Big Endian"
Data: ByteOrder        Big
Data: VR               Explicit
Data: Encapsulated     No
  % dctopnm big.dc3 big.pgm -endian big
 Rows = 512
 Columns = 512
 NumberOfFrames = 0
 PhotometricInterpretation = MONOCHROME2
 SamplesPerPixel = 1
 BitsAllocated = 16
 BitsStored = 16
 HighBit = 15
 PixelRepresentation = 1
 PlanarConfiguration = 0x0
 Rows*Columns*SamplesPerPixel*BitsAllocated/8 = 0x80000 Writing ...




Copyright (c) 1993-2015, David A. Clunie DBA PixelMed Publishing. All rights reserved.


It would be desirable to be able to expand palette color images to produce RGB output, and to handle color-by-plane rather than interleaved RGB, but for now, these are not supported.