From 266963ac4720e031790523e49ee3bb8cf539bb56 Mon Sep 17 00:00:00 2001 From: igoroctaviano Date: Tue, 12 Oct 2021 19:28:22 -0300 Subject: [PATCH 01/16] Add bidirectional definition --- .../dicom-microscopy/src/toolbarModule.js | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/extensions/dicom-microscopy/src/toolbarModule.js b/extensions/dicom-microscopy/src/toolbarModule.js index 332da8795d8..749454110a1 100644 --- a/extensions/dicom-microscopy/src/toolbarModule.js +++ b/extensions/dicom-microscopy/src/toolbarModule.js @@ -100,6 +100,33 @@ const definitions = [ ], }, }, + { + id: 'Bidirectional', + label: 'Bidirectional', + icon: 'measure-temp', + type: TOOLBAR_BUTTON_TYPES.SET_TOOL_ACTIVE, + commandName: 'activateInteractions', + commandOptions: { + interactions: [ + ...defaultInteractions, + [ + 'draw', + { + geometryType: 'line', + bidirectional: true, + styleOptions: styles.default, + markup: 'measurement', + maxPoints: 1, + minPoints: 1, + vertexEnabled: false, + bindings: { + mouseButtons: ['left'], + }, + }, + ], + ], + }, + }, { id: 'HideROIs', label: 'Hide ROIs', From 9af11d4acedced169b2e57b6ca55ba71a50ffac6 Mon Sep 17 00:00:00 2001 From: igoroctaviano Date: Fri, 15 Oct 2021 11:02:29 -0300 Subject: [PATCH 02/16] Add ellipse tool definition --- .../dicom-microscopy/src/toolbarModule.js | 46 +++++++++---------- .../src/tools/viewerManager.js | 2 +- yarn.lock | 12 ----- 3 files changed, 24 insertions(+), 36 deletions(-) diff --git a/extensions/dicom-microscopy/src/toolbarModule.js b/extensions/dicom-microscopy/src/toolbarModule.js index 749454110a1..dbf099ca777 100644 --- a/extensions/dicom-microscopy/src/toolbarModule.js +++ b/extensions/dicom-microscopy/src/toolbarModule.js @@ -213,29 +213,29 @@ const definitions = [ ], }, }, - // { - // id: 'EllipseROI', - // label: 'Ellipse ROI', - // icon: 'ellipse-circle', - // type: TOOLBAR_BUTTON_TYPES.SET_TOOL_ACTIVE, - // commandName: 'activateInteractions', - // commandOptions: { - // interactions: [ - // ...defaultInteractions, - // [ - // 'draw', - // { - // geometryType: 'ellipse', - // styleOptions: styles.default, - // markup: 'measurement', - // bindings: { - // mouseButtons: ['left'], - // }, - // }, - // ], - // ], - // }, - // }, + { + id: 'EllipseROI', + label: 'Ellipse ROI', + icon: 'ellipse-circle', + type: TOOLBAR_BUTTON_TYPES.SET_TOOL_ACTIVE, + commandName: 'activateInteractions', + commandOptions: { + interactions: [ + ...defaultInteractions, + [ + 'draw', + { + geometryType: 'ellipse', + styleOptions: styles.default, + markup: 'measurement', + bindings: { + mouseButtons: ['left'], + }, + }, + ], + ], + }, + }, { id: 'CircleROI', label: 'Circle ROI', diff --git a/extensions/dicom-microscopy/src/tools/viewerManager.js b/extensions/dicom-microscopy/src/tools/viewerManager.js index 19cb213c909..bbdec734e28 100644 --- a/extensions/dicom-microscopy/src/tools/viewerManager.js +++ b/extensions/dicom-microscopy/src/tools/viewerManager.js @@ -276,7 +276,7 @@ class ViewerManager extends Publisher { dragZoom: activate => activate ? 'activateDragZoomInteraction' - : 'deactivateDragZoomInteraction', + : 'deactivateDragZoomInteraction' }; const availableInteractionsName = Object.keys(interactionsMap); diff --git a/yarn.lock b/yarn.lock index 7de41571793..6b60135f413 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6695,18 +6695,6 @@ dateformat@^3.0.0: resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q== -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" - gl-matrix "^3.1.0" - lodash.clonedeep "^4.5.0" - loglevelnext "^3.0.1" - ndarray "^1.0.19" - dcmjs@0.18.9: version "0.18.9" resolved "https://registry.yarnpkg.com/dcmjs/-/dcmjs-0.18.9.tgz#0e18fcff975aaae8ca01a96e781fa75c29ec97f3" From e8096fd6c47bb9e4306327ea2b459a080d309ebd Mon Sep 17 00:00:00 2001 From: igoroctaviano Date: Mon, 18 Oct 2021 19:44:30 -0300 Subject: [PATCH 03/16] Add short axis --- .../src/components/MicroscopyPanel/MicroscopyPanel.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/extensions/dicom-microscopy/src/components/MicroscopyPanel/MicroscopyPanel.js b/extensions/dicom-microscopy/src/components/MicroscopyPanel/MicroscopyPanel.js index ad9bf187ae8..102a936f053 100644 --- a/extensions/dicom-microscopy/src/components/MicroscopyPanel/MicroscopyPanel.js +++ b/extensions/dicom-microscopy/src/components/MicroscopyPanel/MicroscopyPanel.js @@ -363,10 +363,12 @@ class MicroscopyPanel extends Component { render() { const { microscopyManager, promptSave } = this; const rows = []; + this.state.roiAnnotations.forEach((roiAnnotation, index) => { const label = roiAnnotation.getDetailedLabel(); const area = roiAnnotation.getArea(); const length = roiAnnotation.getLength(); + const shortAxisLength = roiAnnotation.roiGraphic.properties.shortAxisLength; const isSelected = this.state.selectedAnnotation === roiAnnotation; const onRelabel = () => microscopyManager.triggerRelabel(roiAnnotation); @@ -405,7 +407,11 @@ class MicroscopyPanel extends Component { {area} μm2 ) : length !== undefined ? ( -
{length} μm
+
+ {shortAxisLength + ? `${length} μm x${shortAxisLength} μm` + : `${length} μm`} +
) : null}
{rowActions}
From cc5fd72702f3f2c13b25f7edffbd09b997404b1b Mon Sep 17 00:00:00 2001 From: igoroctaviano Date: Mon, 18 Oct 2021 19:45:36 -0300 Subject: [PATCH 04/16] Add spacing to measurement panel label --- .../src/components/MicroscopyPanel/MicroscopyPanel.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extensions/dicom-microscopy/src/components/MicroscopyPanel/MicroscopyPanel.js b/extensions/dicom-microscopy/src/components/MicroscopyPanel/MicroscopyPanel.js index 102a936f053..39533233389 100644 --- a/extensions/dicom-microscopy/src/components/MicroscopyPanel/MicroscopyPanel.js +++ b/extensions/dicom-microscopy/src/components/MicroscopyPanel/MicroscopyPanel.js @@ -409,7 +409,7 @@ class MicroscopyPanel extends Component { ) : length !== undefined ? (
{shortAxisLength - ? `${length} μm x${shortAxisLength} μm` + ? `${length} μm x ${shortAxisLength} μm` : `${length} μm`}
) : null} From 87974fe67dba26d3aaf2e0196e3f3eaf439280af Mon Sep 17 00:00:00 2001 From: igoroctaviano Date: Tue, 12 Oct 2021 19:28:22 -0300 Subject: [PATCH 05/16] Add bidirectional definition --- .../dicom-microscopy/src/toolbarModule.js | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/extensions/dicom-microscopy/src/toolbarModule.js b/extensions/dicom-microscopy/src/toolbarModule.js index 332da8795d8..749454110a1 100644 --- a/extensions/dicom-microscopy/src/toolbarModule.js +++ b/extensions/dicom-microscopy/src/toolbarModule.js @@ -100,6 +100,33 @@ const definitions = [ ], }, }, + { + id: 'Bidirectional', + label: 'Bidirectional', + icon: 'measure-temp', + type: TOOLBAR_BUTTON_TYPES.SET_TOOL_ACTIVE, + commandName: 'activateInteractions', + commandOptions: { + interactions: [ + ...defaultInteractions, + [ + 'draw', + { + geometryType: 'line', + bidirectional: true, + styleOptions: styles.default, + markup: 'measurement', + maxPoints: 1, + minPoints: 1, + vertexEnabled: false, + bindings: { + mouseButtons: ['left'], + }, + }, + ], + ], + }, + }, { id: 'HideROIs', label: 'Hide ROIs', From e553fe0c3d594c853b499ecc046d614fd2864945 Mon Sep 17 00:00:00 2001 From: igoroctaviano Date: Fri, 15 Oct 2021 11:02:29 -0300 Subject: [PATCH 06/16] Add ellipse tool definition --- .../dicom-microscopy/src/toolbarModule.js | 46 +++++++++---------- .../src/tools/viewerManager.js | 2 +- package.json | 2 +- yarn.lock | 12 +++++ 4 files changed, 37 insertions(+), 25 deletions(-) diff --git a/extensions/dicom-microscopy/src/toolbarModule.js b/extensions/dicom-microscopy/src/toolbarModule.js index 749454110a1..dbf099ca777 100644 --- a/extensions/dicom-microscopy/src/toolbarModule.js +++ b/extensions/dicom-microscopy/src/toolbarModule.js @@ -213,29 +213,29 @@ const definitions = [ ], }, }, - // { - // id: 'EllipseROI', - // label: 'Ellipse ROI', - // icon: 'ellipse-circle', - // type: TOOLBAR_BUTTON_TYPES.SET_TOOL_ACTIVE, - // commandName: 'activateInteractions', - // commandOptions: { - // interactions: [ - // ...defaultInteractions, - // [ - // 'draw', - // { - // geometryType: 'ellipse', - // styleOptions: styles.default, - // markup: 'measurement', - // bindings: { - // mouseButtons: ['left'], - // }, - // }, - // ], - // ], - // }, - // }, + { + id: 'EllipseROI', + label: 'Ellipse ROI', + icon: 'ellipse-circle', + type: TOOLBAR_BUTTON_TYPES.SET_TOOL_ACTIVE, + commandName: 'activateInteractions', + commandOptions: { + interactions: [ + ...defaultInteractions, + [ + 'draw', + { + geometryType: 'ellipse', + styleOptions: styles.default, + markup: 'measurement', + bindings: { + mouseButtons: ['left'], + }, + }, + ], + ], + }, + }, { id: 'CircleROI', label: 'Circle ROI', diff --git a/extensions/dicom-microscopy/src/tools/viewerManager.js b/extensions/dicom-microscopy/src/tools/viewerManager.js index 19cb213c909..bbdec734e28 100644 --- a/extensions/dicom-microscopy/src/tools/viewerManager.js +++ b/extensions/dicom-microscopy/src/tools/viewerManager.js @@ -276,7 +276,7 @@ class ViewerManager extends Publisher { dragZoom: activate => activate ? 'activateDragZoomInteraction' - : 'deactivateDragZoomInteraction', + : 'deactivateDragZoomInteraction' }; const availableInteractionsName = Object.keys(interactionsMap); diff --git a/package.json b/package.json index 83c7c530059..fc55c810501 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,7 @@ "dependencies": { "@babel/runtime": "^7.5.5", "core-js": "^3.2.1", - "dcmjs": "0.18.9", + "dcmjs": "0.18.11", "ol": "6.7.0" }, "devDependencies": { diff --git a/yarn.lock b/yarn.lock index 3c9393e0073..3586ed0ce97 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6699,6 +6699,18 @@ dateformat@^3.0.0: resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q== +dcmjs@0.18.11: + version "0.18.11" + resolved "https://registry.yarnpkg.com/dcmjs/-/dcmjs-0.18.11.tgz#724cab26148503017d97bbcbb8fe9685dfae69dc" + integrity sha512-7C+tKWIzeo2ZzL1Fss+3HuztWyhZYWhQGXV5hrK7yi4s8ctIN0lCeTUNYPdRS1DyE2GEAI7gb9fDcQU9Wh1rgg== + dependencies: + "@babel/polyfill" "^7.8.3" + "@babel/runtime" "^7.8.4" + gl-matrix "^3.1.0" + lodash.clonedeep "^4.5.0" + loglevelnext "^3.0.1" + ndarray "^1.0.19" + dcmjs@0.18.9, dcmjs@^0.18.2: version "0.18.9" resolved "https://registry.yarnpkg.com/dcmjs/-/dcmjs-0.18.9.tgz#0e18fcff975aaae8ca01a96e781fa75c29ec97f3" From b4a040fac03a4ef992bd967085591b61527ce066 Mon Sep 17 00:00:00 2001 From: igoroctaviano Date: Mon, 18 Oct 2021 19:44:30 -0300 Subject: [PATCH 07/16] Add short axis --- .../src/components/MicroscopyPanel/MicroscopyPanel.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/extensions/dicom-microscopy/src/components/MicroscopyPanel/MicroscopyPanel.js b/extensions/dicom-microscopy/src/components/MicroscopyPanel/MicroscopyPanel.js index ad9bf187ae8..102a936f053 100644 --- a/extensions/dicom-microscopy/src/components/MicroscopyPanel/MicroscopyPanel.js +++ b/extensions/dicom-microscopy/src/components/MicroscopyPanel/MicroscopyPanel.js @@ -363,10 +363,12 @@ class MicroscopyPanel extends Component { render() { const { microscopyManager, promptSave } = this; const rows = []; + this.state.roiAnnotations.forEach((roiAnnotation, index) => { const label = roiAnnotation.getDetailedLabel(); const area = roiAnnotation.getArea(); const length = roiAnnotation.getLength(); + const shortAxisLength = roiAnnotation.roiGraphic.properties.shortAxisLength; const isSelected = this.state.selectedAnnotation === roiAnnotation; const onRelabel = () => microscopyManager.triggerRelabel(roiAnnotation); @@ -405,7 +407,11 @@ class MicroscopyPanel extends Component { {area} μm2 ) : length !== undefined ? ( -
{length} μm
+
+ {shortAxisLength + ? `${length} μm x${shortAxisLength} μm` + : `${length} μm`} +
) : null}
{rowActions}
From 8f169c0361415f71544e1c23099328fd537ed566 Mon Sep 17 00:00:00 2001 From: igoroctaviano Date: Mon, 18 Oct 2021 19:45:36 -0300 Subject: [PATCH 08/16] Add spacing to measurement panel label --- .../src/components/MicroscopyPanel/MicroscopyPanel.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extensions/dicom-microscopy/src/components/MicroscopyPanel/MicroscopyPanel.js b/extensions/dicom-microscopy/src/components/MicroscopyPanel/MicroscopyPanel.js index 102a936f053..39533233389 100644 --- a/extensions/dicom-microscopy/src/components/MicroscopyPanel/MicroscopyPanel.js +++ b/extensions/dicom-microscopy/src/components/MicroscopyPanel/MicroscopyPanel.js @@ -409,7 +409,7 @@ class MicroscopyPanel extends Component { ) : length !== undefined ? (
{shortAxisLength - ? `${length} μm x${shortAxisLength} μm` + ? `${length} μm x ${shortAxisLength} μm` : `${length} μm`}
) : null} From 4153d1c1dc869861b27b25f1284dc211a030c48a Mon Sep 17 00:00:00 2001 From: igoroctaviano Date: Wed, 27 Oct 2021 15:38:34 -0300 Subject: [PATCH 09/16] Update dependency: dcmjs@0.19.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit dcmjs * @ohif/calibration-tool: 0.18.3 → 0.19.0 * @ohif/core: 0.18.9 → 0.19.0 * @ohif/extension-cornerstone: 0.18.9 → 0.19.0 * @ohif/extension-dicom-html: 0.18.9 → 0.19.0 * @ohif/extension-dicom-rt: 0.18.9 → 0.19.0 * @ohif/extension-dicom-segmentation: 0.18.9 → 0.19.0 * @ohif/extension-dicom-tag-browser: 0.18.9 → 0.19.0 * @ohif/extension-vtk: 0.18.9 → 0.19.0 * @ohif/viewer: 0.18.9 → 0.19.0 --- extensions/calibration-tool/package.json | 2 +- extensions/cornerstone/package.json | 2 +- extensions/dicom-html/package.json | 2 +- extensions/dicom-rt/package.json | 2 +- extensions/dicom-segmentation/package.json | 2 +- extensions/dicom-tag-browser/package.json | 2 +- extensions/vtk/package.json | 2 +- platform/core/package.json | 2 +- platform/viewer/package.json | 2 +- yarn.lock | 18 +++++++++++++----- 10 files changed, 22 insertions(+), 14 deletions(-) diff --git a/extensions/calibration-tool/package.json b/extensions/calibration-tool/package.json index b9bdd0123ef..6bff7dc4015 100644 --- a/extensions/calibration-tool/package.json +++ b/extensions/calibration-tool/package.json @@ -32,7 +32,7 @@ "@ohif/core": "^0.50.0", "cornerstone-core": "^2.2.8", "cornerstone-tools": "4.12.5", - "dcmjs": "0.18.3", + "dcmjs": "0.19.0", "prop-types": "^15.6.2", "react": "^16.8.6", "react-dom": "^16.8.6" diff --git a/extensions/cornerstone/package.json b/extensions/cornerstone/package.json index c191fe35dbd..21248789a77 100644 --- a/extensions/cornerstone/package.json +++ b/extensions/cornerstone/package.json @@ -36,7 +36,7 @@ "cornerstone-math": "^0.1.9", "cornerstone-tools": "^6.0.0", "cornerstone-wado-image-loader": "^4.0.3", - "dcmjs": "0.18.9", + "dcmjs": "0.19.0", "dicom-parser": "^1.8.9", "hammerjs": "^2.0.8", "prop-types": "^15.6.2", diff --git a/extensions/dicom-html/package.json b/extensions/dicom-html/package.json index a527b444d9a..bdc808f349f 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.9", + "dcmjs": "0.19.0", "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 8377f8c0f78..36ef2478ab8 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.5.0", "cornerstone-tools": "^6.0.0", - "dcmjs": "0.18.9", + "dcmjs": "0.19.0", "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 3fea29106f0..6744bb36288 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.5.0", "cornerstone-tools": "^6.0.0", - "dcmjs": "0.18.9", + "dcmjs": "0.19.0", "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 f02aa341e2e..68fcc9d2618 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.9", + "dcmjs": "0.19.0", "react": "^16.8.6" }, "dependencies": { diff --git a/extensions/vtk/package.json b/extensions/vtk/package.json index 0fb309adf72..e2580cb6700 100644 --- a/extensions/vtk/package.json +++ b/extensions/vtk/package.json @@ -35,7 +35,7 @@ "cornerstone-core": "^2.5.0", "cornerstone-tools": "^6.0.0", "cornerstone-wado-image-loader": "^4.0.3", - "dcmjs": "0.18.9", + "dcmjs": "0.19.0", "dicom-parser": "^1.8.9", "i18next": "^17.0.3", "i18next-browser-languagedetector": "^3.0.1", diff --git a/platform/core/package.json b/platform/core/package.json index 1fffa158756..548fcc4486d 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.9", + "dcmjs": "0.19.0", "dicomweb-client": "^0.8.1", "immer": "6.0.2", "isomorphic-base64": "^1.0.2", diff --git a/platform/viewer/package.json b/platform/viewer/package.json index b96e23769fd..f1101ef7393 100644 --- a/platform/viewer/package.json +++ b/platform/viewer/package.json @@ -67,7 +67,7 @@ "cornerstone-math": "^0.1.9", "cornerstone-tools": "^6.0.0", "cornerstone-wado-image-loader": "^4.0.3", - "dcmjs": "0.18.9", + "dcmjs": "0.19.0", "dicom-parser": "^1.8.9", "dicomweb-client": "^0.8.1", "hammerjs": "^2.0.8", diff --git a/yarn.lock b/yarn.lock index ca5a110cb36..ccd1d6a062b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6707,9 +6707,6 @@ dateformat@^3.0.0: resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q== -<<<<<<< HEAD -dcmjs@0.18.9: -======= dcmjs@0.18.11: version "0.18.11" resolved "https://registry.yarnpkg.com/dcmjs/-/dcmjs-0.18.11.tgz#724cab26148503017d97bbcbb8fe9685dfae69dc" @@ -6722,8 +6719,19 @@ dcmjs@0.18.11: loglevelnext "^3.0.1" ndarray "^1.0.19" -dcmjs@0.18.9, dcmjs@^0.18.2: ->>>>>>> 8f169c0361415f71544e1c23099328fd537ed566 +dcmjs@0.19.0: + version "0.19.0" + resolved "https://registry.yarnpkg.com/dcmjs/-/dcmjs-0.19.0.tgz#822a39b0630e7bee869cf937cfabb1fd84bb8349" + integrity sha512-Ym+sSAgj8/4qh6SUWXNUdam0s3afkZkYxDfCpFlG6xr0yEvC6/dnpC2LZnMT/vDpprejjR/1upi2h9PlRSv5AQ== + dependencies: + "@babel/polyfill" "^7.8.3" + "@babel/runtime" "^7.8.4" + gl-matrix "^3.1.0" + lodash.clonedeep "^4.5.0" + loglevelnext "^3.0.1" + ndarray "^1.0.19" + +dcmjs@^0.18.2: version "0.18.9" resolved "https://registry.yarnpkg.com/dcmjs/-/dcmjs-0.18.9.tgz#0e18fcff975aaae8ca01a96e781fa75c29ec97f3" integrity sha512-aTu4fUo3TSgohJC+U509qdXL1per09XvlYdQva0BGtIZMr/iR5n8h/ojpcDTRJoVtSuaj331KJj1yCj8FMMK4Q== From 0bba5a946db1e9d67f8d67a705af377d8926647c Mon Sep 17 00:00:00 2001 From: igoroctaviano Date: Wed, 27 Oct 2021 17:59:03 -0300 Subject: [PATCH 10/16] Add sr for bidirectional --- .../src/components/MicroscopyPanel/MicroscopyPanel.js | 7 +++---- extensions/dicom-microscopy/src/utils/dcmCodeValues.js | 2 ++ extensions/dicom-microscopy/src/utils/loadSR.js | 9 ++++++--- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/extensions/dicom-microscopy/src/components/MicroscopyPanel/MicroscopyPanel.js b/extensions/dicom-microscopy/src/components/MicroscopyPanel/MicroscopyPanel.js index 39533233389..d7c0c3b5bf2 100644 --- a/extensions/dicom-microscopy/src/components/MicroscopyPanel/MicroscopyPanel.js +++ b/extensions/dicom-microscopy/src/components/MicroscopyPanel/MicroscopyPanel.js @@ -9,9 +9,7 @@ import { withTranslation, } from '@ohif/ui'; import DEVICE_OBSERVER_UID from '../../utils/DEVICE_OBSERVER_UID'; -import microscopyManager, { - EVENTS as MicroscopyEvents, -} from '../../tools/microscopyManager'; +import { EVENTS as MicroscopyEvents } from '../../tools/microscopyManager'; import { utils, DICOMWeb, errorHandler } from '@ohif/core'; import { api } from 'dicomweb-client'; import dcmjs from 'dcmjs'; @@ -368,7 +366,8 @@ class MicroscopyPanel extends Component { const label = roiAnnotation.getDetailedLabel(); const area = roiAnnotation.getArea(); const length = roiAnnotation.getLength(); - const shortAxisLength = roiAnnotation.roiGraphic.properties.shortAxisLength; + const shortAxisLength = + roiAnnotation.roiGraphic.properties.shortAxisLength; const isSelected = this.state.selectedAnnotation === roiAnnotation; const onRelabel = () => microscopyManager.triggerRelabel(roiAnnotation); diff --git a/extensions/dicom-microscopy/src/utils/dcmCodeValues.js b/extensions/dicom-microscopy/src/utils/dcmCodeValues.js index 45b9ba996f7..10c2c363a73 100644 --- a/extensions/dicom-microscopy/src/utils/dcmCodeValues.js +++ b/extensions/dicom-microscopy/src/utils/dcmCodeValues.js @@ -6,6 +6,8 @@ const DCM_CODE_VALUES = { TRACKING_UNIQUE_IDENTIFIER: '112039', LENGTH: '410668003', AREA: '42798000', + SHORT_AXIS: 'G-A186', + LONG_AXIS: 'G-A185', }; export default DCM_CODE_VALUES; diff --git a/extensions/dicom-microscopy/src/utils/loadSR.js b/extensions/dicom-microscopy/src/utils/loadSR.js index 15ce0dba3ab..7f5d001964c 100644 --- a/extensions/dicom-microscopy/src/utils/loadSR.js +++ b/extensions/dicom-microscopy/src/utils/loadSR.js @@ -116,9 +116,12 @@ async function _getROIsFromToolState(naturalizedDataset, FrameOfReferenceUID) { } let measurements = toArray(measurementGroup.ContentSequence).filter(ci => - [DCM_CODE_VALUES.LENGTH, DCM_CODE_VALUES.AREA].includes( - ci.ConceptNameCodeSequence.CodeValue - ) + [ + DCM_CODE_VALUES.LENGTH, + DCM_CODE_VALUES.AREA, + DCM_CODE_VALUES.SHORT_AXIS, + DCM_CODE_VALUES.LONG_AXIS, + ].includes(ci.ConceptNameCodeSequence.CodeValue) ); let evaluations = toArray(measurementGroup.ContentSequence).filter(ci => From 73fda6022b14ec0a27eb911e0ba50f313611afcb Mon Sep 17 00:00:00 2001 From: igoroctaviano Date: Tue, 12 Oct 2021 19:28:22 -0300 Subject: [PATCH 11/16] Add bidirectional definition --- .../dicom-microscopy/src/toolbarModule.js | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/extensions/dicom-microscopy/src/toolbarModule.js b/extensions/dicom-microscopy/src/toolbarModule.js index 332da8795d8..749454110a1 100644 --- a/extensions/dicom-microscopy/src/toolbarModule.js +++ b/extensions/dicom-microscopy/src/toolbarModule.js @@ -100,6 +100,33 @@ const definitions = [ ], }, }, + { + id: 'Bidirectional', + label: 'Bidirectional', + icon: 'measure-temp', + type: TOOLBAR_BUTTON_TYPES.SET_TOOL_ACTIVE, + commandName: 'activateInteractions', + commandOptions: { + interactions: [ + ...defaultInteractions, + [ + 'draw', + { + geometryType: 'line', + bidirectional: true, + styleOptions: styles.default, + markup: 'measurement', + maxPoints: 1, + minPoints: 1, + vertexEnabled: false, + bindings: { + mouseButtons: ['left'], + }, + }, + ], + ], + }, + }, { id: 'HideROIs', label: 'Hide ROIs', From 9d01d839814e126ece0fb3b7c52d3b8564a3c6fe Mon Sep 17 00:00:00 2001 From: igoroctaviano Date: Fri, 15 Oct 2021 11:02:29 -0300 Subject: [PATCH 12/16] Add ellipse tool definition --- .../dicom-microscopy/src/toolbarModule.js | 46 +++++++++---------- .../src/tools/viewerManager.js | 2 +- 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/extensions/dicom-microscopy/src/toolbarModule.js b/extensions/dicom-microscopy/src/toolbarModule.js index 749454110a1..dbf099ca777 100644 --- a/extensions/dicom-microscopy/src/toolbarModule.js +++ b/extensions/dicom-microscopy/src/toolbarModule.js @@ -213,29 +213,29 @@ const definitions = [ ], }, }, - // { - // id: 'EllipseROI', - // label: 'Ellipse ROI', - // icon: 'ellipse-circle', - // type: TOOLBAR_BUTTON_TYPES.SET_TOOL_ACTIVE, - // commandName: 'activateInteractions', - // commandOptions: { - // interactions: [ - // ...defaultInteractions, - // [ - // 'draw', - // { - // geometryType: 'ellipse', - // styleOptions: styles.default, - // markup: 'measurement', - // bindings: { - // mouseButtons: ['left'], - // }, - // }, - // ], - // ], - // }, - // }, + { + id: 'EllipseROI', + label: 'Ellipse ROI', + icon: 'ellipse-circle', + type: TOOLBAR_BUTTON_TYPES.SET_TOOL_ACTIVE, + commandName: 'activateInteractions', + commandOptions: { + interactions: [ + ...defaultInteractions, + [ + 'draw', + { + geometryType: 'ellipse', + styleOptions: styles.default, + markup: 'measurement', + bindings: { + mouseButtons: ['left'], + }, + }, + ], + ], + }, + }, { id: 'CircleROI', label: 'Circle ROI', diff --git a/extensions/dicom-microscopy/src/tools/viewerManager.js b/extensions/dicom-microscopy/src/tools/viewerManager.js index 19cb213c909..bbdec734e28 100644 --- a/extensions/dicom-microscopy/src/tools/viewerManager.js +++ b/extensions/dicom-microscopy/src/tools/viewerManager.js @@ -276,7 +276,7 @@ class ViewerManager extends Publisher { dragZoom: activate => activate ? 'activateDragZoomInteraction' - : 'deactivateDragZoomInteraction', + : 'deactivateDragZoomInteraction' }; const availableInteractionsName = Object.keys(interactionsMap); From 5d0eaa346773dd2804eb423d407c37e5a0952ec7 Mon Sep 17 00:00:00 2001 From: igoroctaviano Date: Mon, 18 Oct 2021 19:44:30 -0300 Subject: [PATCH 13/16] Add short axis --- .../src/components/MicroscopyPanel/MicroscopyPanel.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/extensions/dicom-microscopy/src/components/MicroscopyPanel/MicroscopyPanel.js b/extensions/dicom-microscopy/src/components/MicroscopyPanel/MicroscopyPanel.js index ad9bf187ae8..102a936f053 100644 --- a/extensions/dicom-microscopy/src/components/MicroscopyPanel/MicroscopyPanel.js +++ b/extensions/dicom-microscopy/src/components/MicroscopyPanel/MicroscopyPanel.js @@ -363,10 +363,12 @@ class MicroscopyPanel extends Component { render() { const { microscopyManager, promptSave } = this; const rows = []; + this.state.roiAnnotations.forEach((roiAnnotation, index) => { const label = roiAnnotation.getDetailedLabel(); const area = roiAnnotation.getArea(); const length = roiAnnotation.getLength(); + const shortAxisLength = roiAnnotation.roiGraphic.properties.shortAxisLength; const isSelected = this.state.selectedAnnotation === roiAnnotation; const onRelabel = () => microscopyManager.triggerRelabel(roiAnnotation); @@ -405,7 +407,11 @@ class MicroscopyPanel extends Component { {area} μm2 ) : length !== undefined ? ( -
{length} μm
+
+ {shortAxisLength + ? `${length} μm x${shortAxisLength} μm` + : `${length} μm`} +
) : null}
{rowActions}
From 8b63e2a5d685192b3820f49b82e79f1d7b5b45a0 Mon Sep 17 00:00:00 2001 From: igoroctaviano Date: Mon, 18 Oct 2021 19:45:36 -0300 Subject: [PATCH 14/16] Add spacing to measurement panel label --- .../src/components/MicroscopyPanel/MicroscopyPanel.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extensions/dicom-microscopy/src/components/MicroscopyPanel/MicroscopyPanel.js b/extensions/dicom-microscopy/src/components/MicroscopyPanel/MicroscopyPanel.js index 102a936f053..39533233389 100644 --- a/extensions/dicom-microscopy/src/components/MicroscopyPanel/MicroscopyPanel.js +++ b/extensions/dicom-microscopy/src/components/MicroscopyPanel/MicroscopyPanel.js @@ -409,7 +409,7 @@ class MicroscopyPanel extends Component { ) : length !== undefined ? (
{shortAxisLength - ? `${length} μm x${shortAxisLength} μm` + ? `${length} μm x ${shortAxisLength} μm` : `${length} μm`}
) : null} From e9e8f84838652bae38f15c073a33bd531d07159e Mon Sep 17 00:00:00 2001 From: igoroctaviano Date: Wed, 27 Oct 2021 17:59:03 -0300 Subject: [PATCH 15/16] Add sr for bidirectional --- .../src/components/MicroscopyPanel/MicroscopyPanel.js | 7 +++---- extensions/dicom-microscopy/src/utils/dcmCodeValues.js | 2 ++ extensions/dicom-microscopy/src/utils/loadSR.js | 9 ++++++--- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/extensions/dicom-microscopy/src/components/MicroscopyPanel/MicroscopyPanel.js b/extensions/dicom-microscopy/src/components/MicroscopyPanel/MicroscopyPanel.js index 39533233389..d7c0c3b5bf2 100644 --- a/extensions/dicom-microscopy/src/components/MicroscopyPanel/MicroscopyPanel.js +++ b/extensions/dicom-microscopy/src/components/MicroscopyPanel/MicroscopyPanel.js @@ -9,9 +9,7 @@ import { withTranslation, } from '@ohif/ui'; import DEVICE_OBSERVER_UID from '../../utils/DEVICE_OBSERVER_UID'; -import microscopyManager, { - EVENTS as MicroscopyEvents, -} from '../../tools/microscopyManager'; +import { EVENTS as MicroscopyEvents } from '../../tools/microscopyManager'; import { utils, DICOMWeb, errorHandler } from '@ohif/core'; import { api } from 'dicomweb-client'; import dcmjs from 'dcmjs'; @@ -368,7 +366,8 @@ class MicroscopyPanel extends Component { const label = roiAnnotation.getDetailedLabel(); const area = roiAnnotation.getArea(); const length = roiAnnotation.getLength(); - const shortAxisLength = roiAnnotation.roiGraphic.properties.shortAxisLength; + const shortAxisLength = + roiAnnotation.roiGraphic.properties.shortAxisLength; const isSelected = this.state.selectedAnnotation === roiAnnotation; const onRelabel = () => microscopyManager.triggerRelabel(roiAnnotation); diff --git a/extensions/dicom-microscopy/src/utils/dcmCodeValues.js b/extensions/dicom-microscopy/src/utils/dcmCodeValues.js index 45b9ba996f7..10c2c363a73 100644 --- a/extensions/dicom-microscopy/src/utils/dcmCodeValues.js +++ b/extensions/dicom-microscopy/src/utils/dcmCodeValues.js @@ -6,6 +6,8 @@ const DCM_CODE_VALUES = { TRACKING_UNIQUE_IDENTIFIER: '112039', LENGTH: '410668003', AREA: '42798000', + SHORT_AXIS: 'G-A186', + LONG_AXIS: 'G-A185', }; export default DCM_CODE_VALUES; diff --git a/extensions/dicom-microscopy/src/utils/loadSR.js b/extensions/dicom-microscopy/src/utils/loadSR.js index 15ce0dba3ab..7f5d001964c 100644 --- a/extensions/dicom-microscopy/src/utils/loadSR.js +++ b/extensions/dicom-microscopy/src/utils/loadSR.js @@ -116,9 +116,12 @@ async function _getROIsFromToolState(naturalizedDataset, FrameOfReferenceUID) { } let measurements = toArray(measurementGroup.ContentSequence).filter(ci => - [DCM_CODE_VALUES.LENGTH, DCM_CODE_VALUES.AREA].includes( - ci.ConceptNameCodeSequence.CodeValue - ) + [ + DCM_CODE_VALUES.LENGTH, + DCM_CODE_VALUES.AREA, + DCM_CODE_VALUES.SHORT_AXIS, + DCM_CODE_VALUES.LONG_AXIS, + ].includes(ci.ConceptNameCodeSequence.CodeValue) ); let evaluations = toArray(measurementGroup.ContentSequence).filter(ci => From e520027bce137891ed9f96a720b8fbd4be7571ea Mon Sep 17 00:00:00 2001 From: igoroctaviano Date: Thu, 28 Oct 2021 15:38:42 -0300 Subject: [PATCH 16/16] [Checkpoint]: ellipse sr --- extensions/dicom-microscopy/src/utils/dcmCodeValues.js | 1 + extensions/dicom-microscopy/src/utils/loadSR.js | 1 + 2 files changed, 2 insertions(+) diff --git a/extensions/dicom-microscopy/src/utils/dcmCodeValues.js b/extensions/dicom-microscopy/src/utils/dcmCodeValues.js index 10c2c363a73..82d489919be 100644 --- a/extensions/dicom-microscopy/src/utils/dcmCodeValues.js +++ b/extensions/dicom-microscopy/src/utils/dcmCodeValues.js @@ -8,6 +8,7 @@ const DCM_CODE_VALUES = { AREA: '42798000', SHORT_AXIS: 'G-A186', LONG_AXIS: 'G-A185', + ELLIPSE_AREA: 'G-D7FE', // TODO: Remove this }; export default DCM_CODE_VALUES; diff --git a/extensions/dicom-microscopy/src/utils/loadSR.js b/extensions/dicom-microscopy/src/utils/loadSR.js index 7f5d001964c..98c09a29763 100644 --- a/extensions/dicom-microscopy/src/utils/loadSR.js +++ b/extensions/dicom-microscopy/src/utils/loadSR.js @@ -121,6 +121,7 @@ async function _getROIsFromToolState(naturalizedDataset, FrameOfReferenceUID) { DCM_CODE_VALUES.AREA, DCM_CODE_VALUES.SHORT_AXIS, DCM_CODE_VALUES.LONG_AXIS, + DCM_CODE_VALUES.ELLIPSE_AREA, ].includes(ci.ConceptNameCodeSequence.CodeValue) );