Note: this code is a work-in-progress and should not be used for production or clinical purposes
See live examples here
Overall the code should:
- Include a set of useful demos to encourage correct usage of dcmjs and modern DICOM objects
- Encourage correct referencing of instances and composite context when creating derived objects
- Current target is modern web browsers, but a set of node-based utilities also makes sense someday
Architectural goals include:
- Leverage modern DICOM standards but avoid legacy parts
Parts of DICOM that dcmjs will focus on:
- Enhanced Multiframe Images
- Segmentation Objects
- Parametric Maps
- Structured Reports
Parts of DICOM that dcmjs will not focus on:
- DIMSE (legacy networking like C-FIND, C-MOVE, etc)
- Physical Media (optical disks)
// To install latest _stable_ release
npm install --save dcmjs
// To install latest code merged to master
npm install --save [email protected]
git clone https://github.com/dcmjs-org/dcmjs
npm run build
Publish new version automatically from commit:
Use the following "Commit Message Format" when drafting commit messages. If you're merging a 3rd party's PR, you have the ability to override the supplied commit messages by doing a "Squash & Merge":
Note: Be wary of
BREAKING_CHANGE in commit message descriptions, as this can force a major version bump.
Use this repository's issues page to report any bugs. Please follow SSCCE guidelines when submitting issues.
Use github pull requests to make contributions.
Currently dcmjs is an early-stage development experiment, but already has valuable functionality.
- Bidirectional conversion to and from part 10 binary DICOM and DICOM standard JSON encoding (as in DICOMweb)
- Bidirectional convertion to and from DICOM standard JSON and a programmer-friendly high-level version (high-level form is called the "naturalized" form in the code).
- Creation of (correct) enhanced multiframe DICOM objects from legacy image objects
- Creation of (correct) derived DICOM objects such as Segmentations and Structured Reports
- Create a test suite of input and output DICOM objects
- Test interoperability with other DICOM implementations
- Add documentation
- Work continues to develop SR and SEG support to OHIFViewer allow interoperability with DICOM4QI
The developers gratefully acknowledge their reseach support: