Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(adapters): Import the adapters for cornerstone 3D to DICOM SR for annotations #394

Merged
merged 373 commits into from
Jan 27, 2023

Conversation

sedghi
Copy link
Member

@sedghi sedghi commented Jan 27, 2023

This is a PR to bring cornerstone and cornerstone3d adapters to our monorepo.

dcmjs will have a breaking change in future which removes external adapters and dcmjs will focus specifically on dicom support for maintenance efficiency.

This work is done by @wayfarer3130, Kudos to him.

Command used

npx lerna import --preserve-commit --flatten ../path-to-dcmjs

pieper and others added 30 commits April 13, 2018 16:02
Experiment for a json-schema-based react component
that could populate the report.
Introducing babel and Webpack
Needs lowercase dcmjs not DCMJS
* WIP: add skeleton of vtk-js example

Currently downloads and displays PET image
with vtk-js volume rendering.

TODO
* segmentation is downloaded but not displayed
* layer controls still holdover from cornerstone example
* segment lookup table to be defined
* multivolume rendering of PET + SEG to be defined
* download and interpretation code should move to DICOMZero

* enh(packing) add unpack and refactor bit array

Now the BitArray class provides static methods
to pack and unpack bit and bytes to support
dicom SEG encoding.

* feat(packing) update create segmentation for new BitArray

* enh(dc0) make method static for general use

Avoid some duplciation of code by allowing other
uses of converting array buffers to datasets.

* WIP: improve vtkjs dicom seg example

Now loads and displays volumes (e.g. PET) and SEGs
as vtkImageData in volume rendering context.

TODO:
* vtkjs appears not to support left-handed direction
matrices, at least in volume rendering (to be further
researched)

* rendering of the segmentations requires improved
lookup tables and smoothing options (e.g. in shader).

* XMLHttpRequest code should be migrated either to a
helper file in examples or, better, into dicoomweb-client
to handle general downloads (e.g. S3, dropbox, static
web server, etc).

* Adds heuristic when windowing information missing

For datasets that have no WindowWidth, WindowCenter
use the dataset min/max to make something workable.

* Use dicom zero static function correctly

* Clean up dicom seg vtkjs example

* Ensure dicom values are valid numbers
…r Imaging Measurement Structured Report input / output (#17)
chore: first attempt at adding automated build and tagged release on merge to master
Fix: Simpler version number and a new NPM_TOKEN
Fix: turn our new variable string into a var properly
chore: tidy up formatting and add installation instructions
* Port over image interactor style for volume-based slice viewing

* Move camera position rather than distance and clip range

* Add 2D slice interactor

* New implementation that moves camera pos and fp in sync

This makes it easier to handle slicing when the camera view is panned

* Add zoom interaction

* Physical space slicing

* Allow toggle between slice and rotate modes
richard-viney and others added 26 commits June 24, 2022 07:31
* Refactor

* Fix fragment set

* default is false

* Added legacy methods

Fixes #282
* added support for specific character set
refactored VR classes
refactored reading/writing ascii and encoded strings
changed hex writing to direct uint8 writing
reimplemented null padded read
removed unused code
unified test data loading and cache the test data locally for faster test runs

* re-enabled test and removed wrong only

* fixed test case that was overlooked

Co-authored-by: flink <florian.link@mevis.fraunhofer.de>
* moved "eslint-config-prettier"

* update lock file

Co-authored-by: flink <florian.link@mevis.fraunhofer.de>
- Fix several character sets not working, e.g. "ISO_IR 13" and "ISO_IR 166"
- Fix warning being shown when the "ISO_IR 6" character set is used
- Add tests for reading encoded string data in several different character sets
- Throw exception on an unsupported character set or multiple character sets rather than logging and continuing on (this can be overridden by setting ignoreErrors)
…ar to zero (#304)

* fix: 🐛 relax condition in nearlyEquals check for detecting numbers near to zero

* Update documentation on floating point comparison

Co-authored-by: Steve Pieper <pieper@isomics.com>
…303)

* feat(anonymizer) - export Array tagNamesToEmpty and add parameter in function cleanTags -> manage the tags to anonymize/modify in dicom

* fix comma

* return a copy of the list tagsNameToEmpty and then pass in the lists as optional arguments to cleanTags

Co-authored-by: CASTELNEAU Julien <julien.castelneau@inria.fr>
…d. Add 3 test (#308)

Co-authored-by: CASTELNEAU Julien <julien.castelneau@inria.fr>
…sfer syntax (#312)

* feat(deflated): Added support for reading datasets with deflated transfer syntax

* Updated deflated tests
…dd "frameNumber" to the Annotation.data (#317)

* add "frameNumber" to the Annotation.data

* remove default value of frameNumber, as someone might not want it intentionally
@netlify
Copy link

netlify bot commented Jan 27, 2023

Deploy Preview for cornerstone-3d-docs canceled.

Name Link
🔨 Latest commit b136a21
🔍 Latest deploy log https://app.netlify.com/sites/cornerstone-3d-docs/deploys/63d44e175ed9220008e82d0e

@sedghi sedghi merged commit 78374d0 into main Jan 27, 2023
@sedghi sedghi deleted the import/lerna-import-dcmjs-3 branch January 27, 2023 22:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.