$dcmtk: dcmodify v3.7.1 2026-10-15 $ dcmodify: Modify DICOM files usage: dcmodify [options] dcmfile-in... parameters: dcmfile-in DICOM input filename to be modified ("-" for stdin/stdout) general options: -h --help print this help text and exit --version print version information and exit --arguments print expanded command line arguments -q --quiet quiet mode, print no warnings and errors -v --verbose verbose mode, print processing details -d --debug debug mode, print debug information -ll --log-level [l]evel: string constant (fatal, error, warn, info, debug, trace) use level l for the logger -lc --log-config [f]ilename: string use config file f for the logger input options: input file format: +f --read-file read file format or data set (default) +fo --read-file-only read file format only -f --read-dataset read data set without file meta information +fc --create-file create file format if file does not exist input transfer syntax: -t= --read-xfer-auto use TS recognition (default) -td --read-xfer-detect ignore TS specified in the file meta header -te --read-xfer-little read with explicit VR little endian TS -tb --read-xfer-big read with explicit VR big endian TS -ti --read-xfer-implicit read with implicit VR little endian TS parsing of odd-length attributes: +ao --accept-odd-length accept odd length attributes (default) +ae --assume-even-length assume real length is one byte larger automatic data correction: +dc --enable-correction enable automatic data correction (default) -dc --disable-correction disable automatic data correction bitstream format of deflated input: +bd --bitstream-deflated expect deflated bitstream (default) +bz --bitstream-zlib expect deflated zlib bitstream processing options: backup input files: --backup backup files before modifying (default) -nb --no-backup don't backup files (DANGEROUS) insert mode: -i --insert "[t]ag-path=[v]alue" insert (or overwrite) path at position t with value v -if --insert-from-file "[t]ag-path=[f]ilename" insert (or overwrite) path at position t with value from file f -nrc --no-reserv-check do not check private reservations when inserting private tags modify mode: -m --modify "[t]ag-path=[v]alue" modify tag at position t to value v -mf --modify-from-file "[t]ag-path=[f]ilename" modify tag at position t to value from file f -ma --modify-all "[t]ag=[v]alue" modify ALL matching tags t in file to value v erase mode: -e --erase "[t]ag-path" erase tag/item at position t -ea --erase-all "[t]ag" erase ALL matching tags t in file -ep --erase-private erase ALL private data from file unique identifier: -gst --gen-stud-uid generate new Study Instance UID -gse --gen-ser-uid generate new Series Instance UID -gin --gen-inst-uid generate new SOP Instance UID -nmu --no-meta-uid do not update metaheader UIDs if related UIDs in the dataset are modified conditional execution: -iff --process-if "[c]ondition" only perform modification(s) if condition c holds true error handling: -ie --ignore-errors continue with file, if modify error occurs -imt --ignore-missing-tags treat 'tag not found' as success when modifying or erasing in datasets -iun --ignore-un-values do not try writing any values to elements having a VR of UN output options: output file format: +F --write-file write file format (default) -F --write-dataset write data set without file meta information output transfer syntax: +t= --write-xfer-same write with same TS as input (default) +te --write-xfer-little write with explicit VR little endian TS +tb --write-xfer-big write with explicit VR big endian TS +ti --write-xfer-implicit write with implicit VR little endian TS post-1993 value representations: +u --enable-new-vr enable support for new VRs (UN/UT) (default) -u --disable-new-vr disable support for new VRs, convert to OB group length encoding: +g= --group-length-recalc recalculate group lengths if present (default) +g --group-length-create always write with group length elements -g --group-length-remove always write without group length elements length encoding in sequences and items: +le --length-explicit write with explicit lengths (default) -le --length-undefined write with undefined lengths data set trailing padding (not with --write-dataset): -p= --padding-retain do not change padding (default if not --write-dataset) -p --padding-off no padding (implicit if --write-dataset) +p --padding-create [f]ile-pad [i]tem-pad: integer align file on multiple of f bytes and items on multiple of i bytes