Provided by: libgdcm-tools_2.2.4-1.1ubuntu4_amd64 bug


       gdcmimg - Manipulate DICOM image file.  gdcmimg is a low level tool to allow
       de-/encapsulation from/to DICOM image. This tool does not understand Transfer Syntax
       conversion. It will encapsulate the raw data as-is. This has some impact in some cases,
       see special warnings below.


       gdcmimg [options] file-in file-out


       The gdcmimg command line tool can be used in two fashions:

       · 1. Converting a recognized file format into its encapsulated DICOM counterpart,
       · 2. Anonymizing a rectangular portion of a DICOM file.


       file-in   input filename

       file-out  output filename


         -i --input     Input filename
         -o --output    Output filename
            --endian %s       Endianness (LSB/MSB).
         -d --depth %d        Depth (Either 8/16/32 or BitsAllocated eg. 12 when known).
            --sign %s         Pixel sign (0/1).
            --spp  %d         Sample Per Pixel (1/3).
         -s --size %d,%d      Size.
         -C --sop-class-uid   SOP Class UID (name or value).
         -T --study-uid       Study UID.
         -S --series-uid      Series UID.
            --root-uid        Root UID.
   fill options
         -R --region %d,%d    Region.
         -F --fill %d         Fill with pixel value specified.
   general options
         -h   --help
                print this help text and exit

         -v   --version
                print version information and exit

         -V   --verbose
                verbose mode (warning+error).

         -W   --warning
                warning mode, print warning information

         -E   --error
                error mode, print error information

         -D   --debug
                debug mode, print debug information
   environment variable
         GDCM_ROOT_UID Root UID

Supported File Format (appropriate file extension) gdcmimg

       will base it's conversion process based on the file extension. Follows the list of
       recognized file extension. When no extension is found, DICOM file is assumed.
       input format
         * RAW       (raw, rawl, gray, rgb)
         * RLE       (rle)
         * PNM       (pgm, pnm, ppm)
         * JPEG-LS   (jls)
         * JPEG 2000 (jp2, j2k, j2c, jpx, jpc)
         * JPEG      (jpg, jpeg, ljpg, ljpeg)
         * DICOM     ()

       output format:
         * PGM       (pgm, pnm, ppm)
         * DICOM     ()

       For RAW file format, you should take special care of the --endian option. For the (old)
       JPEG file format, both the lossy and lossless format are supported, user should pay
       attention to the --sign option. For file format such as RLE or RAW, user is expected to
       fill in information required to find the dimension and type of input data as there is no
       other way to find this information. For all other file format, the properties are derived
       from the file format itself. PNM file are supposed to be big endian (important for depth >

Typical usage

   Remove a rectangular part of the image
       To fill the region [0,100]x[0,100] of a DICOM image simply do:
       $ gdcmimg --fill 0 --region 0,100,0,100 -i input.dcm -o output_black.dcm
       Warning: if the Pixel Data is compressed, the image is first decompressed so that pixel
       can be set to 0, but it is not recompressed.
   Convert RAW to DICOM
       Recognized extension is .raw, .rawl, .gray or .rgb (case insensitive)
       $ gdcmimg --size 512,512 --depth 16 -i input.raw -o output.dcm
       the image will be a Secondary Capture.
       When the input is 3 component, one need to specify explicitely the Samples Per Pixel:
       $ gdcmimg --size 512,512 --spp 3  input_rgb.raw output_rgb.dcm
       When the filename contains .rgb as file extension output is automatically recognized as
       RGB no need to specify --spp
       $ gdcmimg --size 512,512 input.rgb output_rgb.dcm
       You can use the dd cmd line to skip any header you would like to discard, for instance, if
       you would like to skip the first 108 bytes, simply do:
       $ dd skip=108 bs=1 if=input.raw of=output.raw
       .raw and .rawl extension are equivalent. You need to explicitely specify the endianess
       $ gdcmimg --endian MSB --size 512,512 --depth 16 -i input.raw -o output.dcm
       $ gdcmimg --endian LSB --size 512,512 --depth 16 -i input.raw -o output.dcm
   Convert PGM/PNM/PPM to DICOM
       Recognized extensions are .pgm, .pnm, .ppm (case insensitive)
       $ gdcmimg -i input.pgm -o output.dcm
       the image will be a Secondary Capture
   Convert RLE to DICOM
       Recognized extension is .rle (case insensitive)
       $ gdcmimg --size 512,512 --depth 16 -i input.rle -o output.dcm
       the image will be a Secondary Capture
   Convert JPEG to DICOM
       Recognized extensions are .jpg, .jpeg, .ljpg, .ljpeg (case insensitive)
       $ gdcmimg -i input.ljpeg -o output.dcm
       the image will be a Secondary Capture
   Convert J2K to DICOM
       Recognized extensions are .j2k, .jp2, .jpc, jpx, j2c (case insensitive)
       $ gdcmimg -i input.j2k -o output.dcm
       the image will be a Secondary Capture.
       All Pixel informations (Bits Stored/Allocated...) will be derived from the image itself,
       and not from the command line options.
   Specifying a SOP Class UID
       Instead of the default Secondary Capture Image Storage, one may want to specify, say VL
       Photographic Image Storage.
       $ gdcmimg --sop-class-uid 1.2.840.10008. input.jpg output.dcm

Multiple Files

       gdcmimg handle nicely a set of files (for instance jpeg):
       $ gdcmimg 1.jpg 2.jpg 3.jpg 4.jpg output.dcm

Start Offset

       In some case, one may want to create a 2D slice from an arbitrary volume (e.g 3D). In
       which case --offset becomes handy:
       $ gdcmimg --offset 4954104330 --size 1673,1673 Input3D_1673_1673_1775.raw slice_1770.dcm


       There are a couple of issues with gdcmimg implementation:
       For RAW file, one should pay attention that when using --endian MSB the Pixel Data will be
       encapsulated as is (not touched by gdcmimg). Therefore the only possible transfer syntax
       available is Implicit VR Big Endian DLX (G.E Private). GDCM does handle this private
       Transfer Syntax. So if you need to convert this Transfer Syntax to another one (and allow
       Pixel Data manipulation), you can use:
       $ gdcmconv --raw --force input_big_endian_dlx.raw -o output_implicit_vr_little_endian.dcm
       For JFIF file and JP2 file (with header) the header is copied into the Pixel Data element
       which is illegal for JP2. Use gdcmconv to properly re-encode a JP2/JFIF file into J2K/JPG.
       $ gdcmimg input.jp2 output_jp2.dcm
       $ gdcmconv --j2k --force output_jp2.dcm output_j2k.dcm
       For RLE file, no check is done for crossing the row boundary. It is recommended to use
       gdcmconv --rle to re-encode into a proper RLE file in case of doubt.
       Of course if the compression is not ok with your setup, you can always de-encapsulated the
       DICOM file (typically JPEG) to a non-encapsulated form, using gdcmconv:
       $ gdcmconv --raw input_jpeg.dcm output_raw.dcm


       gdcmdump(1), gdcmdump(1), gdcmraw(1), convert(1), dd(1)


       Copyright (c) 2006-2011 Mathieu Malaterre