Skip to content

nroduit/weasis-dicom-tools

Repository files navigation

weasis-dicom-tools

License License Maven Build
Sonar Sonar Sonar Sonar Sonar

This project provides a DICOM API for C-Echo , C-Move , C-Get , C-Find and C-Store based on dcm4che3. The implementation allows to follow the progression of an DICOM operation like C-Move and gives its status. It contains also some other classes for worklist SCU, strore SCP, dicomization, DICOM forward with attributes modification on the fly.

It also provides an API to convert and manipulate images from DICOM files.

Here are the main features of dcm2dcm:

  • Similar as the dcm2dcm command of the dcm4che toolkit: image transcoding, compression or decompression
  • Accept folders and files as input parameters
  • Write compressed images with LossyImageCompressionMethod and LossyImageCompressionRatio (keep the succession of old compressed values)
  • Option add mask area on the image with a specific color (for de-identification). In DicomTranscodeParam add a mask.

Here are the main features of dcm2image:

  • Convert in several images formats (JPEG, PNG, TIF, JP2, PNM, BMP or HDR)
  • Option to preserve the pixel depth with some formats (e.g. 16-bit TIF, double values in TIF or HDR)
  • Capabilities to apply Modality, VOI and Presentation LUT with 8-bit output images
  • Support multiframe and/or multi-fragments. For multiframe output images are created with an index.
  • Apply a Presentation State (W/L, LUTs, overlay).
  • Set the color of overlays in image or Presentation State

This library is used by Weasis, Karnak and weasis-pacs-connector.

Getting started: see the test classes

Code formatter: google-java-format

Release History

See CHANGELOG

Build weasis-dicom-tools

Prerequisites: JDK 17 and Maven 3

The master branch requires Java 17+ and old branches are:

  • 5.25.x (Java 8+)
  • 1.0.x (Java 7+)

Execute the maven command mvn clean install in the root directory of the project.

Note: This project has a native library dependency which must be included in your application and launched with a specific JVM option (e.g. '-Djava.library.path="path/of/native/lib"'). Additional systems and architectures of the native library are available directly from this Maven repository.