diff --git a/extensions/cornerstone/package.json b/extensions/cornerstone/package.json index 9f2f74261..ff50a74aa 100644 --- a/extensions/cornerstone/package.json +++ b/extensions/cornerstone/package.json @@ -36,7 +36,7 @@ "cornerstone-math": "^0.1.9", "cornerstone-tools": "^6.0.6", "cornerstone-wado-image-loader": "^4.1.0", - "dcmjs": "0.19.3", + "dcmjs": "0.19.4", "dicom-parser": "^1.8.11", "hammerjs": "^2.0.8", "prop-types": "^15.6.2", diff --git a/extensions/dicom-html/package.json b/extensions/dicom-html/package.json index e29850bca..4ba5f9448 100644 --- a/extensions/dicom-html/package.json +++ b/extensions/dicom-html/package.json @@ -29,7 +29,7 @@ }, "peerDependencies": { "@ohif/core": "^0.50.0", - "dcmjs": "0.19.3", + "dcmjs": "0.19.4", "prop-types": "^15.6.2", "react": "^16.8.6", "react-dom": "^16.8.6" diff --git a/extensions/dicom-rt/package.json b/extensions/dicom-rt/package.json index f12aa1f4d..5ff93456c 100644 --- a/extensions/dicom-rt/package.json +++ b/extensions/dicom-rt/package.json @@ -31,7 +31,7 @@ "@ohif/core": "^0.50.0", "cornerstone-core": "^2.6.1", "cornerstone-tools": "^6.0.6", - "dcmjs": "0.19.3", + "dcmjs": "0.19.4", "gl-matrix": "^3.3.0", "prop-types": "^15.6.2", "react": "^16.8.6", diff --git a/extensions/dicom-segmentation/package.json b/extensions/dicom-segmentation/package.json index 0596e992e..4468c3cc4 100644 --- a/extensions/dicom-segmentation/package.json +++ b/extensions/dicom-segmentation/package.json @@ -31,7 +31,7 @@ "@ohif/core": "^0.50.0", "cornerstone-core": "^2.6.1", "cornerstone-tools": "^6.0.6", - "dcmjs": "0.19.3", + "dcmjs": "0.19.4", "prop-types": "^15.6.2", "react": "^16.8.6", "react-dom": "^16.8.6" diff --git a/extensions/dicom-segmentation/src/getOHIFDicomSegSopClassHandler.js b/extensions/dicom-segmentation/src/getOHIFDicomSegSopClassHandler.js index 6602f25e7..8adcd68d4 100644 --- a/extensions/dicom-segmentation/src/getOHIFDicomSegSopClassHandler.js +++ b/extensions/dicom-segmentation/src/getOHIFDicomSegSopClassHandler.js @@ -150,10 +150,16 @@ export default function getSopClassHandlerModule({ servicesManager }) { } function _parseSeg(arrayBuffer, imageIds) { + const skipOverlapping = false; + const tolerance = 1e-2; + const cornerstoneToolsVersion = 4; return dcmjs.adapters.Cornerstone.Segmentation.generateToolState( imageIds, arrayBuffer, - cornerstone.metaData + cornerstone.metaData, + skipOverlapping, + tolerance, + cornerstoneToolsVersion ); } diff --git a/extensions/dicom-tag-browser/package.json b/extensions/dicom-tag-browser/package.json index cf08f4205..11692aabe 100644 --- a/extensions/dicom-tag-browser/package.json +++ b/extensions/dicom-tag-browser/package.json @@ -28,7 +28,7 @@ }, "peerDependencies": { "@ohif/core": "^2.6.0", - "dcmjs": "0.19.3", + "dcmjs": "0.19.4", "react": "^16.8.6" }, "dependencies": { diff --git a/extensions/vtk/package.json b/extensions/vtk/package.json index 3bb507c34..29acb9c1d 100644 --- a/extensions/vtk/package.json +++ b/extensions/vtk/package.json @@ -35,7 +35,7 @@ "cornerstone-core": "^2.6.1", "cornerstone-tools": "^6.0.6", "cornerstone-wado-image-loader": "^4.1.0", - "dcmjs": "0.19.3", + "dcmjs": "0.19.4", "dicom-parser": "^1.8.11", "i18next": "^17.0.3", "i18next-browser-languagedetector": "^3.0.1", diff --git a/platform/core/package.json b/platform/core/package.json index c32ed9be0..81535d57d 100644 --- a/platform/core/package.json +++ b/platform/core/package.json @@ -39,7 +39,7 @@ "dependencies": { "@babel/runtime": "^7.5.5", "ajv": "^6.10.0", - "dcmjs": "0.19.3", + "dcmjs": "0.19.4", "dicomweb-client": "^0.8.3", "immer": "6.0.2", "isomorphic-base64": "^1.0.2", diff --git a/platform/core/src/DICOMSR/SCOORD3D/parseSCOORD3D.js b/platform/core/src/DICOMSR/SCOORD3D/parseSCOORD3D.js index beb1ea7a1..83198c962 100644 --- a/platform/core/src/DICOMSR/SCOORD3D/parseSCOORD3D.js +++ b/platform/core/src/DICOMSR/SCOORD3D/parseSCOORD3D.js @@ -28,7 +28,13 @@ const parseSCOORD3D = ({ servicesManager, displaySets }) => { srDisplaySet.isRehydratable = isRehydratable(srDisplaySet, mappings); srDisplaySet.isLoaded = true; - const imageDisplaySets = displaySets.filter(ds => ds.Modality !== 'SR'); + const imageDisplaySets = displaySets.filter( + ds => + ds.Modality !== 'SR' && + ds.Modality !== 'SEG' && + ds.Modality !== 'RTSTRUCT' && + ds.Modality !== 'RTDOSE' + ); imageDisplaySets.forEach(imageDisplaySet => { // Check currently added displaySets and add measurements if the sources exist. checkIfCanAddMeasurementsToDisplaySet(srDisplaySet, imageDisplaySet); diff --git a/platform/core/src/DICOMSR/SCOORD3D/utils/getReferencedImagesList.js b/platform/core/src/DICOMSR/SCOORD3D/utils/getReferencedImagesList.js index 42edf9698..2b0814716 100644 --- a/platform/core/src/DICOMSR/SCOORD3D/utils/getReferencedImagesList.js +++ b/platform/core/src/DICOMSR/SCOORD3D/utils/getReferencedImagesList.js @@ -24,12 +24,17 @@ const getReferencedImagesList = ImagingMeasurementReportContentSequence => { getSequenceAsArray(ImageLibraryGroup.ContentSequence).forEach(item => { const { ReferencedSOPSequence } = item; - const { - ReferencedSOPClassUID, - ReferencedSOPInstanceUID, - } = ReferencedSOPSequence; + if (ReferencedSOPSequence) { + const { + ReferencedSOPClassUID, + ReferencedSOPInstanceUID, + } = ReferencedSOPSequence; - referencedImages.push({ ReferencedSOPClassUID, ReferencedSOPInstanceUID }); + referencedImages.push({ + ReferencedSOPClassUID, + ReferencedSOPInstanceUID, + }); + } }); return referencedImages; diff --git a/platform/core/src/DICOMSR/SCOORD3D/utils/processNonGeometricallyDefinedMeasurement.js b/platform/core/src/DICOMSR/SCOORD3D/utils/processNonGeometricallyDefinedMeasurement.js index 42238a575..7c7b6d1c7 100644 --- a/platform/core/src/DICOMSR/SCOORD3D/utils/processNonGeometricallyDefinedMeasurement.js +++ b/platform/core/src/DICOMSR/SCOORD3D/utils/processNonGeometricallyDefinedMeasurement.js @@ -79,6 +79,12 @@ const processNonGeometricallyDefinedMeasurement = mergedContentSequence => { MeasuredValueSequence, } = item; + if (!ContentSequence) { + console.warn(`Graphic ${ContentSequence} missing, skipping annotation.`); + + return; + } + const { ValueType } = ContentSequence; if (!ValueType === 'SCOORD' && !ValueType === 'SCOORD3D') { diff --git a/platform/viewer/package.json b/platform/viewer/package.json index dfd5f7938..8ae94c774 100644 --- a/platform/viewer/package.json +++ b/platform/viewer/package.json @@ -66,7 +66,7 @@ "cornerstone-math": "^0.1.9", "cornerstone-tools": "^6.0.6", "cornerstone-wado-image-loader": "^4.1.0", - "dcmjs": "0.19.3", + "dcmjs": "0.19.4", "dicom-parser": "^1.8.11", "dicomweb-client": "^0.8.3", "hammerjs": "^2.0.8", diff --git a/yarn.lock b/yarn.lock index 28153c244..77c07d281 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6942,10 +6942,10 @@ dateformat@^3.0.0: resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q== -dcmjs@0.19.3: - version "0.19.3" - resolved "https://registry.yarnpkg.com/dcmjs/-/dcmjs-0.19.3.tgz#8b0c3ea920a09d1646493504a711b32c7d54aec3" - integrity sha512-MpUQF7AIvyIa291i7WoQ1PUClNLes11XBFe9IOP02mNkmjWCptE7JuvpD2maSuVaMY48ZIi0krOdn1Y+M3OmqA== +dcmjs@0.19.4: + version "0.19.4" + resolved "https://registry.yarnpkg.com/dcmjs/-/dcmjs-0.19.4.tgz#b2ce1cc1e672ead3fba12bafd2e8a655b398601a" + integrity sha512-ZpOsuyBMcmDVPo0EtqztRGu1ARKMqIfbJGbtDxmBwxeE5SEHMQJvrZHhyLoxuS10R3w+jL2SJ0r7Dn9aSDZH1w== dependencies: "@babel/polyfill" "^7.8.3" "@babel/runtime" "^7.8.4"