CLI Tool 
The dcmfx CLI tool makes the capabilities of DCMfx available on the command line.
Installation 
Select your platform below to see its installation instructions.
Windows
Download the latest version of dcmfx.exe for Windows here.
macOS
Install Homebrew, then install DCMfx using the provided tap:
brew tap dcmfx/tap
brew install dcmfxLinux
For Ubuntu, Debian, Linux Mint, and other Debian-based distributions, an APT repository is provided:
shecho "deb [trusted=yes] https://dcmfx.github.io/apt-repository stable main" | sudo tee /etc/apt/sources.list.d/dcmfx.list sudo apt update sudo apt install dcmfx
For Red Hat, Fedora, Amazon Linux, and other RPM-based distributions, a YUM repository is provided:
shecho -e "[dcmfx]\nname=DCMfx\nbaseurl=http://dcmfx.github.io/yum-repository\nenabled=1\ngpgcheck=0" | sudo tee /etc/yum.repos.d/dcmfx.repo sudo yum makecache sudo yum install dcmfx
For Arch Linux, a package is provided in the Arch User Repository (AUR). Install it with your preferred AUR helper (e.g. Yay):
shyay -S dcmfx
- Alternatively, download the latest binary or package here and install it manually.
 
Usage 
After installation, run dcmfx --help to see the available commands:
$ dcmfx --help
DCMfx is a CLI tool for working with DICOM and DICOM JSON
Usage: dcmfx [OPTIONS] <COMMAND>
Commands:
  get-pixel-data  Extracts pixel data from DICOM P10 files, writing it to image
                  and video files
  modify          Modifies the content of DICOM P10 files
  print           Prints the content of DICOM P10 files
  json-to-dcm     Converts DICOM JSON files to DICOM P10 files
  dcm-to-json     Converts DICOM P10 files to DICOM JSON files
  list            Lists DICOM P10 files in one or more directories
  help            Print this message or the help of the given subcommand(s)
Options:
      --print-stats  Write timing and memory stats to stderr on exit
  -h, --help         Print help
  -V, --version      Print versionExamples 
Print a DICOM P10 file's data set to stdout:
shdcmfx print input.dcmConvert a DICOM P10 file to a DICOM JSON file:
shdcmfx dcm-to-json input.dcmTo pretty-print the DICOM JSON directly to stdout:
shdcmfx dcm-to-json input.dcm --pretty --output-filename -Convert a DICOM JSON file to a DICOM P10 file:
shdcmfx json-to-dcm input.jsonExtract pixel data from a DICOM P10 file to one image file per frame:
shdcmfx get-pixel-data input.dcmEach frame of pixel data can be converted to PNG, 16-bit PNG, or JPEG images:
shdcmfx get-pixel-data input.dcm --format png dcmfx get-pixel-data input.dcm --format png16 dcmfx get-pixel-data input.dcm --format jpg --jpeg-quality 90For monochrome pixel data, a VOI window center and width and/or a well-known color palette can be specified:
shdcmfx get-pixel-data input.dcm --format png --voi-window 500 2000 \ --color-palette hot-ironThe images can be rotated or flipped by specifying a transform:
shdcmfx get-pixel-data input.dcm --format jpg --transform rotate90 dcmfx get-pixel-data input.dcm --format jpg --transform flip-verticalExtract pixel data from a DICOM P10 file to an MP4 video:
shdcmfx get-pixel-data input.dcm --format mp4Additional options are available to specify the codec, video quality, encoder preset, pixel format, frame rate override, and so on.
Rewrite a DICOM P10 file. This will convert the specific character set to UTF-8, change sequences and items to undefined length, and correct invalid files where possible:
shdcmfx modify input.dcm --output-filename output.dcmModify a DICOM P10 file's transfer syntax:
shdcmfx modify input.dcm --output-filename output.dcm \ --transfer-syntax explicit-vr-little-endianPixel data will be automatically transcoded as appropriate. See the output of
dcmfx modify --helpfor details of supported transfer syntaxes.Anonymize a DICOM P10 file in-place by removing all identifying data elements and private data elements:
shdcmfx modify input.dcm --in-place --anonymizeNote that this does not remove any identifying information baked into pixel data or other binary data elements, however such pixel data may be able to be removed using the
--cropargument.Remove the top-level '(7FE0,0010) Pixel Data' data element and all private data elements from a DICOM P10 file:
shdcmfx modify input.dcm --in-place --delete 7FE00010 --delete-privateMultiple data elements can be deleted by specifying --delete multiple times:
shdcmfx modify input.dcm --in-place --delete 00100010 --delete 00100030Print a list of all DICOM files under the current directory:
shdcmfx list .Print a list of all DICOM files under the current directory as JSON Lines that includes the value of each DICOM's '(0008,0018) SOP Instance UID' data element, followed by a summary of their transfer syntaxes and SOP classes:
shdcmfx list . --format json-lines --select 00080018 --summarize
