All Projects → dcmjs-org → Dcmjs

dcmjs-org / Dcmjs

Licence: mit
Javascript implementation of DICOM manipulation

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Dcmjs

Viewers
The OHIF Medical Imaging Viewer is for viewing medical images. It can retrieve and load images from most sources and formats; render sets in 2D, 3D, and reconstructed representations; allows for the manipulation, annotation, and serialization of observations; supports internationalization, OpenID Connect, offline use, hotkeys, and many more features.
Stars: ✭ 1,753 (+1068.67%)
Mutual labels:  dicom, medical-imaging
Ctk
A set of common support code for medical imaging, surgical navigation, and related purposes.
Stars: ✭ 498 (+232%)
Mutual labels:  dicom, medical-imaging
Weasis
Weasis is a DICOM viewer available as a desktop application or as a web-based application.
Stars: ✭ 311 (+107.33%)
Mutual labels:  dicom, medical-imaging
Cornerstone
JavaScript library to display interactive medical images including but not limited to DICOM
Stars: ✭ 1,690 (+1026.67%)
Mutual labels:  dicom, medical-imaging
Dicomviewer
DICOM Viewer in Nextcloud
Stars: ✭ 139 (-7.33%)
Mutual labels:  dicom, medical-imaging
rocket viewer
This simple and generic viewer allows you to visualize different kinds of data such as medical and biological images, 3D surfaces, electric signals (ECGs) and documents.
Stars: ✭ 22 (-85.33%)
Mutual labels:  dicom, medical-imaging
Cornerstonetools
A framework for tools built on top of Cornerstone.
Stars: ✭ 411 (+174%)
Mutual labels:  dicom, medical-imaging
rt-utils
A minimal Python library to facilitate the creation and manipulation of DICOM RTStructs.
Stars: ✭ 89 (-40.67%)
Mutual labels:  dicom, medical-imaging
Dwv
DICOM Web Viewer: open source zero footprint medical image viewer.
Stars: ✭ 1,145 (+663.33%)
Mutual labels:  dicom, medical-imaging
Fo Dicom
Fellow Oak DICOM for .NET, .NET Core, Universal Windows, Android, iOS, Mono and Unity
Stars: ✭ 674 (+349.33%)
Mutual labels:  dicom, medical-imaging
clara-dicom-adapter
DICOM Adapter is a component of the Clara Deploy SDK which facilitates integration with DICOM compliant systems, enables ingestion of imaging data, helps triggering of jobs with configurable rules and offers pushing the output of jobs to PACS systems.
Stars: ✭ 31 (-79.33%)
Mutual labels:  dicom, medical-imaging
Starviewer
Starviewer, a cross-platform open source medical imaging software
Stars: ✭ 83 (-44.67%)
Mutual labels:  dicom, medical-imaging
dicomifier
A medical image converter
Stars: ✭ 22 (-85.33%)
Mutual labels:  dicom, medical-imaging
neurdicom
RESTful PACS server with plugins
Stars: ✭ 97 (-35.33%)
Mutual labels:  dicom, medical-imaging
go-dicom
DICOM parser for golang
Stars: ✭ 51 (-66%)
Mutual labels:  dicom, medical-imaging
Mitk
The Medical Imaging Interaction Toolkit.
Stars: ✭ 360 (+140%)
Mutual labels:  dicom, medical-imaging
AlizaMS
DICOM Viewer
Stars: ✭ 144 (-4%)
Mutual labels:  dicom, medical-imaging
Dicom-Viewer
An application displaying 2D/3D Dicom
Stars: ✭ 37 (-75.33%)
Mutual labels:  dicom, medical-imaging
Dicom
⚡High Performance DICOM Medical Image Parser in Go.
Stars: ✭ 643 (+328.67%)
Mutual labels:  dicom, medical-imaging
Odil
Odil is a C++11 library for the DICOM standard
Stars: ✭ 69 (-54%)
Mutual labels:  dicom, medical-imaging

dcmjs

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


CircleCI

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 in JavaScript for browser or node environments
  • 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)

Usage

In Browser

<script type="text/javascript" src="https://unpkg.com/dcmjs"></script>

In Node

// To install latest _stable_ release
npm install --save dcmjs

// To install latest code merged to master
npm install --save [email protected]

For Developers

git clone https://github.com/dcmjs-org/dcmjs
cd dcmjs
npm install
npm run build
npm test

For Maintainers

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.

Be sure to use lower case for the first letter of your semantic commit message, so use fix not Fix or feat not Feat. It is advised to use the git-cz, i.e.:

  • install git-cz
npm install -g git-cz
  • how to commit
git-cz --non-interactive --type=fix --subject="commit message"

More info at git-cz.

Note: a new package version will be published only if the commit comes from a PR.

Community Participation

Use this repository's issues page to report any bugs. Please follow SSCCE guidelines when submitting issues.

Use github pull requests to make contributions.

Status

Currently dcmjs is an early-stage development experiment, but already has valuable functionality.

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 (high-level form is called the "naturalized" form in the code).

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 research support:

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].