feat(image loaders): Allow reusing DICOM image loader code for custom image loaders #1509
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
NOTE: This PR is currently set to merge into the
beta
branch. We may want to await the merge ofbeta
intomain
first and then merge this PR into main afterwards?Context
This PR makes it easier to write DICOM-based custom image loaders that work with DICOM files, but do not use WADO-RS or WADO-URI directly. An example is added to show this functionality.
Relevant issues / PRs:
See also a partially related documentation PR: #1508
Changes & Results
dicomParser
and the other from aRecord<string, any>
and in the latter, the individual byte array and element references are not available. This difference makes it nontrivial to generalize well, but I still think there is some value there.There are some open points:
await loadVolume()
on all individual slices to ensure that metadata is available.decache
ever being called yet.Testing
Run the new example DICOM custom image loader. Drag and drop slices into the image drop area, and click them to display.
Checklist
PR
semantic-release format and guidelines.
Code
My code has been well-documented (function documentation, inline comments,
etc.)
[] I have run the
yarn build:update-api
to update the API documentation, and havecommitted the changes to this PR. (Read more here https://www.cornerstonejs.org/docs/contribute/update-api)
Public Documentation Updates
additions or removals.
See #1508
Tested Environment