@ohif/app 3.13.0-beta.116 → 3.13.0-beta.118

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.
Files changed (47) hide show
  1. package/dist/{1206.bundle.47f070e2254d128c.js → 1206.bundle.e04ca1efe6f987ba.js} +1 -1
  2. package/dist/1483.bundle.5a98bf0d4c26aa01.js +470 -0
  3. package/dist/{1602.bundle.097ec19e8e61516f.js → 1602.bundle.2a0e1a9a73063ab5.js} +2 -2
  4. package/dist/{7701.bundle.945445d6681ddd20.js → 2343.bundle.931645133f98ca47.js} +990 -7
  5. package/dist/{3500.bundle.1e063b7b4910d6cf.js → 3500.bundle.7afd6d2e9345fca0.js} +1 -1
  6. package/dist/{3760.bundle.6c7eeb4b7f1583ca.js → 3760.bundle.553d1b88392a20b4.js} +2 -2
  7. package/dist/{5448.bundle.1e50777e4c4e122a.js → 5448.bundle.5686ebb99c379f64.js} +1 -1
  8. package/dist/{5696.bundle.9f0366ad867385bc.js → 5696.bundle.615658b8dead54ce.js} +7 -4
  9. package/dist/{5910.bundle.5561806884c95754.js → 5910.bundle.0f19608f3e76859b.js} +2 -2
  10. package/dist/{419.bundle.9d0e6a72e1e3a17b.js → 6749.bundle.ed2f94d2dd4c9a24.js} +288 -62
  11. package/dist/{7248.bundle.f761b21f343d4b9f.js → 7248.bundle.4c7d834f2ec140c7.js} +2 -2
  12. package/dist/{7295.bundle.4d4b6de4d2bb8856.js → 7499.bundle.743782416c5f430e.js} +502 -5
  13. package/dist/{781.bundle.efb0a6981676cebb.js → 781.bundle.d353624c7a811425.js} +2 -2
  14. package/dist/{8423.bundle.5d1b3092bc9562c9.js → 8423.bundle.1f3a472a7f691c1a.js} +2 -2
  15. package/dist/8492.bundle.44a55a259584d665.js +504 -0
  16. package/dist/8595.css +2 -0
  17. package/dist/{899.bundle.e786f8dfb66d74ca.js → 899.bundle.50c16f860acbc848.js} +2 -2
  18. package/dist/{9068.bundle.cd36fcb4e15a153e.js → 9068.bundle.95f1e638ef694ea9.js} +2 -2
  19. package/dist/{9402.bundle.6549cc304496cd5c.js → 9402.bundle.57041a8d06a36e8e.js} +2 -2
  20. package/dist/{9415.bundle.2a970c71de4014bf.js → 9415.bundle.770426487f8c0dfa.js} +2 -2
  21. package/dist/{9437.bundle.0fff227a859992ea.js → 9437.bundle.0045fb70b8fa0e7b.js} +107 -123
  22. package/dist/app-config.js +1 -1
  23. package/dist/{app.bundle.55057e411d635dc3.js → app.bundle.707ae3540bb211e8.js} +203 -36
  24. package/dist/customizations/index.html +400 -0
  25. package/dist/customizations/segmentation/segmentationAnnotationTools.jsonc +48 -0
  26. package/dist/customizations/segmentation/segmentationEditing.jsonc +59 -0
  27. package/dist/customizations/{ctPresets.jsonc → tools/ctPresets.jsonc} +1 -1
  28. package/dist/customizations/{measurementLabels.jsonc → tools/measurementLabels.jsonc} +1 -1
  29. package/dist/customizations/{smoothRotate.jsonc → tools/smoothRotate.jsonc} +1 -1
  30. package/dist/customizations/veterinary/veterinary.jsonc +5 -0
  31. package/dist/customizations/{veterinaryOverlay.jsonc → veterinary/veterinaryOverlay.jsonc} +3 -3
  32. package/dist/customizations/{patientBirthDate.jsonc → worklist/patientBirthDate.jsonc} +2 -2
  33. package/dist/index.html +1 -1
  34. package/dist/sw.js +1 -1
  35. package/package.json +5 -5
  36. package/dist/4834.bundle.a91450199d0f45e4.js +0 -900
  37. package/dist/6001.bundle.0789789db5410764.js +0 -1529
  38. package/dist/customizations/veterinary.jsonc +0 -5
  39. /package/dist/{100.bundle.ac04a425c0851574.js → 100.bundle.6ba1a0be02710b9f.js} +0 -0
  40. /package/dist/{1180.bundle.c19c443fe8d26719.js → 1180.bundle.25017eea64524896.js} +0 -0
  41. /package/dist/{2779.bundle.dca036a18399be96.js → 2779.bundle.56f7da594c887ff6.js} +0 -0
  42. /package/dist/{4556.bundle.b705ab15473128c7.js → 4556.bundle.454bc9719a06bc3f.js} +0 -0
  43. /package/dist/{4683.bundle.5d12928efa9f70f4.js → 4683.bundle.bfb5c3739e9886b5.js} +0 -0
  44. /package/dist/{7295.css → 8492.css} +0 -0
  45. /package/dist/{8832.bundle.ede981706cac8e15.js → 8832.bundle.6f31a982f82b96da.js} +0 -0
  46. /package/dist/{9116.bundle.225e003c28c550c1.js → 9116.bundle.079a64a12966429c.js} +0 -0
  47. /package/dist/{9290.bundle.a18c40b82772a3c6.js → 9290.bundle.db0d1eb62fa6ee8b.js} +0 -0
@@ -1,10 +1,11 @@
1
1
  "use strict";
2
- (globalThis["rspackChunk"] = globalThis["rspackChunk"] || []).push([[7295], {
3
- 75366(__unused_rspack_module, __webpack_exports__, __webpack_require__) {
2
+ (globalThis["rspackChunk"] = globalThis["rspackChunk"] || []).push([[7499], {
3
+ 87110(__unused_rspack_module, __webpack_exports__, __webpack_require__) {
4
4
 
5
5
  // EXPORTS
6
6
  __webpack_require__.d(__webpack_exports__, {
7
- "default": () => (/* binding */ tmtv_src)
7
+ "default": () => (/* binding */ tmtv_src),
8
+ i: () => (/* reexport */ toolGroupIds)
8
9
  });
9
10
 
10
11
  ;// CONCATENATED MODULE: ../../../extensions/tmtv/package.json
@@ -970,8 +971,8 @@ PanelPetSUV.propTypes = {
970
971
  }).isRequired
971
972
  }).isRequired
972
973
  };
973
- // EXTERNAL MODULE: ../../../extensions/cornerstone/src/index.tsx + 198 modules
974
- var cornerstone_src = __webpack_require__(28772);
974
+ // EXTERNAL MODULE: ../../../extensions/cornerstone/src/index.tsx + 200 modules
975
+ var cornerstone_src = __webpack_require__(86714);
975
976
  ;// CONCATENATED MODULE: ../../../extensions/tmtv/src/utils/handleROIThresholding.ts
976
977
  const handleROIThresholding_handleROIThresholding = async ({
977
978
  commandsManager,
@@ -2212,6 +2213,498 @@ function getToolbarModule() {
2212
2213
  defaultComponent: Panels_RectangleROIOptions
2213
2214
  }];
2214
2215
  }
2216
+ // EXTERNAL MODULE: ../../../node_modules/i18next/dist/esm/i18next.js + 22 modules
2217
+ var i18next = __webpack_require__(26104);
2218
+ ;// CONCATENATED MODULE: ../../../extensions/tmtv/src/toolGroupIds.ts
2219
+ /**
2220
+ * The tool group ids used by the TMTV hanging protocols and mode. Defined in
2221
+ * the extension so both the extension (hanging protocol viewports, toolbar
2222
+ * buttons) and the mode (tool group creation) share one definition.
2223
+ */
2224
+ const toolGroupIds = {
2225
+ CT: 'ctToolGroup',
2226
+ PT: 'ptToolGroup',
2227
+ Fusion: 'fusionToolGroup',
2228
+ MIP: 'mipToolGroup',
2229
+ default: 'default'
2230
+ };
2231
+ /* export default */ const src_toolGroupIds = ((/* unused pure expression or super */ null && (toolGroupIds)));
2232
+ ;// CONCATENATED MODULE: ../../../extensions/tmtv/src/customizations/toolbarCustomization.ts
2233
+
2234
+
2235
+
2236
+ const {
2237
+ TOOLBAR_SECTIONS
2238
+ } = src/* .ToolbarService */.hx;
2239
+ const MIN_SEGMENTATION_DRAWING_RADIUS = 0.5;
2240
+ const MAX_SEGMENTATION_DRAWING_RADIUS = 99.5;
2241
+ const setToolActiveToolbar = {
2242
+ commandName: 'setToolActiveToolbar',
2243
+ commandOptions: {
2244
+ toolGroupIds: [toolGroupIds.CT, toolGroupIds.PT, toolGroupIds.Fusion]
2245
+ }
2246
+ };
2247
+
2248
+ /**
2249
+ * Default toolbar buttons for the TMTV mode, registered as the
2250
+ * `tmtv.toolbarButtons` customization so `?customization=` modules can extend
2251
+ * or replace them.
2252
+ */
2253
+ const toolbarButtons = [{
2254
+ id: 'MeasurementTools',
2255
+ uiType: 'ohif.toolButtonList',
2256
+ props: {
2257
+ buttonSection: true
2258
+ }
2259
+ }, {
2260
+ id: 'SegmentationTools',
2261
+ uiType: 'ohif.toolBoxButton',
2262
+ props: {
2263
+ buttonSection: true
2264
+ }
2265
+ }, {
2266
+ id: 'BrushTools',
2267
+ uiType: 'ohif.toolBoxButtonGroup',
2268
+ props: {
2269
+ buttonSection: true
2270
+ }
2271
+ }, {
2272
+ id: 'AdvancedRenderingControls',
2273
+ uiType: 'ohif.advancedRenderingControls',
2274
+ props: {
2275
+ buttonSection: true
2276
+ }
2277
+ }, {
2278
+ id: 'modalityLoadBadge',
2279
+ uiType: 'ohif.modalityLoadBadge',
2280
+ props: {
2281
+ icon: 'Status',
2282
+ label: i18next/* ["default"].t */.A.t('Buttons:Status'),
2283
+ tooltip: i18next/* ["default"].t */.A.t('Buttons:Status'),
2284
+ evaluate: {
2285
+ name: 'evaluate.modalityLoadBadge',
2286
+ hideWhenDisabled: true
2287
+ }
2288
+ }
2289
+ }, {
2290
+ id: 'Colorbar',
2291
+ uiType: 'ohif.colorbar',
2292
+ props: {
2293
+ type: 'tool',
2294
+ label: i18next/* ["default"].t */.A.t('Buttons:Colorbar')
2295
+ }
2296
+ }, {
2297
+ id: 'navigationComponent',
2298
+ uiType: 'ohif.navigationComponent',
2299
+ props: {
2300
+ icon: 'Navigation',
2301
+ label: i18next/* ["default"].t */.A.t('Buttons:Navigation'),
2302
+ tooltip: i18next/* ["default"].t */.A.t('Buttons:Navigate between segments/measurements and manage their visibility'),
2303
+ evaluate: {
2304
+ name: 'evaluate.navigationComponent',
2305
+ hideWhenDisabled: true
2306
+ }
2307
+ }
2308
+ }, {
2309
+ id: 'windowLevelMenuEmbedded',
2310
+ uiType: 'ohif.windowLevelMenuEmbedded',
2311
+ props: {
2312
+ icon: 'WindowLevel',
2313
+ label: i18next/* ["default"].t */.A.t('Buttons:Window Level'),
2314
+ tooltip: i18next/* ["default"].t */.A.t('Buttons:Adjust window/level presets and customize image contrast settings'),
2315
+ evaluate: {
2316
+ name: 'evaluate.windowLevelMenuEmbedded',
2317
+ hideWhenDisabled: true
2318
+ }
2319
+ }
2320
+ }, {
2321
+ id: 'trackingStatus',
2322
+ uiType: 'ohif.trackingStatus',
2323
+ props: {
2324
+ icon: 'TrackingStatus',
2325
+ label: i18next/* ["default"].t */.A.t('Buttons:Tracking Status'),
2326
+ tooltip: i18next/* ["default"].t */.A.t('Buttons:View and manage tracking status of measurements and annotations'),
2327
+ evaluate: {
2328
+ name: 'evaluate.trackingStatus',
2329
+ hideWhenDisabled: true
2330
+ }
2331
+ }
2332
+ }, {
2333
+ id: 'Length',
2334
+ uiType: 'ohif.toolButton',
2335
+ props: {
2336
+ icon: 'tool-length',
2337
+ label: i18next/* ["default"].t */.A.t('Buttons:Length'),
2338
+ tooltip: i18next/* ["default"].t */.A.t('Buttons:Length Tool'),
2339
+ commands: setToolActiveToolbar,
2340
+ evaluate: 'evaluate.cornerstoneTool'
2341
+ }
2342
+ }, {
2343
+ id: 'Bidirectional',
2344
+ uiType: 'ohif.toolButton',
2345
+ props: {
2346
+ icon: 'tool-bidirectional',
2347
+ label: i18next/* ["default"].t */.A.t('Buttons:Bidirectional'),
2348
+ tooltip: i18next/* ["default"].t */.A.t('Buttons:Bidirectional Tool'),
2349
+ commands: setToolActiveToolbar,
2350
+ evaluate: 'evaluate.cornerstoneTool'
2351
+ }
2352
+ }, {
2353
+ id: 'ArrowAnnotate',
2354
+ uiType: 'ohif.toolButton',
2355
+ props: {
2356
+ icon: 'tool-annotate',
2357
+ label: i18next/* ["default"].t */.A.t('Buttons:Arrow Annotate'),
2358
+ tooltip: i18next/* ["default"].t */.A.t('Buttons:Arrow Annotate Tool'),
2359
+ commands: setToolActiveToolbar,
2360
+ evaluate: 'evaluate.cornerstoneTool'
2361
+ }
2362
+ }, {
2363
+ id: 'EllipticalROI',
2364
+ uiType: 'ohif.toolButton',
2365
+ props: {
2366
+ icon: 'tool-ellipse',
2367
+ label: i18next/* ["default"].t */.A.t('Buttons:Ellipse'),
2368
+ tooltip: i18next/* ["default"].t */.A.t('Buttons:Ellipse Tool'),
2369
+ commands: setToolActiveToolbar,
2370
+ evaluate: 'evaluate.cornerstoneTool'
2371
+ }
2372
+ }, {
2373
+ id: 'Zoom',
2374
+ uiType: 'ohif.toolButton',
2375
+ props: {
2376
+ icon: 'tool-zoom',
2377
+ label: i18next/* ["default"].t */.A.t('Buttons:Zoom'),
2378
+ commands: setToolActiveToolbar,
2379
+ evaluate: 'evaluate.cornerstoneTool'
2380
+ }
2381
+ }, {
2382
+ id: 'WindowLevel',
2383
+ uiType: 'ohif.toolButton',
2384
+ props: {
2385
+ icon: 'tool-window-level',
2386
+ label: i18next/* ["default"].t */.A.t('Buttons:Window Level'),
2387
+ commands: setToolActiveToolbar,
2388
+ evaluate: 'evaluate.cornerstoneTool'
2389
+ }
2390
+ }, {
2391
+ id: 'Crosshairs',
2392
+ uiType: 'ohif.toolButton',
2393
+ props: {
2394
+ icon: 'tool-crosshair',
2395
+ label: i18next/* ["default"].t */.A.t('Buttons:Crosshairs'),
2396
+ commands: setToolActiveToolbar,
2397
+ evaluate: 'evaluate.cornerstoneTool'
2398
+ }
2399
+ }, {
2400
+ id: 'Pan',
2401
+ uiType: 'ohif.toolButton',
2402
+ props: {
2403
+ icon: 'tool-move',
2404
+ label: i18next/* ["default"].t */.A.t('Buttons:Pan'),
2405
+ commands: setToolActiveToolbar,
2406
+ evaluate: 'evaluate.cornerstoneTool'
2407
+ }
2408
+ }, {
2409
+ id: 'RectangleROIStartEndThreshold',
2410
+ uiType: 'ohif.toolBoxButton',
2411
+ props: {
2412
+ icon: 'tool-create-threshold',
2413
+ label: i18next/* ["default"].t */.A.t('Buttons:Rectangle ROI Threshold'),
2414
+ commands: setToolActiveToolbar,
2415
+ evaluate: ['evaluate.cornerstone.segmentation', {
2416
+ name: 'evaluate.cornerstoneTool',
2417
+ disabledText: i18next/* ["default"].t */.A.t('Buttons:Select the PT Axial to enable this tool')
2418
+ }],
2419
+ options: 'tmtv.RectangleROIThresholdOptions'
2420
+ }
2421
+ }, {
2422
+ id: 'Brush',
2423
+ uiType: 'ohif.toolButton',
2424
+ props: {
2425
+ icon: 'icon-tool-brush',
2426
+ label: i18next/* ["default"].t */.A.t('Buttons:Brush'),
2427
+ evaluate: [{
2428
+ name: 'evaluate.cornerstone.segmentation',
2429
+ toolNames: ['CircularBrush', 'SphereBrush'],
2430
+ disabledText: i18next/* ["default"].t */.A.t('Buttons:Create new segmentation to enable this tool.')
2431
+ }, {
2432
+ name: 'evaluate.cornerstone.segmentation.synchronizeDrawingRadius',
2433
+ radiusOptionId: 'brush-radius'
2434
+ }],
2435
+ options: [{
2436
+ name: i18next/* ["default"].t */.A.t('Buttons:Radius (mm)'),
2437
+ id: 'brush-radius',
2438
+ type: 'range',
2439
+ explicitRunOnly: true,
2440
+ min: MIN_SEGMENTATION_DRAWING_RADIUS,
2441
+ max: MAX_SEGMENTATION_DRAWING_RADIUS,
2442
+ step: 0.5,
2443
+ value: 25,
2444
+ commands: {
2445
+ commandName: 'setBrushSize',
2446
+ commandOptions: {
2447
+ toolNames: ['CircularBrush', 'SphereBrush']
2448
+ }
2449
+ }
2450
+ }, {
2451
+ name: i18next/* ["default"].t */.A.t('Buttons:Shape'),
2452
+ type: 'radio',
2453
+ id: 'brush-mode',
2454
+ value: 'CircularBrush',
2455
+ values: [{
2456
+ value: 'CircularBrush',
2457
+ label: i18next/* ["default"].t */.A.t('Buttons:Circle')
2458
+ }, {
2459
+ value: 'SphereBrush',
2460
+ label: i18next/* ["default"].t */.A.t('Buttons:Sphere')
2461
+ }],
2462
+ commands: 'setToolActiveToolbar'
2463
+ }]
2464
+ }
2465
+ }, {
2466
+ id: 'Eraser',
2467
+ uiType: 'ohif.toolButton',
2468
+ props: {
2469
+ icon: 'icon-tool-eraser',
2470
+ label: i18next/* ["default"].t */.A.t('Buttons:Eraser'),
2471
+ evaluate: [{
2472
+ name: 'evaluate.cornerstone.segmentation',
2473
+ toolNames: ['CircularEraser', 'SphereEraser']
2474
+ }, {
2475
+ name: 'evaluate.cornerstone.segmentation.synchronizeDrawingRadius',
2476
+ radiusOptionId: 'eraser-radius'
2477
+ }],
2478
+ options: [{
2479
+ name: i18next/* ["default"].t */.A.t('Buttons:Radius (mm)'),
2480
+ id: 'eraser-radius',
2481
+ type: 'range',
2482
+ explicitRunOnly: true,
2483
+ min: MIN_SEGMENTATION_DRAWING_RADIUS,
2484
+ max: MAX_SEGMENTATION_DRAWING_RADIUS,
2485
+ step: 0.5,
2486
+ value: 25,
2487
+ commands: {
2488
+ commandName: 'setBrushSize',
2489
+ commandOptions: {
2490
+ toolNames: ['CircularEraser', 'SphereEraser']
2491
+ }
2492
+ }
2493
+ }, {
2494
+ name: i18next/* ["default"].t */.A.t('Buttons:Shape'),
2495
+ type: 'radio',
2496
+ id: 'eraser-mode',
2497
+ value: 'CircularEraser',
2498
+ values: [{
2499
+ value: 'CircularEraser',
2500
+ label: i18next/* ["default"].t */.A.t('Buttons:Circle')
2501
+ }, {
2502
+ value: 'SphereEraser',
2503
+ label: i18next/* ["default"].t */.A.t('Buttons:Sphere')
2504
+ }],
2505
+ commands: 'setToolActiveToolbar'
2506
+ }]
2507
+ }
2508
+ }, {
2509
+ id: 'Threshold',
2510
+ uiType: 'ohif.toolButton',
2511
+ props: {
2512
+ icon: 'icon-tool-threshold',
2513
+ label: i18next/* ["default"].t */.A.t('Buttons:Threshold Tool'),
2514
+ evaluate: [{
2515
+ name: 'evaluate.cornerstone.segmentation',
2516
+ toolNames: ['ThresholdCircularBrush', 'ThresholdSphereBrush', 'ThresholdCircularBrushDynamic']
2517
+ }, {
2518
+ name: 'evaluate.cornerstone.segmentation.synchronizeDrawingRadius',
2519
+ radiusOptionId: 'threshold-radius'
2520
+ }],
2521
+ options: [{
2522
+ name: i18next/* ["default"].t */.A.t('Buttons:Radius (mm)'),
2523
+ id: 'threshold-radius',
2524
+ type: 'range',
2525
+ explicitRunOnly: true,
2526
+ min: MIN_SEGMENTATION_DRAWING_RADIUS,
2527
+ max: MAX_SEGMENTATION_DRAWING_RADIUS,
2528
+ step: 0.5,
2529
+ value: 25,
2530
+ commands: {
2531
+ commandName: 'setBrushSize',
2532
+ commandOptions: {
2533
+ toolNames: ['ThresholdCircularBrush', 'ThresholdSphereBrush', 'ThresholdCircularBrushDynamic']
2534
+ }
2535
+ }
2536
+ }, {
2537
+ name: i18next/* ["default"].t */.A.t('Buttons:Threshold'),
2538
+ type: 'radio',
2539
+ id: 'dynamic-mode',
2540
+ value: 'ThresholdRange',
2541
+ values: [{
2542
+ value: 'ThresholdDynamic',
2543
+ label: i18next/* ["default"].t */.A.t('Buttons:Dynamic')
2544
+ }, {
2545
+ value: 'ThresholdRange',
2546
+ label: i18next/* ["default"].t */.A.t('Buttons:Range')
2547
+ }],
2548
+ commands: ({
2549
+ value,
2550
+ commandsManager
2551
+ }) => {
2552
+ if (value === 'ThresholdDynamic') {
2553
+ commandsManager.run('setToolActive', {
2554
+ toolName: 'ThresholdCircularBrushDynamic'
2555
+ });
2556
+ } else {
2557
+ commandsManager.run('setToolActive', {
2558
+ toolName: 'ThresholdCircularBrush'
2559
+ });
2560
+ }
2561
+ }
2562
+ }, {
2563
+ name: i18next/* ["default"].t */.A.t('Buttons:Shape'),
2564
+ type: 'radio',
2565
+ id: 'eraser-mode',
2566
+ value: 'ThresholdCircularBrush',
2567
+ values: [{
2568
+ value: 'ThresholdCircularBrush',
2569
+ label: i18next/* ["default"].t */.A.t('Buttons:Circle')
2570
+ }, {
2571
+ value: 'ThresholdSphereBrush',
2572
+ label: i18next/* ["default"].t */.A.t('Buttons:Sphere')
2573
+ }],
2574
+ condition: ({
2575
+ options
2576
+ }) => options.find(option => option.id === 'dynamic-mode').value === 'ThresholdRange',
2577
+ commands: 'setToolActiveToolbar'
2578
+ }, {
2579
+ name: i18next/* ["default"].t */.A.t('ROIThresholdConfiguration:ThresholdRange'),
2580
+ type: 'double-range',
2581
+ id: 'threshold-range',
2582
+ min: 0,
2583
+ max: 50,
2584
+ step: 0.5,
2585
+ value: [2.5, 50],
2586
+ condition: ({
2587
+ options
2588
+ }) => options.find(option => option.id === 'dynamic-mode').value === 'ThresholdRange',
2589
+ commands: {
2590
+ commandName: 'setThresholdRange',
2591
+ commandOptions: {
2592
+ toolNames: ['ThresholdCircularBrush', 'ThresholdSphereBrush']
2593
+ }
2594
+ }
2595
+ }]
2596
+ }
2597
+ }, {
2598
+ id: 'dataOverlayMenu',
2599
+ uiType: 'ohif.dataOverlayMenu',
2600
+ props: {
2601
+ icon: 'ViewportViews',
2602
+ label: i18next/* ["default"].t */.A.t('Buttons:Data Overlay'),
2603
+ tooltip: i18next/* ["default"].t */.A.t('Buttons:Configure data overlay options and manage foreground/background display sets'),
2604
+ evaluate: 'evaluate.dataOverlayMenu'
2605
+ }
2606
+ }, {
2607
+ id: 'orientationMenu',
2608
+ uiType: 'ohif.orientationMenu',
2609
+ props: {
2610
+ icon: 'OrientationSwitch',
2611
+ label: i18next/* ["default"].t */.A.t('Buttons:Orientation'),
2612
+ tooltip: i18next/* ["default"].t */.A.t('Buttons:Change viewport orientation between axial, sagittal, coronal and reformat planes'),
2613
+ evaluate: {
2614
+ name: 'evaluate.orientationMenu'
2615
+ // hideWhenDisabled: true,
2616
+ }
2617
+ }
2618
+ }, {
2619
+ id: 'windowLevelMenu',
2620
+ uiType: 'ohif.windowLevelMenu',
2621
+ props: {
2622
+ icon: 'WindowLevel',
2623
+ label: i18next/* ["default"].t */.A.t('Buttons:Window Level'),
2624
+ tooltip: i18next/* ["default"].t */.A.t('Buttons:Adjust window/level presets and customize image contrast settings'),
2625
+ evaluate: 'evaluate.windowLevelMenu'
2626
+ }
2627
+ }, {
2628
+ id: 'voiManualControlMenu',
2629
+ uiType: 'ohif.voiManualControlMenu',
2630
+ props: {
2631
+ icon: 'WindowLevelAdvanced',
2632
+ label: i18next/* ["default"].t */.A.t('Buttons:Advanced Window Level'),
2633
+ tooltip: i18next/* ["default"].t */.A.t('Buttons:Advanced window/level settings with manual controls and presets'),
2634
+ evaluate: 'evaluate.voiManualControlMenu'
2635
+ }
2636
+ }, {
2637
+ id: 'thresholdMenu',
2638
+ uiType: 'ohif.thresholdMenu',
2639
+ props: {
2640
+ icon: 'Threshold',
2641
+ label: i18next/* ["default"].t */.A.t('Buttons:Threshold'),
2642
+ tooltip: i18next/* ["default"].t */.A.t('Buttons:Image threshold settings'),
2643
+ evaluate: {
2644
+ name: 'evaluate.thresholdMenu',
2645
+ hideWhenDisabled: true
2646
+ }
2647
+ }
2648
+ }, {
2649
+ id: 'opacityMenu',
2650
+ uiType: 'ohif.opacityMenu',
2651
+ props: {
2652
+ icon: 'Opacity',
2653
+ label: i18next/* ["default"].t */.A.t('Buttons:Opacity'),
2654
+ tooltip: i18next/* ["default"].t */.A.t('Buttons:Image opacity settings'),
2655
+ evaluate: {
2656
+ name: 'evaluate.opacityMenu',
2657
+ hideWhenDisabled: true
2658
+ }
2659
+ }
2660
+ }];
2661
+
2662
+ /**
2663
+ * Default toolbar layout for the TMTV mode, registered as the
2664
+ * `tmtv.toolbarSections` customization.
2665
+ */
2666
+ const toolbarSections = {
2667
+ [TOOLBAR_SECTIONS.primary]: ['MeasurementTools', 'Zoom', 'Pan', 'WindowLevel', 'Crosshairs'],
2668
+ [TOOLBAR_SECTIONS.viewportActionMenu.topLeft]: ['orientationMenu', 'dataOverlayMenu'],
2669
+ [TOOLBAR_SECTIONS.viewportActionMenu.bottomMiddle]: ['AdvancedRenderingControls'],
2670
+ AdvancedRenderingControls: ['windowLevelMenuEmbedded', 'voiManualControlMenu', 'Colorbar', 'opacityMenu', 'thresholdMenu'],
2671
+ [TOOLBAR_SECTIONS.viewportActionMenu.topRight]: ['modalityLoadBadge', 'trackingStatus', 'navigationComponent'],
2672
+ [TOOLBAR_SECTIONS.viewportActionMenu.bottomLeft]: ['windowLevelMenu'],
2673
+ MeasurementTools: ['Length', 'Bidirectional', 'ArrowAnnotate', 'EllipticalROI'],
2674
+ ROIThresholdToolbox: ['SegmentationTools'],
2675
+ SegmentationTools: ['RectangleROIStartEndThreshold', 'BrushTools'],
2676
+ BrushTools: ['Brush', 'Eraser', 'Threshold']
2677
+ };
2678
+
2679
+ /**
2680
+ * TMTV-specific capability packs registered (at default scope) by the tmtv
2681
+ * extension. These are the TMTV mode's specialized toolbar buttons and layout;
2682
+ * the TMTV mode composes them by name in its own `toolbarButtons` /
2683
+ * `toolbarSections` instance arrays, and `?customization=` modules extend the
2684
+ * result through the `mode` phase.
2685
+ */
2686
+ const toolbarCustomization = {
2687
+ 'tmtv.toolbarButtons': toolbarButtons,
2688
+ 'tmtv.toolbarSections': toolbarSections
2689
+ };
2690
+
2691
+ /* export default */ const customizations_toolbarCustomization = (toolbarCustomization);
2692
+ ;// CONCATENATED MODULE: ../../../extensions/tmtv/src/getCustomizationModule.ts
2693
+
2694
+
2695
+ /**
2696
+ * Registers the TMTV-specific capability packs (toolbar buttons and section
2697
+ * layout) so the TMTV mode can compose them by name and `?customization=`
2698
+ * modules can extend the result through the `mode` phase.
2699
+ */
2700
+ function getCustomizationModule() {
2701
+ return [{
2702
+ name: 'default',
2703
+ value: {
2704
+ ...customizations_toolbarCustomization
2705
+ }
2706
+ }];
2707
+ }
2215
2708
  ;// CONCATENATED MODULE: ../../../extensions/tmtv/src/index.tsx
2216
2709
 
2217
2710
 
@@ -2220,6 +2713,8 @@ function getToolbarModule() {
2220
2713
 
2221
2714
 
2222
2715
 
2716
+
2717
+
2223
2718
  /**
2224
2719
  *
2225
2720
  */
@@ -2244,6 +2739,7 @@ const tmtvExtension = {
2244
2739
  getToolbarModule: getToolbarModule,
2245
2740
  getPanelModule: src_getPanelModule,
2246
2741
  getHangingProtocolModule: src_getHangingProtocolModule,
2742
+ getCustomizationModule: getCustomizationModule,
2247
2743
  getCommandsModule({
2248
2744
  servicesManager,
2249
2745
  commandsManager,
@@ -2258,6 +2754,7 @@ const tmtvExtension = {
2258
2754
  };
2259
2755
  /* export default */ const tmtv_src = (tmtvExtension);
2260
2756
 
2757
+
2261
2758
  },
2262
2759
 
2263
2760
  }]);
@@ -1037,8 +1037,8 @@ function getCustomizationModule() {
1037
1037
  value: customizations_segmentationCustomization
1038
1038
  }];
1039
1039
  }
1040
- // EXTERNAL MODULE: ../../../extensions/cornerstone/src/index.tsx + 198 modules
1041
- var cornerstone_src = __webpack_require__(28772);
1040
+ // EXTERNAL MODULE: ../../../extensions/cornerstone/src/index.tsx + 200 modules
1041
+ var cornerstone_src = __webpack_require__(86714);
1042
1042
  // EXTERNAL MODULE: ../../ui-next/src/index.ts + 3682 modules
1043
1043
  var ui_next_src = __webpack_require__(39987);
1044
1044
  // EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/utilities/index.js
@@ -484,8 +484,8 @@ function getCustomizationModule() {
484
484
  /* export default */ const maxNumImageFrames = ((study, extraData) => Math.max(...(extraData?.displaySets?.map?.(ds => ds.numImageFrames ?? 0) || [0])));
485
485
  // EXTERNAL MODULE: ../../../node_modules/react/index.js
486
486
  var react = __webpack_require__(86326);
487
- // EXTERNAL MODULE: ../../../extensions/cornerstone/src/index.tsx + 198 modules
488
- var src = __webpack_require__(28772);
487
+ // EXTERNAL MODULE: ../../../extensions/cornerstone/src/index.tsx + 200 modules
488
+ var src = __webpack_require__(86714);
489
489
  ;// CONCATENATED MODULE: ../../../extensions/test-extension/src/getPanelModule.tsx
490
490
 
491
491