https://github.com/cornerstonejs/codecs

https://github.com/cornerstonejs/codecs

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (6.1%) to scientific vocabulary

Keywords from Contributors

cornerstone dicom medical-imaging nci-itcr cornerstone-image-loader wado dcmjs
Last synced: 10 months ago · JSON representation

Repository

Basic Info
  • Host: GitHub
  • Owner: cornerstonejs
  • License: mit
  • Language: C++
  • Default Branch: main
  • Size: 236 MB
Statistics
  • Stars: 28
  • Watchers: 14
  • Forks: 16
  • Open Issues: 2
  • Releases: 73
Created over 5 years ago · Last pushed about 1 year ago
Metadata Files
Readme License

README.md

codecs

Packages

This repository is maintained as a monorepo. This means that this repository, instead of containing a single project, contains many projects. If you explore our project structure, you'll see the following:

```bash packages # charls-js # libjpeg-turbojs # openjpegjs #

... # misc. shared configuration lerna.json # MonoRepo (Lerna) settings package.json # Shared devDependencies and commands README.md # This file ```

Transfer Syntaxes

List of DICOM Transfer syntaxes: https://www.dicomlibrary.com/dicom/transfer-syntax/. More on each transfer syntax, how they differ, and in which situations they excel can be found here: https://www.medicalconnections.co.uk/kb/Transfer-Syntax

Transfer Syntax is the language used in DICOM to describe the DICOM file format and the network transfer methods. 3 main variables are contained in the Transfer Syntax:

  • VR: Implicit/Explicit
  • Endianism: Little-Endian/BigEndian
  • Pixel Data Compression

| Transfer Syntax UID | Transfer Syntax Name | Codec | |-------------------------|---------------------------------------------------------------------|----------------| | Uncompressed | | | | 1.2.840.10008.1.2 | Implicit VR Little Endian: Default DICOM Transfer Syntax | Little Endian | | 1.2.840.10008.1.2.1 | Explicit VR Little Endian | Little Endian | | 1.2.840.10008.1.2.2 | Explicit VR Big Endian | Big Endian | | Lossless Compressed | | | | 1.2.840.10008.1.2.4.57 | JPEG Lossless, Nonhierarchical (Processes 14) | ? | | 1.2.840.10008.1.2.4.70 | JPEG Lossless, Nonhierarchical (Processes 14 [Selection 1]) | ? | | 1.2.840.10008.1.2.4.80 | JPEG-LS Lossless Image Compression | CharLS | | 1.2.840.10008.1.2.4.90 | JPEG 2000 Image Compression (Lossless Only) | OpenJPEG | | 1.2.840.10008.1.2.5 | RLE Lossless | RLE | | Lossy Compressed | | | | 1.2.840.10008.1.2.4.50 | JPEG Baseline lossy process 1 (8 bit)* | libJPEG-turbo | | 1.2.840.10008.1.2.4.51 | JPEG Baseline lossy process 2 & 4 (12 bit) | libJPEG-turbo | | 1.2.840.10008.1.2.4.81 | JPEG-LS Lossy (Near-Lossless) Image Compression | CharLS | | 1.2.840.10008.1.2.4.91 | JPEG 2000 Image Compression | OpenJPEG | | 1.2.840.10008.1.2.4.92 | JPEG 2000 Part 2 Multicomponent Image Compression (Lossless Only)** | OpenJPEG? | | 1.2.840.10008.1.2.4.93 | JPEG 2000 Part 2 Multicomponent Image Compression** | OpenJPEG? | | MPEG | | | | 1.2.840.10008.1.2.4.100 | MPEG-2 | Not supported | | 1.2.840.10008.1.2.4.101 | MPEG-2 | Not supported | | 1.2.840.10008.1.2.4.102 | MPEG-4 | Not supported | | 1.2.840.10008.1.2.4.103 | MPEG-4 | Not supported | | Special | | | | 1.2.840.10008.1.2.4.94 | JPIP | Not supported | | 1.2.840.10008.1.2.4.95 | JPIP-Deflate | Not supported | | 1.2.840.10008.1.2.1.99 | Deflated Explicit VR Little Endian *** | Little Endian |

  • * - 1.2.840.10008.1.2.4.50: 8-bit RGB can leverage the browser's built in decoder.
  • ** - 1.2.840.10008.1.2.4.[92|93]: Not supported in previous image loaders; OpenJPEG may work with these
  • *** - Unlike all other DICOM transfer syntaxes, the deflate transfer syntaxes compress the whole of the DICOM data (tags, lengths, VR etc.) rather than just the pixel data - this is done using the standard deflate mechanism as used in gzip etc.) It is therefore most suitable for non-pixel objects such as structured reports, presentation states etc.

  • 5: JS Decoder

  • 57 & 70: JS Decoder

  • 1.2 & 2.1 & 99: JS Decoder

  • 2.2: JS Decoder

CI

We are leveraging lerna to version and publish packages. Lerna adds tooling on top of yarn workspaces to enable monorepo functionality. Our lerna configuration/usage is confined to:

  • package.json
  • lerna.json
  • .circleci/config.yml

Pull requests attempt to build and test packages that have been modified (when compared against the main branch). "Semantic commit" messages, and the files included in the commit, help lerna determine how package versions should be updated and what to include in changelogs. Example commit messages include:

  • fix(charls-decode): should not break when no config option is provided
  • feat(encode): add encode API method
  • feat(encode): friendlier API method BREAKING_CHANGE

You can read more about the specific lerna features we're using here:

  • lerna run <cmd>: Used in package.json
  • lerna version: Used in .circleci/config.yml
  • lerna publish: Used in .circleci/config.yml
  • "Lerna filter options": Used in package.json (--since main)

You can read more about semantic commit messages here:

  • Semantic commits

Codec Package Anatomy

...

Owner

  • Name: cornerstone.js
  • Login: cornerstonejs
  • Kind: organization
  • Email: contact@ohif.org

JavaScript library to display interactive medical images including but not limited to DICOM

GitHub Events

Total
  • Issues event: 1
  • Watch event: 6
  • Delete event: 1
  • Issue comment event: 3
  • Push event: 14
  • Pull request review comment event: 5
  • Pull request review event: 6
  • Pull request event: 5
  • Fork event: 4
  • Create event: 2
Last Year
  • Issues event: 1
  • Watch event: 6
  • Delete event: 1
  • Issue comment event: 3
  • Push event: 14
  • Pull request review comment event: 5
  • Pull request review event: 6
  • Pull request event: 5
  • Fork event: 4
  • Create event: 2

Committers

Last synced: about 1 year ago

All Time
  • Total Commits: 100
  • Total Committers: 9
  • Avg Commits per committer: 11.111
  • Development Distribution Score (DDS): 0.54
Past Year
  • Commits: 9
  • Committers: 3
  • Avg Commits per committer: 3.0
  • Development Distribution Score (DDS): 0.667
Top Committers
Name Email Commits
dannyrb d****n@g****m 46
Rodolfo Ladeira r****1@g****m 15
Alireza a****i@g****m 14
Bill Wallace w****0@g****m 13
Erik Ziegler e****d@g****m 6
Emel ALKIM e****m@g****m 3
Jason Hostetter j****r@g****m 1
Douglas Yau d****n@g****m 1
Davide Punzo p****e@h****t 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 11 months ago

All Time
  • Total issues: 4
  • Total pull requests: 48
  • Average time to close issues: 5 months
  • Average time to close pull requests: 15 days
  • Total issue authors: 4
  • Total pull request authors: 10
  • Average comments per issue: 1.75
  • Average comments per pull request: 0.56
  • Merged pull requests: 40
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 1
  • Pull requests: 6
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 9 days
  • Issue authors: 1
  • Pull request authors: 3
  • Average comments per issue: 1.0
  • Average comments per pull request: 0.17
  • Merged pull requests: 4
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • chafey (1)
  • devkumarsingh-qure (1)
  • sedghi (1)
  • xiongtongzi (1)
Pull Request Authors
  • wayfarer3130 (19)
  • sedghi (16)
  • dannyrb (4)
  • emelalkim (4)
  • swederik (4)
  • ladeirarodolfo (2)
  • jmhmd (1)
  • John-Skinner (1)
  • dougyau (1)
  • Punzo (1)
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • npm 59,644 last-month
  • Total docker downloads: 8
  • Total dependent packages: 18
  • Total dependent repositories: 14
  • Total versions: 11
  • Total maintainers: 6
npmjs.org: @cornerstonejs/codec-openjph

JS/WebAssembly build of OpenJPH

  • Versions: 11
  • Dependent Packages: 18
  • Dependent Repositories: 14
  • Downloads: 59,644 Last month
  • Docker Downloads: 8
Rankings
Dependent packages count: 1.3%
Downloads: 1.3%
Docker downloads count: 1.8%
Dependent repos count: 3.2%
Average: 3.7%
Forks count: 7.0%
Stargazers count: 7.4%
Last synced: 11 months ago

Dependencies

package.json npm
  • dotenv ^14.1.0 development
  • jest ^26.6.3 development
  • lerna ^3.22.1 development
packages/big-endian/package.json npm
  • @babel/core ^7.12.16 development
  • @babel/preset-env ^7.12.16 development
  • babel-loader ^8.2.2 development
  • clean-webpack-plugin ^4.0.0 development
  • webpack ^5.22.0 development
  • webpack-cli ^4.5.0 development
  • webpack-merge ^5.7.3 development
packages/dicom-codec/package.json npm
  • clean-webpack-plugin ^4.0.0 development
  • webpack ^5.22.0 development
  • webpack-cli ^4.5.0 development
  • webpack-merge ^5.7.3 development
  • @cornerstonejs/codec-big-endian ^0.1.0
  • @cornerstonejs/codec-charls ^0.2.0
  • @cornerstonejs/codec-libjpeg-turbo-8bit ^0.1.0
  • @cornerstonejs/codec-little-endian ^0.0.6
  • @cornerstonejs/codec-openjpeg ^0.2.0
  • browser-or-node ^2.0.0
  • jpeg-lossless-decoder-js ^2.0.4
packages/little-endian/package.json npm
  • @babel/core ^7.12.16 development
  • @babel/preset-env ^7.12.16 development
  • babel-loader ^8.2.2 development
  • clean-webpack-plugin ^4.0.0 development
  • webpack ^5.22.0 development
  • webpack-cli ^4.5.0 development
  • webpack-merge ^5.7.3 development
packages/openjpeg/package.json npm
  • @babel/core ^7.12.16 development
  • @babel/preset-env ^7.12.16 development
  • babel-loader ^8.2.2 development
  • clean-webpack-plugin ^4.0.0 development
  • html-loader ^1.3.0 development
  • html-webpack-plugin ^4.3.0 development
  • webpack ^5.22.0 development
  • webpack-cli ^4.5.0 development
  • webpack-merge ^5.7.3 development
.devcontainer/Dockerfile docker
  • emscripten/emsdk 3.1.28 build
yarn.lock npm
  • 1170 dependencies