Viewers
Viewers copied to clipboard
Multi-frame DICOM support
OHIFv3 lacks the support of annotations and measurements on multi-frame DICOM files particularly when we want to persist and load Measurement SRs on multi-frame DICOM files.
There are several issues being resolved in this PR:
- Supporting of annotations and measurements on multi-frame files
- Saving Measurement SRs on multi-frame DICOM files
- Fixed loading of frames of multi-frame DICOM files : it was not loading the last frame ( loading Frame 1 twice, and not loading the last frame) , as you can guess, it was related to indexing of frames. Frame numbers are 1-based, not 0-based.
- Fix jumping to the selected measurement/annotation on multi-frame files
- Show correct instance id and frame number on the "Measurement Tracking" panel
- Fixed a few "React" errors that was causing error logs in the browser console.
External dependencies:
This depends on the changes of dcmjs
library: https://github.com/dcmjs-org/dcmjs/pull/317
The changes has been merged and available on version 0.28.1, therefore updated the package.json for dcmjs library.
Deploy Preview for ohif-platform-docs canceled.
Name | Link |
---|---|
Latest commit | 566ba8c72a8b6081d638b003bfd34383d6ef5f74 |
Latest deploy log | https://app.netlify.com/sites/ohif-platform-docs/deploys/63407db027379600090a103a |
Deploy Preview for ohif-platform-viewer canceled.
Name | Link |
---|---|
Latest commit | 566ba8c72a8b6081d638b003bfd34383d6ef5f74 |
Latest deploy log | https://app.netlify.com/sites/ohif-platform-viewer/deploys/63407db06d104d0008e0a2b7 |
Codecov Report
Merging #2973 (566ba8c) into v3-stable (9f1e813) will increase coverage by
12.38%
. The diff coverage isn/a
.
@@ Coverage Diff @@
## v3-stable #2973 +/- ##
==============================================
+ Coverage 25.15% 37.54% +12.38%
==============================================
Files 119 101 -18
Lines 2862 2152 -710
Branches 555 439 -116
==============================================
+ Hits 720 808 +88
+ Misses 1856 1101 -755
+ Partials 286 243 -43
Impacted Files | Coverage Δ | |
---|---|---|
...tform/core/src/services/CineService/CineService.js | 12.50% <0.00%> (-6.25%) |
:arrow_down: |
.../services/MeasurementService/MeasurementService.js | 47.23% <0.00%> (-1.96%) |
:arrow_down: |
platform/core/src/classes/CommandsManager.js | 90.69% <0.00%> (-1.14%) |
:arrow_down: |
platform/core/src/classes/MetadataProvider.js | 4.54% <0.00%> (-0.72%) |
:arrow_down: |
...core/src/services/ToolBarService/ToolBarService.js | 1.36% <0.00%> (-0.13%) |
:arrow_down: |
platform/viewer/src/index.js | 0.00% <0.00%> (ø) |
|
platform/viewer/src/appInit.js | 0.00% <0.00%> (ø) |
|
platform/core/src/utils/index.js | 100.00% <0.00%> (ø) |
|
platform/core/src/utils/isImage.js | 100.00% <0.00%> (ø) |
|
platform/core/src/services/ServicesManager.js | 100.00% <0.00%> (ø) |
|
... and 48 more |
Continue to review full report at Codecov.
Legend - Click here to learn more
Δ = absolute <relative> (impact)
,ø = not affected
,? = missing data
Powered by Codecov. Last update 1bcc9cc...566ba8c. Read the comment docs.
Do you have sample objects produced by the code proposed in this PR that would illustrate supporting of annotations and measurements on multi-frame files and saving Measurement SRs on multi-frame DICOM files?
@md-prog - a few small changes, then it looks good to me. @sedghi - this fixes some important issues with multiframe and annotations. It does not fix volume annotations yet - that is something we still need to discuss how to handle properly.
@sedghi, the issue No.1 mentioned in your last comment is related to dcmjs library's "lack of features" (if not defect).
https://github.com/dcmjs-org/dcmjs/issues/318
Basically, the lines of dcmjs library mentioned in above Github issue, are blocking us to save the annotations made on to the multi-frame file with the correct frame number information.
With this issue resolved, the issue should go. (During my development, I had to temporarily use the locally cloned dcmjs with the temporary fix to the issue.)
Fix has been proposed in https://github.com/dcmjs-org/dcmjs/pull/320
No.2 is not a new thing, I think.