Note: this code is a work-in-progress and should not be used for production or clinical purposes
This is a community effort so please help improve support for a wide range of DICOM data and use cases.
Overall the code should:
Architectural goals include:
Parts of DICOM that dcmjs will focus on:
Parts of DICOM that dcmjs will not focus on:
// 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 cd dcmjs npm install npm run build npm test
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
Feat, have a space after the : and make the PR github review title follow the SAME rules. It is the PR review title that determins the final commit message and will be used for semantic detection.
Note: a new package version will be published only if the commit comes from a PR.
It is advised to use the git-cz, i.e.:
npm install -g git-cz
git-cz --non-interactive --type=fix --subject="commit message"
More info at git-cz.
Use this repository's issues page to report any bugs. Please follow SSCCE guidelines when submitting issues.
Use github pull requests to make contributions.
Tests are written using the Jest testing framework and live in the
test/ folder. Test file names must end with
Pull requests should either update existing tests or add new tests in order to ensure good test coverage of the changes being made.
To run all tests use
npm run test. To only run specific tests use Jest's
.only feature. If you're using VS Code, an extension such as
firsttris.vscode-jest-runner can be used to step through specific tests in the debugger.
Read all about unit testing best practices here.
Currently dcmjs is an early-stage development experiment, but already has valuable functionality.
The developers gratefully acknowledge their research support: