Git Product home page Git Product logo

imodec-dicoogle-plugin's Introduction

Hi there ๐Ÿ‘‹

trophy

๐Ÿš€ Quick Stats

Almeida-a's Github Stats

imodec-dicoogle-plugin's People

Contributors

almeida-a avatar

Stargazers

 avatar

Watchers

 avatar  avatar

imodec-dicoogle-plugin's Issues

Easier access to the image's viewing page

Is your feature request related to a problem? Please describe.
It is not very user friendly for the user to manually write the url to the images.

Describe the solution you'd like
Upon the encoding and storing of the image, log the url(s) that the user can click in order to view the image.

Storage plugin to encode dicom files

A first version of the storage plugin is due (allowing to encode dicom files with the recent compression formats).
Here is a checklist of what is needed to do in order to complete this plugin:

  • Extract the image from the pixel data
  • Encode the extracted image
  • Rewrite the pixel data as well as other important attributes (transfer syntax, lossy compression flag, etc.)

Support for multiframe images

The plugin viewer should be able to display a multi-frame medical image in an animated loop (ultrasound cine loop like) form.

Enhance the encoding process by adding more options

The code should be refactored in order to be possible, upon the store encoding, for the user to define some options for the process, such as:

  • which encoder to be used (should override the default option present at the settings xml file from dicoogle);
  • --quality or --distance for setting the level of quality loss;
  • --effort or --speed for setting the level of speed of encoding / decoding.

And maybe others... but at least these for now.

Ensure image integrity upon storage

I must ensure that the images stored by the plugin don't lose any important features upon storing, using some kind of testing.

Perhaps it is not much viable to formally check encodec-decoded images, but at least losslessly compressed / uncompressed can be checked for equality, and thus, integrity.

Some more development needs to be carried out before being possible to solve this issue. That being said, will refer the issues that need to be solved first.

[Jetty Plugin] Use browser's decoding features when possible

Right now, the decoding is done by the existing decoders in the user's operating system.

The codestreams in the pixel data of the stored dicom objects should be sent through the servlet response output stream to be decoded by the browser.

This feature should be employed when the following conditions are true:

  • The browser supports the format decoding (verification of browser specifications must take place);
  • The transfer syntax pertains to the formats covered by imodec.

Develop unit testing

The plugin set should have some degree of coverage.

I intend to follow the dicoogle project's approach for unit testing.

[Refactor] Compression command builder classes

As of revision 0bb70e5, while we are still encoding by subprocess, I think the encoding (also perhaps decoding) command provider function is not made in the best way to be scalable regarding the addition of more parameters in the future (e.g.: --progressive option from the cjxl tool).

Thus, I think a refactor should take place for that operation in order to ease future enhancements of the sort.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.