Provided by: dicom3tools_1.00~20220618093127-2_amd64
dctopnm - ACR/NEMA DICOM PS3 ... DICOM PS3 - DICOM image to PNM file
dctopnm [ -v|verbose ] [ -quiet|silent ]
dctopnm 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: -quiet|silent Suppress the normal description of image parameters. -verbose 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-2022, 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.