Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
dcmj2pnm(1)			  OFFIS	DCMTK			   dcmj2pnm(1)

       dcmj2pnm	- Convert DICOM	images to PGM/PPM, PNG,	TIFF, JPEG or BMP

       dcmj2pnm	[options] dcmfile-in [bitmap-out]

       The  dcmj2pnm  utility  reads  a	 DICOM	image, converts	the pixel data
       according to the	selected image processing options and writes  back  an
       image in	the well-known PGM/PPM (portable gray map / portable pix map),
       PNG, TIFF, JPEG (Joint  Photographic  Experts  Group)  or  Windows  BMP
       format.	This  utility  supports	 uncompressed  as well as JPEG and RLE
       compressed DICOM	images.

       dcmfile-in  DICOM input filename	to be converted

       bitmap-out  output filename to be written (default: stdout)

   general options
	 -h    --help
		 print this help text and exit

		 print version information and exit

		 print expanded	command	line arguments

	 -q    --quiet
		 quiet mode, print no warnings and errors

	 -v    --verbose
		 verbose mode, print processing	details

	 -d    --debug
		 debug mode, print debug information

	 -ll   --log-level  [l]evel: string constant
		 (fatal, error,	warn, info, debug, trace)
		 use level l for the logger

	 -lc   --log-config  [f]ilename: string
		 use config file f for the logger

   input options
       input file format:

	 +f    --read-file
		 read file format or data set (default)

	 +fo   --read-file-only
		 read file format only

	 -f    --read-dataset
		 read data set without file meta information

       input transfer syntax:

	 -t=   --read-xfer-auto
		 use TS	recognition (default)

	 -td   --read-xfer-detect
		 ignore	TS specified in	the file meta header

	 -te   --read-xfer-little
		 read with explicit VR little endian TS

	 -tb   --read-xfer-big
		 read with explicit VR big endian TS

	 -ti   --read-xfer-implicit
		 read with implicit VR little endian TS

   image processing options
       frame selection:

	 +F    --frame	[n]umber: integer
		 select	specified frame	(default: 1)

	 +Fr   --frame-range  [n]umber [c]ount:	integer
		 select	c frames beginning with	frame n

	 +Fa   --all-frames
		 select	all frames


	 +Rl   --rotate-left
		 rotate	image left (-90	degrees)

	 +Rr   --rotate-right
		 rotate	image right (+90 degrees)

	 +Rtd  --rotate-top-down
		 rotate	image top-down (180 degrees)


	 +Lh   --flip-horizontally
		 flip image horizontally

	 +Lv   --flip-vertically
		 flip image vertically

	 +Lhv  --flip-both-axes
		 flip image horizontally and vertically


	 +a    --recognize-aspect
		 recognize pixel aspect	ratio when scaling (default)

	 -a    --ignore-aspect
		 ignore	pixel aspect ratio when	scaling

	 +i    --interpolate  [n]umber of algorithm: integer
		 use interpolation when	scaling	(1..4, default:	1)

	 -i    --no-interpolation
		 no interpolation when scaling

	 -S    --no-scaling
		 no scaling, ignore pixel aspect ratio (default)

	 +Sxf  --scale-x-factor	 [f]actor: float
		 scale x axis by factor, auto-compute y	axis

	 +Syf  --scale-y-factor	 [f]actor: float
		 scale y axis by factor, auto-compute x	axis

	 +Sxv  --scale-x-size  [n]umber: integer
		 scale x axis to n pixels, auto-compute	y axis

	 +Syv  --scale-y-size  [n]umber: integer
		 scale y axis to n pixels, auto-compute	x axis

       color space conversion (JPEG compressed images only):

	 +cp   --conv-photometric
		 convert if YCbCr photometric interpretation (default)

	 +cl   --conv-lossy
		 convert YCbCr to RGB if lossy JPEG

	 +cg   --conv-guess
		 convert to RGB	if YCbCr is guessed by library

	 +cgl  --conv-guess-lossy
		 convert to RGB	if lossy JPEG and YCbCr	is
		 guessed by the	underlying JPEG	library

	 +ca   --conv-always
		 always	convert	YCbCr to RGB

	 +cn   --conv-never
		 never convert color space

       workaround options for incorrect	encodings (JPEG	compressed images only):

	 +w6   --workaround-pred6
		 enable	workaround for JPEG lossless images
		 with overflow in predictor 6

	 # DICOM images	with 16	bits/pixel have	been observed "in the wild"
	 # that	are compressed with lossless JPEG and need special handling
	 # because the encoder produced	an 16-bit integer overflow in predictor
	 # 6, which needs to be	compensated (reproduced) during	decompression.
	 # This	flag enables a correct decompression of	such faulty images, but
	 # at the same time will cause an incorrect decompression of correctly
	 # compressed images. Use with care.

	 +wi   --workaround-incpl
		 enable	workaround for incomplete JPEG data

	 # This	option causes dcmj2pnm to ignore incomplete JPEG data
	 # at the end of a compressed fragment and to start decompressing
	 # the next frame from the next	fragment (if any). This	permits
	 # images with incomplete JPEG data to be decoded.

	 +wc   --workaround-cornell
		 enable	workaround for 16-bit JPEG lossless
		 Cornell images	with Huffman table overflow

	 # One of the first open-source	implementations	of lossless JPEG
	 # compression,	the "Cornell" library, has a well-known	bug that leads
	 # to invalid values in	the Huffmann table when	images with 16 bit/sample
	 # are compressed. This	flag enables a workaround that permits such
	 # images to be	decoded	correctly.

       modality	LUT transformation:

	 -M    --no-modality
		 ignore	stored modality	LUT transformation

	 +M    --use-modality
		 use modality LUT transformation (default)

       VOI LUT transformation:

	 -W    --no-windowing
		 no VOI	windowing (default)

	 +Wi   --use-window  [n]umber: integer
		 use the n-th VOI window from image file

	 +Wl   --use-voi-lut  [n]umber:	integer
		 use the n-th VOI look up table	from image file

	 +Wm   --min-max-window
		 compute VOI window using min-max algorithm

	 +Wn   --min-max-window-n
		 compute VOI window using min-max algorithm,
		 ignoring extreme values

	 +Wr   --roi-min-max-window  [l]eft [t]op [w]idth [h]eight: integer
		 compute ROI window using min-max algorithm,
		 region	of interest is specified by l,t,w,h

	 +Wh   --histogram-window  [n]umber: integer
		 compute VOI window using Histogram algorithm,
		 ignoring n percent

	 +Ww   --set-window  [c]enter [w]idth: float
		 compute VOI window using center c and width w

	 +Wfl  --linear-function
		 set VOI LUT function to LINEAR

	 +Wfs  --sigmoid-function
		 set VOI LUT function to SIGMOID

       presentation LUT	transformation:

	 +Pid  --identity-shape
		 set presentation LUT shape to IDENTITY

	 +Piv  --inverse-shape
		 set presentation LUT shape to INVERSE

	 +Pod  --lin-od-shape
		 set presentation LUT shape to LIN OD


	 -O    --no-overlays
		 do not	display	overlays

	 +O    --display-overlay  [n]umber: integer
		 display overlay n (0..16, 0=all, default: +O 0)

	 +Omr  --ovl-replace
		 use overlay mode "Replace"
		 (default for Graphic overlays)

	 +Omt  --ovl-threshold
		 use overlay mode "Threshold Replace"

	 +Omc  --ovl-complement
		 use overlay mode "Complement"

	 +Omv  --ovl-invert
		 use overlay mode "Invert Bitmap"

	 +Omi  --ovl-roi
		 use overlay mode "Region of Interest"
		 (default for ROI overlays)

	 +Osf  --set-foreground	 [d]ensity: float
		 set overlay foreground	density	(0..1, default:	1)

	 +Ost  --set-threshold	[d]ensity: float
		 set overlay threshold density (0..1, default: 0.5)

       display LUT transformation:

	 +Dm   --monitor-file  [f]ilename: string
		 calibrate output according to monitor characteristics
		 defined in f

	 +Dp   --printer-file  [f]ilename: string
		 calibrate output according to printer characteristics
		 defined in f

	 +Da   --ambient-light	[a]mbient light: float
		 ambient light value (cd/m^2, default: file f)

	 +Di   --illumination  [i]llumination: float
		 illumination value (cd/m^2, default: file f)

	 +Dn   --min-density  [m]inimum	optical	density: float
		 Dmin value (default: off, only	with +Dp)

	 +Dx   --max-density  [m]aximum	optical	density: float
		 Dmax value (default: off, only	with +Dp)

	 +Dg   --gsd-function
		 use GSDF for calibration (default for +Dm/+Dp)

	 +Dc   --cielab-function
		 use CIELAB function for calibration


	 +Ma   --accept-acr-nema
		 accept	ACR-NEMA images	without	photometric

	 +Mp   --accept-palettes
		 accept	incorrect palette attribute tags
		 (0028,111x) and (0028,121x)

	 +Mc   --check-lut-depth
		 check 3rd value of the	LUT descriptor,	compare
		 with expected bit depth based on LUT data

	 +Mm   --ignore-mlut-depth
		 ignore	3rd value of the modality LUT descriptor,
		 determine bits	per table entry	automatically

	 +Mv   --ignore-vlut-depth
		 ignore	3rd value of the VOI LUT descriptor,
		 determine bits	per table entry	automatically

       TIFF format:

	 +Tl   --compr-lzw
		 LZW compression (default)

	 +Tr   --compr-rle
		 RLE compression

	 +Tn   --compr-none

	 +Pd   --predictor-default
		 no LZW	predictor (default)

	 +Pn   --predictor-none
		 LZW predictor 1 (no prediction)

	 +Ph   --predictor-horz
		 LZW predictor 2 (horizontal differencing)

	 +Rs   --rows-per-strip	 [r]ows: integer (default: 0)
		 rows per strip, default 8K per	strip

       PNG format:

	 +il   --interlace
		 create	interlaced file	(default)

	 -il   --nointerlace
		 create	non-interlaced file

	 +mf   --meta-file
		 create	PNG file meta information (default)

	 -mf   --meta-none
		 no PNG	file meta information

       JPEG format:

	 +Jq   --compr-quality	[q]uality: integer (0..100, default: 90)
		 quality value for compression (in percent)

	 +Js4  --sample-444
		 4:4:4 sampling	(no subsampling)

	 +Js2  --sample-422
		 4:2:2 subsampling (horizontal subsampling of
		 chroma	components, default)

	 +Js1  --sample-411
		 4:1:1 subsampling (horizontal and vertical
		 subsampling of	chroma components)

       other transformations:

	 +G    --grayscale
		 convert color image to	grayscale (monochrome)

	 +P    --change-polarity
		 change	polarity (invert pixel output)

	 +C    --clip-region  [l]eft [t]op [w]idth [h]eight: integer
		 clip image region (l, t, w, h)

   output options

	 -im   --image-info
		 print image details (requires verbose mode)

	 -o    --no-output
		 do not	create any output (useful with -im)

       filename	generation (only with --frame-range or --all-frames):

	 +Fc   --use-frame-counter
		 use 0-based counter for filenames (default)

	 +Fn   --use-frame-number
		 use absolute frame number for filenames

       image format:

	 +op   --write-raw-pnm
		 write 8-bit binary PGM/PPM (default for files)

	 +opb  --write-8-bit-pnm
		 write 8-bit ASCII PGM/PPM (default for	stdout)

	 +opw  --write-16-bit-pnm
		 write 16-bit ASCII PGM/PPM

	 +opn  --write-n-bit-pnm  [n]umber: integer
		 write n-bit ASCII PGM/PPM (1..32)

	 +ob   --write-bmp
		 write 8-bit (monochrome) or 24-bit (color) BMP

	 +obp  --write-8-bit-bmp
		 write 8-bit palette BMP (monochrome only)

	 +obt  --write-24-bit-bmp
		 write 24-bit truecolor	BMP

	 +obr  --write-32-bit-bmp
		 write 32-bit truecolor	BMP

	 +ot   --write-tiff
		 write 8-bit (monochrome) or 24-bit (color) TIFF

	 +on   --write-png
		 write 8-bit (monochrome) or 24-bit (color) PNG

	 +on2  --write-16-bit-png
		 write 16-bit (monochrome) or 48-bit (color) PNG

	 +oj   --write-jpeg
		 write 8-bit lossy JPEG	(baseline)

       The following preferred interpolation algorithms	can be selected	 using
       the --interpolate option:

       o 1 = free scaling algorithm with interpolation from pbmplus toolkit
       o 2 = free scaling algorithm with interpolation from c't	magazine
       o 3  =  magnification algorithm with bilinear interpolation from	Eduard
       o 4 = magnification algorithm with bicubic  interpolation  from	Eduard
       The   --write-tiff  option  is  only  available	when  DCMTK  has  been
       configured and compiled with support  for  the  external	 libtiff  TIFF
       library.	 The  availability  of the TIFF	compression options depends on
       the libtiff configuration. In particular, the  patented	LZW  algorithm
       may not be available.
       The --write-png option is only available	when DCMTK has been configured
       and compiled with support for the external libpng PNG  library.	Option
       --interlace  enables progressive	image view while loading the PNG file.
       Only a few applications take care of the	meta  info  (TEXT)  in	a  PNG
       dcmj2pnm	 supports  the following transfer syntaxes for input (dcmfile-
       LittleEndianImplicitTransferSyntax	      1.2.840.10008.1.2
       LittleEndianExplicitTransferSyntax	      1.2.840.10008.1.2.1
       DeflatedExplicitVRLittleEndianTransferSyntax   1.2.840.10008. (*)
       BigEndianExplicitTransferSyntax		      1.2.840.10008.1.2.2
       JPEGProcess1TransferSyntax		      1.2.840.10008.
       JPEGProcess2_4TransferSyntax		      1.2.840.10008.
       JPEGProcess6_8TransferSyntax		      1.2.840.10008.
       JPEGProcess10_12TransferSyntax		      1.2.840.10008.
       JPEGProcess14TransferSyntax		      1.2.840.10008.
       JPEGProcess14SV1TransferSyntax		      1.2.840.10008.
       RLELosslessTransferSyntax		      1.2.840.10008.1.2.5
       (*) if compiled with zlib support enabled
       The level of logging output of  the  various  command  line  tools  and
       underlying  libraries  can  be  specified by the	user. By default, only
       errors and warnings are written to the  standard	 error	stream.	 Using
       option  --verbose  also	informational messages like processing details
       are reported. Option --debug can	be used	to get	more  details  on  the
       internal	 activity,  e.g.  for debugging	purposes. Other	logging	levels
       can be selected using option --log-level. In --quiet  mode  only	 fatal
       errors  are reported. In	such very severe error events, the application
       will usually terminate. For  more  details  on  the  different  logging
       levels, see documentation of module 'oflog'.
       In  case	 the logging output should be written to file (optionally with
       logfile rotation), to syslog (Unix) or the event	log  (Windows)	option
       --log-config  can  be  used.  This  configuration  file also allows for
       directing only certain messages to a particular output stream  and  for
       filtering  certain  messages  based  on the module or application where
       they are	generated.  An	example	 configuration	file  is  provided  in
       All  command  line  tools  use  the  following notation for parameters:
       square brackets enclose optional	 values	 (0-1),	 three	trailing  dots
       indicate	 that multiple values are allowed (1-n), a combination of both
       means 0 to n values.
       Command line options are	distinguished from parameters by a leading '+'
       or  '-' sign, respectively. Usually, order and position of command line
       options are arbitrary (i.e. they	 can  appear  anywhere).  However,  if
       options	are  mutually exclusive	the rightmost appearance is used. This
       behavior	conforms to the	 standard  evaluation  rules  of  common  Unix
       In  addition,  one  or more command files can be	specified using	an '@'
       sign as a prefix	to the filename	(e.g. @command.txt).  Such  a  command
       argument	 is  replaced  by  the	content	of the corresponding text file
       (multiple whitespaces are treated as a  single  separator  unless  they
       appear  between	two  quotation marks) prior to any further evaluation.
       Please note that	a command file cannot contain  another	command	 file.
       This  simple  but  effective  approach  allows  one to summarize	common
       combinations of options/parameters and  avoids  longish	and  confusing
       command lines (an example is provided in	file _datadir_/dumppat.txt).
       The  dcmj2pnm  utility  will  attempt  to  load DICOM data dictionaries
       specified in the	DCMDICTPATH environment	variable. By default, i.e.  if
       the   DCMDICTPATH   environment	 variable   is	 not   set,  the  file
       _datadir_/dicom.dic will	be loaded unless the dictionary	is built  into
       the application (default	for Windows).
       The   default   behavior	  should  be  preferred	 and  the  DCMDICTPATH
       environment variable only used when alternative data  dictionaries  are
       required.  The  DCMDICTPATH environment variable	has the	same format as
       the Unix	shell PATH variable in that a colon (':')  separates  entries.
       On  Windows systems, a semicolon	(';') is used as a separator. The data
       dictionary code will  attempt  to  load	each  file  specified  in  the
       DCMDICTPATH  environment	variable. It is	an error if no data dictionary
       can be loaded.
       _datadir_/camera.lut - sample characteristics file of a camera
       _datadir_/monitor.lut - sample characteristics file of a	monitor
       _datadir_/printer.lut - sample characteristics file of a	printer
       _datadir_/scanner.lut - sample characteristics file of a	scanner
       dcm2pnm(1), img2dcm(1)
       Copyright (C) 2001-2021 e.V., Escherweg 2, 26121	Oldenburg, Germany.

Version	3.6.6			Thu Jan	14 2021			   dcmj2pnm(1)


Want to link to this manual page? Use this URL:

home | help