diff --git a/extensions/cornerstone/src/initCornerstoneTools.js b/extensions/cornerstone/src/initCornerstoneTools.js index ce9abf179..bfabc4a01 100644 --- a/extensions/cornerstone/src/initCornerstoneTools.js +++ b/extensions/cornerstone/src/initCornerstoneTools.js @@ -37,6 +37,7 @@ import { SplineROITool, LivewireContourTool, OrientationMarkerTool, + WindowLevelRegionTool, } from '@cornerstonejs/tools'; import CalibrationLineTool from './tools/CalibrationLineTool'; @@ -84,6 +85,7 @@ export default function initCornerstoneTools(configuration = {}) { addTool(SplineROITool); addTool(LivewireContourTool); addTool(OrientationMarkerTool); + addTool(WindowLevelRegionTool); addTool(PlanarFreehandContourSegmentationTool); // Modify annotation tools to use dashed lines on SR @@ -138,6 +140,7 @@ const toolNames = { LivewireContour: LivewireContourTool.toolName, PlanarFreehandROI: PlanarFreehandROITool.toolName, OrientationMarker: OrientationMarkerTool.toolName, + WindowLevelRegion: WindowLevelRegionTool.toolName, PlanarFreehandContourSegmentation: PlanarFreehandContourSegmentationTool.toolName, }; diff --git a/modes/basic-test-mode/src/index.ts b/modes/basic-test-mode/src/index.ts index 7cb9eda04..9a9988313 100644 --- a/modes/basic-test-mode/src/index.ts +++ b/modes/basic-test-mode/src/index.ts @@ -83,6 +83,7 @@ function modeFactory() { 'MeasurementTools', 'Zoom', 'WindowLevel', + 'WindowLevelRegion', 'Pan', 'Capture', 'Layout', diff --git a/modes/basic-test-mode/src/initToolGroups.ts b/modes/basic-test-mode/src/initToolGroups.ts index 29cb8f4fd..b97e18b72 100644 --- a/modes/basic-test-mode/src/initToolGroups.ts +++ b/modes/basic-test-mode/src/initToolGroups.ts @@ -62,7 +62,7 @@ function initDefaultToolGroup(extensionManager, toolGroupService, commandsManage { toolName: toolNames.Angle }, { toolName: toolNames.Magnify }, { toolName: toolNames.SegmentationDisplay }, - + { toolName: toolNames.WindowLevelRegion }, { toolName: toolNames.UltrasoundDirectional }, { toolName: toolNames.PlanarFreehandROI }, { toolName: toolNames.SplineROI }, @@ -125,6 +125,7 @@ function initSRToolGroup(extensionManager, toolGroupService, commandsManager) { { toolName: SRToolNames.SRBidirectional }, { toolName: SRToolNames.SREllipticalROI }, { toolName: SRToolNames.SRCircleROI }, + { toolName: toolNames.WindowLevelRegion }, ], enabled: [ { @@ -193,6 +194,7 @@ function initMPRToolGroup(extensionManager, toolGroupService, commandsManager) { { toolName: toolNames.StackScroll }, { toolName: toolNames.Angle }, { toolName: toolNames.SegmentationDisplay }, + { toolName: toolNames.WindowLevelRegion }, ], disabled: [ { diff --git a/modes/basic-test-mode/src/moreTools.ts b/modes/basic-test-mode/src/moreTools.ts index d23ce41ea..13ab82915 100644 --- a/modes/basic-test-mode/src/moreTools.ts +++ b/modes/basic-test-mode/src/moreTools.ts @@ -137,7 +137,7 @@ const moreTools = [ }), createButton({ id: 'CobbAngle', - icon: 'tool-angle', + icon: 'icon-tool-cobb-angle', label: 'Cobb Angle', tooltip: 'Cobb Angle', commands: setToolActiveToolbar, diff --git a/modes/basic-test-mode/src/toolbarButtons.ts b/modes/basic-test-mode/src/toolbarButtons.ts index 59e5bf59c..93befc38d 100644 --- a/modes/basic-test-mode/src/toolbarButtons.ts +++ b/modes/basic-test-mode/src/toolbarButtons.ts @@ -167,6 +167,16 @@ const toolbarButtons: Button[] = [ ], }, }, + { + id: 'WindowLevelRegion', + uiType: 'ohif.radioGroup', + props: { + icon: 'icon-tool-window-region', + label: 'Window Level Region', + commands: setToolActiveToolbar, + evaluate: 'evaluate.cornerstoneTool', + }, + }, // Pan... { id: 'Pan', diff --git a/modes/longitudinal/src/index.ts b/modes/longitudinal/src/index.ts index ac05c4e84..c3d094993 100644 --- a/modes/longitudinal/src/index.ts +++ b/modes/longitudinal/src/index.ts @@ -100,6 +100,7 @@ function modeFactory({ modeConfiguration }) { 'Pan', 'TrackballRotate', 'WindowLevel', + 'WindowLevelRegion', 'Capture', 'Layout', 'Crosshairs', diff --git a/modes/longitudinal/src/initToolGroups.js b/modes/longitudinal/src/initToolGroups.js index 172e1d436..d50bf4fe9 100644 --- a/modes/longitudinal/src/initToolGroups.js +++ b/modes/longitudinal/src/initToolGroups.js @@ -87,6 +87,7 @@ function initDefaultToolGroup( { toolName: toolNames.PlanarFreehandROI }, { toolName: toolNames.SplineROI }, { toolName: toolNames.LivewireContour }, + { toolName: toolNames.WindowLevelRegion }, ], enabled: [{ toolName: toolNames.ImageOverlayViewer }, { toolName: toolNames.ReferenceLines }], disabled: [ @@ -153,6 +154,7 @@ function initSRToolGroup(extensionManager, toolGroupService) { { toolName: SRToolNames.SRCircleROI }, { toolName: SRToolNames.SRPlanarFreehandROI }, { toolName: SRToolNames.SRRectangleROI }, + { toolName: toolNames.WindowLevelRegion }, { toolName: SRToolNames.SRPlanarFreehandContourSegmentation, configuration: { @@ -236,6 +238,7 @@ function initMPRToolGroup(extensionManager, toolGroupService, commandsManager, m { toolName: toolNames.CobbAngle }, { toolName: toolNames.PlanarFreehandROI }, { toolName: toolNames.SegmentationDisplay }, + { toolName: toolNames.WindowLevelRegion }, { toolName: toolNames.PlanarFreehandContourSegmentation, configuration: { diff --git a/modes/longitudinal/src/moreTools.ts b/modes/longitudinal/src/moreTools.ts index 120e0f403..39ca15822 100644 --- a/modes/longitudinal/src/moreTools.ts +++ b/modes/longitudinal/src/moreTools.ts @@ -137,7 +137,7 @@ const moreTools = [ }), createButton({ id: 'CobbAngle', - icon: 'tool-angle', + icon: 'icon-tool-cobb-angle', label: 'Cobb Angle', tooltip: 'Cobb Angle', commands: setToolActiveToolbar, diff --git a/modes/longitudinal/src/toolbarButtons.ts b/modes/longitudinal/src/toolbarButtons.ts index 9b98db3fa..a2ed8fd7d 100644 --- a/modes/longitudinal/src/toolbarButtons.ts +++ b/modes/longitudinal/src/toolbarButtons.ts @@ -129,6 +129,16 @@ const toolbarButtons: Button[] = [ evaluate: 'evaluate.cornerstoneTool', }, }, + { + id: 'WindowLevelRegion', + uiType: 'ohif.radioGroup', + props: { + icon: 'icon-tool-window-region', + label: 'Window Level Region', + commands: setToolActiveToolbar, + evaluate: 'evaluate.cornerstoneTool', + }, + }, // Pan... { id: 'Pan', diff --git a/modes/segmentation/src/index.tsx b/modes/segmentation/src/index.tsx index 30961fe1f..11c5b18fd 100644 --- a/modes/segmentation/src/index.tsx +++ b/modes/segmentation/src/index.tsx @@ -66,6 +66,7 @@ function modeFactory({ modeConfiguration }) { toolbarService.createButtonSection('primary', [ 'WindowLevel', + 'WindowLevelRegion', 'Pan', 'Zoom', 'TrackballRotate', diff --git a/modes/segmentation/src/initToolGroups.ts b/modes/segmentation/src/initToolGroups.ts index 02e84d14f..babfe4a11 100644 --- a/modes/segmentation/src/initToolGroups.ts +++ b/modes/segmentation/src/initToolGroups.ts @@ -87,6 +87,7 @@ function createTools(utilityModule) { { toolName: toolNames.StackScroll }, { toolName: toolNames.Magnify }, { toolName: toolNames.SegmentationDisplay }, + { toolName: toolNames.WindowLevelRegion }, { toolName: toolNames.UltrasoundDirectional }, ], diff --git a/modes/segmentation/src/toolbarButtons.ts b/modes/segmentation/src/toolbarButtons.ts index 1aaf42045..9c9a13cd0 100644 --- a/modes/segmentation/src/toolbarButtons.ts +++ b/modes/segmentation/src/toolbarButtons.ts @@ -38,6 +38,16 @@ const toolbarButtons: Button[] = [ evaluate: 'evaluate.cornerstoneTool', }, }, + { + id: 'WindowLevelRegion', + uiType: 'ohif.radioGroup', + props: { + icon: 'icon-tool-window-region', + label: 'Window Level Region', + commands: setToolActiveToolbar, + evaluate: 'evaluate.cornerstoneTool', + }, + }, { id: 'Pan', uiType: 'ohif.radioGroup', diff --git a/platform/ui/src/assets/icons/tool-cobb-angle.svg b/platform/ui/src/assets/icons/tool-cobb-angle.svg new file mode 100644 index 000000000..debb0397b --- /dev/null +++ b/platform/ui/src/assets/icons/tool-cobb-angle.svg @@ -0,0 +1,14 @@ + + + tool-cobb-angle + + + + + + + + + + + \ No newline at end of file diff --git a/platform/ui/src/assets/icons/tool-window-region.svg b/platform/ui/src/assets/icons/tool-window-region.svg new file mode 100644 index 000000000..29230e82c --- /dev/null +++ b/platform/ui/src/assets/icons/tool-window-region.svg @@ -0,0 +1,12 @@ + + + tool-window-region + + + + + + + + + \ No newline at end of file diff --git a/platform/ui/src/components/Icon/getIcon.js b/platform/ui/src/components/Icon/getIcon.js index 9a3e24e1f..e899c1a42 100644 --- a/platform/ui/src/components/Icon/getIcon.js +++ b/platform/ui/src/components/Icon/getIcon.js @@ -173,6 +173,8 @@ import { ReactComponent as iconToolRotate } from './../../assets/icons/tool-3d-r import { ReactComponent as tab4D } from './../../assets/icons/tab-4d.svg'; import { ReactComponent as investigationalUse } from './../../assets/icons/illustration-investigational-use.svg'; import { ReactComponent as actionNewDialog } from './../../assets/icons/action-new-dialog.svg'; +import { ReactComponent as iconToolCobbAngle } from './../../assets/icons/tool-cobb-angle.svg'; +import { ReactComponent as iconToolWindowRegion } from './../../assets/icons/tool-window-region.svg'; import CTAAA from './../../assets/icons/CT-AAA.png'; import CTAAA2 from './../../assets/icons/CT-AAA2.png'; @@ -358,6 +360,8 @@ const ICONS = { 'icon-tool-spline-roi': iconToolSplineRoi, 'icon-tool-ultrasound-bidirectional': iconToolUltrasoundBidirectional, 'icon-tool-loupe': iconToolLoupe, + 'icon-tool-cobb-angle': iconToolCobbAngle, + 'icon-tool-window-region': iconToolWindowRegion, /** Old OHIF */ 'old-trash': oldTrash, 'old-play': oldPlay,