@ohif/app 3.8.0-beta.7 → 3.8.0-beta.70
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{220.bundle.f7e1c96c94245e70f2be.js → 109.bundle.b4fee2a22b622839baf5.js} +4466 -3715
- package/dist/{471.bundle.49c8d281adbae4a2c4df.js → 121.bundle.21827fec690c01ee9ab3.js} +85 -112
- package/dist/{19.bundle.e5579df6d7b74af50b1d.js → 155.bundle.0dabe8513b605b01ac3d.js} +334 -287
- package/dist/{687.bundle.9d0330ea5d61fe3117da.js → 164.bundle.0b1a2be351543c1433e8.js} +22 -38
- package/dist/17dd54813d5acc10bf8f.wasm +0 -0
- package/dist/{506.bundle.ab8226d3d81abe874544.js → 188.bundle.81e83b073b6fd4ae0058.js} +23 -28
- package/dist/191.bundle.7d89c921abefd1140d50.js +30360 -0
- package/dist/{221.bundle.c2dc03d8fa4235dc1285.js → 2.bundle.04dbbf67a52fe109749c.js} +351 -546
- package/dist/20fc4c659b85ccd2a9c0.wasm +0 -0
- package/dist/290.bundle.952de53057f98e2c5ef0.js +8883 -0
- package/dist/{451.bundle.57c21db5d003c75e9d61.js → 295.bundle.3a0d5062d65296c4bf5d.js} +102 -127
- package/dist/{125.bundle.253395f320b72180da63.js → 297.bundle.194d8985ab974839b5b6.js} +7 -8
- package/dist/{202.bundle.d3490836f71e001dd30f.js → 342.bundle.6e49f63ea7cea4645c0a.js} +544 -860
- package/dist/41.bundle.6ec0794a483e9a30eb94.js +831 -0
- package/dist/425.bundle.ffcdde2143a5757926b9.js +2957 -0
- package/dist/425.css +2 -0
- package/dist/{126.bundle.42df2dafc9c0310da188.js → 448.bundle.9177b9d909654efbc8d5.js} +316 -427
- package/dist/{957.bundle.9ea4506963ef8b2d84ba.js → 504.bundle.993d7e2dec36257d4ce4.js} +14338 -27291
- package/dist/{886.bundle.c8dd3ecc42a4253de278.js → 530.bundle.566bfd08dccb4cf6d98b.js} +75 -105
- package/dist/{250.bundle.aea3335667054bdefe36.js → 544.bundle.1110b24e96863d719a95.js} +39 -56
- package/dist/{663.bundle.9f359963019cd8ccf8f9.js → 559.bundle.4f111410af43324629ca.js} +151 -147
- package/dist/{181.bundle.a62b9f0ec692299acb35.js → 574.bundle.83afbc7922736fc6846d.js} +1246 -289
- package/dist/{181.css → 574.css} +1 -1
- package/dist/{410.bundle.38c9d3820e152e89288e.js → 594.bundle.ffeebda1bb9a81182a80.js} +183 -221
- package/dist/{776.bundle.004382036bdbd8ee2b95.js → 595.bundle.1c1a50c4ff87763b786a.js} +3128 -1028
- package/dist/{774.bundle.4b2dc46a35012b898e1a.js → 644.bundle.1e77691d2eeb96a423b0.js} +1852 -8945
- package/dist/699.bundle.db05df7b8e2ad605e928.js +767 -0
- package/dist/{359.bundle.8abe0036a7bf6b5fd115.js → 724.bundle.eada9d6c23678a5a2947.js} +130 -254
- package/dist/{757.bundle.ec8301d8e70d2b990f65.js → 726.bundle.c8de818cf1a3ff0cf7d2.js} +512 -879
- package/dist/{530.bundle.a03b6f942ace3e1baa1e.js → 835.bundle.15aff0b7433bb0dd6d6d.js} +37 -30
- package/dist/{822.bundle.82cdc418f8f56da6060b.js → 862.bundle.959ef65b18c1d3b5e2b4.js} +77 -96
- package/dist/{236.bundle.c9e70d55e7b2574c1ecd.js → 889.bundle.67c6e5f988c9b1d289ef.js} +198 -197
- package/dist/{342.bundle.d9668551811e3a88aaa4.js → 90.bundle.f41c8c4fc78cdfd4de30.js} +1430 -1055
- package/dist/{281.bundle.16a2933086a57e60c96c.js → 905.bundle.eb821474b36b96b897f9.js} +155 -122
- package/dist/{814.bundle.a1aba9c1e3d336008351.js → 907.bundle.ca904d9747480a0e4bf1.js} +16 -30
- package/dist/{417.bundle.af0a207c29b109f84159.js → 931.bundle.d270a1fda9a2836c3cc5.js} +26 -26
- package/dist/{686.bundle.dccef1f36e4bc79bcc48.js → 939.bundle.9d93b2e47c52338747a2.js} +7 -8
- package/dist/{12.bundle.37a8b47d2ae587cb9226.js → 961.bundle.65967b1a4af002af1d1d.js} +16 -31
- package/dist/987.bundle.6bdfb3cd8762b8889632.js +122950 -0
- package/dist/app-config.js +1 -0
- package/dist/app.bundle.css +15 -13
- package/dist/{app.bundle.437d085e13599d1e1ced.js → app.bundle.e21e5afd46fb064cb5de.js} +147713 -61638
- package/dist/assets/images/CT-AAA.png +0 -0
- package/dist/assets/images/CT-AAA2.png +0 -0
- package/dist/assets/images/CT-Air.png +0 -0
- package/dist/assets/images/CT-Bone.png +0 -0
- package/dist/assets/images/CT-Bones.png +0 -0
- package/dist/assets/images/CT-Cardiac.png +0 -0
- package/dist/assets/images/CT-Cardiac2.png +0 -0
- package/dist/assets/images/CT-Cardiac3.png +0 -0
- package/dist/assets/images/CT-Chest-Contrast-Enhanced.png +0 -0
- package/dist/assets/images/CT-Chest-Vessels.png +0 -0
- package/dist/assets/images/CT-Coronary-Arteries-2.png +0 -0
- package/dist/assets/images/CT-Coronary-Arteries-3.png +0 -0
- package/dist/assets/images/CT-Coronary-Arteries.png +0 -0
- package/dist/assets/images/CT-Cropped-Volume-Bone.png +0 -0
- package/dist/assets/images/CT-Fat.png +0 -0
- package/dist/assets/images/CT-Liver-Vasculature.png +0 -0
- package/dist/assets/images/CT-Lung.png +0 -0
- package/dist/assets/images/CT-MIP.png +0 -0
- package/dist/assets/images/CT-Muscle.png +0 -0
- package/dist/assets/images/CT-Pulmonary-Arteries.png +0 -0
- package/dist/assets/images/CT-Soft-Tissue.png +0 -0
- package/dist/assets/images/DTI-FA-Brain.png +0 -0
- package/dist/assets/images/MR-Angio.png +0 -0
- package/dist/assets/images/MR-Default.png +0 -0
- package/dist/assets/images/MR-MIP.png +0 -0
- package/dist/assets/images/MR-T2-Brain.png +0 -0
- package/dist/assets/images/VolumeRendering.png +0 -0
- package/dist/cornerstoneDICOMImageLoader.min.js +1 -1
- package/dist/cornerstoneDICOMImageLoader.min.js.map +1 -1
- package/dist/{dicom-microscopy-viewer.bundle.2c146384eb9466d02ff8.js → dicom-microscopy-viewer.bundle.d3a56dc9f62df5e11019.js} +3 -3
- package/dist/index.html +1 -1
- package/dist/{index.worker.e62ecca63f1a2e124230.worker.js → index.worker.64c896c4316fcd506666.worker.js} +2 -2
- package/dist/index.worker.64c896c4316fcd506666.worker.js.map +1 -0
- package/dist/polySeg.bundle.e7b4c29fb9173e8567b8.js +252 -0
- package/dist/serve.json +12 -0
- package/dist/sw.js +1 -1
- package/package.json +25 -22
- package/dist/23.bundle.e008ad788170f2ed5569.js +0 -900
- package/dist/604.bundle.a51f83e64004bca5f497.js +0 -1848
- package/dist/613.bundle.aed640a7900dbcb688f5.js +0 -532
- package/dist/743.bundle.489f7df3a089d4d374e1.js +0 -78007
- package/dist/75788f12450d4c5ed494.wasm +0 -0
- package/dist/775.bundle.2285e7e0e67878948c0d.js +0 -1009
- package/dist/788.bundle.dcd53828d1bb2ac64d04.js +0 -2682
- package/dist/82.bundle.5a94dd7645e5c5476f59.js +0 -1049
- package/dist/index.worker.e62ecca63f1a2e124230.worker.js.map +0 -1
- /package/dist/{19.css → 155.css} +0 -0
- /package/dist/{221.css → 2.css} +0 -0
- /package/dist/{579.css → 481.css} +0 -0
- /package/dist/{250.css → 544.css} +0 -0
- /package/dist/{776.css → 595.css} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
(
|
|
2
|
+
(globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[724],{
|
|
3
3
|
|
|
4
|
-
/***/
|
|
4
|
+
/***/ 28724:
|
|
5
5
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
6
6
|
|
|
7
7
|
// ESM COMPAT FLAG
|
|
@@ -12,10 +12,8 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
12
12
|
"default": () => (/* binding */ tmtv_src)
|
|
13
13
|
});
|
|
14
14
|
|
|
15
|
-
// EXTERNAL MODULE: ../../core/src/index.ts +
|
|
16
|
-
var src = __webpack_require__(
|
|
17
|
-
// EXTERNAL MODULE: ../../ui/src/index.js + 486 modules
|
|
18
|
-
var ui_src = __webpack_require__(22582);
|
|
15
|
+
// EXTERNAL MODULE: ../../core/src/index.ts + 68 modules
|
|
16
|
+
var src = __webpack_require__(85073);
|
|
19
17
|
;// CONCATENATED MODULE: ../../../modes/tmtv/src/initToolGroups.js
|
|
20
18
|
const toolGroupIds = {
|
|
21
19
|
CT: 'ctToolGroup',
|
|
@@ -25,8 +23,7 @@ const toolGroupIds = {
|
|
|
25
23
|
default: 'default'
|
|
26
24
|
// MPR: 'mpr',
|
|
27
25
|
};
|
|
28
|
-
|
|
29
|
-
function _initToolGroups(toolNames, Enums, toolGroupService, commandsManager) {
|
|
26
|
+
function _initToolGroups(toolNames, Enums, toolGroupService, commandsManager, modeLabelConfig) {
|
|
30
27
|
const tools = {
|
|
31
28
|
active: [{
|
|
32
29
|
toolName: toolNames.WindowLevel,
|
|
@@ -53,16 +50,24 @@ function _initToolGroups(toolNames, Enums, toolGroupService, commandsManager) {
|
|
|
53
50
|
toolName: toolNames.ArrowAnnotate,
|
|
54
51
|
configuration: {
|
|
55
52
|
getTextCallback: (callback, eventDetails) => {
|
|
56
|
-
|
|
57
|
-
callback
|
|
58
|
-
|
|
59
|
-
|
|
53
|
+
if (modeLabelConfig) {
|
|
54
|
+
callback(' ');
|
|
55
|
+
} else {
|
|
56
|
+
commandsManager.runCommand('arrowTextCallback', {
|
|
57
|
+
callback,
|
|
58
|
+
eventDetails
|
|
59
|
+
});
|
|
60
|
+
}
|
|
60
61
|
},
|
|
61
|
-
changeTextCallback: (data, eventDetails, callback) =>
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
62
|
+
changeTextCallback: (data, eventDetails, callback) => {
|
|
63
|
+
if (modeLabelConfig === undefined) {
|
|
64
|
+
commandsManager.runCommand('arrowTextCallback', {
|
|
65
|
+
callback,
|
|
66
|
+
data,
|
|
67
|
+
eventDetails
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
}
|
|
66
71
|
}
|
|
67
72
|
}, {
|
|
68
73
|
toolName: toolNames.Bidirectional
|
|
@@ -90,6 +95,7 @@ function _initToolGroups(toolNames, Enums, toolGroupService, commandsManager) {
|
|
|
90
95
|
toolName: toolNames.Crosshairs,
|
|
91
96
|
configuration: {
|
|
92
97
|
viewportIndicators: false,
|
|
98
|
+
disableOnPassive: true,
|
|
93
99
|
autoPan: {
|
|
94
100
|
enabled: false,
|
|
95
101
|
panSize: 10
|
|
@@ -112,7 +118,7 @@ function _initToolGroups(toolNames, Enums, toolGroupService, commandsManager) {
|
|
|
112
118
|
active: [{
|
|
113
119
|
toolName: toolNames.VolumeRotateMouseWheel,
|
|
114
120
|
configuration: {
|
|
115
|
-
rotateIncrementDegrees:
|
|
121
|
+
rotateIncrementDegrees: 5
|
|
116
122
|
}
|
|
117
123
|
}, {
|
|
118
124
|
toolName: toolNames.MipJumpToClick,
|
|
@@ -129,232 +135,126 @@ function _initToolGroups(toolNames, Enums, toolGroupService, commandsManager) {
|
|
|
129
135
|
};
|
|
130
136
|
toolGroupService.createToolGroupAndAddTools(toolGroupIds.MIP, mipTools);
|
|
131
137
|
}
|
|
132
|
-
function initToolGroups(toolNames, Enums, toolGroupService, commandsManager) {
|
|
133
|
-
_initToolGroups(toolNames, Enums, toolGroupService, commandsManager);
|
|
138
|
+
function initToolGroups(toolNames, Enums, toolGroupService, commandsManager, modeLabelConfig) {
|
|
139
|
+
_initToolGroups(toolNames, Enums, toolGroupService, commandsManager, modeLabelConfig);
|
|
134
140
|
}
|
|
135
141
|
/* harmony default export */ const src_initToolGroups = (initToolGroups);
|
|
136
142
|
;// CONCATENATED MODULE: ../../../modes/tmtv/src/toolbarButtons.js
|
|
137
|
-
// TODO: torn, can either bake this here; or have to create a whole new button type
|
|
138
|
-
// Only ways that you can pass in a custom React component for render :l
|
|
139
|
-
|
|
140
143
|
|
|
141
144
|
|
|
142
145
|
const {
|
|
143
146
|
windowLevelPresets
|
|
144
147
|
} = src.defaults;
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
function _createButton(type, id, icon, label, commands, tooltip) {
|
|
153
|
-
return {
|
|
154
|
-
id,
|
|
155
|
-
icon,
|
|
156
|
-
label,
|
|
157
|
-
type,
|
|
158
|
-
commands,
|
|
159
|
-
tooltip
|
|
160
|
-
};
|
|
161
|
-
}
|
|
162
|
-
function _createColormap(label, colormap) {
|
|
163
|
-
return {
|
|
164
|
-
id: label,
|
|
165
|
-
label,
|
|
166
|
-
type: 'action',
|
|
167
|
-
commands: [{
|
|
168
|
-
commandName: 'setFusionPTColormap',
|
|
169
|
-
commandOptions: {
|
|
170
|
-
toolGroupId: toolGroupIds.Fusion,
|
|
171
|
-
colormap
|
|
172
|
-
}
|
|
173
|
-
}]
|
|
174
|
-
};
|
|
175
|
-
}
|
|
176
|
-
const _createActionButton = _createButton.bind(null, 'action');
|
|
177
|
-
const _createToggleButton = _createButton.bind(null, 'toggle');
|
|
178
|
-
const _createToolButton = _createButton.bind(null, 'tool');
|
|
179
|
-
|
|
180
|
-
/**
|
|
181
|
-
*
|
|
182
|
-
* @param {*} preset - preset number (from above import)
|
|
183
|
-
* @param {*} title
|
|
184
|
-
* @param {*} subtitle
|
|
185
|
-
*/
|
|
186
|
-
function _createWwwcPreset(preset, title, subtitle) {
|
|
187
|
-
return {
|
|
188
|
-
id: preset.toString(),
|
|
189
|
-
title,
|
|
190
|
-
subtitle,
|
|
191
|
-
type: 'action',
|
|
192
|
-
commands: [{
|
|
193
|
-
commandName: 'setWindowLevel',
|
|
194
|
-
commandOptions: {
|
|
195
|
-
...windowLevelPresets[preset]
|
|
196
|
-
},
|
|
197
|
-
context: 'CORNERSTONE'
|
|
198
|
-
}]
|
|
199
|
-
};
|
|
200
|
-
}
|
|
201
|
-
function _createCommands(commandName, toolName, toolGroupIds) {
|
|
202
|
-
return toolGroupIds.map(toolGroupId => ({
|
|
203
|
-
/* It's a command that is being run when the button is clicked. */
|
|
204
|
-
commandName,
|
|
205
|
-
commandOptions: {
|
|
206
|
-
toolName,
|
|
207
|
-
toolGroupId
|
|
208
|
-
},
|
|
209
|
-
context: 'CORNERSTONE'
|
|
210
|
-
}));
|
|
211
|
-
}
|
|
212
|
-
const toolbarButtons = [
|
|
213
|
-
// Measurement
|
|
214
|
-
{
|
|
148
|
+
const setToolActiveToolbar = {
|
|
149
|
+
commandName: 'setToolActiveToolbar',
|
|
150
|
+
commandOptions: {
|
|
151
|
+
toolGroupIds: [toolGroupIds.CT, toolGroupIds.PT, toolGroupIds.Fusion]
|
|
152
|
+
}
|
|
153
|
+
};
|
|
154
|
+
const toolbarButtons = [{
|
|
215
155
|
id: 'MeasurementTools',
|
|
216
|
-
|
|
156
|
+
uiType: 'ohif.splitButton',
|
|
217
157
|
props: {
|
|
218
158
|
groupId: 'MeasurementTools',
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
159
|
+
primary: src.ToolbarService.createButton({
|
|
160
|
+
id: 'Length',
|
|
161
|
+
icon: 'tool-length',
|
|
162
|
+
label: 'Length',
|
|
163
|
+
tooltip: 'Length Tool',
|
|
164
|
+
commands: setToolActiveToolbar,
|
|
165
|
+
evaluate: 'evaluate.cornerstoneTool'
|
|
166
|
+
}),
|
|
225
167
|
secondary: {
|
|
226
168
|
icon: 'chevron-down',
|
|
227
|
-
label: '',
|
|
228
|
-
isActive: true,
|
|
229
169
|
tooltip: 'More Measure Tools'
|
|
230
170
|
},
|
|
231
|
-
items: [
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
171
|
+
items: [src.ToolbarService.createButton({
|
|
172
|
+
id: 'Bidirectional',
|
|
173
|
+
icon: 'tool-bidirectional',
|
|
174
|
+
label: 'Bidirectional',
|
|
175
|
+
tooltip: 'Bidirectional Tool',
|
|
176
|
+
commands: setToolActiveToolbar,
|
|
177
|
+
evaluate: 'evaluate.cornerstoneTool'
|
|
178
|
+
}), src.ToolbarService.createButton({
|
|
179
|
+
id: 'ArrowAnnotate',
|
|
180
|
+
icon: 'tool-annotate',
|
|
181
|
+
label: 'Arrow Annotate',
|
|
182
|
+
tooltip: 'Arrow Annotate Tool',
|
|
183
|
+
commands: setToolActiveToolbar,
|
|
184
|
+
evaluate: 'evaluate.cornerstoneTool'
|
|
185
|
+
}), src.ToolbarService.createButton({
|
|
186
|
+
id: 'EllipticalROI',
|
|
187
|
+
icon: 'tool-ellipse',
|
|
188
|
+
label: 'Ellipse',
|
|
189
|
+
tooltip: 'Ellipse Tool',
|
|
190
|
+
commands: setToolActiveToolbar,
|
|
191
|
+
evaluate: 'evaluate.cornerstoneTool'
|
|
192
|
+
})]
|
|
240
193
|
}
|
|
241
|
-
},
|
|
242
|
-
// Zoom..
|
|
243
|
-
{
|
|
194
|
+
}, {
|
|
244
195
|
id: 'Zoom',
|
|
245
|
-
|
|
196
|
+
uiType: 'ohif.radioGroup',
|
|
246
197
|
props: {
|
|
247
|
-
type: 'tool',
|
|
248
198
|
icon: 'tool-zoom',
|
|
249
199
|
label: 'Zoom',
|
|
250
|
-
commands:
|
|
251
|
-
|
|
252
|
-
])]
|
|
253
|
-
}
|
|
254
|
-
}, {
|
|
255
|
-
id: 'MPR',
|
|
256
|
-
type: 'ohif.action',
|
|
257
|
-
props: {
|
|
258
|
-
type: 'toggle',
|
|
259
|
-
icon: 'icon-mpr',
|
|
260
|
-
label: 'MPR',
|
|
261
|
-
commands: [{
|
|
262
|
-
commandName: 'toggleHangingProtocol',
|
|
263
|
-
commandOptions: {
|
|
264
|
-
protocolId: 'mpr'
|
|
265
|
-
},
|
|
266
|
-
context: 'DEFAULT'
|
|
267
|
-
}]
|
|
200
|
+
commands: setToolActiveToolbar,
|
|
201
|
+
evaluate: 'evaluate.cornerstoneTool'
|
|
268
202
|
}
|
|
269
203
|
},
|
|
270
|
-
// Window Level + Presets
|
|
204
|
+
// Window Level + Presets
|
|
271
205
|
{
|
|
272
206
|
id: 'WindowLevel',
|
|
273
|
-
|
|
207
|
+
uiType: 'ohif.radioGroup',
|
|
274
208
|
props: {
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
secondary: {
|
|
280
|
-
icon: 'chevron-down',
|
|
281
|
-
label: 'W/L Manual',
|
|
282
|
-
isActive: true,
|
|
283
|
-
tooltip: 'W/L Presets'
|
|
284
|
-
},
|
|
285
|
-
isAction: true,
|
|
286
|
-
// ?
|
|
287
|
-
renderer: ui_src/* WindowLevelMenuItem */.eJ,
|
|
288
|
-
items: [_createWwwcPreset(1, 'Soft tissue', '400 / 40'), _createWwwcPreset(2, 'Lung', '1500 / -600'), _createWwwcPreset(3, 'Liver', '150 / 90'), _createWwwcPreset(4, 'Bone', '2500 / 480'), _createWwwcPreset(5, 'Brain', '80 / 40')]
|
|
209
|
+
icon: 'tool-window-level',
|
|
210
|
+
label: 'Window Level',
|
|
211
|
+
commands: setToolActiveToolbar,
|
|
212
|
+
evaluate: 'evaluate.cornerstoneTool'
|
|
289
213
|
}
|
|
290
|
-
},
|
|
214
|
+
},
|
|
215
|
+
// Crosshairs Button
|
|
216
|
+
{
|
|
291
217
|
id: 'Crosshairs',
|
|
292
|
-
|
|
218
|
+
uiType: 'ohif.radioGroup',
|
|
293
219
|
props: {
|
|
294
|
-
type: 'tool',
|
|
295
220
|
icon: 'tool-crosshair',
|
|
296
221
|
label: 'Crosshairs',
|
|
297
|
-
commands:
|
|
298
|
-
|
|
299
|
-
])]
|
|
222
|
+
commands: setToolActiveToolbar,
|
|
223
|
+
evaluate: 'evaluate.cornerstoneTool'
|
|
300
224
|
}
|
|
301
225
|
},
|
|
302
|
-
// Pan
|
|
226
|
+
// Pan Button
|
|
303
227
|
{
|
|
304
228
|
id: 'Pan',
|
|
305
|
-
|
|
229
|
+
uiType: 'ohif.radioGroup',
|
|
306
230
|
props: {
|
|
307
|
-
type: 'tool',
|
|
308
231
|
icon: 'tool-move',
|
|
309
232
|
label: 'Pan',
|
|
310
|
-
commands:
|
|
311
|
-
|
|
312
|
-
])]
|
|
233
|
+
commands: setToolActiveToolbar,
|
|
234
|
+
evaluate: 'evaluate.cornerstoneTool'
|
|
313
235
|
}
|
|
314
|
-
},
|
|
236
|
+
},
|
|
237
|
+
// Rectangle ROI Start End Threshold Button
|
|
238
|
+
{
|
|
315
239
|
id: 'RectangleROIStartEndThreshold',
|
|
316
|
-
|
|
240
|
+
uiType: 'ohif.radioGroup',
|
|
317
241
|
props: {
|
|
318
|
-
type: 'tool',
|
|
319
242
|
icon: 'tool-create-threshold',
|
|
320
243
|
label: 'Rectangle ROI Threshold',
|
|
321
|
-
commands:
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
text: 'RectangleROI Threshold tool should be used on PT Axial Viewport',
|
|
326
|
-
type: 'info'
|
|
327
|
-
}
|
|
328
|
-
}, {
|
|
329
|
-
commandName: 'setViewportActive',
|
|
330
|
-
commandOptions: {
|
|
331
|
-
viewportId: 'ptAXIAL'
|
|
332
|
-
}
|
|
333
|
-
}]
|
|
334
|
-
}
|
|
335
|
-
}, {
|
|
336
|
-
id: 'fusionPTColormap',
|
|
337
|
-
type: 'ohif.splitButton',
|
|
338
|
-
props: {
|
|
339
|
-
groupId: 'fusionPTColormap',
|
|
340
|
-
primary: _createToolButton('fusionPTColormap', 'tool-fusion-color', 'Fusion PT Colormap', [], 'Fusion PT Colormap'),
|
|
341
|
-
secondary: {
|
|
342
|
-
icon: 'chevron-down',
|
|
343
|
-
label: 'PT Colormap',
|
|
344
|
-
isActive: true,
|
|
345
|
-
tooltip: 'PET Image Colormap'
|
|
244
|
+
commands: setToolActiveToolbar,
|
|
245
|
+
evaluate: {
|
|
246
|
+
name: 'evaluate.cornerstoneTool',
|
|
247
|
+
disabledText: 'Select the PT Axial to enable this tool'
|
|
346
248
|
},
|
|
347
|
-
|
|
348
|
-
// ?
|
|
349
|
-
items: [_createColormap('HSV', 'hsv'), _createColormap('Hot Iron', 'hot_iron'), _createColormap('S PET', 's_pet'), _createColormap('Red Hot', 'red_hot'), _createColormap('Perfusion', 'perfusion'), _createColormap('Rainbow', 'rainbow_2'), _createColormap('SUV', 'suv'), _createColormap('GE 256', 'ge_256'), _createColormap('GE', 'ge'), _createColormap('Siemens', 'siemens')]
|
|
249
|
+
options: 'tmtv.RectangleROIThresholdOptions'
|
|
350
250
|
}
|
|
351
251
|
}];
|
|
352
252
|
/* harmony default export */ const src_toolbarButtons = (toolbarButtons);
|
|
353
253
|
;// CONCATENATED MODULE: ../../../modes/tmtv/package.json
|
|
354
|
-
const package_namespaceObject = JSON.parse('{"
|
|
254
|
+
const package_namespaceObject = /*#__PURE__*/JSON.parse('{"UU":"@ohif/mode-tmtv"}');
|
|
355
255
|
;// CONCATENATED MODULE: ../../../modes/tmtv/src/id.js
|
|
356
256
|
|
|
357
|
-
const id = package_namespaceObject.
|
|
257
|
+
const id = package_namespaceObject.UU;
|
|
358
258
|
|
|
359
259
|
;// CONCATENATED MODULE: ../../../modes/tmtv/src/utils/setCrosshairsConfiguration.js
|
|
360
260
|
|
|
@@ -404,6 +304,8 @@ function setFusionActiveVolume(matches, toolNames, toolGroupService, displaySetS
|
|
|
404
304
|
toolGroupService.setToolConfiguration(toolGroupIds.Fusion, toolNames.WindowLevel, windowLevelConfig);
|
|
405
305
|
toolGroupService.setToolConfiguration(toolGroupIds.Fusion, toolNames.EllipticalROI, ellipticalROIConfig);
|
|
406
306
|
}
|
|
307
|
+
// EXTERNAL MODULE: ../../../node_modules/i18next/dist/esm/i18next.js
|
|
308
|
+
var i18next = __webpack_require__(92344);
|
|
407
309
|
;// CONCATENATED MODULE: ../../../modes/tmtv/src/index.js
|
|
408
310
|
|
|
409
311
|
|
|
@@ -411,6 +313,7 @@ function setFusionActiveVolume(matches, toolNames, toolGroupService, displaySetS
|
|
|
411
313
|
|
|
412
314
|
|
|
413
315
|
|
|
316
|
+
|
|
414
317
|
const {
|
|
415
318
|
MetadataProvider
|
|
416
319
|
} = src.classes;
|
|
@@ -435,25 +338,23 @@ const extensionDependencies = {
|
|
|
435
338
|
'@ohif/extension-tmtv': '^3.0.0'
|
|
436
339
|
};
|
|
437
340
|
let unsubscriptions = [];
|
|
438
|
-
function modeFactory(
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
} = _ref;
|
|
341
|
+
function modeFactory({
|
|
342
|
+
modeConfiguration
|
|
343
|
+
}) {
|
|
442
344
|
return {
|
|
443
345
|
// TODO: We're using this as a route segment
|
|
444
346
|
// We should not be.
|
|
445
347
|
id: id,
|
|
446
348
|
routeName: 'tmtv',
|
|
447
|
-
displayName: 'Total Metabolic Tumor Volume',
|
|
349
|
+
displayName: i18next/* default */.A.t('Modes:Total Metabolic Tumor Volume'),
|
|
448
350
|
/**
|
|
449
351
|
* Lifecycle hooks
|
|
450
352
|
*/
|
|
451
|
-
onModeEnter:
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
} = _ref2;
|
|
353
|
+
onModeEnter: ({
|
|
354
|
+
servicesManager,
|
|
355
|
+
extensionManager,
|
|
356
|
+
commandsManager
|
|
357
|
+
}) => {
|
|
457
358
|
const {
|
|
458
359
|
toolbarService,
|
|
459
360
|
toolGroupService,
|
|
@@ -468,34 +369,6 @@ function modeFactory(_ref) {
|
|
|
468
369
|
|
|
469
370
|
// Init Default and SR ToolGroups
|
|
470
371
|
src_initToolGroups(toolNames, Enums, toolGroupService, commandsManager);
|
|
471
|
-
const setWindowLevelActive = () => {
|
|
472
|
-
toolbarService.recordInteraction({
|
|
473
|
-
groupId: 'WindowLevel',
|
|
474
|
-
interactionType: 'tool',
|
|
475
|
-
commands: [{
|
|
476
|
-
commandName: 'setToolActive',
|
|
477
|
-
commandOptions: {
|
|
478
|
-
toolName: toolNames.WindowLevel,
|
|
479
|
-
toolGroupId: toolGroupIds.CT
|
|
480
|
-
},
|
|
481
|
-
context: 'CORNERSTONE'
|
|
482
|
-
}, {
|
|
483
|
-
commandName: 'setToolActive',
|
|
484
|
-
commandOptions: {
|
|
485
|
-
toolName: toolNames.WindowLevel,
|
|
486
|
-
toolGroupId: toolGroupIds.PT
|
|
487
|
-
},
|
|
488
|
-
context: 'CORNERSTONE'
|
|
489
|
-
}, {
|
|
490
|
-
commandName: 'setToolActive',
|
|
491
|
-
commandOptions: {
|
|
492
|
-
toolName: toolNames.WindowLevel,
|
|
493
|
-
toolGroupId: toolGroupIds.Fusion
|
|
494
|
-
},
|
|
495
|
-
context: 'CORNERSTONE'
|
|
496
|
-
}]
|
|
497
|
-
});
|
|
498
|
-
};
|
|
499
372
|
const {
|
|
500
373
|
unsubscribe
|
|
501
374
|
} = toolGroupService.subscribe(toolGroupService.EVENTS.VIEWPORT_ADDED, () => {
|
|
@@ -507,12 +380,11 @@ function modeFactory(_ref) {
|
|
|
507
380
|
} = hangingProtocolService.getMatchDetails();
|
|
508
381
|
setCrosshairsConfiguration(displaySetMatchDetails, toolNames, toolGroupService, displaySetService);
|
|
509
382
|
setFusionActiveVolume(displaySetMatchDetails, toolNames, toolGroupService, displaySetService);
|
|
510
|
-
setWindowLevelActive();
|
|
511
383
|
});
|
|
512
384
|
unsubscriptions.push(unsubscribe);
|
|
513
|
-
toolbarService.init(extensionManager);
|
|
514
385
|
toolbarService.addButtons(src_toolbarButtons);
|
|
515
|
-
toolbarService.createButtonSection('primary', ['MeasurementTools', 'Zoom', 'WindowLevel', 'Crosshairs', 'Pan', '
|
|
386
|
+
toolbarService.createButtonSection('primary', ['MeasurementTools', 'Zoom', 'WindowLevel', 'Crosshairs', 'Pan', 'SyncToggle']);
|
|
387
|
+
toolbarService.createButtonSection('tmtvToolbox', ['RectangleROIStartEndThreshold']);
|
|
516
388
|
|
|
517
389
|
// For the hanging protocol we need to decide on the window level
|
|
518
390
|
// based on whether the SUV is corrected or not, hence we can't hard
|
|
@@ -538,17 +410,20 @@ function modeFactory(_ref) {
|
|
|
538
410
|
return;
|
|
539
411
|
});
|
|
540
412
|
},
|
|
541
|
-
onModeExit:
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
} = _ref3;
|
|
413
|
+
onModeExit: ({
|
|
414
|
+
servicesManager
|
|
415
|
+
}) => {
|
|
545
416
|
const {
|
|
546
417
|
toolGroupService,
|
|
547
418
|
syncGroupService,
|
|
548
419
|
segmentationService,
|
|
549
|
-
cornerstoneViewportService
|
|
420
|
+
cornerstoneViewportService,
|
|
421
|
+
uiDialogService,
|
|
422
|
+
uiModalService
|
|
550
423
|
} = servicesManager.services;
|
|
551
424
|
unsubscriptions.forEach(unsubscribe => unsubscribe());
|
|
425
|
+
uiDialogService.dismissAll();
|
|
426
|
+
uiModalService.hide();
|
|
552
427
|
toolGroupService.destroy();
|
|
553
428
|
syncGroupService.destroy();
|
|
554
429
|
segmentationService.destroy();
|
|
@@ -558,11 +433,10 @@ function modeFactory(_ref) {
|
|
|
558
433
|
study: [],
|
|
559
434
|
series: []
|
|
560
435
|
},
|
|
561
|
-
isValidMode:
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
} = _ref4;
|
|
436
|
+
isValidMode: ({
|
|
437
|
+
modalities,
|
|
438
|
+
study
|
|
439
|
+
}) => {
|
|
566
440
|
const modalities_list = modalities.split('\\');
|
|
567
441
|
const invalidModalities = ['SM'];
|
|
568
442
|
const isValid = modalities_list.includes('CT') && modalities_list.includes('PT') && !invalidModalities.some(modality => modalities_list.includes(modality)) &&
|
|
@@ -574,18 +448,20 @@ function modeFactory(_ref) {
|
|
|
574
448
|
study.studyInstanceUid !== '1.3.6.1.4.1.12842.1.1.14.3.20220915.105557.468.2963630849';
|
|
575
449
|
|
|
576
450
|
// there should be both CT and PT modalities and the modality should not be SM
|
|
577
|
-
return
|
|
451
|
+
return {
|
|
452
|
+
valid: isValid,
|
|
453
|
+
description: 'The mode requires both PT and CT series in the study'
|
|
454
|
+
};
|
|
578
455
|
},
|
|
579
456
|
routes: [{
|
|
580
457
|
path: 'tmtv',
|
|
581
458
|
/*init: ({ servicesManager, extensionManager }) => {
|
|
582
459
|
//defaultViewerRouteInit
|
|
583
460
|
},*/
|
|
584
|
-
layoutTemplate:
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
} = _ref5;
|
|
461
|
+
layoutTemplate: ({
|
|
462
|
+
location,
|
|
463
|
+
servicesManager
|
|
464
|
+
}) => {
|
|
589
465
|
return {
|
|
590
466
|
id: ohif.layout,
|
|
591
467
|
props: {
|
|
@@ -603,7 +479,7 @@ function modeFactory(_ref) {
|
|
|
603
479
|
extensions: extensionDependencies,
|
|
604
480
|
hangingProtocol: tmtv.hangingProtocol,
|
|
605
481
|
sopClassHandlers: [ohif.sopClassHandler],
|
|
606
|
-
hotkeys: [...src/* hotkeys */.
|
|
482
|
+
hotkeys: [...src/* hotkeys */.ot.defaults.hotkeyBindings],
|
|
607
483
|
...modeConfiguration
|
|
608
484
|
};
|
|
609
485
|
}
|