diff --git a/extensions/cornerstone/package.json b/extensions/cornerstone/package.json index 18044756d..cb960e54d 100644 --- a/extensions/cornerstone/package.json +++ b/extensions/cornerstone/package.json @@ -36,7 +36,7 @@ "cornerstone-math": "^0.1.8", "cornerstone-tools": "^4.20.1", "cornerstone-wado-image-loader": "^3.1.0", - "dcmjs": "0.18.4", + "dcmjs": "0.18.8", "dicom-parser": "^1.8.3", "hammerjs": "^2.0.8", "prop-types": "^15.6.2", diff --git a/extensions/dicom-html/package.json b/extensions/dicom-html/package.json index 4efc7d819..05a01c3de 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.18.5", + "dcmjs": "0.18.8", "prop-types": "^15.6.2", "react": "^16.8.6", "react-dom": "^16.8.6" diff --git a/extensions/dicom-html/src/DicomHtmlViewport.js b/extensions/dicom-html/src/DicomHtmlViewport.js index a07642c00..fe7f8d488 100644 --- a/extensions/dicom-html/src/DicomHtmlViewport.js +++ b/extensions/dicom-html/src/DicomHtmlViewport.js @@ -168,6 +168,16 @@ const getContentSequence = (data, level = 1) => { Object.keys(data).forEach(key => { const value = data[key]; + if (key === '_meta') { + const HeaderDynamicLevel = `h3`; + root.push(
); + root.push( + + DICOM File Meta Information + + ); + } + let content; if (value instanceof Object) { content = getContentSequence(value, level + 1); @@ -215,6 +225,7 @@ class DicomHtmlViewport extends Component { const dicomData = DicomMessage.readFile(arrayBuffer); const dataset = DicomMetaDictionary.naturalizeDataset(dicomData.dict); dataset._meta = DicomMetaDictionary.namifyDataset(dicomData.meta); + dataset._meta = DicomMetaDictionary.naturalizeDataset(dataset._meta); const mainData = getMainData(dataset); const contentSequence = getContentSequence(dataset); diff --git a/extensions/dicom-rt/package.json b/extensions/dicom-rt/package.json index 702df6886..e77d3d5e7 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.2.8", "cornerstone-tools": "^4.20.1", - "dcmjs": "0.18.5", + "dcmjs": "0.18.8", "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 a372f7817..62167b899 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.2.8", "cornerstone-tools": "^4.20.1", - "dcmjs": "0.18.5", + "dcmjs": "0.18.8", "prop-types": "^15.6.2", "react": "^16.8.6", "react-dom": "^16.8.6" diff --git a/extensions/dicom-tag-browser/package.json b/extensions/dicom-tag-browser/package.json index 9f4e26098..6818dce33 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.18.5", + "dcmjs": "0.18.8", "react": "^16.8.6" }, "dependencies": { diff --git a/extensions/vtk/package.json b/extensions/vtk/package.json index b0693a5c6..0fc4b22c3 100644 --- a/extensions/vtk/package.json +++ b/extensions/vtk/package.json @@ -35,7 +35,7 @@ "cornerstone-core": "^2.2.8", "cornerstone-tools": "^4.20.1", "cornerstone-wado-image-loader": "^3.1.0", - "dcmjs": "0.18.5", + "dcmjs": "0.18.8", "dicom-parser": "^1.8.3", "i18next": "^17.0.3", "i18next-browser-languagedetector": "^3.0.1", diff --git a/platform/core/package.json b/platform/core/package.json index ae934f3d1..0d60870da 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.18.5", + "dcmjs": "0.18.8", "dicomweb-client": "^0.6.0", "immer": "6.0.2", "isomorphic-base64": "^1.0.2", diff --git a/platform/viewer/package.json b/platform/viewer/package.json index 677bd5d54..b6ca4f5b3 100644 --- a/platform/viewer/package.json +++ b/platform/viewer/package.json @@ -68,7 +68,7 @@ "cornerstone-math": "^0.1.8", "cornerstone-tools": "^4.20.1", "cornerstone-wado-image-loader": "^3.1.0", - "dcmjs": "0.18.5", + "dcmjs": "0.18.8", "dicom-parser": "^1.8.3", "dicomweb-client": "^0.4.4", "hammerjs": "^2.0.8", diff --git a/platform/viewer/public/config/default.js b/platform/viewer/public/config/default.js index 7db1fe70d..efda9a13d 100644 --- a/platform/viewer/public/config/default.js +++ b/platform/viewer/public/config/default.js @@ -1,129 +1,28 @@ window.config = { - // default: '/' routerBasename: '/', - extensions: [], - showStudyList: true, - filterQueryParam: false, - disableServersCache: false, + enableGoogleCloudAdapter: true, servers: { - dicomWeb: [ - { - name: 'DCM4CHEE', - wadoUriRoot: 'https://server.dcmjs.org/dcm4chee-arc/aets/DCM4CHEE/wado', - qidoRoot: 'https://server.dcmjs.org/dcm4chee-arc/aets/DCM4CHEE/rs', - wadoRoot: 'https://server.dcmjs.org/dcm4chee-arc/aets/DCM4CHEE/rs', - qidoSupportsIncludeField: true, - imageRendering: 'wadors', - thumbnailRendering: 'wadors', - enableStudyLazyLoad: true, - supportsFuzzyMatching: true, - }, - ], + // This is an array, but we'll only use the first entry for now + dicomWeb: [], }, - // Extensions should be able to suggest default values for these? - // Or we can require that these be explicitly set - hotkeys: [ - // ~ Global + // This is an array, but we'll only use the first entry for now + oidc: [ { - commandName: 'incrementActiveViewport', - label: 'Next Viewport', - keys: ['right'], - }, - { - commandName: 'decrementActiveViewport', - label: 'Previous Viewport', - keys: ['left'], - }, - // Supported Keys: https://craig.is/killing/mice - // ~ Cornerstone Extension - { commandName: 'rotateViewportCW', label: 'Rotate Right', keys: ['r'] }, - { commandName: 'rotateViewportCCW', label: 'Rotate Left', keys: ['l'] }, - { commandName: 'invertViewport', label: 'Invert', keys: ['i'] }, - { - commandName: 'flipViewportVertical', - label: 'Flip Horizontally', - keys: ['h'], - }, - { - commandName: 'flipViewportHorizontal', - label: 'Flip Vertically', - keys: ['v'], - }, - { commandName: 'scaleUpViewport', label: 'Zoom In', keys: ['+'] }, - { commandName: 'scaleDownViewport', label: 'Zoom Out', keys: ['-'] }, - { commandName: 'fitViewportToWindow', label: 'Zoom to Fit', keys: ['='] }, - { commandName: 'resetViewport', label: 'Reset', keys: ['space'] }, - // clearAnnotations - { commandName: 'nextImage', label: 'Next Image', keys: ['down'] }, - { commandName: 'previousImage', label: 'Previous Image', keys: ['up'] }, - // firstImage - // lastImage - { - commandName: 'previousViewportDisplaySet', - label: 'Previous Series', - keys: ['pagedown'], - }, - { - commandName: 'nextViewportDisplaySet', - label: 'Next Series', - keys: ['pageup'], - }, - // ~ Cornerstone Tools - { commandName: 'setZoomTool', label: 'Zoom', keys: ['z'] }, - // ~ Window level presets - { - commandName: 'windowLevelPreset1', - label: 'W/L Preset 1', - keys: ['1'], - }, - { - commandName: 'windowLevelPreset2', - label: 'W/L Preset 2', - keys: ['2'], - }, - { - commandName: 'windowLevelPreset3', - label: 'W/L Preset 3', - keys: ['3'], - }, - { - commandName: 'windowLevelPreset4', - label: 'W/L Preset 4', - keys: ['4'], - }, - { - commandName: 'windowLevelPreset5', - label: 'W/L Preset 5', - keys: ['5'], - }, - { - commandName: 'windowLevelPreset6', - label: 'W/L Preset 6', - keys: ['6'], - }, - { - commandName: 'windowLevelPreset7', - label: 'W/L Preset 7', - keys: ['7'], - }, - { - commandName: 'windowLevelPreset8', - label: 'W/L Preset 8', - keys: ['8'], - }, - { - commandName: 'windowLevelPreset9', - label: 'W/L Preset 9', - keys: ['9'], + // ~ REQUIRED + // Authorization Server URL + authority: 'https://accounts.google.com', + client_id: + '723928408739-k9k9r3i44j32rhu69vlnibipmmk9i57p.apps.googleusercontent.com', + redirect_uri: '/callback', // `OHIFStandaloneViewer.js` + response_type: 'id_token token', + scope: + 'email profile openid https://www.googleapis.com/auth/cloudplatformprojects.readonly https://www.googleapis.com/auth/cloud-healthcare', // email profile openid + // ~ OPTIONAL + post_logout_redirect_uri: '/logout-redirect.html', + revoke_uri: 'https://accounts.google.com/o/oauth2/revoke?token=', + automaticSilentRenew: true, + revokeAccessTokenOnSignout: true, }, ], - cornerstoneExtensionConfig: {}, - // Following property limits number of simultaneous series metadata requests. - // For http/1.x-only servers, set this to 5 or less to improve - // on first meaningful display in viewer - // If the server is particularly slow to respond to series metadata - // requests as it extracts the metadata from raw files everytime, - // try setting this to even lower value - // Leave it undefined for no limit, sutiable for HTTP/2 enabled servers - // maxConcurrentMetadataRequests: 5, + studyListFunctionsEnabled: true, }; diff --git a/yarn.lock b/yarn.lock index 7d49192bb..b1ab3c665 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6619,10 +6619,10 @@ dateformat@^3.0.0: resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q== -dcmjs@0.18.5: - version "0.18.5" - resolved "https://registry.yarnpkg.com/dcmjs/-/dcmjs-0.18.5.tgz#06edd5562a91fa1e6be3a9fd2fc919e103f44e6f" - integrity sha512-AWGFMwCdQg4C/hJIhnnWS4ieClnWMkVmV9sX29jpLYYMEb7QGBe1t9UsWvgBh1QiXePUh4u+zGFQk27duHB6rw== +dcmjs@0.18.8: + version "0.18.8" + resolved "https://registry.yarnpkg.com/dcmjs/-/dcmjs-0.18.8.tgz#fc8e6af03ace9050da49f4108334aa3d0a3bdf3d" + integrity sha512-Z3nNEmzkWdpHQPgjozGqk8XcuhP/hXP1C64Wtg9V+VO9eEc8eNFJFJ6If62f1cuOh0FaRwHqxBT7OzhOAUpFTA== dependencies: "@babel/polyfill" "^7.8.3" "@babel/runtime" "^7.8.4"