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

Fix multiframe read/write #147

Merged
merged 1 commit into from
Sep 10, 2020

Conversation

jmhmd
Copy link
Contributor

@jmhmd jmhmd commented Sep 7, 2020

  • Use offset table for reading fragments if present, otherwise, loop until end of stream/sequence

Issue I was seeing was with a multiframe US instance with no offset table (length == 0), and dcmjs would then assume there were no frames. This changes that behavior to go ahead and try to parse the pixel data sequence, which is what dicomParser does.

  • Add option to not fragment encapsulated pixel data (use fragments equal to frame size)

Discussion with others on the open source imaging zoom call seemed to suggest that pixel data fragmentation is partly an artifact of older machines that could not buffer entire large instances in memory. This adds an option not to fragment when writing encapsulated pixel data, which in my brief tests seems to be a lot faster for large cine instances.

- Use offset table for reading fragments if present, otherwise, loop until end of stream/sequence
- Add option to not fragment encapsulated pixel data (use fragments equal to frame size)

# Conflicts:
#	src/ValueRepresentation.js
Copy link
Collaborator

@pieper pieper left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the fixes 👍

@pieper pieper merged commit d92ffc4 into dcmjs-org:master Sep 10, 2020
@ohif-bot
Copy link
Collaborator

🎉 This PR is included in version 0.16.4 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants