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:
1 parent
ae897c47e0
commit
10b4ed5f8c
41 files changed
+2020
-811
No files matched your search
@@ -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.
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
@@ -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'),
|
||||
|
||||
+20
-4
@@ -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,
|
||||
Reference in new issue
Block a user