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

Create a measurements service #1281

Closed
dannyrb opened this issue Dec 11, 2019 · 1 comment
Closed

Create a measurements service #1281

dannyrb opened this issue Dec 11, 2019 · 1 comment
Assignees

Comments

@dannyrb
Copy link
Member

dannyrb commented Dec 11, 2019

RE: https://github.com/OHIF/Viewers/pull/954/files#r354547871

Measurements Service

Context

Per a recent change, we now have the ability to persist supported annotations with DICOM Structured Reports. We also have the ability to parse and display DICOM Segmentations. When our application parses this information, it stores it in cornerstone-tools tool state.

This has the unwanted side-effect of causing every consumer of annotation/seg data to depend on cornerstone-tools, and to use it's API when it needs to read/modify measurements.

We would also like to expand the functionality of measurements, but modifying cornerstone-tools to do so is not always appropriate.

Guidance

If we create a MeasurementService, it will be made available to our application and extensions via the ExtensionManager and ServicesManager. A potential implementation of this would allow:

  • An internal representation of measurements
    • See Slicer, cornerstone-tools, and vtk.js widgets for examples
  • A way to add/update/delete measurements
    • Path for cornerstone-tools and DICOM SR to push
  • A way to query for one or all measurements
    • Get data out for persistence
  • A way to subscribe to updates
    • Observables w/ proxies? Simple pub/sub? Callbacks?

We've recently created our first set of Services. You can read more about them here:

https://docs.ohif.org/services/

@dannyrb
Copy link
Member Author

dannyrb commented Jan 7, 2020

Some additional requirements spelled out here: #1314

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

No branches or pull requests

2 participants