Skip to content
/ dcmjs Public
forked from dcmjs-org/dcmjs

Javascript implementation of DICOM manipulation

License

Notifications You must be signed in to change notification settings

jpambrun/dcmjs

 
 

Repository files navigation

dcmjs

JavaScript implementation of DICOM manipulation

This code is an outgrowth of several efforts to implement web applications for medical imaging.

Note: this code is a work-in-progress and should not be used for production or clinical purposes

See live examples here

Goals

Overall the code should:

  • Support reading and writing of correct DICOM objects
  • Provide a programmer-friendly JavaScript environment for using and manipulating DICOM objects
  • 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:

  • Use modern JavaScript programming methods (currently ES6) but avoid heavy frameworks
  • Leverage modern DICOM standards but avoid legacy parts
  • Support straightforward integration with multiple JavaScript deployment targets (browser, node, etc) and frameworks.

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)

Status

Currently dcmjs is an early-stage development experiment.

Implemented

  • 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.

In development

  • Creation of (correct) enhanced multiframe DICOM objects from legacy image objects
  • Creation of (correct) derived DICOM objects such as Segmentations and Structured Reports

TODO

  • Create a test suite of input and output DICOM objects
  • Test interoperability with other DICOM implementations
  • Add documentation

History

Support

The developers gratefully acknowledge their reseach support:

About

Javascript implementation of DICOM manipulation

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%