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

FreeBSD Manual Pages

  
 
  

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

NAME
       dcm2img - Convert DICOM image to	standard image format

SYNOPSIS
       dcm2img [options] dcmfile-in [bitmap-out]

DESCRIPTION
       The  dcm2img  utility  reads  a	DICOM  image,  converts	the pixel data
       according to the	selected image processing options and writes  back  an
       image in	one the	following general purpose image	formats: BMP, PGM/PPM,
       PNG, TIFF, JPEG,	or JPEG-LS. This utility supports uncompressed as well
       as JPEG,	JPEG-LS	and RLE	compressed DICOM images.

PARAMETERS
       dcmfile-in  DICOM input filename	to be converted	("-" for stdin)

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

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

	       --version
		 print version information and exit

	       --arguments
		 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

       rotation:

	 +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)

       flipping:

	 +Lh   --flip-horizontally
		 flip image horizontally

	 +Lv   --flip-vertically
		 flip image vertically

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

       scaling:

	 +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 dcm2img 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

       overlay:

	 -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

       compatibility:

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

	 +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
		 uncompressed

	 +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)

       JPEG-LS format:

	 +Trl  --rendered-lossless
		 lossless compression of rendered image	(default)

	 +Tll  --true-lossless
		 lossless compression of raw image

	 +f8   --force-8-bit
		 force output bit depth	to 8 bits
		 (not with --true-lossless)

       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
       general:

	 -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:

	 +oa   --write-auto
		 determine file	format from filename extension
		 (default for files)

	 # If the output filename contains no extension	or an
	 # unknown/unsupported one, a warning is printed and a BMP file
	 # is written (see --write-bmp).

	 +op   --write-raw-pnm
		 write 8-bit binary PGM/PPM

	 +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)

	 +ol   --write-jpls
		 write JPEG-LS

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

        1 = free scaling algorithm with interpolation from pbmplus toolkit

        2 = free scaling algorithm with interpolation from c't	magazine

        3 = magnification algorithm with bilinear interpolation  from	Eduard
	 Stanescu

        4  =  magnification  algorithm	with bicubic interpolation from	Eduard
	 Stanescu

       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.

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

TRANSFER SYNTAXES
       dcm2img supports	the following transfer syntaxes	 for  input  (dcmfile-
       in):

       LittleEndianImplicitTransferSyntax	      1.2.840.10008.1.2
       LittleEndianExplicitTransferSyntax	      1.2.840.10008.1.2.1
       DeflatedExplicitVRLittleEndianTransferSyntax   1.2.840.10008.1.2.1.99 (*)
       BigEndianExplicitTransferSyntax		      1.2.840.10008.1.2.2
       JPEGLSLosslessTransferSyntax		      1.2.840.10008.1.2.4.80
       JPEGLSLossyTransferSyntax		      1.2.840.10008.1.2.4.81
       JPEGProcess10_12TransferSyntax		      1.2.840.10008.1.2.4.55
       JPEGProcess14SV1TransferSyntax		      1.2.840.10008.1.2.4.70
       JPEGProcess14TransferSyntax		      1.2.840.10008.1.2.4.57
       JPEGProcess1TransferSyntax		      1.2.840.10008.1.2.4.50
       JPEGProcess2_4TransferSyntax		      1.2.840.10008.1.2.4.51
       JPEGProcess6_8TransferSyntax		      1.2.840.10008.1.2.4.53
       RLELosslessTransferSyntax		      1.2.840.10008.1.2.5

       (*) if compiled with zlib support enabled

LOGGING
       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
       <etcdir>/logger.cfg.

COMMAND	LINE
       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
       shells.

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

ENVIRONMENT
       The  dcm2img  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.

FILES
       <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

SEE ALSO
       img2dcm(1)

COPYRIGHT
       Copyright (C) 2001-2024 by OFFIS	e.V., Escherweg	 2,  26121  Oldenburg,
       Germany.

Version	3.6.9			Wed Dec	11 2024			    dcm2img(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=dcm2img&sektion=1&manpath=FreeBSD+Ports+14.3.quarterly>

home | help