gdcmclean - Man Page

Tool to clean a DICOM file.


gdcmclean [options] file-in file-out
gdcmclean [options] dir-in  dir-out


The gdcmclean tool is an cleaning tool.


file-in   DICOM input filename

file-out  DICOM output filename


file-in   DICOM input directory

file-out  DICOM output directory


You need to :

specific options

  -i --input                  DICOM filename / directory
  -o --output                 DICOM filename / directory
  -r --recursive              recursively process (sub-)directories.
     --continue               Do not stop when file found is not DICOM.

Editing mode options

     --empty    %d,%d         DICOM tag(s) to empty
                %d,%d,%s      DICOM private tag(s) to empty
                %s            DICOM keyword/path(s) to empty
     --remove   %d,%d         DICOM tag(s) to remove
                %d,%d,%s      DICOM private tag(s) to remove
                %s            DICOM keyword/path(s) to remove
     --scrub    %d,%d         DICOM tag(s) to scrub
                %d,%d,%s      DICOM private tag(s) to scrub
                %s            DICOM keyword/path(s) to scrub
     --preserve %s            DICOM path(s) to preserve
     --preserve-missing-private-creator             Whether or not preserve private attributes with missing private creator.
     --preserve-group-length                        Whether or not preserve deprecated group length attributes (will not be re-computed).
     --preserve-illegal                             Whether or not preserve illegal attributes (eg. group 0003...).

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

Typical Usage

Editing mode

This functionality is not described in the DICOM standard.

The following example shows how to use editing mode and achieve multiple operations at the same time:

  • Preserve illegal attributes (removed by default),
  • Empty any 'PN' attributes anywhere in the hierarchy tree, but preserve the DICOM attribute value only at location "0010,0010",
  • Empty the tag (0010,0020) Patient ID, (only if keyword is know internally),
  • Empty the tag (0070,0084),
  • Remove the private attributes: (0029,20, SIEMENS MEDCOM HEADER) / (0033,02,MITRA OBJECT UTF8 ATTRIBUTES 1.0) / (0043,2a,GEMS_PARM_01). Since (0033,02,MITRA OBJECT UTF8 ATTRIBUTES 1.0) is defined internally in the private dictionary with Value Representation = PN, this attribute will be skipped (since redundant).
  • Scrub the private attributes: (0029,10,SIEMENS CSA HEADER) / (0029,20,SIEMENS CSA HEADER) / (700d,08,TOSHIBA_MEC_MR3) / (0029,90,PMTF INFORMATION DATA)
$ gdcmclean \
    --recursive --continue \
    --preserve-illegal \
    --empty PN --preserve /0010,0010 \
    --empty PatientID --empty "0070,0084" \
    --remove "0029,20,SIEMENS MEDCOM HEADER" --remove "0033,02,MITRA OBJECT UTF8 ATTRIBUTES 1.0" --remove "0043,2a,GEMS_PARM_01" \
	--scrub "0029,10,SIEMENS CSA HEADER" --scrub "0029,20,SIEMENS CSA HEADER" \
	--scrub "700d,08,TOSHIBA_MEC_MR3" \
	--scrub "0029,90,PMTF INFORMATION DATA" --scrub "0029,90,TOSHIBA_MEC_MR3" \
    input_folder output_folder


For ease of use on shell cmmand the syntax allow for the '/' separator in the DICOM Path notation. So the following is valid


However Private Creator can use all of Value Representation LO definition. So in some case you will be required to use backslash as separator (since illegal in VR:LO):

"\\4109,2,Applicare/Centricity Radiology Web/Version 1.0"

Safe Private Attributes

It is currently not possible to empty/remove any private attribute listed in the Safe Private Attributes table at:

See Also

gdcmanon(1), gdcmdump(1), gdcmdiff(1)


Mathieu Malaterre

Main developer


02/06/2024 GDCM 3.0.22 DICOM Manipulation.