@ohif/app 3.13.0-beta.122 → 3.13.0-beta.123
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/{1206.bundle.e04ca1efe6f987ba.js → 1206.bundle.8ca95ea92d278d25.js} +1 -1
- package/dist/{1602.bundle.cd2e106bd1438fbb.js → 1602.bundle.adc9c42f3f0cee10.js} +4 -4
- package/dist/{2493.bundle.f3b6a64d158365da.js → 2493.bundle.d16ea70ddcc1fb6b.js} +68 -12
- package/dist/{7231.bundle.1063d727ad99108a.js → 2623.bundle.983a376f7b7e86a5.js} +142 -33
- package/dist/{3330.bundle.b1297ef8c94e5440.js → 3330.bundle.1b8bc8f7c4071336.js} +46 -2
- package/dist/{3500.bundle.153e80b55f1dedb4.js → 3500.bundle.642aa0112968cf71.js} +1 -1
- package/dist/{3568.bundle.45dc681ef6890166.js → 3568.bundle.9aa4b4b27294ff6d.js} +41 -10
- package/dist/{3760.bundle.040c5960d2324a23.js → 3760.bundle.5e5d19b9f8d56cae.js} +4 -4
- package/dist/{5189.bundle.ea191ea99047fd6f.js → 5189.bundle.fc73612f2e198892.js} +2 -2
- package/dist/{5448.bundle.5686ebb99c379f64.js → 5448.bundle.316b091e38440aef.js} +1 -1
- package/dist/{5910.bundle.0f19608f3e76859b.js → 5910.bundle.d9cbcbb62ddd6638.js} +2 -2
- package/dist/{6495.bundle.a6764fdb8c0c252f.js → 6495.bundle.5ad5a10d2c9dcba1.js} +48 -3
- package/dist/{7248.bundle.ffc730f7131663b5.js → 7248.bundle.1b52f19fbd2bbc40.js} +28 -10
- package/dist/{7499.bundle.cf7e3863a046ea45.js → 7499.bundle.e958878c66174ab0.js} +74 -29
- package/dist/{781.bundle.f8fe016b3c6f7247.js → 781.bundle.f6fa3ab2b8ec22a5.js} +100 -45
- package/dist/{8423.bundle.edee0022549d0a69.js → 8423.bundle.d9be5db38ca5b9cd.js} +2 -2
- package/dist/{5642.bundle.98e17a4413db6ef1.js → 8478.bundle.163d258bf75a0aed.js} +32847 -7919
- package/dist/{8668.bundle.0e47f7231aa07da2.js → 8668.bundle.e254939790f776e2.js} +44 -0
- package/dist/{8832.bundle.d5469e59f146f5ab.js → 8832.bundle.62e66fad140b5182.js} +3 -3
- package/dist/{2343.bundle.2f0d1dcc2c98c6ef.js → 89.bundle.fe29d1712fd47341.js} +16340 -1013
- package/dist/{899.bundle.50c16f860acbc848.js → 899.bundle.b012ed530e343897.js} +2 -2
- package/dist/{9068.bundle.95f1e638ef694ea9.js → 9068.bundle.13173c70d4f33cf0.js} +2 -2
- package/dist/{9415.bundle.4631e14c554852b8.js → 9415.bundle.3044caa6fbf3e331.js} +2 -2
- package/dist/app-config.js +16 -0
- package/dist/{app.bundle.41cbf372286f0f33.js → app.bundle.ce26bd25f1b2d6eb.js} +291 -41
- package/dist/{compute.bundle.9cc3697d07fbb082.js → compute.bundle.690de60973ccebc4.js} +1 -1
- package/dist/index.html +1 -1
- package/dist/{polySeg.bundle.a526954fc2fed311.js → polySeg.bundle.369c7996934b22e3.js} +1 -1
- package/dist/sw.js +1 -1
- package/package.json +6 -6
- package/dist/8432.bundle.7d5ebe1ed1610bc3.js +0 -24931
- package/dist/8595.css +0 -2
- package/dist/9402.bundle.d6f2b78374472970.js +0 -13041
- /package/dist/{100.bundle.0d3d69d5df0349ed.js → 100.bundle.a747be7c54b03050.js} +0 -0
- /package/dist/{1180.bundle.7e332fa34109403e.js → 1180.bundle.12decb70e347ab18.js} +0 -0
- /package/dist/{1483.bundle.2b4770a9bcbc979a.js → 1483.bundle.5d7cb3b2c8339993.js} +0 -0
- /package/dist/{7231.css → 2623.css} +0 -0
- /package/dist/{2779.bundle.5dc197604cc6ef42.js → 2779.bundle.50f6254deda46e49.js} +0 -0
- /package/dist/{4556.bundle.51ef7351e956466c.js → 4556.bundle.1ea04fd48fc5d2ca.js} +0 -0
- /package/dist/{4683.bundle.21c60514c9d785fa.js → 4683.bundle.b560312b5eebd925.js} +0 -0
- /package/dist/{5696.bundle.e69c9f340e70968a.js → 5696.bundle.78c7e21c71846f7b.js} +0 -0
- /package/dist/{6749.bundle.454ea7ca21d3c0a8.js → 6749.bundle.87258a158729e73d.js} +0 -0
- /package/dist/{8492.bundle.b065c8a96d49950a.js → 8492.bundle.1dbc1691c7db0e87.js} +0 -0
- /package/dist/{9116.bundle.8f9fc67d1fb2ac81.js → 9116.bundle.3173fbc0a9246402.js} +0 -0
- /package/dist/{9290.bundle.52e56719bbca68ff.js → 9290.bundle.e84eec85a00eb7a1.js} +0 -0
- /package/dist/{9383.bundle.ec44c452ccc23e93.js → 9383.bundle.885123e100c1b477.js} +0 -0
- /package/dist/{9437.bundle.72f5fd25db7e85f2.js → 9437.bundle.dabd58171e5f91e9.js} +0 -0
- /package/dist/{9560.bundle.517f0ef7ee3a20bf.js → 9560.bundle.4c9bc48e09c0bae1.js} +0 -0
|
@@ -3174,6 +3174,8 @@ async function addVolumesAsIndependentComponents({ viewport, volumeInputs, segme
|
|
|
3174
3174
|
}
|
|
3175
3175
|
viewport.removeActors([uid]);
|
|
3176
3176
|
const oldMapper = actor.getMapper();
|
|
3177
|
+
const sharedImageData = oldMapper.getInputData();
|
|
3178
|
+
const originalScalars = sharedImageData.getPointData().getScalars() ?? null;
|
|
3177
3179
|
const mapper = (0,esm.convertMapperToNotSharedMapper)(oldMapper);
|
|
3178
3180
|
actor.setMapper(mapper);
|
|
3179
3181
|
mapper.setBlendMode(esm.Enums.BlendModes.LABELMAP_EDGE_PROJECTION_BLEND);
|
|
@@ -3190,9 +3192,16 @@ async function addVolumesAsIndependentComponents({ viewport, volumeInputs, segme
|
|
|
3190
3192
|
.getProperty()
|
|
3191
3193
|
.getIndependentComponents();
|
|
3192
3194
|
actor.getProperty().setIndependentComponents(true);
|
|
3195
|
+
const oldUseLabelOutline = actor.getProperty().getUseLabelOutline();
|
|
3196
|
+
const oldLabelOutlineOpacity = actor.getProperty().getLabelOutlineOpacity();
|
|
3197
|
+
const oldLabelOutlineThickness = actor
|
|
3198
|
+
.getProperty()
|
|
3199
|
+
.getLabelOutlineThickness();
|
|
3200
|
+
const representationUID = volumeInputArray[0].representationUID ??
|
|
3201
|
+
`${segmentationId}-${enums.SegmentationRepresentations.Labelmap}`;
|
|
3193
3202
|
viewport.addActor({
|
|
3194
3203
|
...defaultActor,
|
|
3195
|
-
representationUID
|
|
3204
|
+
representationUID,
|
|
3196
3205
|
});
|
|
3197
3206
|
internalCache.set(uid, {
|
|
3198
3207
|
added: true,
|
|
@@ -3204,7 +3213,7 @@ async function addVolumesAsIndependentComponents({ viewport, volumeInputs, segme
|
|
|
3204
3213
|
preLoad: load,
|
|
3205
3214
|
});
|
|
3206
3215
|
function onSegmentationDataModified(evt) {
|
|
3207
|
-
const { segmentationId } = evt.detail;
|
|
3216
|
+
const { segmentationId, modifiedSlicesToUse } = evt.detail;
|
|
3208
3217
|
const { representationData } = (0,getSegmentation/* .getSegmentation */.T)(segmentationId);
|
|
3209
3218
|
const { volumeId: segVolumeId } = representationData.Labelmap;
|
|
3210
3219
|
if (segVolumeId !== segImageVolume.volumeId) {
|
|
@@ -3214,19 +3223,30 @@ async function addVolumesAsIndependentComponents({ viewport, volumeInputs, segme
|
|
|
3214
3223
|
const segVoxelManager = segmentationVolume.voxelManager;
|
|
3215
3224
|
const imageData = mapper.getInputData();
|
|
3216
3225
|
const array = imageData.getPointData().getArray(0);
|
|
3217
|
-
const
|
|
3226
|
+
const combinedData = array.getData();
|
|
3218
3227
|
const newComp = 2;
|
|
3219
3228
|
const dims = segImageData.getDimensions();
|
|
3220
|
-
const
|
|
3229
|
+
const sliceSize = dims[0] * dims[1];
|
|
3230
|
+
const slices = modifiedSlicesToUse?.length
|
|
3231
|
+
? modifiedSlicesToUse
|
|
3232
|
+
: Array.from({ length: dims[2] }, (_, i) => i);
|
|
3221
3233
|
for (const z of slices) {
|
|
3222
|
-
|
|
3223
|
-
|
|
3224
|
-
|
|
3225
|
-
|
|
3234
|
+
const sliceStart = z * sliceSize;
|
|
3235
|
+
const sliceImage = esm.cache.getImage(segmentationVolume.imageIds?.[z]);
|
|
3236
|
+
const sliceData = sliceImage?.voxelManager?.getScalarData?.();
|
|
3237
|
+
if (sliceData?.length === sliceSize) {
|
|
3238
|
+
for (let i = 0; i < sliceSize; ++i) {
|
|
3239
|
+
combinedData[(sliceStart + i) * newComp + 1] = sliceData[i];
|
|
3240
|
+
}
|
|
3241
|
+
}
|
|
3242
|
+
else {
|
|
3243
|
+
for (let i = 0; i < sliceSize; ++i) {
|
|
3244
|
+
const iTuple = sliceStart + i;
|
|
3245
|
+
combinedData[iTuple * newComp + 1] = segVoxelManager.getAtIndex(iTuple);
|
|
3226
3246
|
}
|
|
3227
3247
|
}
|
|
3228
3248
|
}
|
|
3229
|
-
array.setData(
|
|
3249
|
+
array.setData(combinedData);
|
|
3230
3250
|
imageData.modified();
|
|
3231
3251
|
viewport.render();
|
|
3232
3252
|
}
|
|
@@ -3235,7 +3255,7 @@ async function addVolumesAsIndependentComponents({ viewport, volumeInputs, segme
|
|
|
3235
3255
|
if (evt.detail.viewportId !== viewport.id) {
|
|
3236
3256
|
return;
|
|
3237
3257
|
}
|
|
3238
|
-
esm.eventTarget.
|
|
3258
|
+
esm.eventTarget.removeEventListenerDebounced(enums.Events.SEGMENTATION_DATA_MODIFIED, onSegmentationDataModified);
|
|
3239
3259
|
esm.eventTarget.removeEventListener(enums.Events.SEGMENTATION_REPRESENTATION_REMOVED, onSegmentationRepresentationRemoved);
|
|
3240
3260
|
const actorEntry = viewport.getActor(uid);
|
|
3241
3261
|
if (actorEntry) {
|
|
@@ -3246,11 +3266,22 @@ async function addVolumesAsIndependentComponents({ viewport, volumeInputs, segme
|
|
|
3246
3266
|
return;
|
|
3247
3267
|
}
|
|
3248
3268
|
actor.setMapper(oldMapper);
|
|
3269
|
+
const pointData = sharedImageData.getPointData();
|
|
3270
|
+
if (originalScalars) {
|
|
3271
|
+
pointData.setScalars(originalScalars);
|
|
3272
|
+
}
|
|
3273
|
+
else {
|
|
3274
|
+
pointData.removeArray('Pixels');
|
|
3275
|
+
}
|
|
3276
|
+
sharedImageData.modified();
|
|
3249
3277
|
actor.getProperty().setColorMixPreset(oldColorMixPreset);
|
|
3250
3278
|
actor
|
|
3251
3279
|
.getProperty()
|
|
3252
3280
|
.setForceNearestInterpolation(1, oldForceNearestInterpolation);
|
|
3253
3281
|
actor.getProperty().setIndependentComponents(oldIndependentComponents);
|
|
3282
|
+
actor.getProperty().setUseLabelOutline(oldUseLabelOutline);
|
|
3283
|
+
actor.getProperty().setLabelOutlineOpacity(oldLabelOutlineOpacity);
|
|
3284
|
+
actor.getProperty().setLabelOutlineThickness(oldLabelOutlineThickness);
|
|
3254
3285
|
viewport.addActor({
|
|
3255
3286
|
...defaultActor,
|
|
3256
3287
|
});
|
|
@@ -1267,8 +1267,8 @@ function getImageSrcFromImageId(cornerstone, imageId) {
|
|
|
1267
1267
|
});
|
|
1268
1268
|
}
|
|
1269
1269
|
/* export default */ const PanelStudyBrowserTracking_getImageSrcFromImageId = (getImageSrcFromImageId);
|
|
1270
|
-
// EXTERNAL MODULE: ../../../extensions/default/src/index.ts +
|
|
1271
|
-
var default_src = __webpack_require__(
|
|
1270
|
+
// EXTERNAL MODULE: ../../../extensions/default/src/index.ts + 148 modules
|
|
1271
|
+
var default_src = __webpack_require__(50904);
|
|
1272
1272
|
;// CONCATENATED MODULE: ../../../extensions/measurement-tracking/src/panels/PanelStudyBrowserTracking/index.tsx
|
|
1273
1273
|
|
|
1274
1274
|
//
|
|
@@ -1329,8 +1329,8 @@ function _createGetImageSrcFromImageIdFn(extensionManager) {
|
|
|
1329
1329
|
}
|
|
1330
1330
|
}
|
|
1331
1331
|
/* export default */ const panels_PanelStudyBrowserTracking = (WrappedPanelStudyBrowserTracking);
|
|
1332
|
-
// EXTERNAL MODULE: ../../../extensions/cornerstone/src/index.tsx +
|
|
1333
|
-
var cornerstone_src = __webpack_require__(
|
|
1332
|
+
// EXTERNAL MODULE: ../../../extensions/cornerstone/src/index.tsx + 211 modules
|
|
1333
|
+
var cornerstone_src = __webpack_require__(75609);
|
|
1334
1334
|
;// CONCATENATED MODULE: ../../../extensions/measurement-tracking/src/panels/PanelMeasurementTableTracking.tsx
|
|
1335
1335
|
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
1336
1336
|
|
|
@@ -11,8 +11,8 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
11
11
|
|
|
12
12
|
// EXTERNAL MODULE: ../../../node_modules/react/index.js
|
|
13
13
|
var react = __webpack_require__(86326);
|
|
14
|
-
// EXTERNAL MODULE: ../../../extensions/default/src/index.ts +
|
|
15
|
-
var src = __webpack_require__(
|
|
14
|
+
// EXTERNAL MODULE: ../../../extensions/default/src/index.ts + 148 modules
|
|
15
|
+
var src = __webpack_require__(50904);
|
|
16
16
|
;// CONCATENATED MODULE: ../../../extensions/dicom-microscopy/src/DicomMicroscopyViewport.css
|
|
17
17
|
// extracted by css-extract-rspack-plugin
|
|
18
18
|
|
|
@@ -9,7 +9,7 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
9
9
|
/* import */ var prop_types__rspack_import_0_default = /*#__PURE__*/__webpack_require__.n(prop_types__rspack_import_0);
|
|
10
10
|
/* import */ var react__rspack_import_1 = __webpack_require__(86326);
|
|
11
11
|
/* import */ var _ohif_ui_next__rspack_import_2 = __webpack_require__(39987);
|
|
12
|
-
/* import */ var _ohif_extension_cornerstone__rspack_import_3 = __webpack_require__(
|
|
12
|
+
/* import */ var _ohif_extension_cornerstone__rspack_import_3 = __webpack_require__(75609);
|
|
13
13
|
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
14
14
|
|
|
15
15
|
|
|
@@ -16,8 +16,8 @@ var prop_types = __webpack_require__(97598);
|
|
|
16
16
|
var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
|
|
17
17
|
// EXTERNAL MODULE: ../../ui-next/src/index.ts + 3682 modules
|
|
18
18
|
var src = __webpack_require__(39987);
|
|
19
|
-
// EXTERNAL MODULE: ../../../extensions/cornerstone/src/index.tsx +
|
|
20
|
-
var cornerstone_src = __webpack_require__(
|
|
19
|
+
// EXTERNAL MODULE: ../../../extensions/cornerstone/src/index.tsx + 211 modules
|
|
20
|
+
var cornerstone_src = __webpack_require__(75609);
|
|
21
21
|
;// CONCATENATED MODULE: ../../../extensions/cornerstone-dicom-rt/src/utils/promptHydrateRT.ts
|
|
22
22
|
|
|
23
23
|
function promptHydrateRT({
|
|
@@ -4333,7 +4333,7 @@ const onSegmentationDataModified = function (evt) {
|
|
|
4333
4333
|
if (representationData.Labelmap) {
|
|
4334
4334
|
(0,_labelmap_onLabelmapSegmentationDataModified_js__rspack_import_1/* ["default"] */.A)(evt);
|
|
4335
4335
|
}
|
|
4336
|
-
(0,_stateManagement_segmentation_SegmentationRenderingEngine_js__rspack_import_0/* .
|
|
4336
|
+
(0,_stateManagement_segmentation_SegmentationRenderingEngine_js__rspack_import_0/* .triggerSegmentationRenderForModified */.X8)(segmentationId);
|
|
4337
4337
|
};
|
|
4338
4338
|
/* export default */ const __rspack_default_export = (onSegmentationDataModified);
|
|
4339
4339
|
|
|
@@ -5060,7 +5060,7 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
5060
5060
|
store: () => (/* reexport module object */ _store_index_js__rspack_import_1),
|
|
5061
5061
|
synchronizers: () => (/* reexport module object */ _synchronizers_index_js__rspack_import_5),
|
|
5062
5062
|
utilities: () => (/* reexport module object */ _utilities_index_js__rspack_import_7),
|
|
5063
|
-
version: () => (/* reexport safe */ (/* inlined export _version_js__rspack_import_4 */"5.4.
|
|
5063
|
+
version: () => (/* reexport safe */ (/* inlined export _version_js__rspack_import_4 */"5.4.17"))
|
|
5064
5064
|
});
|
|
5065
5065
|
/* import */ var _init_js__rspack_import_0 = __webpack_require__(70210);
|
|
5066
5066
|
/* import */ var _store_index_js__rspack_import_1 = __webpack_require__(37872);
|
|
@@ -6291,6 +6291,7 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
6291
6291
|
},
|
|
6292
6292
|
88330(__unused_rspack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
6293
6293
|
__webpack_require__.d(__webpack_exports__, {
|
|
6294
|
+
X8: () => (triggerSegmentationRenderForModified),
|
|
6294
6295
|
fy: () => (triggerSegmentationRenderBySegmentationId),
|
|
6295
6296
|
h6: () => (triggerSegmentationRender)
|
|
6296
6297
|
});
|
|
@@ -6475,6 +6476,50 @@ function triggerSegmentationRender(viewportId) {
|
|
|
6475
6476
|
function triggerSegmentationRenderBySegmentationId(segmentationId) {
|
|
6476
6477
|
segmentationRenderingEngine.renderSegmentation(segmentationId);
|
|
6477
6478
|
}
|
|
6479
|
+
const DEFERRED_SEGMENTATION_RENDER_DELAY_MS = 240;
|
|
6480
|
+
const deferredSegmentationRenderTimers = new Map();
|
|
6481
|
+
function isProjectionHeavySegmentationViewport(viewport) {
|
|
6482
|
+
const blendMode = viewport.getBlendMode?.();
|
|
6483
|
+
if (blendMode === _cornerstonejs_core__rspack_import_0.Enums.BlendModes.LABELMAP_EDGE_PROJECTION_BLEND) {
|
|
6484
|
+
return true;
|
|
6485
|
+
}
|
|
6486
|
+
const planarViewport = viewport;
|
|
6487
|
+
if (typeof planarViewport.getDisplaySetPresentation !== 'function') {
|
|
6488
|
+
return false;
|
|
6489
|
+
}
|
|
6490
|
+
const dataIds = [];
|
|
6491
|
+
const sourceDataId = planarViewport.getSourceDataId?.();
|
|
6492
|
+
if (sourceDataId) {
|
|
6493
|
+
dataIds.push(sourceDataId);
|
|
6494
|
+
}
|
|
6495
|
+
planarViewport.getActors?.().forEach((actorEntry) => {
|
|
6496
|
+
if (actorEntry.representationUID) {
|
|
6497
|
+
dataIds.push(String(actorEntry.representationUID));
|
|
6498
|
+
}
|
|
6499
|
+
});
|
|
6500
|
+
return dataIds.some((dataId) => (planarViewport.getDisplaySetPresentation(dataId)?.slabThickness ?? 0) > 0);
|
|
6501
|
+
}
|
|
6502
|
+
function triggerSegmentationRenderForModified(segmentationId) {
|
|
6503
|
+
const viewportIds = segmentationRenderingEngine._getViewportIdsForSegmentation(segmentationId);
|
|
6504
|
+
viewportIds.forEach((viewportId) => {
|
|
6505
|
+
const { viewport } = (0,_cornerstonejs_core__rspack_import_0.getEnabledElementByViewportId)(viewportId) || {};
|
|
6506
|
+
if (!viewport) {
|
|
6507
|
+
return;
|
|
6508
|
+
}
|
|
6509
|
+
if (!isProjectionHeavySegmentationViewport(viewport)) {
|
|
6510
|
+
segmentationRenderingEngine.renderSegmentationsForViewport(viewportId);
|
|
6511
|
+
return;
|
|
6512
|
+
}
|
|
6513
|
+
const existingTimer = deferredSegmentationRenderTimers.get(viewportId);
|
|
6514
|
+
if (existingTimer !== undefined) {
|
|
6515
|
+
clearTimeout(existingTimer);
|
|
6516
|
+
}
|
|
6517
|
+
deferredSegmentationRenderTimers.set(viewportId, setTimeout(() => {
|
|
6518
|
+
deferredSegmentationRenderTimers.delete(viewportId);
|
|
6519
|
+
segmentationRenderingEngine.renderSegmentationsForViewport(viewportId);
|
|
6520
|
+
}, DEFERRED_SEGMENTATION_RENDER_DELAY_MS));
|
|
6521
|
+
});
|
|
6522
|
+
}
|
|
6478
6523
|
const segmentationRenderingEngine = new SegmentationRenderingEngine();
|
|
6479
6524
|
|
|
6480
6525
|
|
|
@@ -45750,7 +45795,7 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
45750
45795
|
|
|
45751
45796
|
},
|
|
45752
45797
|
80274() {
|
|
45753
|
-
const version = '5.4.
|
|
45798
|
+
const version = '5.4.17';
|
|
45754
45799
|
|
|
45755
45800
|
|
|
45756
45801
|
},
|
|
@@ -65,8 +65,8 @@ var react = __webpack_require__(86326);
|
|
|
65
65
|
var src = __webpack_require__(50679);
|
|
66
66
|
// EXTERNAL MODULE: ../../i18n/src/index.js + 300 modules
|
|
67
67
|
var i18n_src = __webpack_require__(90119);
|
|
68
|
-
// EXTERNAL MODULE: ../../../extensions/cornerstone/src/index.tsx +
|
|
69
|
-
var cornerstone_src = __webpack_require__(
|
|
68
|
+
// EXTERNAL MODULE: ../../../extensions/cornerstone/src/index.tsx + 211 modules
|
|
69
|
+
var cornerstone_src = __webpack_require__(75609);
|
|
70
70
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/adapters/dist/esm/index.js + 83 modules
|
|
71
71
|
var esm = __webpack_require__(86186);
|
|
72
72
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/index.js
|
|
@@ -1452,12 +1452,14 @@ function hydrateStructuredReport({
|
|
|
1452
1452
|
// For 3d annotations there are no image IDs,
|
|
1453
1453
|
// so we need to find the display sets by frame of reference to get the SeriesInstanceUIDs
|
|
1454
1454
|
const frameOfReferenceUIDs = getFrameOfReferenceUIDs(hydratableMeasurementsInSR, sopInstanceUIDToImageId);
|
|
1455
|
+
const displaySetsByFrameOfReferenceUID = new Map();
|
|
1455
1456
|
for (const FrameOfReferenceUID of frameOfReferenceUIDs) {
|
|
1456
1457
|
const displaySetsFOR = displaySetService.getDisplaySetsBy(ds => ds.FrameOfReferenceUID === FrameOfReferenceUID && !ds.isDerivedDisplaySet);
|
|
1457
|
-
const ds =
|
|
1458
|
+
const ds = getReferencedDisplaySet(displaySet, displaySetsFOR, FrameOfReferenceUID, displaySetService);
|
|
1458
1459
|
if (!ds) {
|
|
1459
1460
|
continue;
|
|
1460
1461
|
}
|
|
1462
|
+
displaySetsByFrameOfReferenceUID.set(FrameOfReferenceUID, ds);
|
|
1461
1463
|
if (!SeriesInstanceUIDs.includes(ds.SeriesInstanceUID)) {
|
|
1462
1464
|
SeriesInstanceUIDs.push(ds.SeriesInstanceUID);
|
|
1463
1465
|
}
|
|
@@ -1480,7 +1482,7 @@ function hydrateStructuredReport({
|
|
|
1480
1482
|
const frameNumber = toolData.annotation.data && toolData.annotation.data.frameNumber || 1;
|
|
1481
1483
|
const imageId = sopInstanceUIDToImageId[`${toolData.sopInstanceUid}:${frameNumber}`];
|
|
1482
1484
|
if (!imageId) {
|
|
1483
|
-
return getReferenceData3D(toolData, servicesManager);
|
|
1485
|
+
return getReferenceData3D(toolData, servicesManager, displaySetsByFrameOfReferenceUID);
|
|
1484
1486
|
}
|
|
1485
1487
|
const instance = core_dist_esm.metaData.get('instance', imageId);
|
|
1486
1488
|
const {
|
|
@@ -1602,21 +1604,37 @@ function chooseDisplaySet(displaySets, reference) {
|
|
|
1602
1604
|
console.warn('No display set found for', reference);
|
|
1603
1605
|
return;
|
|
1604
1606
|
}
|
|
1605
|
-
|
|
1606
|
-
|
|
1607
|
+
const sortedDisplaySets = src/* ["default"].utils.sortDisplaySetsCopy */.Ay.utils.sortDisplaySetsCopy(displaySets);
|
|
1608
|
+
if (sortedDisplaySets.length === 1) {
|
|
1609
|
+
return sortedDisplaySets[0];
|
|
1607
1610
|
}
|
|
1608
|
-
const volumeDs =
|
|
1611
|
+
const volumeDs = sortedDisplaySets.find(ds => ds.isReconstructable);
|
|
1609
1612
|
if (volumeDs) {
|
|
1610
1613
|
return volumeDs;
|
|
1611
1614
|
}
|
|
1612
|
-
return
|
|
1615
|
+
return sortedDisplaySets[0];
|
|
1616
|
+
}
|
|
1617
|
+
|
|
1618
|
+
/**
|
|
1619
|
+
* SCOORD3D only identifies a frame of reference, so many series can be valid
|
|
1620
|
+
* candidates. The SR loader has already selected and recorded a stable display
|
|
1621
|
+
* set for each measurement. Reuse that selection during hydration so the
|
|
1622
|
+
* viewport series and annotation volume cannot depend on display-set load order.
|
|
1623
|
+
*/
|
|
1624
|
+
function getReferencedDisplaySet(srDisplaySet, displaySets, FrameOfReferenceUID, displaySetService) {
|
|
1625
|
+
const referencedDisplaySetInstanceUID = srDisplaySet.measurements?.find(measurement => measurement.coords?.some(coord => coord.ValueType === 'SCOORD3D' && coord.ReferencedFrameOfReferenceSequence === FrameOfReferenceUID))?.displaySetInstanceUID;
|
|
1626
|
+
const referencedDisplaySet = referencedDisplaySetInstanceUID ? displaySetService.getDisplaySetByUID(referencedDisplaySetInstanceUID) : undefined;
|
|
1627
|
+
if (referencedDisplaySet?.FrameOfReferenceUID === FrameOfReferenceUID && !referencedDisplaySet.isDerivedDisplaySet) {
|
|
1628
|
+
return referencedDisplaySet;
|
|
1629
|
+
}
|
|
1630
|
+
return chooseDisplaySet(displaySets, FrameOfReferenceUID);
|
|
1613
1631
|
}
|
|
1614
1632
|
|
|
1615
1633
|
/**
|
|
1616
1634
|
* Gets the additional reference data appropriate for a 3d reference.
|
|
1617
1635
|
* This will choose a volume id, frame of reference and a plane restriction.
|
|
1618
1636
|
*/
|
|
1619
|
-
function getReferenceData3D(toolData, servicesManager) {
|
|
1637
|
+
function getReferenceData3D(toolData, servicesManager, displaySetsByFrameOfReferenceUID = new Map()) {
|
|
1620
1638
|
const {
|
|
1621
1639
|
FrameOfReferenceUID
|
|
1622
1640
|
} = toolData.annotation.metadata;
|
|
@@ -1632,7 +1650,7 @@ function getReferenceData3D(toolData, servicesManager) {
|
|
|
1632
1650
|
FrameOfReferenceUID
|
|
1633
1651
|
};
|
|
1634
1652
|
}
|
|
1635
|
-
const ds = chooseDisplaySet(displaySetsFOR, toolData.annotation);
|
|
1653
|
+
const ds = displaySetsByFrameOfReferenceUID.get(FrameOfReferenceUID) || chooseDisplaySet(displaySetsFOR, toolData.annotation);
|
|
1636
1654
|
const cameraView = chooseCameraView(ds, points);
|
|
1637
1655
|
const viewReference = {
|
|
1638
1656
|
...cameraView,
|
|
@@ -14,6 +14,8 @@ var package_namespaceObject = JSON.parse('{"UU":"@ohif/extension-tmtv"}')
|
|
|
14
14
|
|
|
15
15
|
const id_id = package_namespaceObject.UU;
|
|
16
16
|
|
|
17
|
+
// EXTERNAL MODULE: ../../../extensions/cornerstone/src/index.tsx + 211 modules
|
|
18
|
+
var src = __webpack_require__(75609);
|
|
17
19
|
;// CONCATENATED MODULE: ../../../extensions/tmtv/src/utils/hpViewports.ts
|
|
18
20
|
// Common sync group configurations
|
|
19
21
|
const cameraPositionSync = id => ({
|
|
@@ -248,6 +250,13 @@ const fusionAXIAL = {
|
|
|
248
250
|
options: {
|
|
249
251
|
colormap: {
|
|
250
252
|
name: 'hsv',
|
|
253
|
+
// Legacy fusion PT opacity ramp (unchanged): low PT values stay mostly
|
|
254
|
+
// transparent so the CT shows through. Do NOT flatten this to a scalar —
|
|
255
|
+
// the legacy viewport renders this ramp and depends on it. The native
|
|
256
|
+
// ("next") viewport would apply the ramp literally (keeping the
|
|
257
|
+
// background transparent and preventing the 100% opacity slider from
|
|
258
|
+
// fully covering the CT), so the next path replaces this ramp with a
|
|
259
|
+
// flat scalar in getHangingProtocolModule instead of changing it here.
|
|
251
260
|
opacity: [{
|
|
252
261
|
value: 0,
|
|
253
262
|
opacity: 0
|
|
@@ -306,6 +315,13 @@ const fusionSAGITTAL = {
|
|
|
306
315
|
options: {
|
|
307
316
|
colormap: {
|
|
308
317
|
name: 'hsv',
|
|
318
|
+
// Legacy fusion PT opacity ramp (unchanged): low PT values stay mostly
|
|
319
|
+
// transparent so the CT shows through. Do NOT flatten this to a scalar —
|
|
320
|
+
// the legacy viewport renders this ramp and depends on it. The native
|
|
321
|
+
// ("next") viewport would apply the ramp literally (keeping the
|
|
322
|
+
// background transparent and preventing the 100% opacity slider from
|
|
323
|
+
// fully covering the CT), so the next path replaces this ramp with a
|
|
324
|
+
// flat scalar in getHangingProtocolModule instead of changing it here.
|
|
309
325
|
opacity: [{
|
|
310
326
|
value: 0,
|
|
311
327
|
opacity: 0
|
|
@@ -364,6 +380,13 @@ const fusionCORONAL = {
|
|
|
364
380
|
options: {
|
|
365
381
|
colormap: {
|
|
366
382
|
name: 'hsv',
|
|
383
|
+
// Legacy fusion PT opacity ramp (unchanged): low PT values stay mostly
|
|
384
|
+
// transparent so the CT shows through. Do NOT flatten this to a scalar —
|
|
385
|
+
// the legacy viewport renders this ramp and depends on it. The native
|
|
386
|
+
// ("next") viewport would apply the ramp literally (keeping the
|
|
387
|
+
// background transparent and preventing the 100% opacity slider from
|
|
388
|
+
// fully covering the CT), so the next path replaces this ramp with a
|
|
389
|
+
// flat scalar in getHangingProtocolModule instead of changing it here.
|
|
367
390
|
opacity: [{
|
|
368
391
|
value: 0,
|
|
369
392
|
opacity: 0
|
|
@@ -431,6 +454,7 @@ const mipSAGITTAL = {
|
|
|
431
454
|
;// CONCATENATED MODULE: ../../../extensions/tmtv/src/getHangingProtocolModule.ts
|
|
432
455
|
|
|
433
456
|
|
|
457
|
+
|
|
434
458
|
/**
|
|
435
459
|
* represents a 3x4 viewport layout configuration. The layout displays CT axial, sagittal, and coronal
|
|
436
460
|
* images in the first row, PT axial, sagittal, and coronal images in the second row, and fusion axial,
|
|
@@ -707,6 +731,19 @@ const ptCT = {
|
|
|
707
731
|
numberOfPriorsReferenced: -1
|
|
708
732
|
};
|
|
709
733
|
function getHangingProtocolModule() {
|
|
734
|
+
// Replace the fusion PT opacity ramp with a flat scalar for the native ("next")
|
|
735
|
+
// path only, leaving the legacy ramp in hpViewports untouched. Done here (not at
|
|
736
|
+
// module load) because the useNextViewports flag is set during cornerstone
|
|
737
|
+
// preRegistration, which runs before this module is gathered.
|
|
738
|
+
if ((0,src/* .isNextViewportsEnabled */.qW)()) {
|
|
739
|
+
[fusionAXIAL, fusionSAGITTAL, fusionCORONAL].forEach(viewport => {
|
|
740
|
+
const ptDisplaySet = viewport.displaySets?.find(ds => ds.id === 'ptDisplaySet');
|
|
741
|
+
const colormap = ptDisplaySet?.options?.colormap;
|
|
742
|
+
if (colormap) {
|
|
743
|
+
colormap.opacity = src/* .NEXT_FUSION_PT_OPACITY */.yM;
|
|
744
|
+
}
|
|
745
|
+
});
|
|
746
|
+
}
|
|
710
747
|
return [{
|
|
711
748
|
name: ptCT.id,
|
|
712
749
|
protocol: ptCT
|
|
@@ -719,7 +756,7 @@ var react = __webpack_require__(86326);
|
|
|
719
756
|
var prop_types = __webpack_require__(97598);
|
|
720
757
|
var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
|
|
721
758
|
// EXTERNAL MODULE: ../../core/src/index.ts + 75 modules
|
|
722
|
-
var
|
|
759
|
+
var core_src = __webpack_require__(50679);
|
|
723
760
|
// EXTERNAL MODULE: ../../../node_modules/react-i18next/dist/es/index.js + 29 modules
|
|
724
761
|
var es = __webpack_require__(75258);
|
|
725
762
|
// EXTERNAL MODULE: ../../ui-next/src/index.ts + 3682 modules
|
|
@@ -787,7 +824,7 @@ function PanelPetSUV() {
|
|
|
787
824
|
const {
|
|
788
825
|
commandsManager,
|
|
789
826
|
servicesManager
|
|
790
|
-
} = (0,
|
|
827
|
+
} = (0,core_src/* .useSystem */.Jg)();
|
|
791
828
|
const {
|
|
792
829
|
t
|
|
793
830
|
} = (0,es/* .useTranslation */.Bd)('PanelSUV');
|
|
@@ -878,7 +915,7 @@ function PanelPetSUV() {
|
|
|
878
915
|
}
|
|
879
916
|
|
|
880
917
|
// metadata should be dcmjs naturalized
|
|
881
|
-
|
|
918
|
+
core_src/* .DicomMetadataStore.updateMetadataForSeries */.H8.updateMetadataForSeries(ptDisplaySet.StudyInstanceUID, ptDisplaySet.SeriesInstanceUID, metadata);
|
|
882
919
|
|
|
883
920
|
// update the displaySets
|
|
884
921
|
displaySetService.setDisplaySetMetadataInvalidated(ptDisplaySet.displaySetInstanceUID);
|
|
@@ -971,8 +1008,6 @@ PanelPetSUV.propTypes = {
|
|
|
971
1008
|
}).isRequired
|
|
972
1009
|
}).isRequired
|
|
973
1010
|
};
|
|
974
|
-
// EXTERNAL MODULE: ../../../extensions/cornerstone/src/index.tsx + 200 modules
|
|
975
|
-
var cornerstone_src = __webpack_require__(86714);
|
|
976
1011
|
;// CONCATENATED MODULE: ../../../extensions/tmtv/src/utils/handleROIThresholding.ts
|
|
977
1012
|
const handleROIThresholding_handleROIThresholding = async ({
|
|
978
1013
|
commandsManager,
|
|
@@ -994,8 +1029,8 @@ const handleROIThresholding_handleROIThresholding = async ({
|
|
|
994
1029
|
segmentationService.addOrUpdateSegmentation(segmentation);
|
|
995
1030
|
});
|
|
996
1031
|
};
|
|
997
|
-
// EXTERNAL MODULE: ../../core/src/utils/index.ts +
|
|
998
|
-
var utils = __webpack_require__(
|
|
1032
|
+
// EXTERNAL MODULE: ../../core/src/utils/index.ts + 34 modules
|
|
1033
|
+
var utils = __webpack_require__(81381);
|
|
999
1034
|
;// CONCATENATED MODULE: ../../../extensions/tmtv/src/Panels/PanelROIThresholdSegmentation/PanelROIThresholdExport.tsx
|
|
1000
1035
|
|
|
1001
1036
|
|
|
@@ -1007,13 +1042,13 @@ function PanelRoiThresholdSegmentation() {
|
|
|
1007
1042
|
const {
|
|
1008
1043
|
commandsManager,
|
|
1009
1044
|
servicesManager
|
|
1010
|
-
} = (0,
|
|
1045
|
+
} = (0,core_src/* .useSystem */.Jg)();
|
|
1011
1046
|
const {
|
|
1012
1047
|
segmentationService
|
|
1013
1048
|
} = servicesManager.services;
|
|
1014
1049
|
const {
|
|
1015
1050
|
segmentationsWithRepresentations: segmentationsInfo
|
|
1016
|
-
} = (0,
|
|
1051
|
+
} = (0,src/* .useActiveViewportSegmentationRepresentations */.c3)();
|
|
1017
1052
|
const segmentationIds = segmentationsInfo?.map(info => info.segmentation.segmentationId) || [];
|
|
1018
1053
|
const segmentations = segmentationsInfo?.map(info => info.segmentation) || [];
|
|
1019
1054
|
(0,react.useEffect)(() => {
|
|
@@ -1091,8 +1126,8 @@ function PanelRoiThresholdSegmentation() {
|
|
|
1091
1126
|
|
|
1092
1127
|
|
|
1093
1128
|
|
|
1094
|
-
// EXTERNAL MODULE: ../../../extensions/default/src/index.ts +
|
|
1095
|
-
var default_src = __webpack_require__(
|
|
1129
|
+
// EXTERNAL MODULE: ../../../extensions/default/src/index.ts + 148 modules
|
|
1130
|
+
var default_src = __webpack_require__(50904);
|
|
1096
1131
|
;// CONCATENATED MODULE: ../../../extensions/tmtv/src/Panels/PanelTMTV.tsx
|
|
1097
1132
|
|
|
1098
1133
|
|
|
@@ -1100,7 +1135,7 @@ var default_src = __webpack_require__(7825);
|
|
|
1100
1135
|
function PanelTMTV({
|
|
1101
1136
|
configuration
|
|
1102
1137
|
}) {
|
|
1103
|
-
return /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement(
|
|
1138
|
+
return /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement(src/* .PanelSegmentation */.rE, {
|
|
1104
1139
|
configuration: configuration
|
|
1105
1140
|
}, /*#__PURE__*/react.createElement(PanelRoiThresholdSegmentation, null)));
|
|
1106
1141
|
}
|
|
@@ -1209,7 +1244,7 @@ const RectangleROIStartEndThreshold_RectangleROIStartEndThreshold = {
|
|
|
1209
1244
|
SOPInstanceUID,
|
|
1210
1245
|
SeriesInstanceUID,
|
|
1211
1246
|
StudyInstanceUID
|
|
1212
|
-
} = (0,
|
|
1247
|
+
} = (0,src/* .getSOPInstanceAttributes */.J4)(referencedImageId, cornerstoneViewportService, viewportId);
|
|
1213
1248
|
let displaySet;
|
|
1214
1249
|
if (SOPInstanceUID) {
|
|
1215
1250
|
displaySet = displaySetService.getDisplaySetForSOPInstanceUID(SOPInstanceUID, SeriesInstanceUID);
|
|
@@ -1271,7 +1306,7 @@ const CircleROIStartEndThreshold_CircleROIStartEndThreshold = {
|
|
|
1271
1306
|
SOPInstanceUID,
|
|
1272
1307
|
SeriesInstanceUID,
|
|
1273
1308
|
StudyInstanceUID
|
|
1274
|
-
} = (0,
|
|
1309
|
+
} = (0,src/* .getSOPInstanceAttributes */.J4)(referencedImageId, cornerstoneViewportService, viewportId);
|
|
1275
1310
|
let displaySet;
|
|
1276
1311
|
if (SOPInstanceUID) {
|
|
1277
1312
|
displaySet = displaySetService.getDisplaySetForSOPInstanceUID(SOPInstanceUID, SeriesInstanceUID);
|
|
@@ -1329,7 +1364,7 @@ const measurementServiceMappingsFactory = (measurementService, displaySetService
|
|
|
1329
1364
|
const {
|
|
1330
1365
|
CORNERSTONE_3D_TOOLS_SOURCE_NAME,
|
|
1331
1366
|
CORNERSTONE_3D_TOOLS_SOURCE_VERSION
|
|
1332
|
-
} =
|
|
1367
|
+
} = src/* .Enums */.fX;
|
|
1333
1368
|
|
|
1334
1369
|
/**
|
|
1335
1370
|
*
|
|
@@ -1432,7 +1467,7 @@ function _getStrategyFn(statistic) {
|
|
|
1432
1467
|
|
|
1433
1468
|
const {
|
|
1434
1469
|
downloadCsv
|
|
1435
|
-
} =
|
|
1470
|
+
} = core_src/* .utils */.Wp;
|
|
1436
1471
|
function createAndDownloadTMTVReport(segReport, additionalReportRows, options = {}) {
|
|
1437
1472
|
const firstReport = segReport[Object.keys(segReport)[0]];
|
|
1438
1473
|
const columns = Object.keys(firstReport);
|
|
@@ -1478,9 +1513,9 @@ var adapters_dist_esm = __webpack_require__(86186);
|
|
|
1478
1513
|
const {
|
|
1479
1514
|
datasetToBlob
|
|
1480
1515
|
} = dcmjs_es/* ["default"].data */.Ay.data;
|
|
1481
|
-
const metadataProvider =
|
|
1516
|
+
const metadataProvider = core_src/* .classes.MetadataProvider */.Ly.MetadataProvider;
|
|
1482
1517
|
function dicomRTAnnotationExport(annotations) {
|
|
1483
|
-
const dataset = adapters_dist_esm/* .adaptersRT.Cornerstone3D.RTSS.generateRTSSFromAnnotations */.f_.Cornerstone3D.RTSS.generateRTSSFromAnnotations(annotations, metadataProvider,
|
|
1518
|
+
const dataset = adapters_dist_esm/* .adaptersRT.Cornerstone3D.RTSS.generateRTSSFromAnnotations */.f_.Cornerstone3D.RTSS.generateRTSSFromAnnotations(annotations, metadataProvider, core_src/* .DicomMetadataStore */.H8);
|
|
1484
1519
|
const reportBlob = datasetToBlob(dataset);
|
|
1485
1520
|
|
|
1486
1521
|
//Create a URL for the binary.
|
|
@@ -1501,13 +1536,14 @@ function dicomRTAnnotationExport(annotations) {
|
|
|
1501
1536
|
|
|
1502
1537
|
|
|
1503
1538
|
|
|
1539
|
+
|
|
1504
1540
|
const {
|
|
1505
1541
|
SegmentationRepresentations
|
|
1506
1542
|
} = esm.Enums;
|
|
1507
1543
|
const {
|
|
1508
1544
|
formatPN
|
|
1509
|
-
} =
|
|
1510
|
-
const commandsModule_metadataProvider =
|
|
1545
|
+
} = core_src/* .utils */.Wp;
|
|
1546
|
+
const commandsModule_metadataProvider = core_src/* .classes.MetadataProvider */.Ly.MetadataProvider;
|
|
1511
1547
|
const ROI_THRESHOLD_MANUAL_TOOL_IDS = ['RectangleROIStartEndThreshold', 'RectangleROIThreshold', 'CircleROIStartEndThreshold'];
|
|
1512
1548
|
const commandsModule = ({
|
|
1513
1549
|
servicesManager,
|
|
@@ -1756,9 +1792,15 @@ const commandsModule = ({
|
|
|
1756
1792
|
const {
|
|
1757
1793
|
viewport
|
|
1758
1794
|
} = _getActiveViewportsEnabledElement();
|
|
1759
|
-
|
|
1760
|
-
|
|
1761
|
-
|
|
1795
|
+
// Native ("next") viewports have no getCamera; the slice-center focal point
|
|
1796
|
+
// comes from the view reference. Bridged so both lanes work.
|
|
1797
|
+
const focalPoint = (0,src/* .getViewportFocalPoint */.sH)(viewport);
|
|
1798
|
+
|
|
1799
|
+
// Native viewports may not resolve a focal point; writing undefined into the
|
|
1800
|
+
// annotation would invalidate its ROI-threshold coordinates.
|
|
1801
|
+
if (!focalPoint) {
|
|
1802
|
+
return;
|
|
1803
|
+
}
|
|
1762
1804
|
const selectedAnnotationUIDs = _getAnnotationsSelectedByToolNames(ROI_THRESHOLD_MANUAL_TOOL_IDS);
|
|
1763
1805
|
const annotationUID = selectedAnnotationUIDs[0];
|
|
1764
1806
|
const annotation = esm.annotation.state.getAnnotation(annotationUID);
|
|
@@ -1778,8 +1820,11 @@ const commandsModule = ({
|
|
|
1778
1820
|
const annotationUID = selectedAnnotationUIDs[0];
|
|
1779
1821
|
const annotation = esm.annotation.state.getAnnotation(annotationUID);
|
|
1780
1822
|
|
|
1781
|
-
// get the current focal point
|
|
1782
|
-
const focalPointToEnd =
|
|
1823
|
+
// get the current focal point (bridged: native viewports use the view reference)
|
|
1824
|
+
const focalPointToEnd = (0,src/* .getViewportFocalPoint */.sH)(viewport);
|
|
1825
|
+
if (!focalPointToEnd) {
|
|
1826
|
+
return;
|
|
1827
|
+
}
|
|
1783
1828
|
annotation.data.endCoordinate = focalPointToEnd;
|
|
1784
1829
|
|
|
1785
1830
|
// IMPORTANT: invalidate the toolData for the cached stat to get updated
|
|
@@ -1853,7 +1898,7 @@ const commandsModule = ({
|
|
|
1853
1898
|
continue;
|
|
1854
1899
|
}
|
|
1855
1900
|
const firstImageId = referencedVolume.imageIds[0];
|
|
1856
|
-
const instance =
|
|
1901
|
+
const instance = core_src/* ["default"].classes.MetadataProvider.get */.Ay.classes.MetadataProvider.get('instance', firstImageId);
|
|
1857
1902
|
if (!instance) {
|
|
1858
1903
|
report[id] = segReport;
|
|
1859
1904
|
continue;
|
|
@@ -2163,8 +2208,8 @@ function reducer(state, action) {
|
|
|
2163
2208
|
function RectangleROIOptions() {
|
|
2164
2209
|
const {
|
|
2165
2210
|
commandsManager
|
|
2166
|
-
} = (0,
|
|
2167
|
-
const segmentations = (0,
|
|
2211
|
+
} = (0,core_src/* .useSystem */.Jg)();
|
|
2212
|
+
const segmentations = (0,src/* .useSegmentations */.jo)();
|
|
2168
2213
|
const activeSegmentation = segmentations[0];
|
|
2169
2214
|
const {
|
|
2170
2215
|
t
|
|
@@ -2235,7 +2280,7 @@ const toolGroupIds = {
|
|
|
2235
2280
|
|
|
2236
2281
|
const {
|
|
2237
2282
|
TOOLBAR_SECTIONS
|
|
2238
|
-
} =
|
|
2283
|
+
} = core_src/* .ToolbarService */.hx;
|
|
2239
2284
|
const MIN_SEGMENTATION_DRAWING_RADIUS = 0.5;
|
|
2240
2285
|
const MAX_SEGMENTATION_DRAWING_RADIUS = 99.5;
|
|
2241
2286
|
const setToolActiveToolbar = {
|