Provided by: dcmtk_3.6.6-5_amd64 bug

NAME

       img2dcm - Convert standard image formats into DICOM format

SYNOPSIS

       img2dcm [options] imgfile-in dcmfile-out

DESCRIPTION

       The img2dcm tool serves as a conversion tool from a standard image format like JPEG or BMP
       to DICOM. Different output  SOP  Classes  can  be  selected.  The  additional  information
       (regarding  patients,  series, etc.) stored in the DICOM output file can be extracted from
       other DICOM files which serve as a 'template' for the resulting DICOM object. img2dcm  can
       also  be  configured  to  invent  missing  DICOM type 1 and type 2 attributes to work even
       without any template dataset.

       img2dcm only supports single-frame output so far, i.e. it is not possible to create multi-
       frame objects. Thus, also output SOP Classes that potentially allow multiple frames within
       one object (such as the new Secondary Capture SOP Classes) can only be created  containing
       a single frame.

PARAMETERS

       imgfile-in   image file to be imported

       dcmfile-out  DICOM output file

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

         -i    --input-format  [i]nput file format: string
                 supported formats: JPEG (default), BMP

         -df   --dataset-from  [f]ilename: string
                 use dataset from DICOM file f

         -stf  --study-from  [f]ilename: string
                 read patient/study from DICOM file f

         -sef  --series-from  [f]ilename: string
                 read patient/study/series from DICOM file f

         -ii   --instance-inc
                 increase instance number read from DICOM file

       JPEG format:

         -dp   --disable-progr
                 disable support for progressive JPEG

         -de   --disable-ext
                 disable support for extended sequential JPEG

         -jf   --insist-on-jfif
                 insist on JFIF header existence

         -ka   --keep-appn
                 keep APPn sections (except JFIF)

   processing options
       attribute checking:

               --do-checks
                 enable attribute validity checking (default)

               --no-checks
                 disable attribute validity checking

         +i2   --insert-type2
                 insert missing type 2 attributes (default)
                 (only with --do-checks)

         -i2   --no-type2-insert
                 do not insert missing type 2 attributes
                 (only with --do-checks)

         +i1   --invent-type1
                 invent missing type 1 attributes
                 (only with --do-checks)

         -i1   --no-type1-invent
                 do not invent missing type 1 attributes
                 (only with --do-checks)

       character set:

         +l1   --latin1
                 set latin-1 as standard character set (default)

         -l1   --no-latin1
                 keep 7-bit ASCII as standard character set

       other processing options:

         -k    --key  [k]ey: gggg,eeee="str", path or dictionary name="str"
                 add further attribute

   output options
       target SOP class:

         -sc   --sec-capture
                 write Secondary Capture SOP class

         -nsc  --new-sc
                 write new Secondary Capture SOP classes

         -vlp  --vl-photo
                 write Visible Light Photographic SOP class (default)

       output file format:

         +F    --write-file
                 write file format (default)

         -F    --write-dataset
                 write data set without file meta information

       group length encoding:

         +g=   --group-length-recalc
                 recalculate group lengths if present (default)

         +g    --group-length-create
                 always write with group length elements

         -g    --group-length-remove
                 always write without group length elements

       length encoding in sequences and items:

         +e    --length-explicit
                 write with explicit lengths (default)

         -e    --length-undefined
                 write with undefined lengths

       data set trailing padding (not with --write-dataset):

         -p    --padding-off
                 no padding (implicit if --write-dataset)

         +p    --padding-create  [f]ile-pad [i]tem-pad: integer
                 align file on multiple of f bytes
                 and items on multiple of i bytes

NOTES

   Attribute Sources
       For  converting  a  general image format into DICOM format, the img2dcm application may be
       fed with some additional input for filling mandatory (and optional) attributes in the  new
       DICOM  file  like patient, study and series information. This information can be collected
       using different approaches, which can be combined and are applied to the  result  file  in
       the following order:

       • Using  the --dataset-from option img2dcm is forced to import attributes from an existing
         DICOM file. The given DICOM file is fully imported and  serves  as  the  basis  for  all
         further  export  operations. As an exception, the SOP Instance UID is not copied by this
         option. Also image related data like Rows, Columns etc. is exchanged during  conversion.
         Note  that img2dcm does not check any other attribute values for validity, e. g. it does
         not look into sequences to adapt any attributes to the  new  object  (referenced  images
         etc.). Therefore, it is recommended to use the templates in the data directory for (old)
         SC and VLP objects. See also section 'Input Templates'.
       • The --study-from and --series-from options (mutually exclusive) can be  used  to  import
         patient,  study  and series information from an existing DICOM file. If --series-from is
         specified, then the given DICOM file is opened by img2dcm and all mandatory  information
         down  to the series level is imported. Note that this includes patient, study and series
         information. In case of --study-from, the series information is excluded. The  following
         attributes are taken over:
             Patient Level:
               Patient's Name
               Patient ID
               Patient's Sex
               Patient's Birth Date
               Specific Character Set

             Study Level:
               Study Instance UID
               Study Date
               Study Time
               Referring Physician's Name
               Study ID
               Accession Number

             Series Level (only in case of option --series-from):
               Series Instance UID
               Series Number
               Manufacturer
       • With  the  --insert-type2 and --invent-type1 options (both enabled per default), missing
         attributes (type 2 attributes) and/or missing attribute values (for type  1  attributes)
         are automatically added and invented by img2dcm. Please note that these options are only
         evaluated if option --do-checks is enabled (default).  If  the  --no-checks  options  is
         enabled, no automatic attribute insertion will take place.
       • The  --key  option can be used to add further attributes to the DICOM output file. It is
         also possible to specify sequences, items and nested attributes using the --key  option.
         In  these cases, a special 'path' notation has to be used. Details on this path notation
         can be found in the documentation of dcmodify. The --key option can be present more than
         once.  The value part (after the '=') may be absent causing the attribute to be set with
         zero length. Please be advised that the --key option is applied at the  very  end,  just
         before saving the DICOM file, so there is no value checking whatsoever.
   UIDs
       New  Study and Series Instance UIDs are generated if necessary after applying the --study-
       from and --series options. If Study Instance UID or Series Instance UID  are  not  present
       after  these  steps,  they  are newly generated, independently from each other. A contrary
       behavior is chosen for the SOP Instance UID that one could expect to be  taken  over  when
       using  the --dataset-from option. This is not the case, the SOP Instance UID is not copied
       to the new object. This should be the desirable behavior for most use cases. However, if a
       certain  SOP  Instance UID should be inserted into the new object, the --key option should
       be used.
   Input Templates
       For supporting the conversion into DICOM, img2dcm comes with  some  pre-defined  templates
       which  can  be used for the --dataset-from option (see sample files SC.dump and VLP.dump).
       These templates should be  filled  with  the  desired  values  and  then  must  be  dumped
       (converted)  to  a  DICOM  file  before  actually being used with img2dcm. Use dump2dcm to
       convert the dump to DICOM. Example:
         dump2dcm SC.dump SC.dcm

       It is possible to use any DICOM file as a template. Please note that  the  complete  DICOM
       dataset  is  imported;  hence, it should be assured that only attributes are present which
       should be part of the constructed DICOM object. The SOP  Class  UID  and  the  Pixel  Data
       attributes  (including  attributes like Rows, Columns etc.) are not copied but replaced by
       img2dcm during conversion.
   Input Plugins
       The img2dcm application currently supports the JPEG and the BMP image format as input.
   JPEG Input Plugin
       For JPEG, the original JPEG from the source file is not decoded but extracted and slightly
       transformed (e. g. JFIF header is cut off) to allow fast conversion of even big JPEG files
       without the need of decoding and re-encoding. The JPEG plugin chooses the necessary output
       transfer syntax automatically depending on the actual encoding of the data inside the JPEG
       file. Therefore, the following Transfer Syntaxes (and their corresponding JPEG  encodings)
       are used by the JPEG plugin:
       • JPEG Coding Process 1 Baseline, Lossy, Non-Hierarchical, Sequential, DCT, Huffman, 8 Bit
         SOP Class = 1.2.840.10008.1.2.4.50
       • JPEG Coding  Process  2  (8-bit)  and  4  (12-bit)  Extended,  Lossy,  Non-Hierarchical,
         Sequential, DCT, Huffman, 8/12 Bit SOP Class = 1.2.840.10008.1.2.4.51
       • JPEG  Coding  Process 10 (8-bit) and 12 (12-bit) Full Progression, lossy, Non-Hierarch.,
         Progressive, DCT, Huffman, 8/12 Bit SOP Class = 1.2.840.10008.1.2.4.55
       Color and grayscale images are supported.
       The support for the Extended JPEG Transfer Syntax can be disabled  (--disable-ext  option)
       as well as the support for the (retired) Progressive JPEG Transfer Syntax (--disable-progr
       option).
       JPEG lossless encoding as well as any arithmetic or hierarchical JPEG encoding  modes  are
       not supported by the plugin.
       JFIF  (JPEG  File  Interchange  Format) information facilitates optional APPn markers in a
       JPEG file. Many digital cameras do not integrate  such  JFIF  information  into  the  JPEG
       output they create. For example, JFIF contains information about the pixel aspect ratio of
       the compressed image. If you want the img2dcm application to insist on a  JFIF  header  in
       the  JPEG  stream,  you  can  use  the option --insist-on-jfif which will abort if no JFIF
       information can be found. By default, missing JFIF information is ignored.
       For DICOM it is kind of a 'gray zone', whether the integration of JFIF (or any other APPn)
       data  into  the  DICOM  object's internal JPEG stream is allowed or not. However, the most
       reliable approach is to cut those markers and their information off the JPEG stream.  This
       approach  is  also  taken by the img2dcm application. By default, all APPn markers are cut
       off from the original JPEG stream. However, if you want to keep other  APPn  markers  than
       JFIF  (e.  g.  EXIF  information) inside the DICOM stream, the option --keep-appn does the
       trick. It should also be slightly faster than cutting off APPn information, because it  is
       not  necessary  to  scan  the  whole JPEG stream for such data. JFIF information is always
       removed by img2dcm.
   BMP Input Plugin
       img2dcm supports BMP as input format. However, so far only the most common BMP images  are
       supported.  In  particular, BMP images which use bit fields or run length encoding will be
       rejected. Such images are uncommon. All input images will be converted into a DICOM  image
       with  RGB color model and a bit depth of 24. There are no specific options for fine-tuning
       BMP format conversion.
   Output Plugins
       The desired output SOP Class can be selected on the command  line.  Currently,  an  export
       plugin  for the Secondary Capture Image SOP class (default, option -sc), the new Secondary
       Capture Image SOP classes (option -nsc) and Visible Light  Photographic  Image  SOP  class
       (option  -vl) are available. Please note that the first one is deprecated according to the
       DICOM standard but is selected as  a  default  because  it  is  widely  supported.  Future
       versions of img2dcm might provide further output plugins for other SOP Classes.
       For  the  new  Secondary Capture SOP classes, it is not possible to specify which specific
       SOP class should  be  used  for  output.  That  is  because  these  new  SOP  classes  are
       differentiated  from  each other by color depth (1/8/16) and the fact whether the image is
       black/white or color. That is why img2dcm decides  during  conversion,  which  output  SOP
       class is suitable for a given source image.

EXAMPLES

       Here are some examples that show how the img2dcm application can be used.
       1.  img2dcm image.jpg out.dcm
           Read  JPEG  file  'image.jpg', convert to the old Secondary Capture SOP class and save
           the result to DICOM file 'out.dcm'. This is the easiest way of using img2dcm. Any type
           1  and  type  2  attributes  required  for writing valid objects of this SOP class are
           inserted automatically.
       2.  img2dcm -i BMP image.bmp out.dcm
           Same as above but tells img2dcm to read a BMP file instead of JPEG.
       3.  img2dcm image.jpg out.dcm -vlp -k 'PatientName=Bond^James'
           Same as first example, but writes Visible Light Photographic Image object to 'out.dcm'
           and sets PatientName to 'Bond^James' which otherwise would be left empty.
       4.  img2dcm image.jpg out.dcm --series-from template.dcm -k 'PatientName=Bond^James'
           Same   as   1),   but   imports   patient/study/series  information  from  DICOM  file
           'template.dcm'. Please note that attribute PatientName will  contain  'Bond^James'  at
           the  end,  any  value from 'template.dcm' will be overwritten. That is, because the -k
           option is applied at the very end of the conversion pipeline (see above).
       5.  img2dcm image.jpg out.dcm --no-checks
           Same as 1), but does not perform any attribute checking and  no  type  1  and  type  2
           attribute insertion! So in this case, an invalid DICOM object would be generated. This
           can be interesting if the output file is not meant to be completed  but  will  undergo
           further transformations, e. g. adding attributes using dcmodify. Only use option --no-
           checks if you know what you are doing!
       6.  img2dcm image.jpg out.dcm --no-type1-invent
           Same as 1), but does not insert missing type 1 attributes and/or their values. Type  2
           attributes will be inserted. Note that in this case it must be assured that all type 1
           attributes are provided by other means, i. e. by adding them with  the  --key  option.
           Otherwise, img2dcm will report an error and will stop converting.
       7.  img2dcm image.jpg out.dcm --keep-appn --insist-on-jfif
           Same  as  1),  but  takes  over  APPn  information  like  EXIF into the DICOM object's
           resulting JPEG stream. Further, --insist-on-jfif will force img2dcm  to  abort  if  no
           JFIF information is existent in the source file.

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  img2dcm  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>/SC.dump - Sample dump file for Secondary Capture images
       <datadir>/VLP.dump - Sample dump file for Visible Light Photographic images

SEE ALSO

       dcm2pnm(1), dcmj2pnm(1), dump2dcm(1), dcmconv(1), dcmodify(1)

COPYRIGHT

       Copyright (C) 2007-2020 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.