GDCMCLEAN(1)

πŸ’– NAME πŸ’–

okay so bestie, meet gdcmclean β€” the main character of this GDCMCLEAN(1) page, living under the DICOM Manipulation umbrella. It is literally the tool to clean a DICOM file. cleaning era ✨

🌸 SYNOPSIS 🌸

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

🧼 DESCRIPTION 🧼

the gdcmclean tool is a cleaning tool. That’s the whole vibe: DICOM goes in, cleaning happens. 🫧

πŸŽ€ PARAMETERS πŸŽ€

  • file-in β€” DICOM input filename
  • file-out β€” DICOM output filename

or

  • file-in β€” DICOM input directory
  • file-out β€” DICOM output directory

✨ OPTIONS ✨

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 β€” DICOM tag(s) to empty. the menu is:
    • %d,%d β€” DICOM tag(s) to empty
    • %d,%d,%s β€” DICOM private tag(s) to empty
    • %s β€” DICOM keyword/path(s) to empty
  • --remove β€” DICOM tag(s) to remove. same little menu:
    • %d,%d β€” DICOM tag(s) to remove
    • %d,%d,%s β€” DICOM private tag(s) to remove
    • %s β€” DICOM keyword/path(s) to remove
  • --scrub β€” DICOM tag(s) to scrub. yup, the menu again:
    • %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

πŸ¦‹ DICOM Path πŸ¦‹

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

"/0040,0100/1/0040,0006"

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:

https://dicom.nema.org/medical/dicom/current/output/chtml/part15/sect_E.3.10.html#table_E.3.10-1

πŸ‘€ SEE ALSO πŸ‘€

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

πŸ’œ AUTHOR πŸ’œ

  • Mathieu Malaterre β€” Main developer

Copyright Β© 2006, 2011 Mathieu Malaterre


this page is from GDCM 3.0.24, dated 12/25/2025 β€” go clean something cute, bestie πŸ’…βœ¨