fix(TMTV): Consider blend mode when adding segmentation representations. OHIF-2416, OHIF-2369 (#5735)

* Updated screenshots for failing tests due to FOV improvements.

---------

Co-authored-by: Bill Wallace <wayfarer3130@gmail.com>
This commit is contained in:
Joe BoccanfusoandBill Wallace authored and GitHub committed 2026-01-27 08:47:29 -05:00
1 parent 0321361e2c
commit 06612fe177
45 files changed
+289 -276

No files matched your search

@@ -46,8 +46,8 @@
},
"dependencies": {
"@babel/runtime": "7.28.2",
"@cornerstonejs/adapters": "4.15.9",
"@cornerstonejs/core": "4.15.9",
"@cornerstonejs/adapters": "4.15.20",
"@cornerstonejs/core": "4.15.20",
"@kitware/vtk.js": "34.15.1",
"react-color": "2.19.3"
}
@@ -46,8 +46,8 @@
},
"dependencies": {
"@babel/runtime": "7.28.2",
"@cornerstonejs/adapters": "4.15.9",
"@cornerstonejs/core": "4.15.9",
"@cornerstonejs/adapters": "4.15.20",
"@cornerstonejs/core": "4.15.20",
"@kitware/vtk.js": "34.15.1",
"react-color": "2.19.3"
}
+4 -4
View File
@@ -38,7 +38,7 @@
"@ohif/extension-cornerstone": "3.12.0-beta.127",
"@ohif/extension-measurement-tracking": "3.12.0-beta.127",
"@ohif/ui": "3.12.0-beta.127",
"dcmjs": "0.45.0",
"dcmjs": "0.48.0",
"dicom-parser": "1.8.21",
"hammerjs": "2.0.8",
"prop-types": "15.8.1",
@@ -46,9 +46,9 @@
},
"dependencies": {
"@babel/runtime": "7.28.2",
"@cornerstonejs/adapters": "4.15.9",
"@cornerstonejs/core": "4.15.9",
"@cornerstonejs/tools": "4.15.9",
"@cornerstonejs/adapters": "4.15.20",
"@cornerstonejs/core": "4.15.20",
"@cornerstonejs/tools": "4.15.20",
"classnames": "2.5.1"
}
}
@@ -34,7 +34,7 @@
"@ohif/extension-default": "3.12.0-beta.127",
"@ohif/i18n": "3.12.0-beta.127",
"@ohif/ui": "3.12.0-beta.127",
"dcmjs": "0.45.0",
"dcmjs": "0.48.0",
"dicom-parser": "1.8.21",
"hammerjs": "2.0.8",
"prop-types": "15.8.1",
@@ -42,8 +42,8 @@
},
"dependencies": {
"@babel/runtime": "7.28.2",
"@cornerstonejs/core": "4.15.9",
"@cornerstonejs/tools": "4.15.9",
"@cornerstonejs/core": "4.15.20",
"@cornerstonejs/tools": "4.15.20",
"classnames": "2.5.1"
}
}
+9 -8
View File
@@ -40,10 +40,10 @@
"@cornerstonejs/codec-libjpeg-turbo-8bit": "1.2.2",
"@cornerstonejs/codec-openjpeg": "1.3.0",
"@cornerstonejs/codec-openjph": "2.4.7",
"@cornerstonejs/dicom-image-loader": "4.15.9",
"@cornerstonejs/dicom-image-loader": "4.15.20",
"@ohif/core": "3.12.0-beta.127",
"@ohif/ui": "3.12.0-beta.127",
"dcmjs": "0.45.0",
"dcmjs": "0.48.0",
"dicom-parser": "1.8.21",
"hammerjs": "2.0.8",
"prop-types": "15.8.1",
@@ -53,13 +53,14 @@
},
"dependencies": {
"@babel/runtime": "7.28.2",
"@cornerstonejs/adapters": "4.15.9",
"@cornerstonejs/ai": "4.15.9",
"@cornerstonejs/core": "4.15.9",
"@cornerstonejs/labelmap-interpolation": "4.15.9",
"@cornerstonejs/polymorphic-segmentation": "4.15.9",
"@cornerstonejs/tools": "4.15.9",
"@cornerstonejs/adapters": "4.15.20",
"@cornerstonejs/ai": "4.15.20",
"@cornerstonejs/core": "4.15.20",
"@cornerstonejs/labelmap-interpolation": "4.15.20",
"@cornerstonejs/polymorphic-segmentation": "4.15.20",
"@cornerstonejs/tools": "4.15.20",
"@itk-wasm/morphological-contour-interpolation": "1.1.0",
"@icr/polyseg-wasm": "0.4.0",
"@kitware/vtk.js": "34.15.1",
"html2canvas": "1.4.1",
"lodash.compact": "3.0.1",
@@ -91,7 +91,7 @@ const segmentationRepresentationModifiedCallback = async (
type,
config: {
blendMode:
viewport.getBlendMode() === 1 ? BlendModes.LABELMAP_EDGE_PROJECTION_BLEND : undefined,
viewport?.getBlendMode?.() === 1 ? BlendModes.LABELMAP_EDGE_PROJECTION_BLEND : undefined,
},
});
};
@@ -38,6 +38,7 @@ import { usePositionPresentationStore } from '../../stores/usePositionPresentati
import { useSynchronizersStore } from '../../stores/useSynchronizersStore';
import { useSegmentationPresentationStore } from '../../stores/useSegmentationPresentationStore';
import getClosestOrientationFromIOP from '../../utils/isReferenceViewable';
import { BlendModes } from '@cornerstonejs/core/enums';
const EVENTS = {
VIEWPORT_DATA_CHANGED: 'event::cornerstoneViewportService:viewportDataChanged',
@@ -1192,6 +1193,10 @@ class CornerstoneViewportService extends PubSubService implements IViewportServi
segmentationId,
predecessorImageId,
type: representationType,
config: {
blendMode:
viewport?.getBlendMode?.() === 1 ? BlendModes.LABELMAP_EDGE_PROJECTION_BLEND : undefined,
},
});
// store the segmentation presentation id in the viewport info
@@ -1457,6 +1462,12 @@ class CornerstoneViewportService extends PubSubService implements IViewportServi
segmentationService.addSegmentationRepresentation(viewport.id, {
segmentationId,
type: representationType,
config: {
blendMode:
viewport?.getBlendMode?.() === 1
? BlendModes.LABELMAP_EDGE_PROJECTION_BLEND
: undefined,
},
});
}
});
+1 -1
View File
@@ -36,7 +36,7 @@
"peerDependencies": {
"@ohif/core": "3.12.0-beta.127",
"@ohif/i18n": "3.12.0-beta.127",
"dcmjs": "0.45.0",
"dcmjs": "0.48.0",
"dicomweb-client": "0.10.4",
"prop-types": "15.8.1",
"react": "18.3.1",
+1 -1
View File
@@ -32,7 +32,7 @@
"peerDependencies": {
"@ohif/core": "3.12.0-beta.127",
"@ohif/ui": "3.12.0-beta.127",
"dcmjs": "0.45.0",
"dcmjs": "0.48.0",
"dicom-parser": "1.8.21",
"hammerjs": "2.0.8",
"prop-types": "15.8.1",
+1 -1
View File
@@ -32,7 +32,7 @@
"peerDependencies": {
"@ohif/core": "3.12.0-beta.127",
"@ohif/ui": "3.12.0-beta.127",
"dcmjs": "0.45.0",
"dcmjs": "0.48.0",
"dicom-parser": "1.8.21",
"hammerjs": "2.0.8",
"prop-types": "15.8.1",
+3 -3
View File
@@ -32,14 +32,14 @@
"start": "yarn run dev"
},
"peerDependencies": {
"@cornerstonejs/core": "4.15.9",
"@cornerstonejs/tools": "4.15.9",
"@cornerstonejs/core": "4.15.20",
"@cornerstonejs/tools": "4.15.20",
"@ohif/core": "3.12.0-beta.127",
"@ohif/extension-cornerstone-dicom-sr": "3.12.0-beta.127",
"@ohif/extension-default": "3.12.0-beta.127",
"@ohif/ui": "3.12.0-beta.127",
"classnames": "2.5.1",
"dcmjs": "0.45.0",
"dcmjs": "0.48.0",
"lodash.debounce": "4.0.8",
"prop-types": "15.8.1",
"react": "18.3.1",
+1 -1
View File
@@ -32,7 +32,7 @@
"peerDependencies": {
"@ohif/core": "3.12.0-beta.127",
"@ohif/ui": "3.12.0-beta.127",
"dcmjs": "0.45.0",
"dcmjs": "0.48.0",
"dicom-parser": "1.8.21",
"hammerjs": "2.0.8",
"prop-types": "15.8.1",
+1 -1
View File
@@ -32,7 +32,7 @@
"peerDependencies": {
"@ohif/core": "3.12.0-beta.127",
"@ohif/ui": "3.12.0-beta.127",
"dcmjs": "0.45.0",
"dcmjs": "0.48.0",
"dicom-parser": "1.8.21",
"hammerjs": "2.0.8",
"prop-types": "15.8.1",
+2 -2
View File
@@ -42,8 +42,8 @@
},
"dependencies": {
"@babel/runtime": "7.28.2",
"@cornerstonejs/core": "4.15.9",
"@cornerstonejs/tools": "4.15.9",
"@cornerstonejs/core": "4.15.20",
"@cornerstonejs/tools": "4.15.20",
"@ohif/core": "3.12.0-beta.127",
"@ohif/extension-cornerstone": "3.12.0-beta.127",
"@ohif/extension-default": "3.12.0-beta.127",