gdcmdump man page

gdcmdump — dumps a DICOM file, it will display the structure and values contained in the specified DICOM file.

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

specific 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\0]
  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\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\0\0\0\0\0\0\0\0\0\0\0\0\0\0] # 16
  SP_coil_id [2\34\0\0\0\0\0\0\0\0\0\0\0\0\0\0] # 16
  SP_coil_part [0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0] # 16
  SP_act_q [0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0] # 16
  SP_act_coil_freq [0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0] # 16
  SP_coil_m_pos [255\255\255\0\0\0\0\0\0\0\0\0\0\0\0\255] # 16
  SP_coil_t_pos [255\128\255\0\0\0\0\0\0\0\0\0\0\0\0\255] # 16
  SP_surface_coil_con [0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0] # 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 ]

See Also

gdcmdump(1), gdcmraw(1), gdcmanon(1)

Author

Mathieu Malaterre

Main developer

Referenced By

gdcm2vtk(1), gdcmanon(1), gdcmconv(1), gdcmdiff(1), gdcmimg(1), gdcminfo(1), gdcmpap3(1), gdcmraw(1), gdcmscanner(1), gdcmtar(1), gdcmviewer(1), gdcmxml(1).

11/24/2016 GDCM VER_FULL DICOM Manipulation.