---
name: "dctopnm"
section: "1"
platform: "linux"
package: "dicom3tools"
version: "1.00~20240118131615-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/dctopnm"
---

# dctopnm(1)

ACR/NEMA DICOM PS3 ... DICOM PS3 - DICOM image to PNM file

## NAME

dctopnm - ACR/NEMA DICOM PS3 ... DICOM PS3 - DICOM image to PNM file

## SYNOPSIS

**dctopnm** \[ **-v\|verbose** \] \[ **-quiet\|silent** \]

## DESCRIPTION

**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)](/dccp/1.md) 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.

## OPTIONS

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)](/dcintro/1.md). 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.

## ENVIRONMENT

## EXAMPLES

% 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 ...

## FILES

## SEE ALSO

**[dccp(1)](/dccp/1.md)**, **pnmtodc(1)**, **rawtodc(1)**, **dctoraw(1)**, **[dctopgm8(1)](/dctopgm8/1.md)**, **[dcintro(1)](/dcintro/1.md)**

## AUTHOR

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

## BUGS

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.
