-
Notifications
You must be signed in to change notification settings - Fork 0
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
Image store encoding with recent formats #4
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…butes as well as transfer syntax Also fixed problem of file creation in MiscUtils
* Thread waits for compression processes to finish * Files generated by the encoders are now deleted upon exit * Added logic for detecting and avoiding duplicate file storing (although, this may already be enforced by dicoogle itself)
Issue #3 |
Almeida-a
added a commit
that referenced
this pull request
Aug 31, 2022
* Tweaked pom (changed artifactID) * Main class added * Reverted artifact ID * Removed name * Tweaked pom * Re-added maven.compiler tags * Tried multiple mvn compiler versions * Removed java 8 from CI (for now) * Re-added java 8 to compiler and ci options * Re-added java 8 to compiler and ci options * Re-added java 8 to ci options * Added test/ci branch to ci scope * Restructured code into the plugin set form * Updated dicoogle version pointer * Template Storage plugin * Implemented interface contract methods * Registered storage plugin * Changed context path name Plus, added some comments: * explaining getJettyHandlers * providing a path example to access a servlet * Fixed target version to 3.0.5 * Fixed target version to 3.0.5 * Simple image viewer (by "get" operation) of uncompressed dicom images * Image store encoding with recent formats (#4) * #3 Introduced ability to transcode the pixel-data into newer (compressed) formats * #3 Complemented transcoding process by adding lossy compression attributes as well as transfer syntax Also fixed problem of file creation in MiscUtils * #3 Added format decoding functions * #3 Fixed multiple bugs * Thread waits for compression processes to finish * Files generated by the encoders are now deleted upon exit * Added logic for detecting and avoiding duplicate file storing (although, this may already be enforced by dicoogle itself) * #3 decode bugfix: thread waits for decompression subprocess to finish * Viewer for encoded dicom images. (#6) * #5 decode feature: provided method to retrieve buffered image from a dicom object with an encoded pixel-data * #5 image viewer: finalized the feature Also: other minor fixes and tweaks. * #5 image viewer: Added configuration to choose the format Also: fixed the "davif" command decode - using avif_decode (rust) instead
Almeida-a
added a commit
that referenced
this pull request
Aug 31, 2022
* Tweaked pom (changed artifactID) * Main class added * Reverted artifact ID * Removed name * Tweaked pom * Re-added maven.compiler tags * Tried multiple mvn compiler versions * Removed java 8 from CI (for now) * Re-added java 8 to compiler and ci options * Re-added java 8 to compiler and ci options * Re-added java 8 to ci options * Added test/ci branch to ci scope * Restructured code into the plugin set form * Updated dicoogle version pointer * Template Storage plugin * Implemented interface contract methods * Registered storage plugin * Changed context path name Plus, added some comments: * explaining getJettyHandlers * providing a path example to access a servlet * Fixed target version to 3.0.5 * Fixed target version to 3.0.5 * Simple image viewer (by "get" operation) of uncompressed dicom images * Image store encoding with recent formats (#4) * #3 Introduced ability to transcode the pixel-data into newer (compressed) formats * #3 Complemented transcoding process by adding lossy compression attributes as well as transfer syntax Also fixed problem of file creation in MiscUtils * #3 Added format decoding functions * #3 Fixed multiple bugs * Thread waits for compression processes to finish * Files generated by the encoders are now deleted upon exit * Added logic for detecting and avoiding duplicate file storing (although, this may already be enforced by dicoogle itself) * #3 decode bugfix: thread waits for decompression subprocess to finish * Viewer for encoded dicom images. (#6) * #5 decode feature: provided method to retrieve buffered image from a dicom object with an encoded pixel-data * #5 image viewer: finalized the feature Also: other minor fixes and tweaks. * #5 image viewer: Added configuration to choose the format Also: fixed the "davif" command decode - using avif_decode (rust) instead * Bump maven version tag to v0.1.0-a0
Almeida-a
added a commit
that referenced
this pull request
Sep 26, 2022
* Hotfix: bump the maven tag to v0.1.0-a0 (#8) * Tweaked pom (changed artifactID) * Main class added * Reverted artifact ID * Removed name * Tweaked pom * Re-added maven.compiler tags * Tried multiple mvn compiler versions * Removed java 8 from CI (for now) * Re-added java 8 to compiler and ci options * Re-added java 8 to compiler and ci options * Re-added java 8 to ci options * Added test/ci branch to ci scope * Restructured code into the plugin set form * Updated dicoogle version pointer * Template Storage plugin * Implemented interface contract methods * Registered storage plugin * Changed context path name Plus, added some comments: * explaining getJettyHandlers * providing a path example to access a servlet * Fixed target version to 3.0.5 * Fixed target version to 3.0.5 * Simple image viewer (by "get" operation) of uncompressed dicom images * Image store encoding with recent formats (#4) * #3 Introduced ability to transcode the pixel-data into newer (compressed) formats * #3 Complemented transcoding process by adding lossy compression attributes as well as transfer syntax Also fixed problem of file creation in MiscUtils * #3 Added format decoding functions * #3 Fixed multiple bugs * Thread waits for compression processes to finish * Files generated by the encoders are now deleted upon exit * Added logic for detecting and avoiding duplicate file storing (although, this may already be enforced by dicoogle itself) * #3 decode bugfix: thread waits for decompression subprocess to finish * Viewer for encoded dicom images. (#6) * #5 decode feature: provided method to retrieve buffered image from a dicom object with an encoded pixel-data * #5 image viewer: finalized the feature Also: other minor fixes and tweaks. * #5 image viewer: Added configuration to choose the format Also: fixed the "davif" command decode - using avif_decode (rust) instead * Bump maven version tag to v0.1.0-a0 * Bump to 0.1.0-a1 (#23) * Allow storing pixel-data in native format (#17) * #14 Feature: Allow for native transfer syntaxes By default or if specified * #14 Refactor: organized the enums into a single package & cherry-picked the readme from main & changed the 'same' keyword that is to keep the transfer syntax to 'keep' * #14 Feature: Enable saving all transfer syntaxes at once By all TS, it is meant all new formats' TSs, as well as the native version (as long the original format is not lossy) * #14 Feature: Enable viewing any available TS version of a dicom object * Using the tsuid or codec parameter - if left unspecified, then use native form * TS - Transfer Syntax(es) * #14 Docs: Updates on the viewer http request parameters * Fixed readme merge mistake * Docs: Add table of contents to the readme * #14 Fix: Adding 'all' to the codec config tag * Create CODE_OF_CONDUCT.md (#18) * Update issue templates * Added contributing section to readme * Allow defining encoding parameters (#19) * #15 Feature: quality and speed parameters available However, still beyond reach of configuration by the user Also: error handling for subprocesses * #15 fix: merge mistake * #15 refactor: inlined encode function into encodePNGFile Also, encoding options are now set to default * #15 Feature: Default encoding options are now extracted from yml From encoding-options.yaml Also, quality value number type of each encoder is now specified in NewFormat enum Also, removed unused code * #15 Feature: Allow defining quality and speed encoding parameters Configuration is performed at DicoogleDir/Plugins/settings/imodec-plugin-set.xml * #15 Feature: Warning when encoding parameters are invalid * Support for storing multi-frame images* (#22) * #11 Refactor: Paved way to start developing support for multi-frame dicom objects * #11 Refactor: Memory optimization when codec -> all Optimization is to use iterator, for each dicom object clone, instead of array - more memory efficient Also, fixed bug when getting uri (was not getting the correct TS sometimes) Also, changed some dependencies * #11 Feature: Store multi-frame images * #11 Finished feature*: Viewing raw multi-frame images as gif * Workaround - Could not find a way yet to display animated images. Thus, server can only view them locally by a file:// link * I marked the source of the above problem with a 'fixme 16-09-22' tag * #11 Finished feature: Multi-frame store operation * #11 [Bugfix] Some old features that were broken By the multi-frame support feature * Code cleanup * [Refactor] Moves functions pertaining utility to *Utils.java * #11 [Bugfix] could not read single frame avif * #11 [README] Informed that `all` does not work with multi-frames storing operation
Almeida-a
added a commit
that referenced
this pull request
Sep 26, 2022
* Update with main (#26) * Hotfix: bump the maven tag to v0.1.0-a0 (#8) * Tweaked pom (changed artifactID) * Main class added * Reverted artifact ID * Removed name * Tweaked pom * Re-added maven.compiler tags * Tried multiple mvn compiler versions * Removed java 8 from CI (for now) * Re-added java 8 to compiler and ci options * Re-added java 8 to compiler and ci options * Re-added java 8 to ci options * Added test/ci branch to ci scope * Restructured code into the plugin set form * Updated dicoogle version pointer * Template Storage plugin * Implemented interface contract methods * Registered storage plugin * Changed context path name Plus, added some comments: * explaining getJettyHandlers * providing a path example to access a servlet * Fixed target version to 3.0.5 * Fixed target version to 3.0.5 * Simple image viewer (by "get" operation) of uncompressed dicom images * Image store encoding with recent formats (#4) * #3 Introduced ability to transcode the pixel-data into newer (compressed) formats * #3 Complemented transcoding process by adding lossy compression attributes as well as transfer syntax Also fixed problem of file creation in MiscUtils * #3 Added format decoding functions * #3 Fixed multiple bugs * Thread waits for compression processes to finish * Files generated by the encoders are now deleted upon exit * Added logic for detecting and avoiding duplicate file storing (although, this may already be enforced by dicoogle itself) * #3 decode bugfix: thread waits for decompression subprocess to finish * Viewer for encoded dicom images. (#6) * #5 decode feature: provided method to retrieve buffered image from a dicom object with an encoded pixel-data * #5 image viewer: finalized the feature Also: other minor fixes and tweaks. * #5 image viewer: Added configuration to choose the format Also: fixed the "davif" command decode - using avif_decode (rust) instead * Bump maven version tag to v0.1.0-a0 * Bump to 0.1.0-a1 (#23) * Allow storing pixel-data in native format (#17) * #14 Feature: Allow for native transfer syntaxes By default or if specified * #14 Refactor: organized the enums into a single package & cherry-picked the readme from main & changed the 'same' keyword that is to keep the transfer syntax to 'keep' * #14 Feature: Enable saving all transfer syntaxes at once By all TS, it is meant all new formats' TSs, as well as the native version (as long the original format is not lossy) * #14 Feature: Enable viewing any available TS version of a dicom object * Using the tsuid or codec parameter - if left unspecified, then use native form * TS - Transfer Syntax(es) * #14 Docs: Updates on the viewer http request parameters * Fixed readme merge mistake * Docs: Add table of contents to the readme * #14 Fix: Adding 'all' to the codec config tag * Create CODE_OF_CONDUCT.md (#18) * Update issue templates * Added contributing section to readme * Allow defining encoding parameters (#19) * #15 Feature: quality and speed parameters available However, still beyond reach of configuration by the user Also: error handling for subprocesses * #15 fix: merge mistake * #15 refactor: inlined encode function into encodePNGFile Also, encoding options are now set to default * #15 Feature: Default encoding options are now extracted from yml From encoding-options.yaml Also, quality value number type of each encoder is now specified in NewFormat enum Also, removed unused code * #15 Feature: Allow defining quality and speed encoding parameters Configuration is performed at DicoogleDir/Plugins/settings/imodec-plugin-set.xml * #15 Feature: Warning when encoding parameters are invalid * Support for storing multi-frame images* (#22) * #11 Refactor: Paved way to start developing support for multi-frame dicom objects * #11 Refactor: Memory optimization when codec -> all Optimization is to use iterator, for each dicom object clone, instead of array - more memory efficient Also, fixed bug when getting uri (was not getting the correct TS sometimes) Also, changed some dependencies * #11 Feature: Store multi-frame images * #11 Finished feature*: Viewing raw multi-frame images as gif * Workaround - Could not find a way yet to display animated images. Thus, server can only view them locally by a file:// link * I marked the source of the above problem with a 'fixme 16-09-22' tag * #11 Finished feature: Multi-frame store operation * #11 [Bugfix] Some old features that were broken By the multi-frame support feature * Code cleanup * [Refactor] Moves functions pertaining utility to *Utils.java * #11 [Bugfix] could not read single frame avif * #11 [README] Informed that `all` does not work with multi-frames storing operation * Update maven version tag to v0.1.0-b0
Almeida-a
added a commit
that referenced
this pull request
Sep 26, 2022
* Update with main (#26) * Hotfix: bump the maven tag to v0.1.0-a0 (#8) * Tweaked pom (changed artifactID) * Main class added * Reverted artifact ID * Removed name * Tweaked pom * Re-added maven.compiler tags * Tried multiple mvn compiler versions * Removed java 8 from CI (for now) * Re-added java 8 to compiler and ci options * Re-added java 8 to compiler and ci options * Re-added java 8 to ci options * Added test/ci branch to ci scope * Restructured code into the plugin set form * Updated dicoogle version pointer * Template Storage plugin * Implemented interface contract methods * Registered storage plugin * Changed context path name Plus, added some comments: * explaining getJettyHandlers * providing a path example to access a servlet * Fixed target version to 3.0.5 * Fixed target version to 3.0.5 * Simple image viewer (by "get" operation) of uncompressed dicom images * Image store encoding with recent formats (#4) * #3 Introduced ability to transcode the pixel-data into newer (compressed) formats * #3 Complemented transcoding process by adding lossy compression attributes as well as transfer syntax Also fixed problem of file creation in MiscUtils * #3 Added format decoding functions * #3 Fixed multiple bugs * Thread waits for compression processes to finish * Files generated by the encoders are now deleted upon exit * Added logic for detecting and avoiding duplicate file storing (although, this may already be enforced by dicoogle itself) * #3 decode bugfix: thread waits for decompression subprocess to finish * Viewer for encoded dicom images. (#6) * #5 decode feature: provided method to retrieve buffered image from a dicom object with an encoded pixel-data * #5 image viewer: finalized the feature Also: other minor fixes and tweaks. * #5 image viewer: Added configuration to choose the format Also: fixed the "davif" command decode - using avif_decode (rust) instead * Bump maven version tag to v0.1.0-a0 * Bump to 0.1.0-a1 (#23) * Allow storing pixel-data in native format (#17) * #14 Feature: Allow for native transfer syntaxes By default or if specified * #14 Refactor: organized the enums into a single package & cherry-picked the readme from main & changed the 'same' keyword that is to keep the transfer syntax to 'keep' * #14 Feature: Enable saving all transfer syntaxes at once By all TS, it is meant all new formats' TSs, as well as the native version (as long the original format is not lossy) * #14 Feature: Enable viewing any available TS version of a dicom object * Using the tsuid or codec parameter - if left unspecified, then use native form * TS - Transfer Syntax(es) * #14 Docs: Updates on the viewer http request parameters * Fixed readme merge mistake * Docs: Add table of contents to the readme * #14 Fix: Adding 'all' to the codec config tag * Create CODE_OF_CONDUCT.md (#18) * Update issue templates * Added contributing section to readme * Allow defining encoding parameters (#19) * #15 Feature: quality and speed parameters available However, still beyond reach of configuration by the user Also: error handling for subprocesses * #15 fix: merge mistake * #15 refactor: inlined encode function into encodePNGFile Also, encoding options are now set to default * #15 Feature: Default encoding options are now extracted from yml From encoding-options.yaml Also, quality value number type of each encoder is now specified in NewFormat enum Also, removed unused code * #15 Feature: Allow defining quality and speed encoding parameters Configuration is performed at DicoogleDir/Plugins/settings/imodec-plugin-set.xml * #15 Feature: Warning when encoding parameters are invalid * Support for storing multi-frame images* (#22) * #11 Refactor: Paved way to start developing support for multi-frame dicom objects * #11 Refactor: Memory optimization when codec -> all Optimization is to use iterator, for each dicom object clone, instead of array - more memory efficient Also, fixed bug when getting uri (was not getting the correct TS sometimes) Also, changed some dependencies * #11 Feature: Store multi-frame images * #11 Finished feature*: Viewing raw multi-frame images as gif * Workaround - Could not find a way yet to display animated images. Thus, server can only view them locally by a file:// link * I marked the source of the above problem with a 'fixme 16-09-22' tag * #11 Finished feature: Multi-frame store operation * #11 [Bugfix] Some old features that were broken By the multi-frame support feature * Code cleanup * [Refactor] Moves functions pertaining utility to *Utils.java * #11 [Bugfix] could not read single frame avif * #11 [README] Informed that `all` does not work with multi-frames storing operation * Update maven version tag to v0.1.0-b0 * [Chore] (pom.xml): Fixed some build warning problems * [Tests]: Hidden home directory & Fixed a test The test fixed was an unintentionally skipped one, which I didn't previously notice. That skip was caused by a (now fixed) bug, and the test itself had errors (shadowed by the skip). Those errors were fixed.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Extra: decoding method is also provided