dcmconv with +td ?

All other questions regarding DCMTK

Moderator: Moderator Team

Post Reply
Message
Author
robertsdavidb
Posts: 17
Joined: Thu, 2012-09-27, 09:12

dcmconv with +td ?

#1 Post by robertsdavidb »

I have compiled version 3.6.0 of DCMTK.

When I do ..

/usr/local/bin/dcmconv -h

.. I get ..

Code: Select all

$dcmtk: dcmconv v3.6.0 2011-01-06 $

dcmconv: Convert DICOM file encoding
usage: dcmconv [options] dcmfile-in dcmfile-out

parameters:
  dcmfile-in                    DICOM input filename to be converted
  dcmfile-out                   DICOM output filename

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
  parsing of file meta information:
    +ml  --use-meta-length      use file meta information group length (default)
    -ml  --ignore-meta-length   ignore file meta information group length
  parsing of odd-length attributes:
    +ao  --accept-odd-length    accept odd length attributes (default)
    +ae  --assume-even-length   assume real length is one byte larger
  handling of non-standard VR:
    +vr  --treat-as-unknown     treat non-standard VR as unknown (default)
    -vr  --assume-implicit      try to read with implicit VR little endian TS
  handling of undefined length UN elements:
    +ui  --enable-cp246         read undefined len UN as implicit VR (default)
    -ui  --disable-cp246        read undefined len UN as explicit VR
  handling of defined length UN elements:
    -uc  --retain-un            retain elements as UN (default)
    +uc  --convert-un           convert to real VR if known
  handling of private max-length elements (implicit VR):
    -sq  --maxlength-dict       read as defined in dictionary (default)
    +sq  --maxlength-seq        read as sequence with undefined length
  general handling of parser errors:
    +Ep  --ignore-parse-errors  try to recover from parse errors
    -Ep  --handle-parse-errors  handle parse errors and stop parsing (default)
  other parsing options:
    +st  --stop-after-elem      [t]ag: "gggg,eeee" or dictionary name
                                stop parsing after element specified by t
  automatic data correction:
    +dc  --enable-correction    enable automatic data correction (default)
    -dc  --disable-correction   disable automatic data correction
output options:
  output file format:
    +F   --write-file           write file format (default)
    +Fm  --write-new-meta-info  write file format with new meta information
    -F   --write-dataset        write data set without file meta information
  output transfer syntax:
    +t=  --write-xfer-same      write with same TS as input (default)
    +te  --write-xfer-little    write with explicit VR little endian TS
    +tb  --write-xfer-big       write with explicit VR big endian TS
    +ti  --write-xfer-implicit  write with implicit VR little endian TS
  post-1993 value representations:
    +u   --enable-new-vr        enable support for new VRs (UN/UT) (default)
    -u   --disable-new-vr       disable support for new VRs, convert to OB
  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
    +eo  --write-oversized      write oversized explict length sequences
                                and items with undefined length (default)
    -eo  --abort-oversized      abort on oversized explicit sequences/items
  data set trailing padding (not with --write-dataset):
    -p=  --padding-retain       do not change padding
                                (default if not --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
  other output options:
    -ig  --no-invalid-groups    don't write elements with invalid group number
The docs here -> http://support.dcmtk.org/docs/dcmconv.html are slightly different. Specifically, the +td flag is missing from my version.

Is this deprecated in favor of a different method of uncompressing, and the documents just aren't updated ?

Michael Onken
DCMTK Developer
Posts: 2048
Joined: Fri, 2004-11-05, 13:47
Location: Oldenburg, Germany
Contact:

Re: dcmconv with +td ?

#2 Post by Michael Onken »

Hi,

for +td DCMTK must perform ZLIB (ZIP) compression. DCMTK does not implement this on its own. Instead, you must have libzlib installed on your system when invoking ./configure (or cmake). Usually, DCMTK then detects where ZLIB is installed and uses it to enable the ZLIB-dependent DCMTK features.

On a Debian and probably other apt-get-based (e.g. Ubuntu) system, you install zlib (you need the development version that inlcudes the headers, the package usually ends on "-dev") calling "apt-get install zlib1g-dev".

The ZLIB-enabled version will show the +td flag. You can also see whether ZLIB is enabled if you call "dcmconv --version"; the output will list all external libraries and their versions used when compiling DCMTK.

Best,
Michael

robertsdavidb
Posts: 17
Joined: Thu, 2012-09-27, 09:12

Re: dcmconv with +td ?

#3 Post by robertsdavidb »

Michael,

Thanks for your quick response. I did not consider zlib.

Regards,

David

Post Reply

Who is online

Users browsing this forum: Ahrefs [Bot], Google [Bot] and 1 guest