feat: new Total Metabolic Tumor Volume tmtv (#2866)

* fix: ptDisplaySet metadata problem

* fix: typo in xhrHeader field

* fix: temporary fix for crosshairs on reload data

* fix hotkey bug for input fields

* upgrade docusarusu to stable release

* circle ci node upgrade

* cypress node upgrade

* bump node in netlify

* bump node version

* remove versioned docs

* update resources

* fix: webpack injection of plugins

* fix meaningful label for panels

* add reviews and fix cli for creation

* copy over chunks if exists in the build

* edit templates

* edit templates

* fix yarn lock

* fix(plugin):Deploy on windows is broken

Co-authored-by: Bill Wallace <wayfarer3130@gmail.com>
This commit is contained in:
AlirezaandBill Wallace authored and GitHub committed 2022-08-17 15:13:59 -04:00
1 parent ae897c47e0
commit 10b4ed5f8c
41 files changed
+2020 -811

No files matched your search

-2
View File
@@ -1,7 +1,5 @@
# Total Metabolic Tumor Volume
# NOTE: THIS MODE IS STILL A WORK IN PROGRESS
## Introduction
Total Metabolic Tumor Volume (TMTV) workflow mode enables quantitatively measurement of a tumor volume in a patient's body.
+5 -4
View File
@@ -3,7 +3,7 @@ import toolbarButtons from './toolbarButtons.js';
import { id } from './id.js';
import initToolGroups, { toolGroupIds } from './initToolGroups.js';
import setCrosshairsConfiguration from './utils/setCrosshairsConfiguration.js';
import setEllipticalROIConfiguration from './utils/setEllipticalROIConfiguration.js';
import setFusionActiveVolume from './utils/setFusionActiveVolume.js';
const ohif = {
layout: '@ohif/extension-default.layoutTemplateModule.viewerLayout',
@@ -58,7 +58,7 @@ function modeFactory({ modeConfiguration }) {
// Init Default and SR ToolGroups
initToolGroups(toolNames, Enums, ToolGroupService, commandsManager);
const activateWindowLevel = () => {
const setWindowLevelActive = () => {
ToolBarService.recordInteraction({
groupId: 'WindowLevel',
itemId: 'WindowLevel',
@@ -97,7 +97,6 @@ function modeFactory({ modeConfiguration }) {
const { unsubscribe } = ToolGroupService.subscribe(
ToolGroupService.EVENTS.VIEWPORT_ADDED,
() => {
activateWindowLevel();
// For fusion toolGroup we need to add the volumeIds for the crosshairs
// since in the fusion viewport we don't want both PT and CT to render MIP
// when slabThickness is modified
@@ -110,12 +109,14 @@ function modeFactory({ modeConfiguration }) {
DisplaySetService
);
setEllipticalROIConfiguration(
setFusionActiveVolume(
matches,
toolNames,
ToolGroupService,
DisplaySetService
);
setWindowLevelActive();
}
);
+4 -4
View File
@@ -67,7 +67,7 @@ function _createWwwcPreset(preset, title, subtitle) {
{
commandName: 'setWindowLevel',
commandOptions: {
windowLevel: windowLevelPresets[preset],
...windowLevelPresets[preset],
},
context: 'CORNERSTONE',
},
@@ -272,8 +272,7 @@ const toolbarButtons = [
commandName: 'displayNotification',
commandOptions: {
title: 'RectangleROI Threshold Tip',
text:
'RectangleROI Threshold tool should be used on PT Axial Viewport',
text: 'RectangleROI Threshold tool should be used on PT Axial Viewport',
type: 'info',
},
},
@@ -307,9 +306,10 @@ const toolbarButtons = [
isAction: true, // ?
renderer: WindowLevelMenuItem,
items: [
_createColormap('HSV', 'hsv'),
_createColormap('Hot Iron', 'hot_iron'),
_createColormap('S PET', 's_pet'),
_createColormap('Ret Hot', 'red_hot'),
_createColormap('Red Hot', 'red_hot'),
_createColormap('Perfusion', 'perfusion'),
_createColormap('Rainbow', 'rainbow_2'),
_createColormap('SUV', 'suv'),
@@ -1,6 +1,6 @@
import { toolGroupIds } from '../initToolGroups';
export default function setEllipticalROIConfiguration(
export default function setFusionActiveVolume(
matches,
toolNames,
ToolGroupService,
@@ -22,16 +22,32 @@ export default function setEllipticalROIConfiguration(
return;
}
const toolConfig = ToolGroupService.getToolConfiguration(
const wlToolConfig = ToolGroupService.getToolConfiguration(
toolGroupIds.Fusion,
toolNames.WindowLevel
);
const ellipticalToolConfig = ToolGroupService.getToolConfiguration(
toolGroupIds.Fusion,
toolNames.EllipticalROI
);
const ellipticalROIConfig = {
...toolConfig,
const windowLevelConfig = {
...wlToolConfig,
volumeId: displaySets[0].displaySetInstanceUID,
};
const ellipticalROIConfig = {
...ellipticalToolConfig,
volumeId: displaySets[0].displaySetInstanceUID,
};
ToolGroupService.setToolConfiguration(
toolGroupIds.Fusion,
toolNames.WindowLevel,
windowLevelConfig
);
ToolGroupService.setToolConfiguration(
toolGroupIds.Fusion,
toolNames.EllipticalROI,