diff --git a/CHANGELOG.md b/CHANGELOG.md index 97ae27a1b8d..c52651cb0ea 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,35 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [3.9.0-beta.59](https://github.com/OHIF/Viewers/compare/v3.9.0-beta.58...v3.9.0-beta.59) (2024-07-05) + + +### Bug Fixes + +* Cobb angle not working in basic-test mode and open contour ([#4280](https://github.com/OHIF/Viewers/issues/4280)) ([6fd3c7e](https://github.com/OHIF/Viewers/commit/6fd3c7e293fec851dd30e650c1347cc0bc7a99ee)) +* **image-orientation:** Prevent incorrect orientation marker display for single-slice US images ([#4275](https://github.com/OHIF/Viewers/issues/4275)) ([6d11048](https://github.com/OHIF/Viewers/commit/6d11048ca5ea66284948602613a63277083ec6a5)) +* webpack import bugs showing warnings on import ([#4265](https://github.com/OHIF/Viewers/issues/4265)) ([24c511f](https://github.com/OHIF/Viewers/commit/24c511f4bc04c4143bbd3d0d48029f41f7f36014)) + + +### Features + +* Add interleaved HTJ2K and volume progressive loading ([#4276](https://github.com/OHIF/Viewers/issues/4276)) ([a2084f3](https://github.com/OHIF/Viewers/commit/a2084f319b731d98b59485799fb80357094f8c38)) + + + + + +# [3.9.0-beta.58](https://github.com/OHIF/Viewers/compare/v3.9.0-beta.57...v3.9.0-beta.58) (2024-07-04) + + +### Bug Fixes + +* stdValue in TMTV mode ([#4278](https://github.com/OHIF/Viewers/issues/4278)) ([b2c6291](https://github.com/OHIF/Viewers/commit/b2c629123c5cf05afbeb19bd1424c327c1f5a606)) + + + + + # [3.9.0-beta.57](https://github.com/OHIF/Viewers/compare/v3.9.0-beta.56...v3.9.0-beta.57) (2024-07-02) **Note:** Version bump only for package ohif-monorepo-root diff --git a/addOns/externals/devDependencies/CHANGELOG.md b/addOns/externals/devDependencies/CHANGELOG.md index b33e0c2d3d2..103db89857f 100644 --- a/addOns/externals/devDependencies/CHANGELOG.md +++ b/addOns/externals/devDependencies/CHANGELOG.md @@ -3,6 +3,22 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [3.9.0-beta.59](https://github.com/OHIF/Viewers/compare/v3.9.0-beta.58...v3.9.0-beta.59) (2024-07-05) + +**Note:** Version bump only for package @externals/devDependencies + + + + + +# [3.9.0-beta.58](https://github.com/OHIF/Viewers/compare/v3.9.0-beta.57...v3.9.0-beta.58) (2024-07-04) + +**Note:** Version bump only for package @externals/devDependencies + + + + + # [3.9.0-beta.57](https://github.com/OHIF/Viewers/compare/v3.9.0-beta.56...v3.9.0-beta.57) (2024-07-02) **Note:** Version bump only for package @externals/devDependencies diff --git a/addOns/externals/devDependencies/package.json b/addOns/externals/devDependencies/package.json index 4680f390858..fd0d6952d00 100644 --- a/addOns/externals/devDependencies/package.json +++ b/addOns/externals/devDependencies/package.json @@ -1,7 +1,7 @@ { "name": "@externals/devDependencies", "description": "External dev dependencies - put dev build dependencies here", - "version": "3.9.0-beta.57", + "version": "3.9.0-beta.59", "license": "MIT", "private": true, "engines": { diff --git a/addOns/externals/dicom-microscopy-viewer/CHANGELOG.md b/addOns/externals/dicom-microscopy-viewer/CHANGELOG.md index 5029a6c466c..24da91c3d93 100644 --- a/addOns/externals/dicom-microscopy-viewer/CHANGELOG.md +++ b/addOns/externals/dicom-microscopy-viewer/CHANGELOG.md @@ -3,6 +3,22 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [3.9.0-beta.59](https://github.com/OHIF/Viewers/compare/v3.9.0-beta.58...v3.9.0-beta.59) (2024-07-05) + +**Note:** Version bump only for package @externals/dicom-microscopy-viewer + + + + + +# [3.9.0-beta.58](https://github.com/OHIF/Viewers/compare/v3.9.0-beta.57...v3.9.0-beta.58) (2024-07-04) + +**Note:** Version bump only for package @externals/dicom-microscopy-viewer + + + + + # [3.9.0-beta.57](https://github.com/OHIF/Viewers/compare/v3.9.0-beta.56...v3.9.0-beta.57) (2024-07-02) **Note:** Version bump only for package @externals/dicom-microscopy-viewer diff --git a/addOns/externals/dicom-microscopy-viewer/package.json b/addOns/externals/dicom-microscopy-viewer/package.json index 52665aeb3c1..5636d4ad865 100644 --- a/addOns/externals/dicom-microscopy-viewer/package.json +++ b/addOns/externals/dicom-microscopy-viewer/package.json @@ -1,7 +1,7 @@ { "name": "@externals/dicom-microscopy-viewer", "description": "External reference to dicom-microscopy-viewer", - "version": "3.9.0-beta.57", + "version": "3.9.0-beta.59", "license": "MIT", "dependencies": { "dicom-microscopy-viewer": "^0.46.1" diff --git a/commit.txt b/commit.txt index 8f66e239ddc..445833d43ca 100644 --- a/commit.txt +++ b/commit.txt @@ -1 +1 @@ -32762e6bce8828a5047abe4dba6ffa5bcead4daf \ No newline at end of file +24c511f4bc04c4143bbd3d0d48029f41f7f36014 \ No newline at end of file diff --git a/extensions/cornerstone-dicom-rt/CHANGELOG.md b/extensions/cornerstone-dicom-rt/CHANGELOG.md index 706c861c749..c8b90d9f341 100644 --- a/extensions/cornerstone-dicom-rt/CHANGELOG.md +++ b/extensions/cornerstone-dicom-rt/CHANGELOG.md @@ -3,6 +3,22 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [3.9.0-beta.59](https://github.com/OHIF/Viewers/compare/v3.9.0-beta.58...v3.9.0-beta.59) (2024-07-05) + +**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-rt + + + + + +# [3.9.0-beta.58](https://github.com/OHIF/Viewers/compare/v3.9.0-beta.57...v3.9.0-beta.58) (2024-07-04) + +**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-rt + + + + + # [3.9.0-beta.57](https://github.com/OHIF/Viewers/compare/v3.9.0-beta.56...v3.9.0-beta.57) (2024-07-02) **Note:** Version bump only for package @ohif/extension-cornerstone-dicom-rt diff --git a/extensions/cornerstone-dicom-rt/package.json b/extensions/cornerstone-dicom-rt/package.json index 28d962a81db..f4f94a034de 100644 --- a/extensions/cornerstone-dicom-rt/package.json +++ b/extensions/cornerstone-dicom-rt/package.json @@ -1,6 +1,6 @@ { "name": "@ohif/extension-cornerstone-dicom-rt", - "version": "3.9.0-beta.57", + "version": "3.9.0-beta.59", "description": "DICOM RT read workflow", "author": "OHIF", "license": "MIT", @@ -33,10 +33,10 @@ "start": "yarn run dev" }, "peerDependencies": { - "@ohif/core": "3.9.0-beta.57", - "@ohif/extension-cornerstone": "3.9.0-beta.57", - "@ohif/extension-default": "3.9.0-beta.57", - "@ohif/i18n": "3.9.0-beta.57", + "@ohif/core": "3.9.0-beta.59", + "@ohif/extension-cornerstone": "3.9.0-beta.59", + "@ohif/extension-default": "3.9.0-beta.59", + "@ohif/i18n": "3.9.0-beta.59", "prop-types": "^15.6.2", "react": "^18.3.1", "react-dom": "^18.3.1", diff --git a/extensions/cornerstone-dicom-seg/CHANGELOG.md b/extensions/cornerstone-dicom-seg/CHANGELOG.md index f505959d084..6d0107575e1 100644 --- a/extensions/cornerstone-dicom-seg/CHANGELOG.md +++ b/extensions/cornerstone-dicom-seg/CHANGELOG.md @@ -3,6 +3,25 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [3.9.0-beta.59](https://github.com/OHIF/Viewers/compare/v3.9.0-beta.58...v3.9.0-beta.59) (2024-07-05) + + +### Bug Fixes + +* Cobb angle not working in basic-test mode and open contour ([#4280](https://github.com/OHIF/Viewers/issues/4280)) ([6fd3c7e](https://github.com/OHIF/Viewers/commit/6fd3c7e293fec851dd30e650c1347cc0bc7a99ee)) + + + + + +# [3.9.0-beta.58](https://github.com/OHIF/Viewers/compare/v3.9.0-beta.57...v3.9.0-beta.58) (2024-07-04) + +**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-seg + + + + + # [3.9.0-beta.57](https://github.com/OHIF/Viewers/compare/v3.9.0-beta.56...v3.9.0-beta.57) (2024-07-02) **Note:** Version bump only for package @ohif/extension-cornerstone-dicom-seg diff --git a/extensions/cornerstone-dicom-seg/package.json b/extensions/cornerstone-dicom-seg/package.json index e464984f714..55d284c200f 100644 --- a/extensions/cornerstone-dicom-seg/package.json +++ b/extensions/cornerstone-dicom-seg/package.json @@ -1,6 +1,6 @@ { "name": "@ohif/extension-cornerstone-dicom-seg", - "version": "3.9.0-beta.57", + "version": "3.9.0-beta.59", "description": "DICOM SEG read workflow", "author": "OHIF", "license": "MIT", @@ -33,10 +33,10 @@ "start": "yarn run dev" }, "peerDependencies": { - "@ohif/core": "3.9.0-beta.57", - "@ohif/extension-cornerstone": "3.9.0-beta.57", - "@ohif/extension-default": "3.9.0-beta.57", - "@ohif/i18n": "3.9.0-beta.57", + "@ohif/core": "3.9.0-beta.59", + "@ohif/extension-cornerstone": "3.9.0-beta.59", + "@ohif/extension-default": "3.9.0-beta.59", + "@ohif/i18n": "3.9.0-beta.59", "prop-types": "^15.6.2", "react": "^18.3.1", "react-dom": "^18.3.1", @@ -46,9 +46,9 @@ }, "dependencies": { "@babel/runtime": "^7.20.13", - "@cornerstonejs/adapters": "^1.78.1", - "@cornerstonejs/core": "^1.78.1", - "@kitware/vtk.js": "*", + "@cornerstonejs/adapters": "^1.81.6", + "@cornerstonejs/core": "^1.81.6", + "@kitware/vtk.js": "30.4.1", "react-color": "^2.19.3" } } diff --git a/extensions/cornerstone-dicom-sr/CHANGELOG.md b/extensions/cornerstone-dicom-sr/CHANGELOG.md index fadc8457ab3..e39fec22c27 100644 --- a/extensions/cornerstone-dicom-sr/CHANGELOG.md +++ b/extensions/cornerstone-dicom-sr/CHANGELOG.md @@ -3,6 +3,26 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [3.9.0-beta.59](https://github.com/OHIF/Viewers/compare/v3.9.0-beta.58...v3.9.0-beta.59) (2024-07-05) + + +### Bug Fixes + +* Cobb angle not working in basic-test mode and open contour ([#4280](https://github.com/OHIF/Viewers/issues/4280)) ([6fd3c7e](https://github.com/OHIF/Viewers/commit/6fd3c7e293fec851dd30e650c1347cc0bc7a99ee)) +* webpack import bugs showing warnings on import ([#4265](https://github.com/OHIF/Viewers/issues/4265)) ([24c511f](https://github.com/OHIF/Viewers/commit/24c511f4bc04c4143bbd3d0d48029f41f7f36014)) + + + + + +# [3.9.0-beta.58](https://github.com/OHIF/Viewers/compare/v3.9.0-beta.57...v3.9.0-beta.58) (2024-07-04) + +**Note:** Version bump only for package @ohif/extension-cornerstone-dicom-sr + + + + + # [3.9.0-beta.57](https://github.com/OHIF/Viewers/compare/v3.9.0-beta.56...v3.9.0-beta.57) (2024-07-02) **Note:** Version bump only for package @ohif/extension-cornerstone-dicom-sr diff --git a/extensions/cornerstone-dicom-sr/package.json b/extensions/cornerstone-dicom-sr/package.json index 768792f41a7..e44a7f4083c 100644 --- a/extensions/cornerstone-dicom-sr/package.json +++ b/extensions/cornerstone-dicom-sr/package.json @@ -1,6 +1,6 @@ { "name": "@ohif/extension-cornerstone-dicom-sr", - "version": "3.9.0-beta.57", + "version": "3.9.0-beta.59", "description": "OHIF extension for an SR Cornerstone Viewport", "author": "OHIF", "license": "MIT", @@ -34,10 +34,10 @@ "test:unit:ci": "jest --ci --runInBand --collectCoverage --passWithNoTests" }, "peerDependencies": { - "@ohif/core": "3.9.0-beta.57", - "@ohif/extension-cornerstone": "3.9.0-beta.57", - "@ohif/extension-measurement-tracking": "3.9.0-beta.57", - "@ohif/ui": "3.9.0-beta.57", + "@ohif/core": "3.9.0-beta.59", + "@ohif/extension-cornerstone": "3.9.0-beta.59", + "@ohif/extension-measurement-tracking": "3.9.0-beta.59", + "@ohif/ui": "3.9.0-beta.59", "dcmjs": "*", "dicom-parser": "^1.8.9", "hammerjs": "^2.0.8", @@ -46,9 +46,9 @@ }, "dependencies": { "@babel/runtime": "^7.20.13", - "@cornerstonejs/adapters": "^1.78.1", - "@cornerstonejs/core": "^1.78.1", - "@cornerstonejs/tools": "^1.78.1", + "@cornerstonejs/adapters": "^1.82.0", + "@cornerstonejs/core": "^1.82.0", + "@cornerstonejs/tools": "^1.82.0", "classnames": "^2.3.2" } } diff --git a/extensions/cornerstone-dynamic-volume/CHANGELOG.md b/extensions/cornerstone-dynamic-volume/CHANGELOG.md index ee0012994b4..50031ae79b7 100644 --- a/extensions/cornerstone-dynamic-volume/CHANGELOG.md +++ b/extensions/cornerstone-dynamic-volume/CHANGELOG.md @@ -3,6 +3,26 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [3.9.0-beta.59](https://github.com/OHIF/Viewers/compare/v3.9.0-beta.58...v3.9.0-beta.59) (2024-07-05) + + +### Bug Fixes + +* Cobb angle not working in basic-test mode and open contour ([#4280](https://github.com/OHIF/Viewers/issues/4280)) ([6fd3c7e](https://github.com/OHIF/Viewers/commit/6fd3c7e293fec851dd30e650c1347cc0bc7a99ee)) +* webpack import bugs showing warnings on import ([#4265](https://github.com/OHIF/Viewers/issues/4265)) ([24c511f](https://github.com/OHIF/Viewers/commit/24c511f4bc04c4143bbd3d0d48029f41f7f36014)) + + + + + +# [3.9.0-beta.58](https://github.com/OHIF/Viewers/compare/v3.9.0-beta.57...v3.9.0-beta.58) (2024-07-04) + +**Note:** Version bump only for package @ohif/extension-cornerstone-dynamic-volume + + + + + # [3.9.0-beta.57](https://github.com/OHIF/Viewers/compare/v3.9.0-beta.56...v3.9.0-beta.57) (2024-07-02) **Note:** Version bump only for package @ohif/extension-cornerstone-dynamic-volume diff --git a/extensions/cornerstone-dynamic-volume/package.json b/extensions/cornerstone-dynamic-volume/package.json index 6ff4463a1bd..579d1fea48e 100644 --- a/extensions/cornerstone-dynamic-volume/package.json +++ b/extensions/cornerstone-dynamic-volume/package.json @@ -1,6 +1,6 @@ { "name": "@ohif/extension-cornerstone-dynamic-volume", - "version": "3.9.0-beta.57", + "version": "3.9.0-beta.59", "description": "OHIF extension for 4D volumes data", "author": "OHIF", "license": "MIT", @@ -29,11 +29,11 @@ "test:unit:ci": "jest --ci --runInBand --collectCoverage --passWithNoTests" }, "peerDependencies": { - "@ohif/core": "3.9.0-beta.57", - "@ohif/extension-cornerstone": "3.9.0-beta.57", - "@ohif/extension-default": "3.9.0-beta.57", - "@ohif/i18n": "3.9.0-beta.57", - "@ohif/ui": "3.9.0-beta.57", + "@ohif/core": "3.9.0-beta.59", + "@ohif/extension-cornerstone": "3.9.0-beta.59", + "@ohif/extension-default": "3.9.0-beta.59", + "@ohif/i18n": "3.9.0-beta.59", + "@ohif/ui": "3.9.0-beta.59", "dcmjs": "*", "dicom-parser": "^1.8.21", "hammerjs": "^2.0.8", @@ -42,9 +42,9 @@ }, "dependencies": { "@babel/runtime": "^7.20.13", - "@cornerstonejs/core": "^1.78.1", - "@cornerstonejs/streaming-image-volume-loader": "^1.78.1", - "@cornerstonejs/tools": "^1.78.1", + "@cornerstonejs/core": "^1.82.0", + "@cornerstonejs/streaming-image-volume-loader": "^1.82.0", + "@cornerstonejs/tools": "^1.82.0", "classnames": "^2.3.2" } } diff --git a/extensions/cornerstone/CHANGELOG.md b/extensions/cornerstone/CHANGELOG.md index 28ec4efff7d..50b9b2c2b06 100644 --- a/extensions/cornerstone/CHANGELOG.md +++ b/extensions/cornerstone/CHANGELOG.md @@ -3,6 +3,32 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [3.9.0-beta.59](https://github.com/OHIF/Viewers/compare/v3.9.0-beta.58...v3.9.0-beta.59) (2024-07-05) + + +### Bug Fixes + +* Cobb angle not working in basic-test mode and open contour ([#4280](https://github.com/OHIF/Viewers/issues/4280)) ([6fd3c7e](https://github.com/OHIF/Viewers/commit/6fd3c7e293fec851dd30e650c1347cc0bc7a99ee)) +* **image-orientation:** Prevent incorrect orientation marker display for single-slice US images ([#4275](https://github.com/OHIF/Viewers/issues/4275)) ([6d11048](https://github.com/OHIF/Viewers/commit/6d11048ca5ea66284948602613a63277083ec6a5)) +* webpack import bugs showing warnings on import ([#4265](https://github.com/OHIF/Viewers/issues/4265)) ([24c511f](https://github.com/OHIF/Viewers/commit/24c511f4bc04c4143bbd3d0d48029f41f7f36014)) + + +### Features + +* Add interleaved HTJ2K and volume progressive loading ([#4276](https://github.com/OHIF/Viewers/issues/4276)) ([a2084f3](https://github.com/OHIF/Viewers/commit/a2084f319b731d98b59485799fb80357094f8c38)) + + + + + +# [3.9.0-beta.58](https://github.com/OHIF/Viewers/compare/v3.9.0-beta.57...v3.9.0-beta.58) (2024-07-04) + +**Note:** Version bump only for package @ohif/extension-cornerstone + + + + + # [3.9.0-beta.57](https://github.com/OHIF/Viewers/compare/v3.9.0-beta.56...v3.9.0-beta.57) (2024-07-02) **Note:** Version bump only for package @ohif/extension-cornerstone diff --git a/extensions/cornerstone/package.json b/extensions/cornerstone/package.json index 013101b0801..52227f5eab0 100644 --- a/extensions/cornerstone/package.json +++ b/extensions/cornerstone/package.json @@ -1,6 +1,6 @@ { "name": "@ohif/extension-cornerstone", - "version": "3.9.0-beta.57", + "version": "3.9.0-beta.59", "description": "OHIF extension for Cornerstone", "author": "OHIF", "license": "MIT", @@ -38,10 +38,10 @@ "@cornerstonejs/codec-libjpeg-turbo-8bit": "^1.2.2", "@cornerstonejs/codec-openjpeg": "^1.2.2", "@cornerstonejs/codec-openjph": "^2.4.2", - "@cornerstonejs/dicom-image-loader": "^1.78.1", + "@cornerstonejs/dicom-image-loader": "^1.82.0", "@icr/polyseg-wasm": "^0.4.0", - "@ohif/core": "3.9.0-beta.57", - "@ohif/ui": "3.9.0-beta.57", + "@ohif/core": "3.9.0-beta.59", + "@ohif/ui": "3.9.0-beta.59", "dcmjs": "*", "dicom-parser": "^1.8.21", "hammerjs": "^2.0.8", @@ -55,12 +55,12 @@ }, "dependencies": { "@babel/runtime": "^7.20.13", - "@cornerstonejs/adapters": "^1.78.1", - "@cornerstonejs/core": "^1.78.1", - "@cornerstonejs/streaming-image-volume-loader": "^1.78.1", - "@cornerstonejs/tools": "^1.78.1", + "@cornerstonejs/adapters": "^1.82.0", + "@cornerstonejs/core": "^1.82.0", + "@cornerstonejs/streaming-image-volume-loader": "^1.82.0", + "@cornerstonejs/tools": "^1.82.0", "@icr/polyseg-wasm": "^0.4.0", - "@kitware/vtk.js": "*", + "@kitware/vtk.js": "30.4.1", "html2canvas": "^1.4.1", "lodash.debounce": "^4.0.8", "lodash.merge": "^4.6.2", diff --git a/extensions/cornerstone/src/Viewport/Overlays/ViewportOrientationMarkers.tsx b/extensions/cornerstone/src/Viewport/Overlays/ViewportOrientationMarkers.tsx index 867703a712f..178705f4003 100644 --- a/extensions/cornerstone/src/Viewport/Overlays/ViewportOrientationMarkers.tsx +++ b/extensions/cornerstone/src/Viewport/Overlays/ViewportOrientationMarkers.tsx @@ -64,7 +64,7 @@ function ViewportOrientationMarkers({ return ''; } - let rowCosines, columnCosines; + let rowCosines, columnCosines, isDefaultValueSetForRowCosine, isDefaultValueSetForColumnCosine; if (viewportData.viewportType === 'stack') { const imageIndex = imageSliceData.imageIndex; const imageId = viewportData.data[0].imageIds?.[imageIndex]; @@ -74,7 +74,7 @@ function ViewportOrientationMarkers({ return false; } - ({ rowCosines, columnCosines } = metaData.get('imagePlaneModule', imageId) || {}); + ({ rowCosines, columnCosines, isDefaultValueSetForColumnCosine, isDefaultValueSetForColumnCosine } = metaData.get('imagePlaneModule', imageId) || {}); } else { if (!element || !getEnabledElement(element)) { return ''; @@ -90,7 +90,7 @@ function ViewportOrientationMarkers({ rowCosines = viewRight; } - if (!rowCosines || !columnCosines || rotation === undefined) { + if (!rowCosines || !columnCosines || rotation === undefined || isDefaultValueSetForRowCosine || isDefaultValueSetForColumnCosine) { return ''; } diff --git a/extensions/cornerstone/src/getCustomizationModule.ts b/extensions/cornerstone/src/getCustomizationModule.ts index 32da1bb6d43..02cc7a0f705 100644 --- a/extensions/cornerstone/src/getCustomizationModule.ts +++ b/extensions/cornerstone/src/getCustomizationModule.ts @@ -146,6 +146,13 @@ function getCustomizationModule() { ], }, PlanarFreehandROI: { + displayTextOpen: [ + { + displayName: 'Length', + value: 'length', + type: 'value', + }, + ], displayText: [ { displayName: 'Mean', diff --git a/extensions/cornerstone/src/index.tsx b/extensions/cornerstone/src/index.tsx index 4ea40d20255..cc46e9afb6a 100644 --- a/extensions/cornerstone/src/index.tsx +++ b/extensions/cornerstone/src/index.tsx @@ -42,6 +42,7 @@ import { createFrameViewSynchronizer } from './synchronizers/frameViewSynchroniz const { helpers: volumeLoaderHelpers } = csStreamingImageVolumeLoader; const { getDynamicVolumeInfo } = volumeLoaderHelpers ?? {}; +const { imageRetrieveMetadataProvider } = cornerstone.utilities; const Component = React.lazy(() => { return import(/* webpackPrefetch: true */ './Viewport/OHIFCornerstoneViewport'); @@ -55,6 +56,15 @@ const OHIFCornerstoneViewport = props => { ); }; +const stackRetrieveOptions = { + retrieveOptions: { + single: { + streaming: true, + decodeLevel: 1, + }, + }, +}; + /** * */ @@ -80,6 +90,21 @@ const cornerstoneExtension: Types.Extensions.Extension = { toolbarService.registerEventForToolbarUpdate(cornerstone.eventTarget, [ cornerstoneTools.Enums.Events.TOOL_ACTIVATED, ]); + + // Configure the interleaved/HTJ2K loader + imageRetrieveMetadataProvider.clear(); + // The default volume interleaved options are to interleave the + // image retrieve, but don't perform progressive loading per image + // This interleaves images and replicates them for low-resolution depth volume + // reconstruction, which progressively improves + imageRetrieveMetadataProvider.add( + 'volume', + cornerstone.ProgressiveRetrieveImages.interleavedRetrieveStages + ); + // The default stack loading option is to progressive load HTJ2K images + // There are other possible options, but these need more thought about + // how to define them. + imageRetrieveMetadataProvider.add('stack', stackRetrieveOptions); }, onModeExit: ({ servicesManager }: withAppTypes): void => { diff --git a/extensions/cornerstone/src/init.tsx b/extensions/cornerstone/src/init.tsx index cba90a855ab..df0dc07c5ee 100644 --- a/extensions/cornerstone/src/init.tsx +++ b/extensions/cornerstone/src/init.tsx @@ -37,8 +37,8 @@ import { colormaps } from './utils/colormaps'; const { registerColormap } = csUtilities.colormap; // TODO: Cypress tests are currently grabbing this from the window? -window.cornerstone = cornerstone; -window.cornerstoneTools = cornerstoneTools; +(window as any).cornerstone = cornerstone; +(window as any).cornerstoneTools = cornerstoneTools; /** * */ @@ -46,7 +46,7 @@ export default async function init({ servicesManager, commandsManager, extensionManager, - appConfig, + appConfig }: Types.Extensions.ExtensionParams): Promise { // Note: this should run first before initializing the cornerstone // DO NOT CHANGE THE ORDER @@ -67,6 +67,7 @@ export default async function init({ preferSizeOverAccuracy: Boolean(appConfig.preferSizeOverAccuracy), useNorm16Texture: Boolean(appConfig.useNorm16Texture), }, + peerImport: appConfig.peerImport, }); // For debugging e2e tests that are failing on CI @@ -99,7 +100,7 @@ export default async function init({ hangingProtocolService, viewportGridService, stateSyncService, - studyPrefetcherService + studyPrefetcherService, } = servicesManager.services; window.services = servicesManager.services; @@ -180,10 +181,12 @@ export default async function init({ ); // this provider is required for Calibration tool metaData.addProvider(metadataProvider.get.bind(metadataProvider), 9999); + // These are set reasonably low to allow for interleaved retrieves and slower + // connections. imageLoadPoolManager.maxNumRequests = { - interaction: appConfig?.maxNumRequests?.interaction || 100, - thumbnail: appConfig?.maxNumRequests?.thumbnail || 75, - prefetch: appConfig?.maxNumRequests?.prefetch || 10, + interaction: appConfig?.maxNumRequests?.interaction || 10, + thumbnail: appConfig?.maxNumRequests?.thumbnail || 5, + prefetch: appConfig?.maxNumRequests?.prefetch || 5, }; initWADOImageLoader(userAuthenticationService, appConfig, extensionManager); diff --git a/extensions/cornerstone/src/utils/measurementServiceMappings/PlanarFreehandROI.ts b/extensions/cornerstone/src/utils/measurementServiceMappings/PlanarFreehandROI.ts index 10c6b946708..bad6062b936 100644 --- a/extensions/cornerstone/src/utils/measurementServiceMappings/PlanarFreehandROI.ts +++ b/extensions/cornerstone/src/utils/measurementServiceMappings/PlanarFreehandROI.ts @@ -1,6 +1,5 @@ import SUPPORTED_TOOLS from './constants/supportedTools'; import getSOPInstanceAttributes from './utils/getSOPInstanceAttributes'; -import { getDisplayUnit } from './utils'; import { utils } from '@ohif/core'; /** @@ -125,10 +124,13 @@ function getColumnValueReport(annotation, customizationService) { */ function getDisplayText(annotation, displaySet, customizationService, displaySetService) { const { PlanarFreehandROI } = customizationService.get('cornerstone.measurements'); - const { displayText } = PlanarFreehandROI; + const { displayText: displayTextClosed, displayTextOpen } = PlanarFreehandROI; const { metadata, data } = annotation; + const isClosed = data.contour?.closed; + const displayText = isClosed ? displayTextClosed : displayTextOpen; + const { SOPInstanceUID, frameNumber } = getSOPInstanceAttributes( metadata.referencedImageId, displaySetService, @@ -168,7 +170,7 @@ function getDisplayText(annotation, displaySet, customizationService, displaySet return utils.roundNumber(value, 2); }); } - return isNaN(values) ? values : utils.roundNumber(values, 2); + return isNaN(values) ? [values] : [utils.roundNumber(values, 2)]; }; const findUnitForValue = (displayTextItems, value) => @@ -176,7 +178,7 @@ function getDisplayText(annotation, displaySet, customizationService, displaySet ?.value; const formatDisplayText = (displayName, result, unit) => - `${displayName}: ${Array.isArray(result) ? roundValues(result).join(', ') : roundValues(result)} ${unit}`; + `${displayName}: ${roundValues(result).join(', ')} ${unit}`; displayText.forEach(({ displayName, value, type }) => { if (type === 'value') { diff --git a/extensions/default/CHANGELOG.md b/extensions/default/CHANGELOG.md index 6fbd4cf3ec7..37f0bc2d1ea 100644 --- a/extensions/default/CHANGELOG.md +++ b/extensions/default/CHANGELOG.md @@ -3,6 +3,25 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [3.9.0-beta.59](https://github.com/OHIF/Viewers/compare/v3.9.0-beta.58...v3.9.0-beta.59) (2024-07-05) + + +### Features + +* Add interleaved HTJ2K and volume progressive loading ([#4276](https://github.com/OHIF/Viewers/issues/4276)) ([a2084f3](https://github.com/OHIF/Viewers/commit/a2084f319b731d98b59485799fb80357094f8c38)) + + + + + +# [3.9.0-beta.58](https://github.com/OHIF/Viewers/compare/v3.9.0-beta.57...v3.9.0-beta.58) (2024-07-04) + +**Note:** Version bump only for package @ohif/extension-default + + + + + # [3.9.0-beta.57](https://github.com/OHIF/Viewers/compare/v3.9.0-beta.56...v3.9.0-beta.57) (2024-07-02) **Note:** Version bump only for package @ohif/extension-default diff --git a/extensions/default/package.json b/extensions/default/package.json index 737efa1e441..42af14dfb72 100644 --- a/extensions/default/package.json +++ b/extensions/default/package.json @@ -1,6 +1,6 @@ { "name": "@ohif/extension-default", - "version": "3.9.0-beta.57", + "version": "3.9.0-beta.59", "description": "Common/default features and functionality for basic image viewing", "author": "OHIF Core Team", "license": "MIT", @@ -32,8 +32,8 @@ "start": "yarn run dev" }, "peerDependencies": { - "@ohif/core": "3.9.0-beta.57", - "@ohif/i18n": "3.9.0-beta.57", + "@ohif/core": "3.9.0-beta.59", + "@ohif/i18n": "3.9.0-beta.59", "dcmjs": "*", "dicomweb-client": "^0.10.4", "prop-types": "^15.6.2", diff --git a/extensions/default/src/Panels/PanelStudyBrowser.tsx b/extensions/default/src/Panels/PanelStudyBrowser.tsx index 650fd6c90b0..bbb7c4b775a 100644 --- a/extensions/default/src/Panels/PanelStudyBrowser.tsx +++ b/extensions/default/src/Panels/PanelStudyBrowser.tsx @@ -31,6 +31,7 @@ function PanelStudyBrowser({ const [expandedStudyInstanceUIDs, setExpandedStudyInstanceUIDs] = useState([ ...StudyInstanceUIDs, ]); + const [hasLoadedViewports, setHasLoadedViewports] = useState(false); const [studyDisplayList, setStudyDisplayList] = useState([]); const [displaySets, setDisplaySets] = useState([]); const [thumbnailImageSrcMap, setThumbnailImageSrcMap] = useState({}); @@ -108,6 +109,18 @@ function PanelStudyBrowser({ // // ~~ Initial Thumbnails useEffect(() => { + if (!hasLoadedViewports) { + if (activeViewportId) { + // Once there is an active viewport id, it means the layout is ready + // so wait a bit of time to allow the viewports preferential loading + // which improves user experience of responsiveness significantly on slower + // systems. + window.setTimeout(() => setHasLoadedViewports(true), 250); + } + + return; + } + const currentDisplaySets = displaySetService.activeDisplaySets; currentDisplaySets.forEach(async dSet => { const newImageSrcEntry = {}; @@ -126,7 +139,14 @@ function PanelStudyBrowser({ return { ...prevState, ...newImageSrcEntry }; }); }); - }, [StudyInstanceUIDs, dataSource, displaySetService, getImageSrc]); + }, [ + StudyInstanceUIDs, + dataSource, + displaySetService, + getImageSrc, + hasLoadedViewports, + activeViewportId, + ]); // ~~ displaySets useEffect(() => { @@ -144,6 +164,9 @@ function PanelStudyBrowser({ const SubscriptionDisplaySetsAdded = displaySetService.subscribe( displaySetService.EVENTS.DISPLAY_SETS_ADDED, data => { + if (!hasLoadedViewports) { + return; + } const { displaySetsAdded, options } = data; displaySetsAdded.forEach(async dSet => { const newImageSrcEntry = {}; @@ -213,7 +236,7 @@ function PanelStudyBrowser({ const shouldCollapseStudy = expandedStudyInstanceUIDs.includes(StudyInstanceUID); const updatedExpandedStudyInstanceUIDs = shouldCollapseStudy ? // eslint-disable-next-line prettier/prettier - [...expandedStudyInstanceUIDs.filter(stdyUid => stdyUid !== StudyInstanceUID)] + [...expandedStudyInstanceUIDs.filter(stdyUid => stdyUid !== StudyInstanceUID)] : [...expandedStudyInstanceUIDs, StudyInstanceUID]; setExpandedStudyInstanceUIDs(updatedExpandedStudyInstanceUIDs); diff --git a/extensions/default/src/getPanelModule.tsx b/extensions/default/src/getPanelModule.tsx index e294805dfbd..138a8d193f7 100644 --- a/extensions/default/src/getPanelModule.tsx +++ b/extensions/default/src/getPanelModule.tsx @@ -31,7 +31,7 @@ function getPanelModule({ commandsManager, extensionManager, servicesManager }) }), }, { - name: 'measure', + name: 'measurements', iconName: 'tab-linear', iconLabel: 'Measure', label: i18n.t('SidePanel:Measurements'), diff --git a/extensions/dicom-microscopy/CHANGELOG.md b/extensions/dicom-microscopy/CHANGELOG.md index 55977829d65..97e2973e8f6 100644 --- a/extensions/dicom-microscopy/CHANGELOG.md +++ b/extensions/dicom-microscopy/CHANGELOG.md @@ -3,6 +3,25 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [3.9.0-beta.59](https://github.com/OHIF/Viewers/compare/v3.9.0-beta.58...v3.9.0-beta.59) (2024-07-05) + + +### Bug Fixes + +* webpack import bugs showing warnings on import ([#4265](https://github.com/OHIF/Viewers/issues/4265)) ([24c511f](https://github.com/OHIF/Viewers/commit/24c511f4bc04c4143bbd3d0d48029f41f7f36014)) + + + + + +# [3.9.0-beta.58](https://github.com/OHIF/Viewers/compare/v3.9.0-beta.57...v3.9.0-beta.58) (2024-07-04) + +**Note:** Version bump only for package @ohif/extension-dicom-microscopy + + + + + # [3.9.0-beta.57](https://github.com/OHIF/Viewers/compare/v3.9.0-beta.56...v3.9.0-beta.57) (2024-07-02) **Note:** Version bump only for package @ohif/extension-dicom-microscopy diff --git a/extensions/dicom-microscopy/package.json b/extensions/dicom-microscopy/package.json index e1261a7382d..b88df2931d0 100644 --- a/extensions/dicom-microscopy/package.json +++ b/extensions/dicom-microscopy/package.json @@ -1,6 +1,6 @@ { "name": "@ohif/extension-dicom-microscopy", - "version": "3.9.0-beta.57", + "version": "3.9.0-beta.59", "description": "OHIF extension for DICOM microscopy", "author": "Bill Wallace, md-prog", "license": "MIT", @@ -30,10 +30,10 @@ "start": "yarn run dev" }, "peerDependencies": { - "@ohif/core": "3.9.0-beta.57", - "@ohif/extension-default": "3.9.0-beta.57", - "@ohif/i18n": "3.9.0-beta.57", - "@ohif/ui": "3.9.0-beta.57", + "@ohif/core": "3.9.0-beta.59", + "@ohif/extension-default": "3.9.0-beta.59", + "@ohif/i18n": "3.9.0-beta.59", + "@ohif/ui": "3.9.0-beta.59", "prop-types": "^15.6.2", "react": "^18.3.1", "react-dom": "^18.3.1", diff --git a/extensions/dicom-microscopy/src/DicomMicroscopyViewport.tsx b/extensions/dicom-microscopy/src/DicomMicroscopyViewport.tsx index adb306493d5..3ebe0c6032b 100644 --- a/extensions/dicom-microscopy/src/DicomMicroscopyViewport.tsx +++ b/extensions/dicom-microscopy/src/DicomMicroscopyViewport.tsx @@ -49,13 +49,6 @@ class DicomMicroscopyViewport extends Component { resizeRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({ current: PropTypes.any })]), }; - /** - * Need to return this as a function to prevent webpack from munging it. - */ - public static getImportPath() { - return '/dicom-microscopy-viewer/dicomMicroscopyViewer.min.js'; - } - /** * Get the nearest ROI from the mouse click point @@ -94,9 +87,8 @@ class DicomMicroscopyViewport extends Component { // you should only do this once. async installOpenLayersRenderer(container, displaySet) { const loadViewer = async metadata => { - await import( - /* webpackIgnore: true */ DicomMicroscopyViewport.getImportPath()); - const { viewer: DicomMicroscopyViewer, metadata: metadataUtils } = (window as any).dicomMicroscopyViewer; + const dicomMicroscopyModule = await this.microscopyService.importDicomMicroscopyViewer(); + const { viewer: DicomMicroscopyViewer, metadata: metadataUtils } = dicomMicroscopyModule; const microscopyViewer = DicomMicroscopyViewer.VolumeImageViewer; diff --git a/extensions/dicom-microscopy/src/getPanelModule.tsx b/extensions/dicom-microscopy/src/getPanelModule.tsx index e47c4c7dd1a..a515363aacd 100644 --- a/extensions/dicom-microscopy/src/getPanelModule.tsx +++ b/extensions/dicom-microscopy/src/getPanelModule.tsx @@ -1,5 +1,5 @@ import React from 'react'; -import { CommandsManager, ExtensionManager } from '@ohif/core'; +import type { Types } from '@ohif/core'; import { useViewportGrid } from '@ohif/ui'; import MicroscopyPanel from './components/MicroscopyPanel/MicroscopyPanel'; @@ -12,11 +12,7 @@ export default function getPanelModule({ commandsManager, extensionManager, servicesManager, -}: { - servicesManager: AppTypes.ServicesManager; - commandsManager: CommandsManager; - extensionManager: ExtensionManager; -}) { +}: Types.Extensions.ExtensionParams) { const wrappedMeasurementPanel = () => { const [{ activeViewportId, viewports }] = useViewportGrid(); diff --git a/extensions/dicom-microscopy/src/index.tsx b/extensions/dicom-microscopy/src/index.tsx index 55b6004c7ba..ce876874503 100644 --- a/extensions/dicom-microscopy/src/index.tsx +++ b/extensions/dicom-microscopy/src/index.tsx @@ -44,6 +44,7 @@ const extension: Types.Extensions.Extension = { * that is provided by the Cornerstone extension in OHIF. */ getViewportModule({ servicesManager, extensionManager, commandsManager }) { + /** * * @param props {*} diff --git a/extensions/dicom-microscopy/src/services/MicroscopyService.ts b/extensions/dicom-microscopy/src/services/MicroscopyService.ts index be91cb6f2d1..e59f048af6c 100644 --- a/extensions/dicom-microscopy/src/services/MicroscopyService.ts +++ b/extensions/dicom-microscopy/src/services/MicroscopyService.ts @@ -22,8 +22,8 @@ export default class MicroscopyService extends PubSubService { return { name: 'microscopyService', altName: 'MicroscopyService', - create: ({ configuration = {} }) => { - return new MicroscopyService(servicesManager); + create: (props) => { + return new MicroscopyService(props); }, }; }; @@ -36,9 +36,10 @@ export default class MicroscopyService extends PubSubService { selectedAnnotation = null; pendingFocus = false; - constructor(servicesManager) { + constructor({ servicesManager, extensionManager }) { super(EVENTS); this.servicesManager = servicesManager; + this.peerImport = extensionManager.appConfig.peerImport; this._onRoiAdded = this._onRoiAdded.bind(this); this._onRoiModified = this._onRoiModified.bind(this); this._onRoiRemoved = this._onRoiRemoved.bind(this); @@ -69,6 +70,10 @@ export default class MicroscopyService extends PubSubService { }); } + public importDicomMicroscopyViewer(): Promise { + return this.peerImport("dicom-microscopy-viewer"); + } + /** * Observes when a ROI graphic is added, creating the correspondent annotation * with the current graphic and view state. diff --git a/extensions/dicom-microscopy/src/utils/loadSR.ts b/extensions/dicom-microscopy/src/utils/loadSR.ts index f7eff3261ec..c6d280230c9 100644 --- a/extensions/dicom-microscopy/src/utils/loadSR.ts +++ b/extensions/dicom-microscopy/src/utils/loadSR.ts @@ -2,7 +2,6 @@ import dcmjs from 'dcmjs'; import DCM_CODE_VALUES from './dcmCodeValues'; import toArray from './toArray'; -import DicomMicroscopyViewport from '../DicomMicroscopyViewport'; const MeasurementReport = dcmjs.adapters.DICOMMicroscopyViewer.MeasurementReport; @@ -24,7 +23,7 @@ export default async function loadSR( microscopySRDisplaySet.isLoaded = true; - const { rois, labels } = await _getROIsFromToolState(naturalizedDataset, FrameOfReferenceUID); + const { rois, labels } = await _getROIsFromToolState(microscopyService, naturalizedDataset, FrameOfReferenceUID); const managedViewer = managedViewers[0]; @@ -45,12 +44,11 @@ export default async function loadSR( } } -async function _getROIsFromToolState(naturalizedDataset, FrameOfReferenceUID) { +async function _getROIsFromToolState(microscopyService, naturalizedDataset, FrameOfReferenceUID) { const toolState = MeasurementReport.generateToolState(naturalizedDataset); const tools = Object.getOwnPropertyNames(toolState); // Does a dynamic import to prevent webpack from rebuilding the library - await import(/* webpackIgnore: true */ DicomMicroscopyViewport.getImportPath()); - const DICOMMicroscopyViewer = (window as any).dicomMicroscopyViewer; + const DICOMMicroscopyViewer = await microscopyService.importDicomMicroscopyViewer(); const measurementGroupContentItems = _getMeasurementGroups(naturalizedDataset); diff --git a/extensions/dicom-pdf/CHANGELOG.md b/extensions/dicom-pdf/CHANGELOG.md index 539ae8411df..f5471b22fed 100644 --- a/extensions/dicom-pdf/CHANGELOG.md +++ b/extensions/dicom-pdf/CHANGELOG.md @@ -3,6 +3,22 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [3.9.0-beta.59](https://github.com/OHIF/Viewers/compare/v3.9.0-beta.58...v3.9.0-beta.59) (2024-07-05) + +**Note:** Version bump only for package @ohif/extension-dicom-pdf + + + + + +# [3.9.0-beta.58](https://github.com/OHIF/Viewers/compare/v3.9.0-beta.57...v3.9.0-beta.58) (2024-07-04) + +**Note:** Version bump only for package @ohif/extension-dicom-pdf + + + + + # [3.9.0-beta.57](https://github.com/OHIF/Viewers/compare/v3.9.0-beta.56...v3.9.0-beta.57) (2024-07-02) **Note:** Version bump only for package @ohif/extension-dicom-pdf diff --git a/extensions/dicom-pdf/package.json b/extensions/dicom-pdf/package.json index 459717a5d5e..46defbf4cc0 100644 --- a/extensions/dicom-pdf/package.json +++ b/extensions/dicom-pdf/package.json @@ -1,6 +1,6 @@ { "name": "@ohif/extension-dicom-pdf", - "version": "3.9.0-beta.57", + "version": "3.9.0-beta.59", "description": "OHIF extension for PDF display", "author": "OHIF", "license": "MIT", @@ -30,8 +30,8 @@ "test:unit:ci": "jest --ci --runInBand --collectCoverage --passWithNoTests" }, "peerDependencies": { - "@ohif/core": "3.9.0-beta.57", - "@ohif/ui": "3.9.0-beta.57", + "@ohif/core": "3.9.0-beta.59", + "@ohif/ui": "3.9.0-beta.59", "dcmjs": "*", "dicom-parser": "^1.8.9", "hammerjs": "^2.0.8", diff --git a/extensions/dicom-video/CHANGELOG.md b/extensions/dicom-video/CHANGELOG.md index f812cdc003d..cc88e2755e3 100644 --- a/extensions/dicom-video/CHANGELOG.md +++ b/extensions/dicom-video/CHANGELOG.md @@ -3,6 +3,22 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [3.9.0-beta.59](https://github.com/OHIF/Viewers/compare/v3.9.0-beta.58...v3.9.0-beta.59) (2024-07-05) + +**Note:** Version bump only for package @ohif/extension-dicom-video + + + + + +# [3.9.0-beta.58](https://github.com/OHIF/Viewers/compare/v3.9.0-beta.57...v3.9.0-beta.58) (2024-07-04) + +**Note:** Version bump only for package @ohif/extension-dicom-video + + + + + # [3.9.0-beta.57](https://github.com/OHIF/Viewers/compare/v3.9.0-beta.56...v3.9.0-beta.57) (2024-07-02) **Note:** Version bump only for package @ohif/extension-dicom-video diff --git a/extensions/dicom-video/package.json b/extensions/dicom-video/package.json index 3df5657bc53..a23ac0f1d93 100644 --- a/extensions/dicom-video/package.json +++ b/extensions/dicom-video/package.json @@ -1,6 +1,6 @@ { "name": "@ohif/extension-dicom-video", - "version": "3.9.0-beta.57", + "version": "3.9.0-beta.59", "description": "OHIF extension for video display", "author": "OHIF", "license": "MIT", @@ -30,8 +30,8 @@ "test:unit:ci": "jest --ci --runInBand --collectCoverage --passWithNoTests" }, "peerDependencies": { - "@ohif/core": "3.9.0-beta.57", - "@ohif/ui": "3.9.0-beta.57", + "@ohif/core": "3.9.0-beta.59", + "@ohif/ui": "3.9.0-beta.59", "dcmjs": "*", "dicom-parser": "^1.8.9", "hammerjs": "^2.0.8", diff --git a/extensions/measurement-tracking/CHANGELOG.md b/extensions/measurement-tracking/CHANGELOG.md index cb9ea635bb2..c1f9b60a432 100644 --- a/extensions/measurement-tracking/CHANGELOG.md +++ b/extensions/measurement-tracking/CHANGELOG.md @@ -3,6 +3,31 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [3.9.0-beta.59](https://github.com/OHIF/Viewers/compare/v3.9.0-beta.58...v3.9.0-beta.59) (2024-07-05) + + +### Bug Fixes + +* Cobb angle not working in basic-test mode and open contour ([#4280](https://github.com/OHIF/Viewers/issues/4280)) ([6fd3c7e](https://github.com/OHIF/Viewers/commit/6fd3c7e293fec851dd30e650c1347cc0bc7a99ee)) +* webpack import bugs showing warnings on import ([#4265](https://github.com/OHIF/Viewers/issues/4265)) ([24c511f](https://github.com/OHIF/Viewers/commit/24c511f4bc04c4143bbd3d0d48029f41f7f36014)) + + +### Features + +* Add interleaved HTJ2K and volume progressive loading ([#4276](https://github.com/OHIF/Viewers/issues/4276)) ([a2084f3](https://github.com/OHIF/Viewers/commit/a2084f319b731d98b59485799fb80357094f8c38)) + + + + + +# [3.9.0-beta.58](https://github.com/OHIF/Viewers/compare/v3.9.0-beta.57...v3.9.0-beta.58) (2024-07-04) + +**Note:** Version bump only for package @ohif/extension-measurement-tracking + + + + + # [3.9.0-beta.57](https://github.com/OHIF/Viewers/compare/v3.9.0-beta.56...v3.9.0-beta.57) (2024-07-02) **Note:** Version bump only for package @ohif/extension-measurement-tracking diff --git a/extensions/measurement-tracking/package.json b/extensions/measurement-tracking/package.json index 514e7f1466c..e00183eaa40 100644 --- a/extensions/measurement-tracking/package.json +++ b/extensions/measurement-tracking/package.json @@ -1,6 +1,6 @@ { "name": "@ohif/extension-measurement-tracking", - "version": "3.9.0-beta.57", + "version": "3.9.0-beta.59", "description": "Tracking features and functionality for basic image viewing", "author": "OHIF Core Team", "license": "MIT", @@ -32,11 +32,11 @@ "start": "yarn run dev" }, "peerDependencies": { - "@cornerstonejs/core": "^1.78.1", - "@cornerstonejs/tools": "^1.78.1", - "@ohif/core": "3.9.0-beta.57", - "@ohif/extension-cornerstone-dicom-sr": "3.9.0-beta.57", - "@ohif/ui": "3.9.0-beta.57", + "@cornerstonejs/core": "^1.82.0", + "@cornerstonejs/tools": "^1.82.0", + "@ohif/core": "3.9.0-beta.59", + "@ohif/extension-cornerstone-dicom-sr": "3.9.0-beta.59", + "@ohif/ui": "3.9.0-beta.59", "classnames": "^2.3.2", "dcmjs": "*", "lodash.debounce": "^4.0.8", @@ -48,7 +48,7 @@ }, "dependencies": { "@babel/runtime": "^7.20.13", - "@ohif/ui": "3.9.0-beta.57", + "@ohif/ui": "3.9.0-beta.59", "@xstate/react": "^3.2.2", "xstate": "^4.10.0" } diff --git a/extensions/measurement-tracking/src/panels/PanelStudyBrowserTracking/PanelStudyBrowserTracking.tsx b/extensions/measurement-tracking/src/panels/PanelStudyBrowserTracking/PanelStudyBrowserTracking.tsx index 076d492a65e..eaa10f40e4c 100644 --- a/extensions/measurement-tracking/src/panels/PanelStudyBrowserTracking/PanelStudyBrowserTracking.tsx +++ b/extensions/measurement-tracking/src/panels/PanelStudyBrowserTracking/PanelStudyBrowserTracking.tsx @@ -43,6 +43,7 @@ function PanelStudyBrowserTracking({ ...StudyInstanceUIDs, ]); const [studyDisplayList, setStudyDisplayList] = useState([]); + const [hasLoadedViewports, setHasLoadedViewports] = useState(false); const [displaySets, setDisplaySets] = useState([]); const [displaySetsLoadingState, setDisplaySetsLoadingState] = useState({}); const [thumbnailImageSrcMap, setThumbnailImageSrcMap] = useState({}); @@ -128,6 +129,18 @@ function PanelStudyBrowserTracking({ // ~~ Initial Thumbnails useEffect(() => { + if (!hasLoadedViewports) { + if (activeViewportId) { + // Once there is an active viewport id, it means the layout is ready + // so wait a bit of time to allow the viewports preferential loading + // which improves user experience of responsiveness significantly on slower + // systems. + window.setTimeout(() => setHasLoadedViewports(true), 250); + } + + return; + } + const currentDisplaySets = displaySetService.activeDisplaySets; if (!currentDisplaySets.length) { @@ -152,7 +165,7 @@ function PanelStudyBrowserTracking({ return { ...prevState, ...newImageSrcEntry }; }); }); - }, [displaySetService, dataSource, getImageSrc]); + }, [displaySetService, dataSource, getImageSrc, activeViewportId, hasLoadedViewports]); // ~~ displaySets useEffect(() => { @@ -209,6 +222,9 @@ function PanelStudyBrowserTracking({ const SubscriptionDisplaySetsAdded = displaySetService.subscribe( displaySetService.EVENTS.DISPLAY_SETS_ADDED, data => { + if (!hasLoadedViewports) { + return; + } const { displaySetsAdded, options } = data; displaySetsAdded.forEach(async dSet => { const displaySetInstanceUID = dSet.displaySetInstanceUID; @@ -428,7 +444,7 @@ function PanelStudyBrowserTracking({ onClickUntrack={displaySetInstanceUID => { onClickUntrack(displaySetInstanceUID); }} - onClickThumbnail={() => {}} + onClickThumbnail={() => { }} onDoubleClickThumbnail={onDoubleClickThumbnailHandler} activeDisplaySetInstanceUIDs={activeViewportDisplaySetInstanceUIDs} /> diff --git a/extensions/test-extension/CHANGELOG.md b/extensions/test-extension/CHANGELOG.md index 17f5e1d69d2..416772957af 100644 --- a/extensions/test-extension/CHANGELOG.md +++ b/extensions/test-extension/CHANGELOG.md @@ -3,6 +3,22 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [3.9.0-beta.59](https://github.com/OHIF/Viewers/compare/v3.9.0-beta.58...v3.9.0-beta.59) (2024-07-05) + +**Note:** Version bump only for package @ohif/extension-test + + + + + +# [3.9.0-beta.58](https://github.com/OHIF/Viewers/compare/v3.9.0-beta.57...v3.9.0-beta.58) (2024-07-04) + +**Note:** Version bump only for package @ohif/extension-test + + + + + # [3.9.0-beta.57](https://github.com/OHIF/Viewers/compare/v3.9.0-beta.56...v3.9.0-beta.57) (2024-07-02) **Note:** Version bump only for package @ohif/extension-test diff --git a/extensions/test-extension/package.json b/extensions/test-extension/package.json index 4fdfe4294cf..69540c28a70 100644 --- a/extensions/test-extension/package.json +++ b/extensions/test-extension/package.json @@ -1,6 +1,6 @@ { "name": "@ohif/extension-test", - "version": "3.9.0-beta.57", + "version": "3.9.0-beta.59", "description": "OHIF extension used inside e2e testing", "author": "OHIF", "license": "MIT", @@ -30,8 +30,8 @@ "test:unit:ci": "jest --ci --runInBand --collectCoverage --passWithNoTests" }, "peerDependencies": { - "@ohif/core": "3.9.0-beta.57", - "@ohif/ui": "3.9.0-beta.57", + "@ohif/core": "3.9.0-beta.59", + "@ohif/ui": "3.9.0-beta.59", "dcmjs": "0.29.11", "dicom-parser": "^1.8.9", "hammerjs": "^2.0.8", diff --git a/extensions/tmtv/CHANGELOG.md b/extensions/tmtv/CHANGELOG.md index b60fbd32c1d..c3d347159b5 100644 --- a/extensions/tmtv/CHANGELOG.md +++ b/extensions/tmtv/CHANGELOG.md @@ -3,6 +3,25 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [3.9.0-beta.59](https://github.com/OHIF/Viewers/compare/v3.9.0-beta.58...v3.9.0-beta.59) (2024-07-05) + +**Note:** Version bump only for package @ohif/extension-tmtv + + + + + +# [3.9.0-beta.58](https://github.com/OHIF/Viewers/compare/v3.9.0-beta.57...v3.9.0-beta.58) (2024-07-04) + + +### Bug Fixes + +* stdValue in TMTV mode ([#4278](https://github.com/OHIF/Viewers/issues/4278)) ([b2c6291](https://github.com/OHIF/Viewers/commit/b2c629123c5cf05afbeb19bd1424c327c1f5a606)) + + + + + # [3.9.0-beta.57](https://github.com/OHIF/Viewers/compare/v3.9.0-beta.56...v3.9.0-beta.57) (2024-07-02) **Note:** Version bump only for package @ohif/extension-tmtv diff --git a/extensions/tmtv/package.json b/extensions/tmtv/package.json index ae3be180e2b..e9309955207 100644 --- a/extensions/tmtv/package.json +++ b/extensions/tmtv/package.json @@ -1,6 +1,6 @@ { "name": "@ohif/extension-tmtv", - "version": "3.9.0-beta.57", + "version": "3.9.0-beta.59", "description": "OHIF extension for Total Metabolic Tumor Volume", "author": "OHIF", "license": "MIT", @@ -30,8 +30,8 @@ "test:unit:ci": "jest --ci --runInBand --collectCoverage --passWithNoTests" }, "peerDependencies": { - "@ohif/core": "3.9.0-beta.57", - "@ohif/ui": "3.9.0-beta.57", + "@ohif/core": "3.9.0-beta.59", + "@ohif/ui": "3.9.0-beta.59", "dcmjs": "*", "dicom-parser": "^1.8.9", "hammerjs": "^2.0.8", diff --git a/extensions/tmtv/src/commandsModule.ts b/extensions/tmtv/src/commandsModule.ts index 857ff94d410..8ea6ebd1ea9 100644 --- a/extensions/tmtv/src/commandsModule.ts +++ b/extensions/tmtv/src/commandsModule.ts @@ -371,15 +371,16 @@ const commandsModule = ({ servicesManager, commandsManager, extensionManager }: voxelCount++; } } + const mean = segmentationValues.reduce((a, b) => a + b, 0) / voxelCount; const stats = { minValue: segmentationMin, maxValue: segmentationMax, - meanValue: segmentationValues.reduce((a, b) => a + b, 0) / voxelCount, + meanValue: mean, stdValue: Math.sqrt( - segmentationValues.reduce((a, b) => a + b * b, 0) / voxelCount - - segmentationValues.reduce((a, b) => a + b, 0) / voxelCount ** 2 - ), + segmentationValues + .map((k) => (k - mean) ** 2) + .reduce((acc, curr) => acc + curr, 0) / voxelCount), volume: voxelCount * spacing[0] * spacing[1] * spacing[2] * 1e-3, }; diff --git a/lerna.json b/lerna.json index ff70495c3b1..cd5b9c77285 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "3.9.0-beta.57", + "version": "3.9.0-beta.59", "packages": ["extensions/*", "platform/*", "modes/*", "addOns/externals/*"], "npmClient": "yarn" } diff --git a/modes/basic-dev-mode/CHANGELOG.md b/modes/basic-dev-mode/CHANGELOG.md index aa416d117e6..3e93d73e0ea 100644 --- a/modes/basic-dev-mode/CHANGELOG.md +++ b/modes/basic-dev-mode/CHANGELOG.md @@ -3,6 +3,22 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [3.9.0-beta.59](https://github.com/OHIF/Viewers/compare/v3.9.0-beta.58...v3.9.0-beta.59) (2024-07-05) + +**Note:** Version bump only for package @ohif/mode-basic-dev-mode + + + + + +# [3.9.0-beta.58](https://github.com/OHIF/Viewers/compare/v3.9.0-beta.57...v3.9.0-beta.58) (2024-07-04) + +**Note:** Version bump only for package @ohif/mode-basic-dev-mode + + + + + # [3.9.0-beta.57](https://github.com/OHIF/Viewers/compare/v3.9.0-beta.56...v3.9.0-beta.57) (2024-07-02) **Note:** Version bump only for package @ohif/mode-basic-dev-mode diff --git a/modes/basic-dev-mode/package.json b/modes/basic-dev-mode/package.json index 05e6c4454b1..bc588a40bbd 100644 --- a/modes/basic-dev-mode/package.json +++ b/modes/basic-dev-mode/package.json @@ -1,6 +1,6 @@ { "name": "@ohif/mode-basic-dev-mode", - "version": "3.9.0-beta.57", + "version": "3.9.0-beta.59", "description": "Basic OHIF Viewer Using Cornerstone", "author": "OHIF", "license": "MIT", @@ -31,12 +31,12 @@ "test:unit:ci": "jest --ci --runInBand --collectCoverage --passWithNoTests" }, "peerDependencies": { - "@ohif/core": "3.9.0-beta.57", - "@ohif/extension-cornerstone": "3.9.0-beta.57", - "@ohif/extension-cornerstone-dicom-sr": "3.9.0-beta.57", - "@ohif/extension-default": "3.9.0-beta.57", - "@ohif/extension-dicom-pdf": "3.9.0-beta.57", - "@ohif/extension-dicom-video": "3.9.0-beta.57" + "@ohif/core": "3.9.0-beta.59", + "@ohif/extension-cornerstone": "3.9.0-beta.59", + "@ohif/extension-cornerstone-dicom-sr": "3.9.0-beta.59", + "@ohif/extension-default": "3.9.0-beta.59", + "@ohif/extension-dicom-pdf": "3.9.0-beta.59", + "@ohif/extension-dicom-video": "3.9.0-beta.59" }, "dependencies": { "@babel/runtime": "^7.20.13", diff --git a/modes/basic-test-mode/CHANGELOG.md b/modes/basic-test-mode/CHANGELOG.md index bee177b6d67..7e94410e08c 100644 --- a/modes/basic-test-mode/CHANGELOG.md +++ b/modes/basic-test-mode/CHANGELOG.md @@ -3,6 +3,30 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [3.9.0-beta.59](https://github.com/OHIF/Viewers/compare/v3.9.0-beta.58...v3.9.0-beta.59) (2024-07-05) + + +### Bug Fixes + +* Cobb angle not working in basic-test mode and open contour ([#4280](https://github.com/OHIF/Viewers/issues/4280)) ([6fd3c7e](https://github.com/OHIF/Viewers/commit/6fd3c7e293fec851dd30e650c1347cc0bc7a99ee)) + + +### Features + +* Add interleaved HTJ2K and volume progressive loading ([#4276](https://github.com/OHIF/Viewers/issues/4276)) ([a2084f3](https://github.com/OHIF/Viewers/commit/a2084f319b731d98b59485799fb80357094f8c38)) + + + + + +# [3.9.0-beta.58](https://github.com/OHIF/Viewers/compare/v3.9.0-beta.57...v3.9.0-beta.58) (2024-07-04) + +**Note:** Version bump only for package @ohif/mode-test + + + + + # [3.9.0-beta.57](https://github.com/OHIF/Viewers/compare/v3.9.0-beta.56...v3.9.0-beta.57) (2024-07-02) **Note:** Version bump only for package @ohif/mode-test diff --git a/modes/basic-test-mode/package.json b/modes/basic-test-mode/package.json index bdf12bf92a1..3b37207cefe 100644 --- a/modes/basic-test-mode/package.json +++ b/modes/basic-test-mode/package.json @@ -1,6 +1,6 @@ { "name": "@ohif/mode-test", - "version": "3.9.0-beta.57", + "version": "3.9.0-beta.59", "description": "Basic mode for testing", "author": "OHIF", "license": "MIT", @@ -34,14 +34,14 @@ "test:unit:ci": "jest --ci --runInBand --collectCoverage --passWithNoTests" }, "peerDependencies": { - "@ohif/core": "3.9.0-beta.57", - "@ohif/extension-cornerstone": "3.9.0-beta.57", - "@ohif/extension-cornerstone-dicom-sr": "3.9.0-beta.57", - "@ohif/extension-default": "3.9.0-beta.57", - "@ohif/extension-dicom-pdf": "3.9.0-beta.57", - "@ohif/extension-dicom-video": "3.9.0-beta.57", - "@ohif/extension-measurement-tracking": "3.9.0-beta.57", - "@ohif/extension-test": "3.9.0-beta.57" + "@ohif/core": "3.9.0-beta.59", + "@ohif/extension-cornerstone": "3.9.0-beta.59", + "@ohif/extension-cornerstone-dicom-sr": "3.9.0-beta.59", + "@ohif/extension-default": "3.9.0-beta.59", + "@ohif/extension-dicom-pdf": "3.9.0-beta.59", + "@ohif/extension-dicom-video": "3.9.0-beta.59", + "@ohif/extension-measurement-tracking": "3.9.0-beta.59", + "@ohif/extension-test": "3.9.0-beta.59" }, "dependencies": { "@babel/runtime": "^7.20.13", diff --git a/modes/basic-test-mode/src/index.ts b/modes/basic-test-mode/src/index.ts index 7cb9eda04d7..c303ee01538 100644 --- a/modes/basic-test-mode/src/index.ts +++ b/modes/basic-test-mode/src/index.ts @@ -13,6 +13,7 @@ const ohif = { layout: '@ohif/extension-default.layoutTemplateModule.viewerLayout', sopClassHandler: '@ohif/extension-default.sopClassHandlerModule.stack', thumbnailList: '@ohif/extension-default.panelModule.seriesList', + measurements: '@ohif/extension-default.panelModule.measurements', }; const tracked = { @@ -134,6 +135,9 @@ function modeFactory() { return { id: ohif.layout, props: { + // Use the first two for an untracked view + // leftPanels: [ohif.thumbnailList], + // rightPanels: [dicomSeg.panel, ohif.measurements], leftPanels: [tracked.thumbnailList], rightPanels: [dicomSeg.panel, tracked.measurements], // rightPanelClosed: true, // optional prop to start with collapse panels diff --git a/modes/basic-test-mode/src/initToolGroups.ts b/modes/basic-test-mode/src/initToolGroups.ts index b97e18b72ae..7c183d52027 100644 --- a/modes/basic-test-mode/src/initToolGroups.ts +++ b/modes/basic-test-mode/src/initToolGroups.ts @@ -60,6 +60,7 @@ function initDefaultToolGroup(extensionManager, toolGroupService, commandsManage { toolName: toolNames.RectangleROI }, { toolName: toolNames.StackScroll }, { toolName: toolNames.Angle }, + { toolName: toolNames.CobbAngle }, { toolName: toolNames.Magnify }, { toolName: toolNames.SegmentationDisplay }, { toolName: toolNames.WindowLevelRegion }, diff --git a/modes/longitudinal/CHANGELOG.md b/modes/longitudinal/CHANGELOG.md index 00f9fefaccb..a7a91ba06e5 100644 --- a/modes/longitudinal/CHANGELOG.md +++ b/modes/longitudinal/CHANGELOG.md @@ -3,6 +3,22 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [3.9.0-beta.59](https://github.com/OHIF/Viewers/compare/v3.9.0-beta.58...v3.9.0-beta.59) (2024-07-05) + +**Note:** Version bump only for package @ohif/mode-longitudinal + + + + + +# [3.9.0-beta.58](https://github.com/OHIF/Viewers/compare/v3.9.0-beta.57...v3.9.0-beta.58) (2024-07-04) + +**Note:** Version bump only for package @ohif/mode-longitudinal + + + + + # [3.9.0-beta.57](https://github.com/OHIF/Viewers/compare/v3.9.0-beta.56...v3.9.0-beta.57) (2024-07-02) **Note:** Version bump only for package @ohif/mode-longitudinal diff --git a/modes/longitudinal/package.json b/modes/longitudinal/package.json index 4ba107aff96..a54bc4c6563 100644 --- a/modes/longitudinal/package.json +++ b/modes/longitudinal/package.json @@ -1,6 +1,6 @@ { "name": "@ohif/mode-longitudinal", - "version": "3.9.0-beta.57", + "version": "3.9.0-beta.59", "description": "Longitudinal Workflow", "author": "OHIF", "license": "MIT", @@ -34,15 +34,15 @@ "test:unit:ci": "jest --ci --runInBand --collectCoverage --passWithNoTests" }, "peerDependencies": { - "@ohif/core": "3.9.0-beta.57", - "@ohif/extension-cornerstone": "3.9.0-beta.57", - "@ohif/extension-cornerstone-dicom-rt": "3.9.0-beta.57", - "@ohif/extension-cornerstone-dicom-seg": "3.9.0-beta.57", - "@ohif/extension-cornerstone-dicom-sr": "3.9.0-beta.57", - "@ohif/extension-default": "3.9.0-beta.57", - "@ohif/extension-dicom-pdf": "3.9.0-beta.57", - "@ohif/extension-dicom-video": "3.9.0-beta.57", - "@ohif/extension-measurement-tracking": "3.9.0-beta.57" + "@ohif/core": "3.9.0-beta.59", + "@ohif/extension-cornerstone": "3.9.0-beta.59", + "@ohif/extension-cornerstone-dicom-rt": "3.9.0-beta.59", + "@ohif/extension-cornerstone-dicom-seg": "3.9.0-beta.59", + "@ohif/extension-cornerstone-dicom-sr": "3.9.0-beta.59", + "@ohif/extension-default": "3.9.0-beta.59", + "@ohif/extension-dicom-pdf": "3.9.0-beta.59", + "@ohif/extension-dicom-video": "3.9.0-beta.59", + "@ohif/extension-measurement-tracking": "3.9.0-beta.59" }, "dependencies": { "@babel/runtime": "^7.20.13", diff --git a/modes/microscopy/CHANGELOG.md b/modes/microscopy/CHANGELOG.md index 2fba620ba53..2268dfa24d1 100644 --- a/modes/microscopy/CHANGELOG.md +++ b/modes/microscopy/CHANGELOG.md @@ -3,6 +3,22 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [3.9.0-beta.59](https://github.com/OHIF/Viewers/compare/v3.9.0-beta.58...v3.9.0-beta.59) (2024-07-05) + +**Note:** Version bump only for package @ohif/mode-microscopy + + + + + +# [3.9.0-beta.58](https://github.com/OHIF/Viewers/compare/v3.9.0-beta.57...v3.9.0-beta.58) (2024-07-04) + +**Note:** Version bump only for package @ohif/mode-microscopy + + + + + # [3.9.0-beta.57](https://github.com/OHIF/Viewers/compare/v3.9.0-beta.56...v3.9.0-beta.57) (2024-07-02) **Note:** Version bump only for package @ohif/mode-microscopy diff --git a/modes/microscopy/package.json b/modes/microscopy/package.json index 401744893d7..7399e58aac7 100644 --- a/modes/microscopy/package.json +++ b/modes/microscopy/package.json @@ -1,6 +1,6 @@ { "name": "@ohif/mode-microscopy", - "version": "3.9.0-beta.57", + "version": "3.9.0-beta.59", "description": "OHIF mode for DICOM microscopy", "author": "OHIF", "license": "MIT", @@ -35,8 +35,8 @@ "test:unit:ci": "jest --ci --runInBand --collectCoverage --passWithNoTests" }, "peerDependencies": { - "@ohif/core": "3.9.0-beta.57", - "@ohif/extension-dicom-microscopy": "3.9.0-beta.57" + "@ohif/core": "3.9.0-beta.59", + "@ohif/extension-dicom-microscopy": "3.9.0-beta.59" }, "dependencies": { "@babel/runtime": "^7.20.13", diff --git a/modes/preclinical-4d/CHANGELOG.md b/modes/preclinical-4d/CHANGELOG.md index ec9ebbb459e..524d31979ea 100644 --- a/modes/preclinical-4d/CHANGELOG.md +++ b/modes/preclinical-4d/CHANGELOG.md @@ -3,6 +3,22 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [3.9.0-beta.59](https://github.com/OHIF/Viewers/compare/v3.9.0-beta.58...v3.9.0-beta.59) (2024-07-05) + +**Note:** Version bump only for package @ohif/mode-preclinical-4d + + + + + +# [3.9.0-beta.58](https://github.com/OHIF/Viewers/compare/v3.9.0-beta.57...v3.9.0-beta.58) (2024-07-04) + +**Note:** Version bump only for package @ohif/mode-preclinical-4d + + + + + # [3.9.0-beta.57](https://github.com/OHIF/Viewers/compare/v3.9.0-beta.56...v3.9.0-beta.57) (2024-07-02) **Note:** Version bump only for package @ohif/mode-preclinical-4d diff --git a/modes/preclinical-4d/package.json b/modes/preclinical-4d/package.json index 3d049287629..00f15758006 100644 --- a/modes/preclinical-4d/package.json +++ b/modes/preclinical-4d/package.json @@ -1,6 +1,6 @@ { "name": "@ohif/mode-preclinical-4d", - "version": "3.9.0-beta.57", + "version": "3.9.0-beta.59", "description": "4D Workflow", "author": "OHIF", "license": "MIT", @@ -30,12 +30,12 @@ "test:unit:ci": "jest --ci --runInBand --collectCoverage --passWithNoTests" }, "peerDependencies": { - "@ohif/core": "3.9.0-beta.57", - "@ohif/extension-cornerstone": "3.9.0-beta.57", - "@ohif/extension-cornerstone-dicom-seg": "3.9.0-beta.57", - "@ohif/extension-cornerstone-dynamic-volume": "3.9.0-beta.57", - "@ohif/extension-default": "3.9.0-beta.57", - "@ohif/extension-tmtv": "3.9.0-beta.57" + "@ohif/core": "3.9.0-beta.59", + "@ohif/extension-cornerstone": "3.9.0-beta.59", + "@ohif/extension-cornerstone-dicom-seg": "3.9.0-beta.59", + "@ohif/extension-cornerstone-dynamic-volume": "3.9.0-beta.59", + "@ohif/extension-default": "3.9.0-beta.59", + "@ohif/extension-tmtv": "3.9.0-beta.59" }, "dependencies": { "@babel/runtime": "^7.20.13" diff --git a/modes/segmentation/CHANGELOG.md b/modes/segmentation/CHANGELOG.md index 2f343ec6dc8..5f53813d9d0 100644 --- a/modes/segmentation/CHANGELOG.md +++ b/modes/segmentation/CHANGELOG.md @@ -3,6 +3,22 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [3.9.0-beta.59](https://github.com/OHIF/Viewers/compare/v3.9.0-beta.58...v3.9.0-beta.59) (2024-07-05) + +**Note:** Version bump only for package @ohif/mode-segmentation + + + + + +# [3.9.0-beta.58](https://github.com/OHIF/Viewers/compare/v3.9.0-beta.57...v3.9.0-beta.58) (2024-07-04) + +**Note:** Version bump only for package @ohif/mode-segmentation + + + + + # [3.9.0-beta.57](https://github.com/OHIF/Viewers/compare/v3.9.0-beta.56...v3.9.0-beta.57) (2024-07-02) **Note:** Version bump only for package @ohif/mode-segmentation diff --git a/modes/segmentation/package.json b/modes/segmentation/package.json index f7e1ad1f52d..eaaa8c501a7 100644 --- a/modes/segmentation/package.json +++ b/modes/segmentation/package.json @@ -1,6 +1,6 @@ { "name": "@ohif/mode-segmentation", - "version": "3.9.0-beta.57", + "version": "3.9.0-beta.59", "description": "OHIF segmentation mode which enables labelmap segmentation read/edit/export", "author": "@ohif", "license": "MIT", @@ -35,14 +35,14 @@ "test:unit:ci": "jest --ci --runInBand --collectCoverage --passWithNoTests" }, "peerDependencies": { - "@ohif/core": "3.9.0-beta.57", - "@ohif/extension-cornerstone": "3.9.0-beta.57", - "@ohif/extension-cornerstone-dicom-rt": "3.9.0-beta.57", - "@ohif/extension-cornerstone-dicom-seg": "3.9.0-beta.57", - "@ohif/extension-cornerstone-dicom-sr": "3.9.0-beta.57", - "@ohif/extension-default": "3.9.0-beta.57", - "@ohif/extension-dicom-pdf": "3.9.0-beta.57", - "@ohif/extension-dicom-video": "3.9.0-beta.57" + "@ohif/core": "3.9.0-beta.59", + "@ohif/extension-cornerstone": "3.9.0-beta.59", + "@ohif/extension-cornerstone-dicom-rt": "3.9.0-beta.59", + "@ohif/extension-cornerstone-dicom-seg": "3.9.0-beta.59", + "@ohif/extension-cornerstone-dicom-sr": "3.9.0-beta.59", + "@ohif/extension-default": "3.9.0-beta.59", + "@ohif/extension-dicom-pdf": "3.9.0-beta.59", + "@ohif/extension-dicom-video": "3.9.0-beta.59" }, "dependencies": { "@babel/runtime": "^7.20.13", diff --git a/modes/tmtv/CHANGELOG.md b/modes/tmtv/CHANGELOG.md index 07c6209dd24..7d93b93f4fb 100644 --- a/modes/tmtv/CHANGELOG.md +++ b/modes/tmtv/CHANGELOG.md @@ -3,6 +3,22 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [3.9.0-beta.59](https://github.com/OHIF/Viewers/compare/v3.9.0-beta.58...v3.9.0-beta.59) (2024-07-05) + +**Note:** Version bump only for package @ohif/mode-tmtv + + + + + +# [3.9.0-beta.58](https://github.com/OHIF/Viewers/compare/v3.9.0-beta.57...v3.9.0-beta.58) (2024-07-04) + +**Note:** Version bump only for package @ohif/mode-tmtv + + + + + # [3.9.0-beta.57](https://github.com/OHIF/Viewers/compare/v3.9.0-beta.56...v3.9.0-beta.57) (2024-07-02) **Note:** Version bump only for package @ohif/mode-tmtv diff --git a/modes/tmtv/package.json b/modes/tmtv/package.json index 111983e504b..5fd65efbdd9 100644 --- a/modes/tmtv/package.json +++ b/modes/tmtv/package.json @@ -1,6 +1,6 @@ { "name": "@ohif/mode-tmtv", - "version": "3.9.0-beta.57", + "version": "3.9.0-beta.59", "description": "Total Metabolic Tumor Volume Workflow", "author": "OHIF", "license": "MIT", @@ -34,13 +34,13 @@ "test:unit:ci": "jest --ci --runInBand --collectCoverage --passWithNoTests" }, "peerDependencies": { - "@ohif/core": "3.9.0-beta.57", - "@ohif/extension-cornerstone": "3.9.0-beta.57", - "@ohif/extension-cornerstone-dicom-sr": "3.9.0-beta.57", - "@ohif/extension-default": "3.9.0-beta.57", - "@ohif/extension-dicom-pdf": "3.9.0-beta.57", - "@ohif/extension-dicom-video": "3.9.0-beta.57", - "@ohif/extension-measurement-tracking": "3.9.0-beta.57" + "@ohif/core": "3.9.0-beta.59", + "@ohif/extension-cornerstone": "3.9.0-beta.59", + "@ohif/extension-cornerstone-dicom-sr": "3.9.0-beta.59", + "@ohif/extension-default": "3.9.0-beta.59", + "@ohif/extension-dicom-pdf": "3.9.0-beta.59", + "@ohif/extension-dicom-video": "3.9.0-beta.59", + "@ohif/extension-measurement-tracking": "3.9.0-beta.59" }, "dependencies": { "@babel/runtime": "^7.20.13", diff --git a/platform/app/.webpack/webpack.pwa.js b/platform/app/.webpack/webpack.pwa.js index faeaae17aa9..69cc1e26064 100644 --- a/platform/app/.webpack/webpack.pwa.js +++ b/platform/app/.webpack/webpack.pwa.js @@ -102,16 +102,17 @@ module.exports = (env, argv) => { to: `${DIST_DIR}/app-config.js`, }, // Copy Dicom Microscopy Viewer build files - { - from: '../../../node_modules/dicom-microscopy-viewer/dist/dynamic-import', - to: DIST_DIR, - globOptions: { - ignore: ['**/*.min.js.map'], - }, - // The dicom-microscopy-viewer is optional, so if it doeesn't get - // installed, it shouldn't cause issues. - noErrorOnMissing: true, - }, + // This is in pluginCOnfig.json now + // { + // from: '../../../node_modules/dicom-microscopy-viewer/dist/dynamic-import', + // to: DIST_DIR, + // globOptions: { + // ignore: ['**/*.min.js.map'], + // }, + // // The dicom-microscopy-viewer is optional, so if it doeesn't get + // // installed, it shouldn't cause issues. + // noErrorOnMissing: true, + // }, // Copy dicom-image-loader build files { from: '../../../node_modules/@cornerstonejs/dicom-image-loader/dist/dynamic-import', diff --git a/platform/app/.webpack/writePluginImportsFile.js b/platform/app/.webpack/writePluginImportsFile.js index 47456d034fa..c913e779eed 100644 --- a/platform/app/.webpack/writePluginImportsFile.js +++ b/platform/app/.webpack/writePluginImportsFile.js @@ -66,6 +66,18 @@ function getRuntimeLoadModesExtensions(modules) { ); modules.forEach(module => { const packageName = extractName(module); + if (!packageName) { + return; + } + if (module.importPath) { + dynamicLoad.push( + ` if( module==="${packageName}") {`, + ` const imported = await window.browserImportFunction('${module.importPath}');`, + ' return ' + (module.globalName ? `window["${module.globalName}"];` : `imported["${module.importName || 'default'}"];`), + ' }' + ); + return; + } dynamicLoad.push( ` if( module==="${packageName}") {`, ` const imported = await import("${packageName}");`, @@ -73,8 +85,9 @@ function getRuntimeLoadModesExtensions(modules) { ' }' ); }); + // TODO - handle more cases for import than just default dynamicLoad.push( - ' return (await import(/* webpackIgnore: true */ module)).default;', + ' return (await window.browserImportFunction(module)).default;', '}\n', '// Import a list of items (modules or string names)', '// @return a Promise evaluating to a list of modules', @@ -144,6 +157,7 @@ function writePluginImportsFile(SRC_DIR, DIST_DIR) { pluginImportsJsContent += getRuntimeLoadModesExtensions([ ...pluginConfig.extensions, ...pluginConfig.modes, + ...pluginConfig.public, ]); fs.writeFileSync(`${SRC_DIR}/pluginImports.js`, pluginImportsJsContent, { flag: 'w+' }, err => { diff --git a/platform/app/CHANGELOG.md b/platform/app/CHANGELOG.md index dac84c9f6b2..35ed98a7ac9 100644 --- a/platform/app/CHANGELOG.md +++ b/platform/app/CHANGELOG.md @@ -3,6 +3,27 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [3.9.0-beta.59](https://github.com/OHIF/Viewers/compare/v3.9.0-beta.58...v3.9.0-beta.59) (2024-07-05) + + +### Bug Fixes + +* Cobb angle not working in basic-test mode and open contour ([#4280](https://github.com/OHIF/Viewers/issues/4280)) ([6fd3c7e](https://github.com/OHIF/Viewers/commit/6fd3c7e293fec851dd30e650c1347cc0bc7a99ee)) +* **image-orientation:** Prevent incorrect orientation marker display for single-slice US images ([#4275](https://github.com/OHIF/Viewers/issues/4275)) ([6d11048](https://github.com/OHIF/Viewers/commit/6d11048ca5ea66284948602613a63277083ec6a5)) +* webpack import bugs showing warnings on import ([#4265](https://github.com/OHIF/Viewers/issues/4265)) ([24c511f](https://github.com/OHIF/Viewers/commit/24c511f4bc04c4143bbd3d0d48029f41f7f36014)) + + + + + +# [3.9.0-beta.58](https://github.com/OHIF/Viewers/compare/v3.9.0-beta.57...v3.9.0-beta.58) (2024-07-04) + +**Note:** Version bump only for package @ohif/app + + + + + # [3.9.0-beta.57](https://github.com/OHIF/Viewers/compare/v3.9.0-beta.56...v3.9.0-beta.57) (2024-07-02) **Note:** Version bump only for package @ohif/app diff --git a/platform/app/cypress/integration/ImageConsistency.spec.js b/platform/app/cypress/integration/ImageConsistency.spec.js index 90672a1902d..52c27b5bfd3 100644 --- a/platform/app/cypress/integration/ImageConsistency.spec.js +++ b/platform/app/cypress/integration/ImageConsistency.spec.js @@ -45,7 +45,9 @@ describe('CS3D Image Consistency and Quality', () => { `&seriesInstanceUID=${seriesUID}&hangingProtocolId=@ohif/hpScale` ); cy.initCornerstoneToolsAliases(); - cy.initCommonElementsAliases(); + + const skipMarkers = true; + cy.initCommonElementsAliases(skipMarkers); }; it('TG18 Resolution Test Displayed 1:1', () => { @@ -53,6 +55,8 @@ describe('CS3D Image Consistency and Quality', () => { '2.16.124.113543.6004.101.103.20021117.061159.1', '2.16.124.113543.6004.101.103.20021117.061159.1.004' ); + + cy.wait(2000); testPixel(1018, 1028, 255); // Horizontal and vertical delta from this should not be contaminated // by values from center @@ -66,6 +70,8 @@ describe('CS3D Image Consistency and Quality', () => { it.skip('8 bit image displayable', () => { setupStudySeries('1.3.46.670589.17.1.7.1.1.7', '1.3.46.670589.17.1.7.2.1.7'); + cy.wait(1000); + // Compare with dcm2jpg generated values or by manually computing WL values testPixel(258, 257, 171); testPixel(259, 257, 166); @@ -77,6 +83,8 @@ describe('CS3D Image Consistency and Quality', () => { '1.3.6.1.4.1.25403.345050719074.3824.20170125113608.5' ); + cy.wait(1000); + // Compare with dcm2jpg generated values or by manually computing WL values testPixel(258, 277, 120); testPixel(259, 277, 122); diff --git a/platform/app/cypress/integration/volume/MPR.spec.js b/platform/app/cypress/integration/volume/MPR.spec.js index 9929519e5b2..5677468ca30 100644 --- a/platform/app/cypress/integration/volume/MPR.spec.js +++ b/platform/app/cypress/integration/volume/MPR.spec.js @@ -12,7 +12,7 @@ describe('OHIF MPR', () => { it('should go MPR for reconstructible displaySets and come back', () => { cy.wait(250); - cy.get(':nth-child(3) > [data-cy="study-browser-thumbnail"]').dblclick(); + cy.get('[data-cy="study-browser-thumbnail"][data-series="4"]').dblclick(); cy.wait(250); cy.get('[data-cy="MPR"]').click(); @@ -27,7 +27,7 @@ describe('OHIF MPR', () => { it('should render correctly the MPR', () => { cy.wait(250); - cy.get(':nth-child(3) > [data-cy="study-browser-thumbnail"]').dblclick(); + cy.get('[data-cy="study-browser-thumbnail"][data-series="4"]').dblclick(); cy.wait(250); cy.get('[data-cy="MPR"]').click(); @@ -61,7 +61,7 @@ describe('OHIF MPR', () => { }); it('should correctly render Crosshairs for MPR', () => { - cy.get(':nth-child(3) > [data-cy="study-browser-thumbnail"]').dblclick(); + cy.get('[data-cy="study-browser-thumbnail"][data-series="4"]').dblclick(); cy.get('[data-cy="MPR"]').click(); cy.get('[data-cy="Crosshairs"]').click(); @@ -93,7 +93,7 @@ describe('OHIF MPR', () => { }); it('should activate window level when the active Crosshairs tool for MPR is clicked', () => { - cy.get(':nth-child(3) > [data-cy="study-browser-thumbnail"]').dblclick(); + cy.get('[data-cy="study-browser-thumbnail"][data-series="4"]').dblclick(); cy.get('[data-cy="MPR"]').click(); cy.get('[data-cy="Crosshairs"]').click(); diff --git a/platform/app/cypress/support/aliases.js b/platform/app/cypress/support/aliases.js index 0d677f5d250..1453c6f66b5 100644 --- a/platform/app/cypress/support/aliases.js +++ b/platform/app/cypress/support/aliases.js @@ -15,7 +15,7 @@ export function initCornerstoneToolsAliases() { } //Creating aliases for Common page elements -export function initCommonElementsAliases() { +export function initCommonElementsAliases(skipMarkers) { cy.get('[data-cy="trackedMeasurements-btn"]').as('measurementsBtn'); cy.get('.cornerstone-viewport-element').as('viewport'); cy.get('[data-cy="seriesList-btn"]').as('seriesBtn'); @@ -33,8 +33,17 @@ export function initCommonElementsAliases() { cy.get('[data-cy="viewport-overlay-bottom-right"]').as('viewportInfoBottomRight'); cy.get('[data-cy="viewport-overlay-bottom-left"]').as('viewportInfoBottomLeft'); - cy.get('.left-mid.orientation-marker').as('viewportInfoMidLeft'); - cy.get('.top-mid.orientation-marker').as('viewportInfoMidTop'); + console.debug('🚀 ~ skipMarkers:', skipMarkers); + if (skipMarkers) { + return; + } + + try { + cy.get('.left-mid.orientation-marker')?.as('viewportInfoMidLeft'); + cy.get('.top-mid.orientation-marker')?.as('viewportInfoMidTop'); + } catch (error) { + console.log('Error: ', error); + } } //Creating aliases for Routes diff --git a/platform/app/cypress/support/commands.js b/platform/app/cypress/support/commands.js index 4ad7a8f19e9..f8bd42915d7 100644 --- a/platform/app/cypress/support/commands.js +++ b/platform/app/cypress/support/commands.js @@ -232,8 +232,8 @@ Cypress.Commands.add('initCornerstoneToolsAliases', () => { }); //Initialize aliases for Common page elements -Cypress.Commands.add('initCommonElementsAliases', () => { - initCommonElementsAliases(); +Cypress.Commands.add('initCommonElementsAliases', skipMarkers => { + initCommonElementsAliases(skipMarkers); }); //Initialize aliases for Routes diff --git a/platform/app/package.json b/platform/app/package.json index 57f13a86e1e..b2147931442 100644 --- a/platform/app/package.json +++ b/platform/app/package.json @@ -1,6 +1,6 @@ { "name": "@ohif/app", - "version": "3.9.0-beta.57", + "version": "3.9.0-beta.59", "productVersion": "3.4.0", "description": "OHIF Viewer", "author": "OHIF Contributors", @@ -55,23 +55,23 @@ "@cornerstonejs/codec-openjph": "^2.4.5", "@cornerstonejs/dicom-image-loader": "^1.77.6", "@emotion/serialize": "^1.1.3", - "@ohif/core": "3.9.0-beta.57", - "@ohif/extension-cornerstone": "3.9.0-beta.57", - "@ohif/extension-cornerstone-dicom-rt": "3.9.0-beta.57", - "@ohif/extension-cornerstone-dicom-seg": "3.9.0-beta.57", - "@ohif/extension-cornerstone-dicom-sr": "3.9.0-beta.57", - "@ohif/extension-default": "3.9.0-beta.57", - "@ohif/extension-dicom-microscopy": "3.9.0-beta.57", - "@ohif/extension-dicom-pdf": "3.9.0-beta.57", - "@ohif/extension-dicom-video": "3.9.0-beta.57", - "@ohif/extension-test": "3.9.0-beta.57", - "@ohif/i18n": "3.9.0-beta.57", - "@ohif/mode-basic-dev-mode": "3.9.0-beta.57", - "@ohif/mode-longitudinal": "3.9.0-beta.57", - "@ohif/mode-microscopy": "3.9.0-beta.57", - "@ohif/mode-test": "3.9.0-beta.57", - "@ohif/ui": "3.9.0-beta.57", - "@ohif/ui-next": "3.9.0-beta.57", + "@ohif/core": "3.9.0-beta.59", + "@ohif/extension-cornerstone": "3.9.0-beta.59", + "@ohif/extension-cornerstone-dicom-rt": "3.9.0-beta.59", + "@ohif/extension-cornerstone-dicom-seg": "3.9.0-beta.59", + "@ohif/extension-cornerstone-dicom-sr": "3.9.0-beta.59", + "@ohif/extension-default": "3.9.0-beta.59", + "@ohif/extension-dicom-microscopy": "3.9.0-beta.59", + "@ohif/extension-dicom-pdf": "3.9.0-beta.59", + "@ohif/extension-dicom-video": "3.9.0-beta.59", + "@ohif/extension-test": "3.9.0-beta.59", + "@ohif/i18n": "3.9.0-beta.59", + "@ohif/mode-basic-dev-mode": "3.9.0-beta.59", + "@ohif/mode-longitudinal": "3.9.0-beta.59", + "@ohif/mode-microscopy": "3.9.0-beta.59", + "@ohif/mode-test": "3.9.0-beta.59", + "@ohif/ui": "3.9.0-beta.59", + "@ohif/ui-next": "3.9.0-beta.59", "@svgr/webpack": "^8.1.0", "@types/react": "^18.3.3", "classnames": "^2.3.2", diff --git a/platform/app/pluginConfig.json b/platform/app/pluginConfig.json index a910bee9fbf..fc5f4f90fae 100644 --- a/platform/app/pluginConfig.json +++ b/platform/app/pluginConfig.json @@ -88,6 +88,12 @@ "public": [ { "directory": "./platform/public" + }, + { + "packageName": "dicom-microscopy-viewer", + "importPath": "/dicom-microscopy-viewer/dicomMicroscopyViewer.min.js", + "globalName": "dicomMicroscopyViewer", + "directory": "./node_modules/dicom-microscopy-viewer/dist/dynamic-import" } ] } diff --git a/platform/app/public/html-templates/index.html b/platform/app/public/html-templates/index.html index d449a81e3ff..25e718e79b1 100644 --- a/platform/app/public/html-templates/index.html +++ b/platform/app/public/html-templates/index.html @@ -210,6 +210,12 @@ rel="preload" as="style" /> + +