MCPcopy Index your code
hub / github.com/dcm4che/dcm4che

github.com/dcm4che/dcm4che @5.34.3

Chat with this repo
repository ↗ · DeepWiki ↗ · release 5.34.3 ↗ · + Follow
6,942 symbols 23,480 edges 489 files 680 documented · 10%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

dcm4che DICOM Toolkit & Library

Sources: https://github.com/dcm4che/dcm4che
Binaries: https://sourceforge.net/projects/dcm4che/files/dcm4che3
Issue Tracker: https://github.com/dcm4che/dcm4che/issues
Build Status: Build

This is a complete rewrite of dcm4che-2.x.

One main focus was to minimize the memory footprint of the DICOM data sets. It already provides modules to store/fetch configuration data to/from LDAP, compliant to the DICOM Application Configuration Management Profile, specified in DICOM PS 3.15, Annex H.

dcm4che uses a native library for the compression and decompression of images. Here is the list of supported systems and architectures:

System Architecture Package Requirement
Linux x86 64-bit linux-x86-64 GLIBC_2.17
Linux ARM 64-bit linux-aarch64 GLIBC_2.27
Linux ARM 32-bit linux-armv7a GLIBC_2.17
Windows x86 64-bit windows-x86-64 Windows 10 or higher
Windows x86 32-bit windows-x86 Windows 10 or higher
Mac OS x86 64-bit macosx-x86-64 Mac OS 11 or higher
Mac OS ARM 64-bit macosx-aarch64 Mac OS 12 or higher

Build

Make sure you have Java 17 (JDK) or newer installed.

Run the Maven Wrapper script for building:

./mvnw install

or on Windows:

.\mvnw install

Modules

  • dcm4che-audit
  • dcm4che-audit-keycloak
  • dcm4che-conf
  • dcm4che-conf-api
  • dcm4che-conf-api-hl7
  • dcm4che-conf-json
  • dcm4che-conf-json-schema
  • dcm4che-conf-ldap
  • dcm4che-conf-ldap-audit
  • dcm4che-conf-ldap-hl7
  • dcm4che-conf-ldap-imageio
  • dcm4che-conf-ldap-schema
  • dcm4che-core
  • dcm4che-dcmr
  • dcm4che-deident
  • dcm4che-dict
  • dcm4che-dict-priv
  • dcm4che-emf
  • dcm4che-hl7
  • dcm4che-image
  • dcm4che-imageio
  • dcm4che-imageio-opencv
  • dcm4che-imageio-rle
  • dcm4che-js-dict
  • dcm4che-json
  • dcm4che-mime
  • dcm4che-net
  • dcm4che-net-audit
  • dcm4che-net-hl7
  • dcm4che-net-imageio
  • dcm4che-soundex
  • dcm4che-ws-rs
  • dcm4che-xdsi
  • dcm4che-jboss-modules

Utilities

  • agfa2dcm: Extract DICOM files from Agfa BLOB file
  • agfa2sr: Extract concatenated XML Agfa Reports and convert them to DICOM SR Documents
  • dcm2dcm: Transcode DICOM file according the specified Transfer Syntax
  • dcm2jpg: Convert DICOM image to JPEG or other image formats
  • dcm2json: Convert DICOM file in JSON presentation
  • dcm2pdf: Extract encapsulated PDF, CDA or STL from DICOM file
  • dcm2str: Apply Attributes Format Pattern to dicom file or command line parameters.
  • dcm2xml: Convert DICOM file in XML presentation
  • dcmbenchmark: Parse a DICOM file repetitively, measuring time and used memory
  • dcmdir: Dump, create or update DICOMDIR file
  • dcmdump: Dump DICOM file in textual form
  • dcmldap: Insert/remove configuration entries for Network AEs into/from LDAP server
  • dcmqrscp: Simple DICOM archive
  • dcmvalidate: Validate DICOM object according a specified Information Object Definition
  • deidentify: De-identify one or several DICOM files
  • emf2sf: Convert DICOM Enhanced Multi-frame image to legacy DICOM Single-frame images
  • findscu: Invoke DICOM C-FIND Query Request
  • fixlo2un: Fixes length of private tags truncated to 2 bytes on conversion from implicit VR to explicit VR Transfer Syntax
  • getscu: Invoke DICOM C-GET Retrieve Request
  • hl72xml: Convert HL7 v2.x message in XML presentation
  • hl7pdq: Query HL7 v2.x Patient Demographics Supplier
  • hl7pix: Query HL7 v2.x PIX Manager
  • hl7rcv: HL7 v2.x Receiver
  • hl7snd: Send HL7 v2.x message
  • ianscp: DICOM Instance Availability Notification receiver
  • ianscu: Send DICOM Instance Availability Notification
  • jpg2dcm: Convert JPEG images or MPEG videos in DICOM files
  • json2dcm: Converts JSON file to DICOM file
  • json2index: Creates search index for UI configuration from JSON schema files
  • json2props: Convert Archive configuration schema JSON files to key/value properties files and vice versa
  • json2rst: Generate ReStructuredText files from Archive configuration schema JSON files
  • maskpxdata: Mask information burned into the Pixel Data
  • mkkos: Make DICOM Key Object Selection Document
  • modality: Simulates DICOM Modality
  • movescu: Invoke DICOM C-MOVE Retrieve request
  • mppsscp: DICOM Modality Performed Procedure Step Receiver
  • mppsscu: Send DICOM Modality Performed Procedure Step
  • pdf2dcm: Convert PDF file into DICOM file
  • planarconfig: Detects the actual planar configuration of uncompressed pixel data of color images with Photometric Interpretation RGB or YBR_FULL and optionally correct non matching values of attribute Planar Configuration of the image
  • qstar: QStar SOAP Client to prefetch/retrieve or fetch file information of specified files
  • stgcmtscu: Invoke DICOM Storage Commitment Request
  • storescp: DICOM Composite Object Receiver
  • storescu: Send DICOM Composite Objects
  • stowrs: Send DICOM Composite Objects or Bulkdata file over Web
  • stowrsd: STOW-RS Server
  • swappxdata: Swaps bytes of uncompressed pixel data in DICOM files
  • syslog: Send Syslog messages via TCP/TLS or UDP to a Syslog Receiver
  • syslogd: Receives RFC 5424 Syslog messages via TCP/TLS or UDP
  • tpl2xml: Converts private dictionaries present in template file(s) to xml file(s).
  • upsscu: Invokes services of Unified Procedure Step Service Class
  • wadors: Wado RS Client Simulator
  • wadows: Wado WS Client Simulator
  • xml2dcm: Create/Update DICOM file from/with XML presentation
  • xml2hl7: Create HL7 v2.x message from XML presentation
  • xroad: XRoad SOAP Client to query Estonia National Patient Registry for Patient Demographics

License

Extension points exported contracts — how you extend this code

AuditRecordHandler (Interface)
@author Gunter Zeilinger [7 implementers]
dcm4che-net-audit/src/main/java/org/dcm4che3/net/audit/AuditRecordHandler.java
AssociationListener (Interface)
@author Gunter Zeilinger @since May 2016 [8 implementers]
dcm4che-net/src/main/java/org/dcm4che3/net/AssociationListener.java
FuzzyStr (Interface)
@author Gunter Zeilinger [8 implementers]
dcm4che-soundex/src/main/java/org/dcm4che3/soundex/FuzzyStr.java
XPEGParser (Interface)
@author Gunter Zeilinger @since Jun 2019 [6 implementers]
dcm4che-imageio/src/main/java/org/dcm4che3/imageio/codec/XPEGParser.java
AttributesCoercion (Interface)
@author Gunter Zeilinger @since Aug 2015 [12 implementers]
dcm4che-core/src/main/java/org/dcm4che3/data/AttributesCoercion.java
UIDMapper (Interface)
@author Gunter Zeilinger [10 implementers]
dcm4che-emf/src/main/java/org/dcm4che3/emf/UIDMapper.java
HL7MessageListener (Interface)
(no doc) [8 implementers]
dcm4che-net-hl7/src/main/java/org/dcm4che3/net/hl7/HL7MessageListener.java
ConfigurationDelegate (Interface)
@author Gunter Zeilinger @since Jan 2016 [4 implementers]
dcm4che-conf/dcm4che-conf-json/src/main/java/org/dcm4che3/conf/json/ConfigurationDelegate.java

Core symbols most depended-on inside this repo

getString
called by 1065
dcm4che-core/src/main/java/org/dcm4che3/data/Attributes.java
append
called by 694
dcm4che-mime/src/main/java/org/dcm4che3/mime/MultipartInputStream.java
setString
called by 457
dcm4che-core/src/main/java/org/dcm4che3/data/Attributes.java
put
called by 453
dcm4che-core/src/main/java/org/dcm4che3/util/IntHashMap.java
desc
called by 433
dcm4che-audit/src/main/java/org/dcm4che3/audit/ParticipantObjectIdentificationBuilder.java
build
called by 432
dcm4che-xdsi/src/main/java/org/dcm4che3/xdsi/SlotBuilder.java
get
called by 365
dcm4che-conf/dcm4che-conf-api/src/main/java/org/dcm4che3/conf/api/IDeviceCache.java
add
called by 303
dcm4che-core/src/main/java/org/dcm4che3/data/Sequence.java

Shape

Method 6,303
Class 521
Enum 62
Interface 56

Languages

Java100%

Modules by API surface

dcm4che-core/src/main/java/org/dcm4che3/data/Attributes.java173 symbols
dcm4che-net/src/main/java/org/dcm4che3/net/Device.java170 symbols
dcm4che-net-audit/src/main/java/org/dcm4che3/net/audit/AuditLogger.java129 symbols
dcm4che-net/src/main/java/org/dcm4che3/net/Association.java126 symbols
dcm4che-net/src/main/java/org/dcm4che3/net/Connection.java118 symbols
dcm4che-conf/dcm4che-conf-ldap/src/main/java/org/dcm4che3/conf/ldap/LdapDicomConfiguration.java107 symbols
dcm4che-tool/dcm4che-tool-dcmqrscp/src/main/java/org/dcm4che3/tool/dcmqrscp/DcmQRSCP.java97 symbols
dcm4che-tool/dcm4che-tool-stowrs/src/main/java/org/dcm4che3/tool/stowrs/StowRS.java88 symbols
dcm4che-core/src/main/java/org/dcm4che3/io/DicomInputStream.java85 symbols
dcm4che-net/src/main/java/org/dcm4che3/net/ApplicationEntity.java81 symbols
dcm4che-audit/src/main/java/org/dcm4che3/audit/AuditMessages.java73 symbols
dcm4che-imageio/src/main/java/org/dcm4che3/imageio/codec/Transcoder.java72 symbols

For agents

$ claude mcp add dcm4che \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page