From 32022f51f2d24f53f4c98188980db038a6dfe76c Mon Sep 17 00:00:00 2001 From: Igor Octaviano Date: Thu, 10 Dec 2020 13:44:44 -0300 Subject: [PATCH 1/2] fix: panel issues and mpr button (IDC2122-IDC2117) --- .../src/OHIFDicomRTStructSopClassHandler.js | 6 +++--- .../src/components/RTPanel/RTPanel.js | 2 ++ extensions/dicom-rt/src/loadRTStruct.js | 7 ++++++- .../toolbarComponents/VTKMPRToolbarButton.js | 20 ++++++++++++------- 4 files changed, 24 insertions(+), 11 deletions(-) diff --git a/extensions/dicom-rt/src/OHIFDicomRTStructSopClassHandler.js b/extensions/dicom-rt/src/OHIFDicomRTStructSopClassHandler.js index 4f624cfa682..88f8402d491 100644 --- a/extensions/dicom-rt/src/OHIFDicomRTStructSopClassHandler.js +++ b/extensions/dicom-rt/src/OHIFDicomRTStructSopClassHandler.js @@ -15,7 +15,7 @@ const OHIFDicomRTStructSopClassHandler = { id: 'OHIFDicomRTStructSopClassHandler', type: MODULE_TYPES.SOP_CLASS_HANDLER, sopClassUIDs, - getDisplaySetFromSeries: function( + getDisplaySetFromSeries: function ( series, study, dicomWebClient, @@ -71,11 +71,11 @@ const OHIFDicomRTStructSopClassHandler = { } } - rtStructDisplaySet.getSourceDisplaySet = function(studies) { + rtStructDisplaySet.getSourceDisplaySet = function (studies) { return getSourceDisplaySet(studies, rtStructDisplaySet); }; - rtStructDisplaySet.load = function(referencedDisplaySet, studies) { + rtStructDisplaySet.load = function (referencedDisplaySet, studies) { return loadRTStruct( rtStructDisplaySet, referencedDisplaySet, diff --git a/extensions/dicom-rt/src/components/RTPanel/RTPanel.js b/extensions/dicom-rt/src/components/RTPanel/RTPanel.js index 504089a0435..5d9c9b98b30 100644 --- a/extensions/dicom-rt/src/components/RTPanel/RTPanel.js +++ b/extensions/dicom-rt/src/components/RTPanel/RTPanel.js @@ -79,6 +79,8 @@ const RTPanel = ({ * without subscribing to external events. */ useEffect(() => { + updateStructureSets(); + document.addEventListener('extensiondicomrtrtloaded', updateStructureSets); return () => { diff --git a/extensions/dicom-rt/src/loadRTStruct.js b/extensions/dicom-rt/src/loadRTStruct.js index 42fd24d5cde..a5323b7f298 100644 --- a/extensions/dicom-rt/src/loadRTStruct.js +++ b/extensions/dicom-rt/src/loadRTStruct.js @@ -96,6 +96,11 @@ export default async function loadRTStruct( imageIdSopInstanceUidPairs ); const imageId = _getImageId(imageIdSopInstanceUidPairs, sopInstanceUID); + + if (!imageId) { + continue; + } + const imageIdSpecificToolData = _getOrCreateImageIdSpecificToolData( toolState, imageId, @@ -294,7 +299,7 @@ const _getImageId = (imageIdSopInstanceUidPairs, sopInstanceUID) => { imageIdSopInstanceUidPairsEntry.sopInstanceUID === sopInstanceUID ); - return imageIdSopInstanceUidPairsEntry.imageId; + return imageIdSopInstanceUidPairsEntry ? imageIdSopInstanceUidPairsEntry.imageId : null; }; function _getImageIdSopInstanceUidPairsForDisplaySet( diff --git a/extensions/vtk/src/toolbarComponents/VTKMPRToolbarButton.js b/extensions/vtk/src/toolbarComponents/VTKMPRToolbarButton.js index 7f90fcd711b..7486b9b771e 100644 --- a/extensions/vtk/src/toolbarComponents/VTKMPRToolbarButton.js +++ b/extensions/vtk/src/toolbarComponents/VTKMPRToolbarButton.js @@ -41,14 +41,17 @@ const _isDisplaySetReconstructable = (viewportSpecificData = {}, activeViewportI // A better heuristic would be checking 4D tags, e.g. the presence of multiple TemporalPositionIdentifier values. // However, some studies (e.g. https://github.com/OHIF/Viewers/issues/2113) do not have such tags. - for (let ii = 0; ii < displaySet.numImageFrames; ++ii){ - const imageIdControl = displaySet.images[ii].getImageId() + for (let ii = 0; ii < displaySet.numImageFrames; ++ii) { + const image = displaySet.images[ii]; + if (!image) continue; + + const imageIdControl = image.getImageId() const instanceMetadataControl = cornerstone.metaData.get('instance', imageIdControl) if (!instanceMetadataControl || instanceMetadataControl === undefined || !instanceMetadataControl.ImagePositionPatient || - instanceMetadataControl.ImagePositionPatient === undefined ) { + instanceMetadataControl.ImagePositionPatient === undefined) { // if ImagePositionPatient is missing, skip the 4D datasets check. // do not return false, because it could be a 3D dataset. continue; @@ -58,8 +61,11 @@ const _isDisplaySetReconstructable = (viewportSpecificData = {}, activeViewportI let yImagePositionPatientControl = instanceMetadataControl.ImagePositionPatient[1]; let zImagePositionPatientControl = instanceMetadataControl.ImagePositionPatient[2]; - for (let jj = ii + 1; jj < displaySet.numImageFrames; ++jj){ - const imageId = displaySet.images[jj].getImageId() + for (let jj = ii + 1; jj < displaySet.numImageFrames; ++jj) { + const image = displaySet.images[jj]; + if (!image) continue; + + const imageId = image.getImageId() const instanceMetadata = cornerstone.metaData.get('instance', imageId) if (!instanceMetadata || @@ -76,8 +82,8 @@ const _isDisplaySetReconstructable = (viewportSpecificData = {}, activeViewportI let zImagePositionPatient = instanceMetadata.ImagePositionPatient[2]; if (xImagePositionPatientControl === xImagePositionPatient && - yImagePositionPatientControl === yImagePositionPatient && - zImagePositionPatientControl === zImagePositionPatient){ + yImagePositionPatientControl === yImagePositionPatient && + zImagePositionPatientControl === zImagePositionPatient) { return false; } } From efde6ed20ec495e5cb3f636aafc01e0c1a4e32df Mon Sep 17 00:00:00 2001 From: ohif-bot Date: Thu, 10 Dec 2020 16:49:23 +0000 Subject: [PATCH 2/2] chore(release): publish [skip ci] - @ohif/extension-dicom-rt@0.6.1 - @ohif/extension-vtk@1.10.1 - @ohif/viewer@4.8.1 --- extensions/dicom-rt/CHANGELOG.md | 11 +++++++++++ extensions/dicom-rt/package.json | 2 +- extensions/vtk/CHANGELOG.md | 11 +++++++++++ extensions/vtk/package.json | 2 +- platform/viewer/CHANGELOG.md | 8 ++++++++ platform/viewer/package.json | 6 +++--- 6 files changed, 35 insertions(+), 5 deletions(-) diff --git a/extensions/dicom-rt/CHANGELOG.md b/extensions/dicom-rt/CHANGELOG.md index 3f507cf9247..3c73e26b90c 100644 --- a/extensions/dicom-rt/CHANGELOG.md +++ b/extensions/dicom-rt/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.6.1](https://github.com/OHIF/Viewers/compare/@ohif/extension-dicom-rt@0.6.0...@ohif/extension-dicom-rt@0.6.1) (2020-12-10) + + +### Bug Fixes + +* panel issues and mpr button (IDC2122-IDC2117) ([32022f5](https://github.com/OHIF/Viewers/commit/32022f51f2d24f53f4c98188980db038a6dfe76c)) + + + + + # [0.6.0](https://github.com/OHIF/Viewers/compare/@ohif/extension-dicom-rt@0.5.0...@ohif/extension-dicom-rt@0.6.0) (2020-12-10) diff --git a/extensions/dicom-rt/package.json b/extensions/dicom-rt/package.json index 80f51fcb599..f9830fa425a 100644 --- a/extensions/dicom-rt/package.json +++ b/extensions/dicom-rt/package.json @@ -1,6 +1,6 @@ { "name": "@ohif/extension-dicom-rt", - "version": "0.6.0", + "version": "0.6.1", "description": "OHIF extension for rendering DICOM RTSTRUCTs on top of cornerstone images.", "author": "OHIF", "license": "MIT", diff --git a/extensions/vtk/CHANGELOG.md b/extensions/vtk/CHANGELOG.md index 3a4e288224f..a6ee3b762c0 100644 --- a/extensions/vtk/CHANGELOG.md +++ b/extensions/vtk/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.10.1](https://github.com/OHIF/Viewers/compare/@ohif/extension-vtk@1.10.0...@ohif/extension-vtk@1.10.1) (2020-12-10) + + +### Bug Fixes + +* panel issues and mpr button (IDC2122-IDC2117) ([32022f5](https://github.com/OHIF/Viewers/commit/32022f51f2d24f53f4c98188980db038a6dfe76c)) + + + + + # [1.10.0](https://github.com/OHIF/Viewers/compare/@ohif/extension-vtk@1.9.4...@ohif/extension-vtk@1.10.0) (2020-12-10) diff --git a/extensions/vtk/package.json b/extensions/vtk/package.json index 54632b3a9c6..1b1836659fe 100644 --- a/extensions/vtk/package.json +++ b/extensions/vtk/package.json @@ -1,6 +1,6 @@ { "name": "@ohif/extension-vtk", - "version": "1.10.0", + "version": "1.10.1", "description": "OHIF extension for VTK.js", "author": "OHIF", "license": "MIT", diff --git a/platform/viewer/CHANGELOG.md b/platform/viewer/CHANGELOG.md index 21d2ed560d0..d99d6d4c80f 100644 --- a/platform/viewer/CHANGELOG.md +++ b/platform/viewer/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [4.8.1](https://github.com/OHIF/Viewers/compare/@ohif/viewer@4.8.0...@ohif/viewer@4.8.1) (2020-12-10) + +**Note:** Version bump only for package @ohif/viewer + + + + + # [4.8.0](https://github.com/OHIF/Viewers/compare/@ohif/viewer@4.7.2...@ohif/viewer@4.8.0) (2020-12-10) diff --git a/platform/viewer/package.json b/platform/viewer/package.json index 29548595081..7defee0604a 100644 --- a/platform/viewer/package.json +++ b/platform/viewer/package.json @@ -1,6 +1,6 @@ { "name": "@ohif/viewer", - "version": "4.8.0", + "version": "4.8.1", "description": "OHIF Viewer", "author": "OHIF Contributors", "license": "MIT", @@ -55,10 +55,10 @@ "@ohif/extension-dicom-html": "^1.3.0", "@ohif/extension-dicom-microscopy": "^0.51.3", "@ohif/extension-dicom-pdf": "^1.0.6", - "@ohif/extension-dicom-rt": "^0.6.0", + "@ohif/extension-dicom-rt": "^0.6.1", "@ohif/extension-dicom-segmentation": "^0.5.0", "@ohif/extension-lesion-tracker": "^0.2.1", - "@ohif/extension-vtk": "^1.10.0", + "@ohif/extension-vtk": "^1.10.1", "@ohif/i18n": "^0.53.0", "@ohif/ui": "^1.8.0", "@tanem/react-nprogress": "^1.1.25",