From 0b6f5f5bec6d2c34906dab2d02ff9528fef6d66e Mon Sep 17 00:00:00 2001 From: Igor Octaviano Date: Thu, 28 May 2026 16:30:16 -0300 Subject: [PATCH] Update auto load and hide modes --- extensions/cornerstone/src/commandsModule.ts | 21 +++++++++++++++++--- idc-assets/app-config-template.js | 11 ++++++++++ platform/app/.webpack/webpack.pwa.js | 2 ++ platform/app/pluginConfig.json | 7 +++++++ platform/app/public/config/default.js | 11 ++++++++++ 5 files changed, 49 insertions(+), 3 deletions(-) diff --git a/extensions/cornerstone/src/commandsModule.ts b/extensions/cornerstone/src/commandsModule.ts index b29c0bc7ab3..3ac97edb20b 100644 --- a/extensions/cornerstone/src/commandsModule.ts +++ b/extensions/cornerstone/src/commandsModule.ts @@ -195,7 +195,8 @@ function commandsModule({ const loadDerivedDisplaySetsForActiveViewport = async ( modalities: string[], - onLoadComplete: (displaySet: any, activeViewportId: string) => Promise | void + onLoadComplete: (displaySet: any, activeViewportId: string) => Promise | void, + filterDisplaySet?: (displaySet: DisplaySet) => boolean ): Promise => { const activeViewportId = viewportGridService.getActiveViewportId(); if (!activeViewportId) { @@ -211,7 +212,10 @@ function commandsModule({ } const primaryDisplaySetUID = displaySetInstanceUIDs[0]; - const derivedDisplaySets = getDerivedData(modalities, primaryDisplaySetUID); + let derivedDisplaySets = getDerivedData(modalities, primaryDisplaySetUID); + if (filterDisplaySet) { + derivedDisplaySets = derivedDisplaySets.filter(filterDisplaySet); + } if (!derivedDisplaySets.length) { console.warn('No derived data found for active viewport!'); return false; @@ -278,6 +282,16 @@ function commandsModule({ const actions = { loadSegmentationsForActiveViewport: async () => { + const initialSeriesInstanceUID = utils.getSplitParam('initialseriesinstanceuid'); + if (!initialSeriesInstanceUID?.length) { + return; + } + + const matchesInitialSeries = (displaySet: DisplaySet) => + initialSeriesInstanceUID.some( + seriesUID => displaySet.SeriesInstanceUID === seriesUID + ); + console.info('Loading segmentations for active viewport...'); const loaded = await loadDerivedDisplaySetsForActiveViewport( @@ -292,7 +306,8 @@ function commandsModule({ segmentationId: displaySet.displaySetInstanceUID, type: representationType, }); - } + }, + matchesInitialSeries ); if (!loaded) { diff --git a/idc-assets/app-config-template.js b/idc-assets/app-config-template.js index e6c66f40a82..342f65c2a8e 100644 --- a/idc-assets/app-config-template.js +++ b/idc-assets/app-config-template.js @@ -1,5 +1,16 @@ window.config = { routerBasename: '/v3', + modesConfiguration: { + '@ohif/mode-ultrasound-pleura-bline': { + hide: { $set: true }, + }, + '@ohif/mode-segmentation': { + hide: { $set: true }, + }, + 'ohif-gcp-mode': { + hide: { $set: true }, + } + }, whiteLabeling: { createLogoComponentFn: function (React) { return React.createElement( diff --git a/platform/app/.webpack/webpack.pwa.js b/platform/app/.webpack/webpack.pwa.js index 2bbfbc916f3..6680bc6860d 100644 --- a/platform/app/.webpack/webpack.pwa.js +++ b/platform/app/.webpack/webpack.pwa.js @@ -80,6 +80,8 @@ module.exports = (env, argv) => { // Hoisted Yarn Workspace Modules path.resolve(__dirname, '../../../node_modules'), SRC_DIR, + path.resolve(__dirname, '../ohif-gcp-extension/node_modules'), + path.resolve(__dirname, '../ohif-gcp-mode/node_modules'), ], }, plugins: [ diff --git a/platform/app/pluginConfig.json b/platform/app/pluginConfig.json index d48b77e83b3..e1f9c7e9908 100644 --- a/platform/app/pluginConfig.json +++ b/platform/app/pluginConfig.json @@ -81,6 +81,9 @@ { "packageName": "@ohif/mode-basic" }, + { + "packageName": "@ohif/mode-segmentation" + }, { "packageName": "@ohif/mode-tmtv" }, @@ -100,6 +103,10 @@ "default": false, "version": "3.0.0" }, + { + "packageName": "@ohif/mode-ultrasound-pleura-bline", + "version": "3.0.0" + }, { "packageName": "ohif-gcp-mode", "version": "0.0.1" diff --git a/platform/app/public/config/default.js b/platform/app/public/config/default.js index 59596a43966..56f4962841e 100644 --- a/platform/app/public/config/default.js +++ b/platform/app/public/config/default.js @@ -397,6 +397,17 @@ window.config = { }, }, ], + modesConfiguration: { + '@ohif/mode-ultrasound-pleura-bline': { + hide: { $set: true }, + }, + '@ohif/mode-segmentation': { + hide: { $set: true }, + }, + 'ohif-gcp-mode': { + hide: { $set: true }, + } + }, // oidc: [ // { // authority: 'https://accounts.google.com',