SYNOPSIS

gdcmdump [options] dcm_file
gdcmdump [options] dcm_directory

DESCRIPTION

The gdcmdump command line program dumps a DICOM file to the console. For those familiar with dcmdump (DCMTK) output, gdcmdump has some minor differences. Namely:

  • For Implicit Transfer Syntax gdcmdump will print ?? instead of the dictionary VR

gdcmdump has a limited private dictionary that is used to lookup private element whenever possible.

PARAMETERS

dcm_file        DICOM input filename
dcm_directory   DICOM input directory

OPTIONS

OPTIONS

  -x --xml-dict       generate the XML dict (only private elements for now).
  -r --recursive      recursive (input is a directory)
  -d --dump           dump value (limited use).
  -p --print          print value instead of simply dumping (default).
  -c --color          print in color.
  -C --csa            print SIEMENS CSA Header (0029,[12]0,SIEMENS CSA HEADER).
  -P --pdb            print GEMS Protocol Data Block (0025,1b,GEMS_SERS_01).
     --elscint        print ELSCINT Protocol Information (01f7,26,ELSCINT1).
     --vepro          print VEPRO Protocol Information (0055,20,VEPRO VIF 3.0 DATA).
                         or VEPRO Protocol Information (0055,20,VEPRO VIM 5.0 DATA).
     --sds            print Philips MR Series Data Storage (1.3.46.670589.11.0.0.12.2) Information (2005,32,Philips MR Imaging DD 002).
  -A --asn1           print encapsulated ASN1 structure >(0400,0520).
     --map-uid-names  map UID to names.

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

special options

  -I --ignore-errors   dumps even if file is corrupted (advanced users only, see disclaimers).

Typical usage

Printing Implicit Transfer Syntax

The VR are not found in the file, thus are presented with a '(??)', and right next to it (if found) the correct VR.

Eg.:

$ gdcmdump GE_DLX-8-MONO2-PrivateSyntax.dcm
# Dicom-File-Format
...
(0008,0000) ?? (UL) 434                                           # 4,1 Generic Group Length
(0008,0005) ?? (CS) [ISO_IR 100]                                  # 10,1-n Specific Character Set
(0008,0008) ?? (CS) [ORIGINAL\PRIMARY\SINGLE PLANE ]              # 30,2-n Image Type
(0008,0016) ?? (UI) [1.2.840.10008.5.1.4.1.1.12.1]                # 28,1 SOP Class UID
(0008,0018) ?? (UI) [1.2.840.113619.2.16.1.0.906539207.1.24207]   # 42,1 SOP Instance UID
(0008,0020) ?? (DA) [19980923]                                    # 8,1 Study Date
(0008,0021) ?? (DA) [19980923]                                    # 8,1 Series Date
(0008,0022) ?? (DA) [19980923]                                    # 8,1 Acquisition Date
(0008,0023) ?? (DA) [19980923]                                    # 8,1 Content Date
(0008,0030) ?? (TM) [101229.000]                                  # 10,1 Study Time
(0008,0031) ?? (TM) [101229.000]                                  # 10,1 Series Time
(0008,0032) ?? (TM) [102653.000]                                  # 10,1 Acquisition Time
(0008,0033) ?? (TM) [102653.000]                                  # 10,1 Content Time
...

Print Private Attributes

GDCM has a limited private dictionary. Whenever possible, it will try to lookup the private data element.

$ gdcmdump 012345.002.050.dcm
...
(0009,0010) LO [GEMS_IDEN_01]                                     # 12,1 Private Creator
(0009,1001) LO [GE_GENESIS_FF ]                                   # 14,1 Full fidelity
(0009,1002) SH [MRCV]                                             # 4,1 Suite id
(0009,1004) SH [SIGNA ]                                           # 6,1 Product id
(0009,1027) SL 985968524                                          # 4,1 Image actual date
(0009,1030) SH [19356UMR2 ]                                       # 10,1 Service id
(0009,1031) SH [999 ]                                             # 4,1 Mobile location number
(0009,10e3) UI [1.2.840.113619.1.1.4.1762386977]                  # 32,1 Equipment UID
(0009,10e6) SH [08]                                               # 2,1 Genesis Version - now
(0009,10e7) UL 2757786872                                         # 4,1 Exam Record checksum
(0009,10e9) SL 985968523                                          # 4,1 Actual series data time stamp
...
(0019,0000) UL 1208                                               # 4,1 Generic Group Length
(0019,0010) LO [GEMS_ACQU_01]                                     # 12,1 Private Creator
(0019,100f) DS [424.399994]                                       # 10,1 Horiz. Frame of ref.
(0019,1011) SS 0                                                  # 2,1 Series contrast
...
(0019,10e0) DS [0.000000]                                         # 8,1 User data 24 {# DTI Diffusion Dir., release 10.0 & above}
(0019,10e2) DS [0.000000]                                         # 8,1 Velocity Encode Scale
(0019,10f2) SS 0                                                  # 2,1 Fast phases
(0019,10f9) DS [98]                                               # 2,1 Transmit gain
...
(0021,0000) UL 372                                                # 4,1 Generic Group Length
(0021,0010) LO [GEMS_RELA_01]                                     # 12,1 Private Creator
(0021,1003) SS 0                                                  # 2,1 Series from which Prescribed
...

SIEMENS CSA Header

Using this option it is possible to dump as a readable text what is contained in the private attribute as found in typical SIEMENS MR DICOM file.

Eg.:

$ gdcmdump --csa MR_SIEMENS_forceLoad29-1010_29-1020.dcm
(0029,0010)siemens csa header
Image shadow data (0029,xx10)

0 - 'EchoLinePosition' VM 1, VR IS, SyngoDT 6, NoOfItems 6, Data '64      '
1 - 'EchoColumnPosition' VM 1, VR IS, SyngoDT 6, NoOfItems 6, Data '64      '
2 - 'EchoPartitionPosition' VM 1, VR IS, SyngoDT 6, NoOfItems 6, Data '32      '
3 - 'UsedChannelMask' VM 1, VR UL, SyngoDT 9, NoOfItems 6, Data '255     '
4 - 'Actual3DImaPartNumber' VM 1, VR IS, SyngoDT 6, NoOfItems 0, Data
5 - 'ICE_Dims' VM 1, VR LO, SyngoDT 19, NoOfItems 6, Data 'X_1_1_1_1_1_1_31_1_1_1_1_19'
6 - 'B_value' VM 1, VR IS, SyngoDT 6, NoOfItems 6, Data '0       '
7 - 'Filter1' VM 1, VR IS, SyngoDT 6, NoOfItems 0, Data
8 - 'Filter2' VM 1, VR IS, SyngoDT 6, NoOfItems 0, Data
...

GEMS Protocol Data Block

Using this option it is possible to dump as a readable text what is contained in the private attribute as found in typical GEMS MR DICOM file.

Protocol Data Block : 0025,xx1b,GEMS_SERS_01

$ gdcmdump --pdb GE_MR_0025xx1bProtocolDataBlock.dcm
ENTRY "Head First"
POSITION "Supine"
ANREF "NA"
COIL "HEAD"
PLANE "OBLIQUE"
SEDESCFLAG "1"
SEDESC "AX FSE T2"
IMODE "2D"
PSEQ "FSE-XL"
IOPT "FC, EDR, TRF, Fast"
PLUG "22"
FILTCHOICE "None"
BWRT "-1"
TRICKSIMG "1"
TAG_SPACE "7"
TAG_TYPE "None"
...

ELSCINT Protocol Information

Using this option it is possible to dump as a readable text what is contained in the private attribute as found in typical ELSCINT CT DICOM file.

ELSCINT Protocol Information: (01f7,26,ELSCINT1)

$ gdcmdump --elscint ELSCINT1_ProtocolInformation.dcm
ELSCINT1 Dumping info from tag (01f7,26,elscint1)
ELSCINT1/Item name: []
  ApprovedStep [yes]
  RefSurview [1 ]
  STD-first-img-pos [11.5]
  current-step [yes]
  ntimed-steps [0]
  orig-n-slices [390]
  protocol-file [Head_Multi_1032_usr.proc]
  protocol-name [FACE-TRAUMA/Head/Hx]
  protocol-path [/usr/diamond.root/spr/]
  protocol-step [1]
  protocol-version [2.51]

ELSCINT1/Item name: [doseright]
  ACS [n/a]
  ACS-bed-position [0]
  ACS-calc-mas [0]
  ACS-iq-parameter [0]
  ACS-learn-allowed [no]
  ACS-water-radius [-1.000000]
  ACS-water-radius-scan [-1]
...

VEPRO Protocol Information

Using this option it is possible to dump as a readable text what is contained in the private attribute as found in typical VEPRO CT DICOM file.

ELSCINT Protocol Information: (0055,20,VEPRO VIM 5.0 DATA)

$ gdcmdump --vepro VEPRO_ProtocolInformation.dcm
VIMDATA2: (0055,20,VEPRO VIM 5.0 DATA)
  ID: VIM
  Version: 5.0
  UserName:
  UserAdress1: Name of Institution
  UserAdress2: Street of Institution
  UserAdress3: City of Institution
  UserAdress4:
  UserAdress5:
  RecDate: 20101001
  RecTime: 211321
  RecPlace:
  RecSource: DICOM Distributor
  DF1: P-09/10-41808
  DF2: Sultana Razia
  DF3: 19411001
  DF4: F
  DF5:
  DF6:
  DF7:
  DF8: CT Scan Brain without Contrast
  DF9: 10/10-0034873
  DF10: 10/10-00348
  DF11:
  DF12:
  DF13:
  DF14:  Head 0.5
  DF15: 4
  DF16:
  DF17:
  DF18:
  DF19:
  DF20:
  StudyUID: 1.2.392.200036.9116.2.6.1.48.1214228007.1285934880.206831
  SeriesUID: 1.2.392.200036.9116.2.6.1.48.1214228007.1285935201.938653
  Modality: CT

Philips Private MR Series Data Storage (1.3.46.670589.11.0.0.12.2)

Using this option it is possible to dump as a readable text what is contained in the private attribute as found in typical Philips Private MR Series Data Storage file.

PMS Series Data Storage (2005,32,Philips MR Imaging DD 002)

$ gdcmdump --sds PMS_SeriesDataStorage.dcm
...
PMS/Item name: [PDF_CONTROL_GEN_PARS/IEEE_PDF/Y ]
...
PMS/Item name: [PDF_CONTROL_PREP_PARS /IEEE_PDF/Y ]
...
PMS/Item name: [PDF_CONTROL_RECON_PARS/IEEE_PDF/Y ]
...
PMS/Item name: [PDF_CONTROL_SCAN_PARS /IEEE_PDF/Y ]
...
PMS/Item name: [PDF_EXAM_PARS /IEEE_PDF/Y ]
...
PMS/Item name: [PDF_HARDWARE_PARS /IEEE_PDF/Y ]
...
PMS/Item name: [PDF_PREP_PARS /IEEE_PDF/Y ]
...
PMS/Item name: [PDF_SPT_PARS/IEEE_PDF/Y ]
  SP_scan_resol [256\256] # 2
  SP_pda_profiles [0 ] # 2
  SP_filter [324074] # 1
  SP_analyse_with_iqt [0] # 1
  SP_main_system_type [3] # 1
  SP_gradient_system [6] # 1
  SP_coil_type [2\2              ] # 16
  SP_coil_id [2\34              ] # 16
  SP_coil_part [0               ] # 16
  SP_act_q [0               ] # 16
  SP_act_coil_freq [0               ] # 16
  SP_coil_m_pos [255\255\255            \255] # 16
  SP_coil_t_pos [255\128\255            \255] # 16
  SP_surface_coil_con [0\1              ] # 16
  SP_proton_freq [127801349] # 1
  SP_tm_result [2\2\2\2\2\2\2\2\2\2\2\2\2\2\2\2] # 16
  SP_f0_result [0] # 1
  SP_as_result [0] # 1
  SP_po_result [0] # 1
  SP_rg_result [0] # 1
  SP_dc_result [0] # 1
  SP_ph_result [0] # 1
...

Encapsulated ASN1 Structure

This option is mainly used for dumping the ASN1 structure of the encrypted Attribute (0040,0520)

$ gdcmdump encrypted.dcm
...
(0400,0500) SQ                                                    # u/l,1 Encrypted Attributes Sequence
  (fffe,e000) na (Item with undefined length)
    (0400,0510) UI [1.2.840.10008.1.2]                            # 18,1 Encrypted Content Transfer Syntax UID
    (0400,0520) OB 30\82\03\ba\06\09\2a\86\48\55\04\08\13         # 958,1 Encrypted Content
  (fffe,e00d)
(fffe,e0dd)
...
$ gdcmdump --asn1 encrypted.dcm
    0:d=0  hl=4 l= 954 cons: SEQUENCE
    4:d=1  hl=2 l=   9 prim:  OBJECT            :pkcs7-envelopedData
   15:d=1  hl=4 l= 939 cons:  cont [ 0 ]
   19:d=2  hl=4 l= 935 cons:   SEQUENCE
   23:d=3  hl=2 l=   1 prim:    INTEGER           :00
   26:d=3  hl=4 l= 366 cons:    SET
   30:d=4  hl=4 l= 362 cons:     SEQUENCE
   34:d=5  hl=2 l=   1 prim:      INTEGER           :00
   37:d=5  hl=2 l=  82 cons:      SEQUENCE
   39:d=6  hl=2 l=  69 cons:       SEQUENCE
   41:d=7  hl=2 l=  11 cons:        SET
   43:d=8  hl=2 l=   9 cons:         SEQUENCE
   45:d=9  hl=2 l=   3 prim:          OBJECT            :countryName
   50:d=9  hl=2 l=   2 prim:          PRINTABLESTRING   :AU
   54:d=7  hl=2 l=  19 cons:        SET
   56:d=8  hl=2 l=  17 cons:         SEQUENCE
   58:d=9  hl=2 l=   3 prim:          OBJECT            :stateOrProvinceName
   63:d=9  hl=2 l=  10 prim:          PRINTABLESTRING   :Some-State
   75:d=7  hl=2 l=  33 cons:        SET
   77:d=8  hl=2 l=  31 cons:         SEQUENCE
   79:d=9  hl=2 l=   3 prim:          OBJECT            :organizationName
   84:d=9  hl=2 l=  24 prim:          PRINTABLESTRING   :Internet Widgits Pty Ltd
  110:d=6  hl=2 l=   9 prim:       INTEGER           :AC966D88787A51B4
  121:d=5  hl=2 l=  13 cons:      SEQUENCE
  123:d=6  hl=2 l=   9 prim:       OBJECT            :rsaEncryption
  134:d=6  hl=2 l=   0 prim:       NULL
  136:d=5  hl=4 l= 256 prim:      OCTET STRING      [HEX DUMP]:822368070285AD756C962ECB973514B291F946...
  396:d=3  hl=4 l= 558 cons:    SEQUENCE
  400:d=4  hl=2 l=   9 prim:     OBJECT            :pkcs7-data
  411:d=4  hl=2 l=  29 cons:     SEQUENCE
  413:d=5  hl=2 l=   9 prim:      OBJECT            :aes-256-cbc
  424:d=5  hl=2 l=  16 prim:      OCTET STRING      [HEX DUMP]:3B49AFE71749F2BFF1519EBAEA95A393
  442:d=4  hl=4 l= 512 prim:     cont [ 0 ]

RELATED TO gdcmdump…

COPYRIGHT

Copyright (c) 2006-2011 Mathieu Malaterre