@ohif/app 3.9.0-beta.109 → 3.9.0-beta.110
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/{1185.bundle.93140205788de7b3eaad.js → 1185.bundle.bd20dd033687e5122b08.js} +71 -27
- package/dist/{1266.bundle.3875be12c4eab784552f.js → 1266.bundle.c5df8ee5daff1150b16f.js} +11 -21
- package/dist/{1374.bundle.bc6b8636a31f5c20328f.js → 1374.bundle.d66644a5cd706ea668a3.js} +4 -1
- package/dist/{1436.bundle.ffe514361e39273cb437.js → 1436.bundle.c12ed4e5e35979b77ec9.js} +3 -1
- package/dist/{149.bundle.54475bb9f72311be64bf.js → 149.bundle.8fa9d2ef7a3f5d9e8775.js} +3 -0
- package/dist/{1927.bundle.7655ff4783bfaa28049f.js → 1927.bundle.49539e3ab5b0aad1399c.js} +1 -31
- package/dist/{4571.bundle.9ad4f229948c2a2da2ec.js → 4571.bundle.3b1691730b3c57bf4d35.js} +5 -7
- package/dist/{4834.bundle.a9da6ed1ac7f813b4581.js → 4834.bundle.a1957855be846e3bf60a.js} +1 -1
- package/dist/{5717.bundle.15335c2857a756212d16.js → 5717.bundle.231762aad110306ec2e4.js} +3 -1
- package/dist/732.bundle.532947c280e1a8f6e020.js +1174 -0
- package/dist/{7955.bundle.adf334c3019de60c68c3.js → 7955.bundle.3916d5515b6271f6021c.js} +4 -1
- package/dist/{8008.bundle.48b6c198f120343360fe.js → 8008.bundle.a46e40612fbe8813bc65.js} +5 -2
- package/dist/{8259.bundle.cbf470afd145a22e894f.js → 8259.bundle.8cab7aaeda1aa94e9b0b.js} +4 -1
- package/dist/{8295.bundle.b7a42ba3566da7d117be.js → 8295.bundle.832bc290de31b7b23913.js} +8 -0
- package/dist/{8523.bundle.5d315f8096e3704ba241.js → 8523.bundle.648334132159465cdc41.js} +11 -9
- package/dist/{9212.bundle.8e3424c56953b6781772.js → 9212.bundle.a71c03df2e651f70b7f0.js} +19 -9
- package/dist/{9862.bundle.f6ba4e418cd94a350890.js → 9862.bundle.6da94e0219246ab52a04.js} +3 -0
- package/dist/{app.bundle.60a22178670dec94d2b5.js → app.bundle.616868274ef8d7f48993.js} +38 -10599
- package/dist/index.html +1 -1
- package/dist/{polySeg.bundle.cf443bab5e1888443354.js → polySeg.bundle.b79ae514989e86301c71.js} +1 -1
- package/dist/{suv-peak-worker.bundle.ad1de658c7260083e81d.js → suv-peak-worker.bundle.cb4fc86bb89d9e5c5bfa.js} +1 -1
- package/dist/sw.js +1 -1
- package/package.json +19 -19
- package/dist/9952.bundle.6f1a92b82c42c60f57eb.js +0 -1210
- /package/dist/{213.bundle.5b769ddafb3578bad02e.js → 213.bundle.397201f3cdc4e4b374f4.js} +0 -0
- /package/dist/{2424.bundle.b7d42f910f527f9e5770.js → 2424.bundle.fac1c8a11ff68a141d53.js} +0 -0
- /package/dist/{2825.bundle.72d57fe7d4777c25e97b.js → 2825.bundle.b9de312c87eab93da319.js} +0 -0
- /package/dist/{3198.bundle.3fb2e322c740be3aa034.js → 3198.bundle.4ed02e3de6cdc6a92aae.js} +0 -0
- /package/dist/{5139.bundle.6158b86c36920b8c1a6d.js → 5139.bundle.ca60ba8c198fccf47f7b.js} +0 -0
- /package/dist/{5247.bundle.ad5af4b29de99546cba3.js → 5247.bundle.6f2393e27b92e5225008.js} +0 -0
- /package/dist/{5687.bundle.37757fc5365a93aabe13.js → 5687.bundle.b662ba555943459ab799.js} +0 -0
- /package/dist/{717.bundle.4100104f3013393f8f1d.js → 717.bundle.f5a1e9071b27ec515cd6.js} +0 -0
- /package/dist/{7197.bundle.3d7de800dc3380e12578.js → 7197.bundle.e4ab876e1cb1242234ca.js} +0 -0
- /package/dist/{8329.bundle.8be70021a7e2d1ca9d68.js → 8329.bundle.3de30547a4546696a63f.js} +0 -0
- /package/dist/{8558.bundle.bb7967ec436462e0549b.js → 8558.bundle.b0205d63fbfb97c7e8da.js} +0 -0
- /package/dist/{9551.bundle.623f1f90eec247beac85.js → 9551.bundle.b87cd5c8302068301772.js} +0 -0
|
@@ -1977,10 +1977,10 @@ function Bidirectional_getDisplayText(mappedAnnotations, displaySet) {
|
|
|
1977
1977
|
const getStatisticDisplayString = (numbers, unit, key) => {
|
|
1978
1978
|
if (Array.isArray(numbers) && numbers.length > 0) {
|
|
1979
1979
|
const results = numbers.map(number => src/* utils */.Wp.roundNumber(number, 2));
|
|
1980
|
-
return `${key.charAt(0).toUpperCase() + key.slice(1)}: ${results.join(', ')}
|
|
1980
|
+
return `${key.charAt(0).toUpperCase() + key.slice(1)}: ${results.join(', ')} ${utils_getDisplayUnit(unit)}`;
|
|
1981
1981
|
}
|
|
1982
1982
|
const result = src/* utils */.Wp.roundNumber(numbers, 2);
|
|
1983
|
-
return `${key.charAt(0).toUpperCase() + key.slice(1)}: ${result}
|
|
1983
|
+
return `${key.charAt(0).toUpperCase() + key.slice(1)}: ${result} ${utils_getDisplayUnit(unit)}`;
|
|
1984
1984
|
};
|
|
1985
1985
|
;// CONCATENATED MODULE: ../../../extensions/cornerstone/src/utils/measurementServiceMappings/EllipticalROI.ts
|
|
1986
1986
|
|
|
@@ -6703,14 +6703,14 @@ function commandsModule({
|
|
|
6703
6703
|
type
|
|
6704
6704
|
}) => {
|
|
6705
6705
|
const {
|
|
6706
|
-
|
|
6706
|
+
addSegmentationPresentationItem
|
|
6707
6707
|
} = useSegmentationPresentationStore/* useSegmentationPresentationStore */.v.getState();
|
|
6708
6708
|
const referencedDisplaySetInstanceUID = displaySet.referencedDisplaySetInstanceUID;
|
|
6709
|
-
|
|
6709
|
+
addSegmentationPresentationItem(referencedDisplaySetInstanceUID, {
|
|
6710
6710
|
segmentationId: displaySet.displaySetInstanceUID,
|
|
6711
6711
|
hydrated: true,
|
|
6712
6712
|
type
|
|
6713
|
-
}
|
|
6713
|
+
});
|
|
6714
6714
|
},
|
|
6715
6715
|
updateStoredPositionPresentation: ({
|
|
6716
6716
|
viewportId,
|
|
@@ -7728,7 +7728,6 @@ function commandsModule({
|
|
|
7728
7728
|
* @param props.value - The style value
|
|
7729
7729
|
*/
|
|
7730
7730
|
setSegmentationStyleCommand: ({
|
|
7731
|
-
segmentationId,
|
|
7732
7731
|
type,
|
|
7733
7732
|
key,
|
|
7734
7733
|
value
|
|
@@ -7901,11 +7900,15 @@ function commandsModule({
|
|
|
7901
7900
|
const {
|
|
7902
7901
|
label
|
|
7903
7902
|
} = segment;
|
|
7904
|
-
|
|
7903
|
+
const callback = (label, actionId) => {
|
|
7905
7904
|
if (label === '') {
|
|
7906
7905
|
return;
|
|
7907
7906
|
}
|
|
7908
7907
|
segmentationService.setSegmentLabel(segmentationId, segmentIndex, label);
|
|
7908
|
+
};
|
|
7909
|
+
(0,default_src.callInputDialog)(uiDialogService, label, callback, false, {
|
|
7910
|
+
dialogTitle: 'Edit Segment Label',
|
|
7911
|
+
inputLabel: 'Enter new label'
|
|
7909
7912
|
});
|
|
7910
7913
|
},
|
|
7911
7914
|
editSegmentationLabel: ({
|
|
@@ -7922,7 +7925,7 @@ function commandsModule({
|
|
|
7922
7925
|
const {
|
|
7923
7926
|
label
|
|
7924
7927
|
} = segmentation;
|
|
7925
|
-
|
|
7928
|
+
const callback = (label, actionId) => {
|
|
7926
7929
|
if (label === '') {
|
|
7927
7930
|
return;
|
|
7928
7931
|
}
|
|
@@ -7930,6 +7933,10 @@ function commandsModule({
|
|
|
7930
7933
|
segmentationId,
|
|
7931
7934
|
label
|
|
7932
7935
|
});
|
|
7936
|
+
};
|
|
7937
|
+
(0,default_src.callInputDialog)(uiDialogService, label, callback, false, {
|
|
7938
|
+
dialogTitle: 'Edit Segmentation Label',
|
|
7939
|
+
inputLabel: 'Enter new label'
|
|
7933
7940
|
});
|
|
7934
7941
|
},
|
|
7935
7942
|
editSegmentColor: ({
|
|
@@ -11435,8 +11442,13 @@ class SegmentationService extends src/* PubSubService */.Rc {
|
|
|
11435
11442
|
};
|
|
11436
11443
|
this._segmentationIdToColorLUTIndexMap = new Map();
|
|
11437
11444
|
this.servicesManager = servicesManager;
|
|
11445
|
+
}
|
|
11446
|
+
onModeEnter() {
|
|
11438
11447
|
this._initSegmentationService();
|
|
11439
11448
|
}
|
|
11449
|
+
onModeExit() {
|
|
11450
|
+
this.destroy();
|
|
11451
|
+
}
|
|
11440
11452
|
|
|
11441
11453
|
/**
|
|
11442
11454
|
* Retrieves a segmentation by its ID.
|
|
@@ -12381,7 +12393,7 @@ class SegmentationService extends src/* PubSubService */.Rc {
|
|
|
12381
12393
|
const imageIds = (0,stateManagement_segmentation.getLabelmapImageIds)(segmentation.segmentationId);
|
|
12382
12394
|
const frameOfReferenceUID = viewport.getFrameOfReferenceUID();
|
|
12383
12395
|
const segImage = esm.cache.getImage(imageIds[0]);
|
|
12384
|
-
if (segImage?.FrameOfReferenceUID === frameOfReferenceUID) {
|
|
12396
|
+
if (segImage?.FrameOfReferenceUID && frameOfReferenceUID && segImage.FrameOfReferenceUID === frameOfReferenceUID) {
|
|
12385
12397
|
const isConverted = await this.convertStackToVolumeViewport(viewport);
|
|
12386
12398
|
(0,triggerSegmentationEvents.triggerSegmentationRepresentationModified)(viewportId, segmentationId, esm_enums.SegmentationRepresentations.Labelmap);
|
|
12387
12399
|
return isConverted;
|
|
@@ -13878,6 +13890,9 @@ class CornerstoneViewportService extends src/* PubSubService */.Rc {
|
|
|
13878
13890
|
}
|
|
13879
13891
|
});
|
|
13880
13892
|
}
|
|
13893
|
+
if (!volumesNotLoaded.length) {
|
|
13894
|
+
return;
|
|
13895
|
+
}
|
|
13881
13896
|
|
|
13882
13897
|
// This returns the async continuation only
|
|
13883
13898
|
return this.setVolumesForViewport(viewport, volumeInputArray, presentations);
|
|
@@ -14182,12 +14197,12 @@ class CornerstoneViewportService extends src/* PubSubService */.Rc {
|
|
|
14182
14197
|
const {
|
|
14183
14198
|
segmentationService
|
|
14184
14199
|
} = this.servicesManager.services;
|
|
14185
|
-
segmentationPresentation.forEach(
|
|
14200
|
+
segmentationPresentation.forEach(presentationItem => {
|
|
14186
14201
|
const {
|
|
14187
14202
|
segmentationId,
|
|
14188
14203
|
type,
|
|
14189
14204
|
hydrated
|
|
14190
|
-
} =
|
|
14205
|
+
} = presentationItem;
|
|
14191
14206
|
if (hydrated) {
|
|
14192
14207
|
segmentationService.addSegmentationRepresentation(viewport.id, {
|
|
14193
14208
|
segmentationId,
|
|
@@ -15151,8 +15166,6 @@ var ui_next_src = __webpack_require__(98441);
|
|
|
15151
15166
|
function PanelSegmentation({
|
|
15152
15167
|
servicesManager,
|
|
15153
15168
|
commandsManager,
|
|
15154
|
-
extensionManager,
|
|
15155
|
-
configuration,
|
|
15156
15169
|
children
|
|
15157
15170
|
}) {
|
|
15158
15171
|
const {
|
|
@@ -15267,31 +15280,41 @@ function PanelSegmentation({
|
|
|
15267
15280
|
segmentationId
|
|
15268
15281
|
});
|
|
15269
15282
|
},
|
|
15270
|
-
setFillAlpha: (
|
|
15283
|
+
setFillAlpha: ({
|
|
15284
|
+
type
|
|
15285
|
+
}, value) => {
|
|
15271
15286
|
commandsManager.run('setFillAlpha', {
|
|
15272
15287
|
type,
|
|
15273
15288
|
value
|
|
15274
15289
|
});
|
|
15275
15290
|
},
|
|
15276
|
-
setOutlineWidth: (
|
|
15291
|
+
setOutlineWidth: ({
|
|
15292
|
+
type
|
|
15293
|
+
}, value) => {
|
|
15277
15294
|
commandsManager.run('setOutlineWidth', {
|
|
15278
15295
|
type,
|
|
15279
15296
|
value
|
|
15280
15297
|
});
|
|
15281
15298
|
},
|
|
15282
|
-
setRenderFill: (
|
|
15299
|
+
setRenderFill: ({
|
|
15300
|
+
type
|
|
15301
|
+
}, value) => {
|
|
15283
15302
|
commandsManager.run('setRenderFill', {
|
|
15284
15303
|
type,
|
|
15285
15304
|
value
|
|
15286
15305
|
});
|
|
15287
15306
|
},
|
|
15288
|
-
setRenderOutline: (
|
|
15307
|
+
setRenderOutline: ({
|
|
15308
|
+
type
|
|
15309
|
+
}, value) => {
|
|
15289
15310
|
commandsManager.run('setRenderOutline', {
|
|
15290
15311
|
type,
|
|
15291
15312
|
value
|
|
15292
15313
|
});
|
|
15293
15314
|
},
|
|
15294
|
-
setFillAlphaInactive: (
|
|
15315
|
+
setFillAlphaInactive: ({
|
|
15316
|
+
type
|
|
15317
|
+
}, value) => {
|
|
15295
15318
|
commandsManager.run('setFillAlphaInactive', {
|
|
15296
15319
|
type,
|
|
15297
15320
|
value
|
|
@@ -15337,6 +15360,12 @@ function PanelSegmentation({
|
|
|
15337
15360
|
const {
|
|
15338
15361
|
Labelmap
|
|
15339
15362
|
} = representationData;
|
|
15363
|
+
if (!Labelmap) {
|
|
15364
|
+
return {
|
|
15365
|
+
segmentationId,
|
|
15366
|
+
isExportable: true
|
|
15367
|
+
};
|
|
15368
|
+
}
|
|
15340
15369
|
const referencedImageIds = Labelmap.referencedImageIds;
|
|
15341
15370
|
const firstImageId = referencedImageIds[0];
|
|
15342
15371
|
const instance = esm.metaData.get('instance', firstImageId);
|
|
@@ -17310,23 +17339,38 @@ const createSegmentationPresentationStore = set => ({
|
|
|
17310
17339
|
segmentationPresentationStore: {}
|
|
17311
17340
|
}, false, 'clearSegmentationPresentationStore'),
|
|
17312
17341
|
/**
|
|
17313
|
-
* Adds a new segmentation presentation to the store.
|
|
17342
|
+
* Adds a new segmentation presentation item to the store.
|
|
17343
|
+
*
|
|
17344
|
+
* segmentationPresentationItem: {
|
|
17345
|
+
* segmentationId: string;
|
|
17346
|
+
* type: SegmentationRepresentations;
|
|
17347
|
+
* hydrated: boolean | null;
|
|
17348
|
+
* config?: unknown;
|
|
17349
|
+
* }
|
|
17314
17350
|
*/
|
|
17315
|
-
|
|
17316
|
-
servicesManager
|
|
17317
|
-
}) => set(state => ({
|
|
17351
|
+
addSegmentationPresentationItem: (presentationId, segmentationPresentationItem) => set(state => ({
|
|
17318
17352
|
segmentationPresentationStore: {
|
|
17319
17353
|
...state.segmentationPresentationStore,
|
|
17320
|
-
[presentationId]:
|
|
17354
|
+
[presentationId]: [...(state.segmentationPresentationStore[presentationId] || []), segmentationPresentationItem]
|
|
17321
17355
|
}
|
|
17322
|
-
}), false, '
|
|
17356
|
+
}), false, 'addSegmentationPresentationItem'),
|
|
17323
17357
|
/**
|
|
17324
|
-
* Sets the segmentation presentation for a given presentation ID.
|
|
17358
|
+
* Sets the segmentation presentation for a given presentation ID. A segmentation
|
|
17359
|
+
* presentation is an array of SegmentationPresentationItem.
|
|
17360
|
+
*
|
|
17361
|
+
* segmentationPresentationItem: {
|
|
17362
|
+
* segmentationId: string;
|
|
17363
|
+
* type: SegmentationRepresentations;
|
|
17364
|
+
* hydrated: boolean | null;
|
|
17365
|
+
* config?: unknown;
|
|
17366
|
+
* }
|
|
17367
|
+
*
|
|
17368
|
+
* segmentationPresentation: SegmentationPresentationItem[]
|
|
17325
17369
|
*/
|
|
17326
|
-
setSegmentationPresentation: (presentationId,
|
|
17370
|
+
setSegmentationPresentation: (presentationId, values) => set(state => ({
|
|
17327
17371
|
segmentationPresentationStore: {
|
|
17328
17372
|
...state.segmentationPresentationStore,
|
|
17329
|
-
[presentationId]:
|
|
17373
|
+
[presentationId]: values
|
|
17330
17374
|
}
|
|
17331
17375
|
}), false, 'setSegmentationPresentation'),
|
|
17332
17376
|
/**
|
|
@@ -508,7 +508,7 @@ const toolbarButtons = [{
|
|
|
508
508
|
commands: 'showDownloadViewportModal',
|
|
509
509
|
evaluate: ['evaluate.action', {
|
|
510
510
|
name: 'evaluate.viewport.supported',
|
|
511
|
-
unsupportedViewportTypes: ['video']
|
|
511
|
+
unsupportedViewportTypes: ['video', 'wholeSlide']
|
|
512
512
|
}]
|
|
513
513
|
}
|
|
514
514
|
}, {
|
|
@@ -866,7 +866,9 @@ function modeFactory({
|
|
|
866
866
|
measurementService,
|
|
867
867
|
toolbarService,
|
|
868
868
|
toolGroupService,
|
|
869
|
-
customizationService
|
|
869
|
+
customizationService,
|
|
870
|
+
panelService,
|
|
871
|
+
segmentationService
|
|
870
872
|
} = servicesManager.services;
|
|
871
873
|
measurementService.clearMeasurements();
|
|
872
874
|
performCustomizations(customizationService);
|
|
@@ -878,25 +880,13 @@ function modeFactory({
|
|
|
878
880
|
|
|
879
881
|
// // ActivatePanel event trigger for when a segmentation or measurement is added.
|
|
880
882
|
// // Do not force activation so as to respect the state the user may have left the UI in.
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
// },
|
|
889
|
-
// ]),
|
|
890
|
-
// ...panelService.addActivatePanelTriggers(tracked.measurements, [
|
|
891
|
-
// {
|
|
892
|
-
// sourcePubSubService: measurementService,
|
|
893
|
-
// sourceEvents: [
|
|
894
|
-
// measurementService.EVENTS.MEASUREMENT_ADDED,
|
|
895
|
-
// measurementService.EVENTS.RAW_MEASUREMENT_ADDED,
|
|
896
|
-
// ],
|
|
897
|
-
// },
|
|
898
|
-
// ]),
|
|
899
|
-
// ];
|
|
883
|
+
_activatePanelTriggersSubscriptions = [...panelService.addActivatePanelTriggers(cornerstone.segmentation, [{
|
|
884
|
+
sourcePubSubService: segmentationService,
|
|
885
|
+
sourceEvents: [segmentationService.EVENTS.SEGMENTATION_ADDED]
|
|
886
|
+
}]), ...panelService.addActivatePanelTriggers(tracked.measurements, [{
|
|
887
|
+
sourcePubSubService: measurementService,
|
|
888
|
+
sourceEvents: [measurementService.EVENTS.MEASUREMENT_ADDED, measurementService.EVENTS.RAW_MEASUREMENT_ADDED]
|
|
889
|
+
}])];
|
|
900
890
|
},
|
|
901
891
|
onModeExit: ({
|
|
902
892
|
servicesManager
|
|
@@ -135,7 +135,10 @@ const toolbarButtons = [{
|
|
|
135
135
|
commandName: 'showDownloadViewportModal',
|
|
136
136
|
context: 'CORNERSTONE'
|
|
137
137
|
}],
|
|
138
|
-
evaluate: 'evaluate.action'
|
|
138
|
+
evaluate: ['evaluate.action', {
|
|
139
|
+
name: 'evaluate.viewport.supported',
|
|
140
|
+
unsupportedViewportTypes: ['video', 'wholeSlide']
|
|
141
|
+
}]
|
|
139
142
|
}
|
|
140
143
|
}, {
|
|
141
144
|
id: 'Layout',
|
|
@@ -3224,10 +3224,12 @@ function _imageChangeEventListener(evt) {
|
|
|
3224
3224
|
};
|
|
3225
3225
|
const { origin: currentOrigin } = viewport.getImageDataMetadata(currentImage);
|
|
3226
3226
|
const originToUse = currentOrigin;
|
|
3227
|
+
const constructor = derivedImage.voxelManager.getConstructor();
|
|
3228
|
+
const newPixelData = derivedImage.voxelManager.getScalarData();
|
|
3227
3229
|
const scalarArray = DataArray/* default.newInstance */.Ay.newInstance({
|
|
3228
3230
|
name: 'Pixels',
|
|
3229
3231
|
numberOfComponents: 1,
|
|
3230
|
-
values:
|
|
3232
|
+
values: new constructor(newPixelData),
|
|
3231
3233
|
});
|
|
3232
3234
|
const imageData = ImageData/* default.newInstance */.Ay.newInstance();
|
|
3233
3235
|
imageData.setDimensions(dimensions[0], dimensions[1], 1);
|
|
@@ -8115,6 +8115,9 @@ function _stopClipWithData(playClipData) {
|
|
|
8115
8115
|
}
|
|
8116
8116
|
function _getVolumeFromViewport(viewport) {
|
|
8117
8117
|
const volumeIds = viewport.getAllVolumeIds();
|
|
8118
|
+
if (!volumeIds?.length) {
|
|
8119
|
+
return undefined;
|
|
8120
|
+
}
|
|
8118
8121
|
const dynamicVolumeId = volumeIds.find((volumeId) => dist_esm.cache.getVolume(volumeId)?.isDynamicVolume());
|
|
8119
8122
|
const volumeId = dynamicVolumeId ?? volumeIds[0];
|
|
8120
8123
|
return dist_esm.cache.getVolume(volumeId);
|
|
@@ -142,36 +142,6 @@
|
|
|
142
142
|
/******/ };
|
|
143
143
|
/******/ })();
|
|
144
144
|
/******/
|
|
145
|
-
/******/ /* webpack/runtime/create fake namespace object */
|
|
146
|
-
/******/ (() => {
|
|
147
|
-
/******/ var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);
|
|
148
|
-
/******/ var leafPrototypes;
|
|
149
|
-
/******/ // create a fake namespace object
|
|
150
|
-
/******/ // mode & 1: value is a module id, require it
|
|
151
|
-
/******/ // mode & 2: merge all properties of value into the ns
|
|
152
|
-
/******/ // mode & 4: return value when already ns object
|
|
153
|
-
/******/ // mode & 16: return value when it's Promise-like
|
|
154
|
-
/******/ // mode & 8|1: behave like require
|
|
155
|
-
/******/ __webpack_require__.t = function(value, mode) {
|
|
156
|
-
/******/ if(mode & 1) value = this(value);
|
|
157
|
-
/******/ if(mode & 8) return value;
|
|
158
|
-
/******/ if(typeof value === 'object' && value) {
|
|
159
|
-
/******/ if((mode & 4) && value.__esModule) return value;
|
|
160
|
-
/******/ if((mode & 16) && typeof value.then === 'function') return value;
|
|
161
|
-
/******/ }
|
|
162
|
-
/******/ var ns = Object.create(null);
|
|
163
|
-
/******/ __webpack_require__.r(ns);
|
|
164
|
-
/******/ var def = {};
|
|
165
|
-
/******/ leafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];
|
|
166
|
-
/******/ for(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {
|
|
167
|
-
/******/ Object.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key])));
|
|
168
|
-
/******/ }
|
|
169
|
-
/******/ def['default'] = () => (value);
|
|
170
|
-
/******/ __webpack_require__.d(ns, def);
|
|
171
|
-
/******/ return ns;
|
|
172
|
-
/******/ };
|
|
173
|
-
/******/ })();
|
|
174
|
-
/******/
|
|
175
145
|
/******/ /* webpack/runtime/define property getters */
|
|
176
146
|
/******/ (() => {
|
|
177
147
|
/******/ // define getter functions for harmony exports
|
|
@@ -202,7 +172,7 @@
|
|
|
202
172
|
/******/ // This function allow to reference async chunks and sibling chunks for the entrypoint
|
|
203
173
|
/******/ __webpack_require__.u = (chunkId) => {
|
|
204
174
|
/******/ // return url for filenames based on template
|
|
205
|
-
/******/ return "" + chunkId + ".bundle." + {"
|
|
175
|
+
/******/ return "" + chunkId + ".bundle." + {"732":"532947c280e1a8f6e020","4571":"3b1691730b3c57bf4d35","8094":"411698eaf81975a7f12d"}[chunkId] + ".js";
|
|
206
176
|
/******/ };
|
|
207
177
|
/******/ })();
|
|
208
178
|
/******/
|
|
@@ -824,23 +824,21 @@ function decodeJPEGLossless_initialize(decodeConfig) {
|
|
|
824
824
|
return Promise.resolve();
|
|
825
825
|
}
|
|
826
826
|
return new Promise((resolve, reject) => {
|
|
827
|
-
__webpack_require__.e(/* import() */
|
|
828
|
-
|
|
827
|
+
__webpack_require__.e(/* import() */ 732).then(__webpack_require__.bind(__webpack_require__, 10732)).then(({ Decoder }) => {
|
|
828
|
+
const decoder = new Decoder();
|
|
829
|
+
decodeJPEGLossless_local.jpeg = decoder;
|
|
829
830
|
resolve();
|
|
830
831
|
}, reject);
|
|
831
832
|
});
|
|
832
833
|
}
|
|
833
834
|
async function decodeJPEGLossless(imageFrame, pixelData) {
|
|
834
835
|
await decodeJPEGLossless_initialize();
|
|
835
|
-
if (typeof decodeJPEGLossless_local.jpeg === 'undefined'
|
|
836
|
-
typeof decodeJPEGLossless_local.jpeg.lossless === 'undefined' ||
|
|
837
|
-
typeof decodeJPEGLossless_local.jpeg.lossless.Decoder === 'undefined') {
|
|
836
|
+
if (typeof decodeJPEGLossless_local.jpeg === 'undefined') {
|
|
838
837
|
throw new Error('No JPEG Lossless decoder loaded');
|
|
839
838
|
}
|
|
840
839
|
const byteOutput = imageFrame.bitsAllocated <= 8 ? 1 : 2;
|
|
841
840
|
const buffer = pixelData.buffer;
|
|
842
|
-
const
|
|
843
|
-
const decompressedData = decoder.decode(buffer, pixelData.byteOffset, pixelData.length, byteOutput);
|
|
841
|
+
const decompressedData = decodeJPEGLossless_local.jpeg.decode(buffer, pixelData.byteOffset, pixelData.length, byteOutput);
|
|
844
842
|
if (imageFrame.pixelRepresentation === 0) {
|
|
845
843
|
if (imageFrame.bitsAllocated === 16) {
|
|
846
844
|
imageFrame.pixelData = new Uint16Array(decompressedData.buffer);
|
|
@@ -288,7 +288,7 @@ function modeFactory({
|
|
|
288
288
|
}
|
|
289
289
|
}],
|
|
290
290
|
extensions: extensionDependencies,
|
|
291
|
-
hangingProtocol:
|
|
291
|
+
hangingProtocol: 'default',
|
|
292
292
|
sopClassHandlers: ['@ohif/extension-cornerstone.sopClassHandlerModule.DicomMicroscopySopClassHandler', '@ohif/extension-dicom-microscopy.sopClassHandlerModule.DicomMicroscopySRSopClassHandler', dicomvideo.sopClassHandler, dicompdf.sopClassHandler],
|
|
293
293
|
hotkeys: [...src/* hotkeys */.ot.defaults.hotkeyBindings],
|
|
294
294
|
...modeConfiguration
|
|
@@ -8533,10 +8533,12 @@ function _imageChangeEventListener(evt) {
|
|
|
8533
8533
|
};
|
|
8534
8534
|
const { origin: currentOrigin } = viewport.getImageDataMetadata(currentImage);
|
|
8535
8535
|
const originToUse = currentOrigin;
|
|
8536
|
+
const constructor = derivedImage.voxelManager.getConstructor();
|
|
8537
|
+
const newPixelData = derivedImage.voxelManager.getScalarData();
|
|
8536
8538
|
const scalarArray = DataArray/* default.newInstance */.Ay.newInstance({
|
|
8537
8539
|
name: 'Pixels',
|
|
8538
8540
|
numberOfComponents: 1,
|
|
8539
|
-
values:
|
|
8541
|
+
values: new constructor(newPixelData),
|
|
8540
8542
|
});
|
|
8541
8543
|
const imageData = ImageData/* default.newInstance */.Ay.newInstance();
|
|
8542
8544
|
imageData.setDimensions(dimensions[0], dimensions[1], 1);
|