@ohif/app 3.9.0-beta.77 → 3.9.0-beta.79
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/{1169.bundle.a3d3d310f1d8d7e335bf.js → 1169.bundle.d32f38ab5aa329346850.js} +46 -106
- package/dist/{1202.bundle.1468f0e71fea0c593081.js → 1202.bundle.55f140afb05e1ad5512c.js} +503 -153
- package/dist/{2568.css → 1540.css} +1 -0
- package/dist/{1994.bundle.39ea4d1a48d42cdca49b.js → 1994.bundle.04ba989c747992f45c6e.js} +3 -3
- package/dist/{9824.bundle.8e8afc799f0534014fa9.js → 2119.bundle.142793bed5b53a2f4a30.js} +4 -4
- package/dist/{9824.css → 2119.css} +1 -0
- package/dist/{2650.bundle.1f7d90198b9e361dfb9c.js → 2650.bundle.feb3b241748314884ae4.js} +57 -35
- package/dist/{3117.bundle.c83d0f403d17104a7c4c.js → 3117.bundle.463d5fa4671a93939d36.js} +8 -7
- package/dist/{4210.bundle.f1af90765358215ca053.js → 4210.bundle.e81688aaa6aec1c4f973.js} +2 -2
- package/dist/{4842.bundle.11abbf3f8699b84a7537.js → 4842.bundle.9264e466874f0206d564.js} +12 -8
- package/dist/{5888.bundle.f48daf22ce156ac4956a.js → 5888.bundle.8b4c8f227376800c6e1d.js} +14 -7
- package/dist/{2417.bundle.4a0334c8c4047005979e.js → 5898.bundle.be696e0b355efc1c7f05.js} +1947 -1
- package/dist/{2281.bundle.b20397636c4b681f4463.js → 655.bundle.805114d0d89a4bd4d92d.js} +170 -66
- package/dist/{6591.bundle.092858f2e84426bc0010.js → 6591.bundle.5b4b8bfff223013aa46f.js} +15 -1
- package/dist/{7502.bundle.7f3a72a5571a00fda890.js → 7502.bundle.e37c3a247f287d282838.js} +4 -6
- package/dist/{3424.bundle.1b6101d721148c04242b.js → 79.bundle.b03daeeef3e6faf9dca3.js} +5 -47
- package/dist/{8993.bundle.256bb3c84d2564a5f3cf.js → 8993.bundle.23cd5f8560800a97d798.js} +39 -32
- package/dist/{2065.bundle.fc147f9fde903e0768f4.js → 8999.bundle.d9dbbf80990887877381.js} +13 -133
- package/dist/{9579.bundle.7212d7a737a71bb61502.js → 9579.bundle.f9c9be0c5ab6cddbde3d.js} +8 -7
- package/dist/{5516.bundle.f61b8aebe75f7bafd5b1.js → 962.bundle.c6dcf9d6c1d56ebff24d.js} +408 -179
- package/dist/app-config.js +1 -0
- package/dist/{app.bundle.e3ce3b1cf2fae5cedcd3.js → app.bundle.7851cb292073f6e7a0c5.js} +646 -349
- package/dist/index.html +1 -1
- package/dist/{polySeg.bundle.40b9a8c9006bb15691ee.js → polySeg.bundle.0a70e65fe89169ec7508.js} +1 -1
- package/dist/{suv-peak-worker.bundle.a70e70b9ef87c18b896c.js → suv-peak-worker.bundle.54d68bc1808ad3d77994.js} +1 -1
- package/dist/sw.js +1 -1
- package/package.json +18 -18
- package/dist/7604.bundle.42d3f08efb3a9eae4581.js +0 -1950
- package/dist/{1498.bundle.d8f5281952d09c57ef87.js → 1498.bundle.a2d05ac1f27d0c2d2c9f.js} +0 -0
- package/dist/{153.bundle.94f93195fab889e0add8.js → 153.bundle.52f9f8d3ecfc88f18ebb.js} +0 -0
- package/dist/{2791.bundle.597dca661f5f08060ad3.js → 2791.bundle.cdffc588e0401363be5c.js} +0 -0
- package/dist/{3497.bundle.a04a2444975bf50fddf8.js → 3497.bundle.512610422a2862584c55.js} +0 -0
- package/dist/{3962.bundle.db07d757866d3a3b20b3.js → 3962.bundle.0d49146b27c7b7dcb48a.js} +0 -0
- package/dist/{4353.bundle.c835b4ea70768a207c59.js → 4353.bundle.7aacb9d40bc20bb4aa36.js} +0 -0
- package/dist/{4978.bundle.c5d6cac06bcc9656c900.js → 4978.bundle.f580a489066e909c8dc9.js} +0 -0
- package/dist/{5793.bundle.eed3fe9019c31999efff.js → 5793.bundle.d1b4e887564bbb98752d.js} +0 -0
- package/dist/{6904.bundle.27abf08c0f2e4fe5e06d.js → 6904.bundle.da0d83fcd48a48cfaac1.js} +0 -0
- package/dist/{7246.bundle.d3f1bb1a40801b133810.js → 7246.bundle.32f7f871fb1016362af8.js} +0 -0
- package/dist/{7360.bundle.b28c83aa3910eaa427ee.js → 7360.bundle.4233f9f8747d6facdc54.js} +0 -0
- package/dist/{7376.bundle.1173819ab2acd8610f1e.js → 7376.bundle.f087dc1e0e16a41dedbe.js} +0 -0
- package/dist/{3424.css → 79.css} +1 -1
- /package/dist/{7913.bundle.5702ee8798da273c0c5d.js → 7913.bundle.207d7463f90bb92e4ab4.js} +0 -0
- /package/dist/{818.bundle.b64fae7e982e16a82ca2.js → 818.bundle.b6027359846cc90e32ff.js} +0 -0
- /package/dist/{8944.bundle.3bf7ef09ea87195b9e23.js → 8944.bundle.2c07f90c73692457ffa3.js} +0 -0
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
.dicom-upload-drop-area-border-dash{background-image:repeating-linear-gradient(90deg,#7bb2ce 0,#7bb2ce 50%,#0000 0,#0000),repeating-linear-gradient(90deg,#7bb2ce 0,#7bb2ce 50%,#0000 0,#0000),repeating-linear-gradient(180deg,#7bb2ce 0,#7bb2ce 50%,#0000 0,#0000),repeating-linear-gradient(180deg,#7bb2ce 0,#7bb2ce 50%,#0000 0,#0000);background-position:0 0,0 100%,0 0,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;background-size:20px 3px,20px 3px,3px 20px,3px 20px}
|
|
2
2
|
.viewport-overlay{max-width:40%}.viewport-overlay span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewport-overlay.left-viewport{text-align:left}.viewport-overlay.right-viewport-scrollbar{text-align:right}.viewport-overlay.right-viewport-scrollbar .flex.flex-row{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}
|
|
3
|
+
.dicom-tag-browser-table{margin-left:auto;margin-right:auto}.dicom-tag-browser-table-wrapper{overflow-x:scroll}.dicom-tag-browser-table tr{border-top:1px solid #ddd;color:#fff;padding-left:10px;padding-right:10px;white-space:nowrap}.stick{overflow:clip;position:sticky}.dicom-tag-browser-content{overflow:hidden;padding-bottom:50px;width:100%}.dicom-tag-browser-instance-range .range{height:20px}.dicom-tag-browser-instance-range{padding:20px 0}.dicom-tag-browser-table td.dicom-tag-browser-table-center{text-align:center}.dicom-tag-browser-table th{color:"#20A5D6";padding-left:10px;padding-right:10px;text-align:center}.dicom-tag-browser-table th.dicom-tag-browser-table-left{text-align:left}
|
|
@@ -714,8 +714,8 @@ function promptTrackNewStudy_askSaveDiscardOrCancel(UIViewportDialogService, vie
|
|
|
714
714
|
});
|
|
715
715
|
}
|
|
716
716
|
/* harmony default export */ const TrackedMeasurementsContext_promptTrackNewStudy = (promptTrackNewStudy);
|
|
717
|
-
// EXTERNAL MODULE: ../../../extensions/default/src/index.ts +
|
|
718
|
-
var default_src = __webpack_require__(
|
|
717
|
+
// EXTERNAL MODULE: ../../../extensions/default/src/index.ts + 95 modules
|
|
718
|
+
var default_src = __webpack_require__(10655);
|
|
719
719
|
;// CONCATENATED MODULE: ../../../extensions/measurement-tracking/src/_shared/getNextSRSeriesNumber.js
|
|
720
720
|
const MIN_SR_SERIES_NUMBER = 4700;
|
|
721
721
|
function getNextSRSeriesNumber(displaySetService) {
|
|
@@ -2178,7 +2178,7 @@ function _mapMeasurementToDisplay(measurement, types, displaySetService) {
|
|
|
2178
2178
|
|
|
2179
2179
|
const instance = src.DicomMetadataStore.getInstance(referenceStudyUID, referenceSeriesUID, SOPInstanceUID);
|
|
2180
2180
|
const displaySets = displaySetService.getDisplaySetsForSeries(referenceSeriesUID);
|
|
2181
|
-
if (!displaySets[0]
|
|
2181
|
+
if (!displaySets[0]?.instances) {
|
|
2182
2182
|
throw new Error('The tracked measurements panel should only be tracking "stack" displaySets.');
|
|
2183
2183
|
}
|
|
2184
2184
|
const {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
(globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[
|
|
2
|
+
(globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[2119,4757,1540],{
|
|
3
3
|
|
|
4
4
|
/***/ 78491:
|
|
5
5
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
@@ -28,8 +28,8 @@ var src = __webpack_require__(84793);
|
|
|
28
28
|
var esm = __webpack_require__(12651);
|
|
29
29
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/adapters/dist/adapters.es.js
|
|
30
30
|
var adapters_es = __webpack_require__(91202);
|
|
31
|
-
// EXTERNAL MODULE: ../../../extensions/cornerstone/src/index.tsx +
|
|
32
|
-
var cornerstone_src = __webpack_require__(
|
|
31
|
+
// EXTERNAL MODULE: ../../../extensions/cornerstone/src/index.tsx + 95 modules
|
|
32
|
+
var cornerstone_src = __webpack_require__(962);
|
|
33
33
|
;// CONCATENATED MODULE: ../../../extensions/cornerstone-dicom-pmap/src/getSopClassHandlerModule.ts
|
|
34
34
|
|
|
35
35
|
|
|
@@ -176,7 +176,7 @@ async function _loadParametricMap({
|
|
|
176
176
|
const {
|
|
177
177
|
imageIds
|
|
178
178
|
} = cachedReferencedVolume;
|
|
179
|
-
const results = await adapters_es
|
|
179
|
+
const results = await adapters_es/* adaptersPMAP */._.Cornerstone3D.ParametricMap.generateToolState(imageIds, arrayBuffer, esm.metaData);
|
|
180
180
|
const {
|
|
181
181
|
pixelData
|
|
182
182
|
} = results;
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
.dicom-upload-drop-area-border-dash{background-image:repeating-linear-gradient(90deg,#7bb2ce 0,#7bb2ce 50%,#0000 0,#0000),repeating-linear-gradient(90deg,#7bb2ce 0,#7bb2ce 50%,#0000 0,#0000),repeating-linear-gradient(180deg,#7bb2ce 0,#7bb2ce 50%,#0000 0,#0000),repeating-linear-gradient(180deg,#7bb2ce 0,#7bb2ce 50%,#0000 0,#0000);background-position:0 0,0 100%,0 0,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;background-size:20px 3px,20px 3px,3px 20px,3px 20px}
|
|
2
2
|
.viewport-overlay{max-width:40%}.viewport-overlay span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewport-overlay.left-viewport{text-align:left}.viewport-overlay.right-viewport-scrollbar{text-align:right}.viewport-overlay.right-viewport-scrollbar .flex.flex-row{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}
|
|
3
|
+
.dicom-tag-browser-table{margin-left:auto;margin-right:auto}.dicom-tag-browser-table-wrapper{overflow-x:scroll}.dicom-tag-browser-table tr{border-top:1px solid #ddd;color:#fff;padding-left:10px;padding-right:10px;white-space:nowrap}.stick{overflow:clip;position:sticky}.dicom-tag-browser-content{overflow:hidden;padding-bottom:50px;width:100%}.dicom-tag-browser-instance-range .range{height:20px}.dicom-tag-browser-instance-range{padding:20px 0}.dicom-tag-browser-table td.dicom-tag-browser-table-center{text-align:center}.dicom-tag-browser-table th{color:"#20A5D6";padding-left:10px;padding-right:10px;text-align:center}.dicom-tag-browser-table th.dicom-tag-browser-table-left{text-align:left}
|
|
@@ -4605,14 +4605,14 @@ class WSIViewport extends _Viewport__WEBPACK_IMPORTED_MODULE_5__/* ["default"] *
|
|
|
4605
4605
|
return (0,_init__WEBPACK_IMPORTED_MODULE_9__/* .peerImport */ .Dm)('dicom-microscopy-viewer');
|
|
4606
4606
|
}; }
|
|
4607
4607
|
setDataIds(imageIds) {
|
|
4608
|
-
const webClient = _metaData__WEBPACK_IMPORTED_MODULE_3__.get(_enums__WEBPACK_IMPORTED_MODULE_1__.MetadataModules.
|
|
4608
|
+
const webClient = _metaData__WEBPACK_IMPORTED_MODULE_3__.get(_enums__WEBPACK_IMPORTED_MODULE_1__.MetadataModules.WADO_WEB_CLIENT, imageIds[0]);
|
|
4609
4609
|
if (!webClient) {
|
|
4610
4610
|
throw new Error(`To use setDataIds on WSI data, you must provide metaData.webClient for ${imageIds[0]}`);
|
|
4611
4611
|
}
|
|
4612
4612
|
return this.setWSI(imageIds, webClient);
|
|
4613
4613
|
}
|
|
4614
4614
|
async setWSI(imageIds, client) {
|
|
4615
|
-
this.microscopyElement.style.background = '
|
|
4615
|
+
this.microscopyElement.style.background = 'black';
|
|
4616
4616
|
this.microscopyElement.innerText = 'Loading';
|
|
4617
4617
|
this.imageIds = imageIds;
|
|
4618
4618
|
const DicomMicroscopyViewer = await WSIViewport.getDicomMicroscopyViewer();
|
|
@@ -10220,10 +10220,18 @@ function vtkStreamingOpenGLVolumeMapper(publicAPI, model) {
|
|
|
10220
10220
|
}
|
|
10221
10221
|
}
|
|
10222
10222
|
if (shouldReset) {
|
|
10223
|
-
model.
|
|
10223
|
+
const norm16Ext = model.context.getExtension('EXT_texture_norm16');
|
|
10224
|
+
model.scalarTexture.setOglNorm16Ext(norm16Ext);
|
|
10224
10225
|
model.scalarTexture.releaseGraphicsResources(model._openGLRenderWindow);
|
|
10225
10226
|
model.scalarTexture.resetFormatAndType();
|
|
10226
|
-
|
|
10227
|
+
if (model.renderable.getPreferSizeOverAccuracy() ||
|
|
10228
|
+
(norm16Ext && dataType === Constants/* VtkDataTypes */.Tu.UNSIGNED_SHORT) ||
|
|
10229
|
+
dataType === Constants/* VtkDataTypes */.Tu.SHORT) {
|
|
10230
|
+
model.scalarTexture.create3DFilterableFromDataArray(dims[0], dims[1], dims[2], scalars, model.renderable.getPreferSizeOverAccuracy());
|
|
10231
|
+
}
|
|
10232
|
+
else {
|
|
10233
|
+
model.scalarTexture.create3DFilterableFromRaw(dims[0], dims[1], dims[2], numComp, scalars.getDataType(), scalars.getData());
|
|
10234
|
+
}
|
|
10227
10235
|
}
|
|
10228
10236
|
else {
|
|
10229
10237
|
model.scalarTexture.deactivate();
|
|
@@ -14354,7 +14362,7 @@ var MetadataModules;
|
|
|
14354
14362
|
MetadataModules["SOP_COMMON"] = "sopCommonModule";
|
|
14355
14363
|
MetadataModules["ULTRASOUND_ENHANCED_REGION"] = "ultrasoundEnhancedRegionModule";
|
|
14356
14364
|
MetadataModules["VOI_LUT"] = "voiLutModule";
|
|
14357
|
-
MetadataModules["
|
|
14365
|
+
MetadataModules["WADO_WEB_CLIENT"] = "wadoWebClient";
|
|
14358
14366
|
})(MetadataModules || (MetadataModules = {}));
|
|
14359
14367
|
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (MetadataModules);
|
|
14360
14368
|
|
|
@@ -14529,7 +14537,7 @@ class CornerstoneEventTarget {
|
|
|
14529
14537
|
}
|
|
14530
14538
|
dispatchEvent(event) {
|
|
14531
14539
|
if (!this.listeners[event.type]) {
|
|
14532
|
-
return;
|
|
14540
|
+
return !event.defaultPrevented;
|
|
14533
14541
|
}
|
|
14534
14542
|
const stack = this.listeners[event.type].slice();
|
|
14535
14543
|
const stackLength = stack.length;
|
|
@@ -14566,7 +14574,7 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
14566
14574
|
Dm: () => (/* binding */ peerImport)
|
|
14567
14575
|
});
|
|
14568
14576
|
|
|
14569
|
-
// UNUSED EXPORTS: init, resetUseCPURendering, resetUseSharedArrayBuffer, setConfiguration, setPreferSizeOverAccuracy, setUseCPURendering, setUseSharedArrayBuffer
|
|
14577
|
+
// UNUSED EXPORTS: init, resetInitialization, resetUseCPURendering, resetUseSharedArrayBuffer, setConfiguration, setPreferSizeOverAccuracy, setUseCPURendering, setUseSharedArrayBuffer
|
|
14570
14578
|
|
|
14571
14579
|
;// CONCATENATED MODULE: ../../../node_modules/detect-gpu/dist/detect-gpu.esm.js
|
|
14572
14580
|
function e(e,t,r,n){return new(r||(r=Promise))((function(o,a){function i(e){try{d(n.next(e))}catch(e){a(e)}}function c(e){try{d(n.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(i,c)}d((n=n.apply(e,t||[])).next())}))}"function"==typeof SuppressedError&&SuppressedError;const t=(/* unused pure expression or super */ null && (["geforce 320m","geforce 8600","geforce 8600m gt","geforce 8800 gs","geforce 8800 gt","geforce 9400","geforce 9400m g","geforce 9400m","geforce 9600m gt","geforce 9600m","geforce fx go5200","geforce gt 120","geforce gt 130","geforce gt 330m","geforce gtx 285","google swiftshader","intel g41","intel g45","intel gma 4500mhd","intel gma x3100","intel hd 3000","intel q45","legacy","mali-2","mali-3","mali-4","quadro fx 1500","quadro fx 4","quadro fx 5","radeon hd 2400","radeon hd 2600","radeon hd 4670","radeon hd 4850","radeon hd 4870","radeon hd 5670","radeon hd 5750","radeon hd 6290","radeon hd 6300","radeon hd 6310","radeon hd 6320","radeon hd 6490m","radeon hd 6630m","radeon hd 6750m","radeon hd 6770m","radeon hd 6970m","sgx 543","sgx543"]));function r(e){return e=e.toLowerCase().replace(/.*angle ?\((.+)\)(?: on vulkan [0-9.]+)?$/i,"$1").replace(/\s(\d{1,2}gb|direct3d.+$)|\(r\)| \([^)]+\)$/g,"").replace(/(?:vulkan|opengl) \d+\.\d+(?:\.\d+)?(?: \((.*)\))?/,"$1")}const n="undefined"==typeof window,o=(()=>{if(n)return;const{userAgent:e,platform:t,maxTouchPoints:r}=window.navigator,o=/(iphone|ipod|ipad)/i.test(e),a="iPad"===t||"MacIntel"===t&&r>0&&!window.MSStream;return{isIpad:a,isMobile:/android/i.test(e)||o||a,isSafari12:/Version\/12.+Safari/.test(e),isFirefox:/Firefox/.test(e)}})();function a(e,t,r){if(!r)return[t];const n=function(e){const t="\n precision highp float;\n attribute vec3 aPosition;\n varying float vvv;\n void main() {\n vvv = 0.31622776601683794;\n gl_Position = vec4(aPosition, 1.0);\n }\n ",r="\n precision highp float;\n varying float vvv;\n void main() {\n vec4 enc = vec4(1.0, 255.0, 65025.0, 16581375.0) * vvv;\n enc = fract(enc);\n enc -= enc.yzww * vec4(1.0 / 255.0, 1.0 / 255.0, 1.0 / 255.0, 0.0);\n gl_FragColor = enc;\n }\n ",n=e.createShader(35633),o=e.createShader(35632),a=e.createProgram();if(!(o&&n&&a))return;e.shaderSource(n,t),e.shaderSource(o,r),e.compileShader(n),e.compileShader(o),e.attachShader(a,n),e.attachShader(a,o),e.linkProgram(a),e.detachShader(a,n),e.detachShader(a,o),e.deleteShader(n),e.deleteShader(o),e.useProgram(a);const i=e.createBuffer();e.bindBuffer(34962,i),e.bufferData(34962,new Float32Array([-1,-1,0,3,-1,0,-1,3,0]),35044);const c=e.getAttribLocation(a,"aPosition");e.vertexAttribPointer(c,3,5126,!1,0,0),e.enableVertexAttribArray(c),e.clearColor(1,1,1,1),e.clear(16384),e.viewport(0,0,1,1),e.drawArrays(4,0,3);const d=new Uint8Array(4);return e.readPixels(0,0,1,1,6408,5121,d),e.deleteProgram(a),e.deleteBuffer(i),d.join("")}(e),a="801621810",i="8016218135",c="80162181161",d=(null==o?void 0:o.isIpad)?[["a7",c,12],["a8",i,15],["a8x",i,15],["a9",i,15],["a9x",i,15],["a10",i,15],["a10x",i,15],["a12",a,15],["a12x",a,15],["a12z",a,15],["a14",a,15],["m1",a,15]]:[["a7",c,12],["a8",i,12],["a9",i,15],["a10",i,15],["a11",a,15],["a12",a,15],["a13",a,15],["a14",a,15],["a15",a,15],["a16",a,15],["a17",a,15]];let l;"80162181255"===n?l=d.filter((([,,e])=>e>=14)):(l=d.filter((([,e])=>e===n)),l.length||(l=d));return l.map((([e])=>`apple ${e} gpu`))}class i extends (/* unused pure expression or super */ null && (Error)){constructor(e){super(e),Object.setPrototypeOf(this,new.target.prototype)}}const c=(/* unused pure expression or super */ null && ([])),d=(/* unused pure expression or super */ null && ([]));function l(e,t){if(e===t)return 0;const r=e;e.length>t.length&&(e=t,t=r);let n=e.length,o=t.length;for(;n>0&&e.charCodeAt(~-n)===t.charCodeAt(~-o);)n--,o--;let a,i=0;for(;i<n&&e.charCodeAt(i)===t.charCodeAt(i);)i++;if(n-=i,o-=i,0===n)return o;let l,s,f=0,u=0,g=0;for(;u<n;)d[u]=e.charCodeAt(i+u),c[u]=++u;for(;g<o;)for(a=t.charCodeAt(i+g),l=g++,f=g,u=0;u<n;u++)s=a===d[u]?l:l+1,l=c[u],f=c[u]=l>f?s>f?f+1:s:s>l?l+1:s;return f}function s(e){return null!=e}const f=({mobileTiers:c=[0,15,30,60],desktopTiers:d=[0,15,30,60],override:f={},glContext:u,failIfMajorPerformanceCaveat:g=!1,benchmarksURL:h="https://unpkg.com/detect-gpu@5.0.38/dist/benchmarks"}={})=>e(void 0,void 0,void 0,(function*(){const p={};if(n)return{tier:0,type:"SSR"};const{isIpad:m=!!(null==o?void 0:o.isIpad),isMobile:v=!!(null==o?void 0:o.isMobile),screenSize:w=window.screen,loadBenchmarks:x=(t=>e(void 0,void 0,void 0,(function*(){const e=yield fetch(`${h}/${t}`).then((e=>e.json()));if(parseInt(e.shift().split(".")[0],10)<4)throw new i("Detect GPU benchmark data is out of date. Please update to version 4x");return e})))}=f;let{renderer:A}=f;const P=(e,t,r,n,o)=>({device:o,fps:n,gpu:r,isMobile:v,tier:e,type:t});let S,b="";if(A)A=r(A),S=[A];else{const e=u||function(e,t=!1){const r={alpha:!1,antialias:!1,depth:!1,failIfMajorPerformanceCaveat:t,powerPreference:"high-performance",stencil:!1};e&&delete r.powerPreference;const n=window.document.createElement("canvas"),o=n.getContext("webgl",r)||n.getContext("experimental-webgl",r);return null!=o?o:void 0}(null==o?void 0:o.isSafari12,g);if(!e)return P(0,"WEBGL_UNSUPPORTED");const t=(null==o?void 0:o.isFirefox)?null:e.getExtension("WEBGL_debug_renderer_info");if(A=t?e.getParameter(t.UNMASKED_RENDERER_WEBGL):e.getParameter(e.RENDERER),!A)return P(1,"FALLBACK");b=A,A=r(A),S=function(e,t,r){return"apple gpu"===t?a(e,t,r):[t]}(e,A,v)}const E=(yield Promise.all(S.map((function(t){var r;return e(this,void 0,void 0,(function*(){const e=(e=>{const t=v?["adreno","apple","mali-t","mali","nvidia","powervr","samsung"]:["intel","apple","amd","radeon","nvidia","geforce","adreno"];for(const r of t)if(e.includes(r))return r})(t);if(!e)return;const n=`${v?"m":"d"}-${e}${m?"-ipad":""}.json`,o=p[n]=null!==(r=p[n])&&void 0!==r?r:x(n);let a;try{a=yield o}catch(e){if(e instanceof i)throw e;return}const c=function(e){var t;const r=(e=e.replace(/\([^)]+\)/,"")).match(/\d+/)||e.match(/(\W|^)([A-Za-z]{1,3})(\W|$)/g);return null!==(t=null==r?void 0:r.join("").replace(/\W|amd/g,""))&&void 0!==t?t:""}(t);let d=a.filter((([,e])=>e===c));d.length||(d=a.filter((([e])=>e.includes(t))));const s=d.length;if(0===s)return;const f=t.split(/[.,()\[\]/\s]/g).sort().filter(((e,t,r)=>0===t||e!==r[t-1])).join(" ");let u,[g,,,,h]=s>1?d.map((e=>[e,l(f,e[2])])).sort((([,e],[,t])=>e-t))[0][0]:d[0],A=Number.MAX_VALUE;const{devicePixelRatio:P}=window,S=w.width*P*w.height*P;for(const e of h){const[t,r]=e,n=t*r,o=Math.abs(S-n);o<A&&(A=o,u=e)}if(!u)return;const[,,b,E]=u;return[A,b,g,E]}))})))).filter(s).sort((([e=Number.MAX_VALUE,t],[r=Number.MAX_VALUE,n])=>e===r?t-n:e-r));if(!E.length){const e=t.find((e=>A.includes(e)));return e?P(0,"BLOCKLISTED",e):P(1,"FALLBACK",`${A} (${b})`)}const[,y,C,L]=E[0];if(-1===y)return P(0,"BLOCKLISTED",C,y,L);const M=v?c:d;let $=0;for(let e=0;e<M.length;e++)y>=M[e]&&($=e);return P($,"BENCHMARK",C,y,L)}));
|
|
@@ -14748,6 +14756,9 @@ function getShouldUseSharedArrayBuffer() {
|
|
|
14748
14756
|
function isCornerstoneInitialized() {
|
|
14749
14757
|
return csRenderInitialized;
|
|
14750
14758
|
}
|
|
14759
|
+
function resetInitialization() {
|
|
14760
|
+
csRenderInitialized = false;
|
|
14761
|
+
}
|
|
14751
14762
|
function getConfiguration() {
|
|
14752
14763
|
return config;
|
|
14753
14764
|
}
|
|
@@ -22366,12 +22377,17 @@ function makeVolumeMetadata(imageIds) {
|
|
|
22366
22377
|
let genericMetadataProvider_state = {};
|
|
22367
22378
|
const genericMetadataProvider_metadataProvider = {
|
|
22368
22379
|
add: (imageId, payload) => {
|
|
22380
|
+
genericMetadataProvider_metadataProvider.addRaw(imageId, {
|
|
22381
|
+
...payload,
|
|
22382
|
+
metadata: structuredClone(payload.metadata),
|
|
22383
|
+
});
|
|
22384
|
+
},
|
|
22385
|
+
addRaw: (imageId, payload) => {
|
|
22369
22386
|
const type = payload.type;
|
|
22370
22387
|
if (!genericMetadataProvider_state[imageId]) {
|
|
22371
22388
|
genericMetadataProvider_state[imageId] = {};
|
|
22372
22389
|
}
|
|
22373
|
-
genericMetadataProvider_state[imageId][type] =
|
|
22374
|
-
payload.rawMetadata ?? structuredClone(payload.metadata);
|
|
22390
|
+
genericMetadataProvider_state[imageId][type] = payload.metadata;
|
|
22375
22391
|
},
|
|
22376
22392
|
get: (type, imageId) => {
|
|
22377
22393
|
return genericMetadataProvider_state[imageId]?.[type];
|
|
@@ -33081,8 +33097,8 @@ class OrientationMarkerTool extends _base__WEBPACK_IMPORTED_MODULE_7__/* .BaseTo
|
|
|
33081
33097
|
overlayConfiguration: {
|
|
33082
33098
|
[OrientationMarkerTool.OVERLAY_MARKER_TYPES.ANNOTATED_CUBE]: {
|
|
33083
33099
|
faceProperties: {
|
|
33084
|
-
xPlus: { text: '
|
|
33085
|
-
xMinus: { text: '
|
|
33100
|
+
xPlus: { text: 'L', faceColor: '#ffff00', faceRotation: 90 },
|
|
33101
|
+
xMinus: { text: 'R', faceColor: '#ffff00', faceRotation: 270 },
|
|
33086
33102
|
yPlus: {
|
|
33087
33103
|
text: 'P',
|
|
33088
33104
|
faceColor: '#00ffff',
|
|
@@ -35200,7 +35216,10 @@ class StackScrollMouseWheelTool extends _base__WEBPACK_IMPORTED_MODULE_1__/* .Ba
|
|
|
35200
35216
|
const { invert } = this.configuration;
|
|
35201
35217
|
const { viewport } = (0,_cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.getEnabledElement)(element);
|
|
35202
35218
|
const delta = direction * (invert ? -1 : 1);
|
|
35203
|
-
|
|
35219
|
+
let volumeId;
|
|
35220
|
+
if (viewport instanceof _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.BaseVolumeViewport) {
|
|
35221
|
+
volumeId = this.getTargetVolumeId(viewport);
|
|
35222
|
+
}
|
|
35204
35223
|
(0,_utilities_scroll__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z)(viewport, {
|
|
35205
35224
|
delta,
|
|
35206
35225
|
debounceLoading: this.configuration.debounceIfNotLoaded,
|
|
@@ -35875,7 +35894,7 @@ class WindowLevelTool extends _base__WEBPACK_IMPORTED_MODULE_0__/* .BaseTool */
|
|
|
35875
35894
|
scalarData = imageData.getScalarData();
|
|
35876
35895
|
}
|
|
35877
35896
|
else {
|
|
35878
|
-
scalarData = imageData.getPointData().getScalars();
|
|
35897
|
+
scalarData = imageData.getPointData().getScalars().getData();
|
|
35879
35898
|
}
|
|
35880
35899
|
if (dimensions[2] !== 1) {
|
|
35881
35900
|
return this._getImageDynamicRangeFromMiddleSlice(scalarData, dimensions);
|
|
@@ -35928,8 +35947,8 @@ class ZoomTool extends _base__WEBPACK_IMPORTED_MODULE_3__/* .BaseTool */ .ml {
|
|
|
35928
35947
|
supportedInteractionTypes: ['Mouse', 'Touch'],
|
|
35929
35948
|
configuration: {
|
|
35930
35949
|
zoomToCenter: false,
|
|
35931
|
-
minZoomScale: 0.
|
|
35932
|
-
maxZoomScale:
|
|
35950
|
+
minZoomScale: 0.001,
|
|
35951
|
+
maxZoomScale: 3000,
|
|
35933
35952
|
pinchToZoom: true,
|
|
35934
35953
|
pan: true,
|
|
35935
35954
|
invert: false,
|
|
@@ -44861,11 +44880,6 @@ class CircleROIStartEndThresholdTool extends _annotation_CircleROITool__WEBPACK_
|
|
|
44861
44880
|
this.configuration.preventHandleOutsideImage) {
|
|
44862
44881
|
(0,_stateManagement_annotation_annotationState__WEBPACK_IMPORTED_MODULE_2__.removeAnnotation)(annotation.annotationUID);
|
|
44863
44882
|
}
|
|
44864
|
-
const targetId = this.getTargetId(enabledElement.viewport);
|
|
44865
|
-
const imageVolume = _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.cache.getVolume(targetId.split(/volumeId:|\?/)[1]);
|
|
44866
|
-
if (this.configuration.calculatePointsInsideVolume) {
|
|
44867
|
-
this._computePointsInsideVolume(annotation, imageVolume, targetId, enabledElement);
|
|
44868
|
-
}
|
|
44869
44883
|
(0,_utilities_triggerAnnotationRenderForViewportIds__WEBPACK_IMPORTED_MODULE_11__/* ["default"] */ .Z)(enabledElement.renderingEngine, viewportIdsToRender);
|
|
44870
44884
|
if (newAnnotation) {
|
|
44871
44885
|
(0,_stateManagement_annotation_helpers_state__WEBPACK_IMPORTED_MODULE_12__/* .triggerAnnotationCompleted */ .F$)(annotation);
|
|
@@ -44900,30 +44914,35 @@ class CircleROIStartEndThresholdTool extends _annotation_CircleROITool__WEBPACK_
|
|
|
44900
44914
|
const canvasCorners = (0,_utilities_math_circle__WEBPACK_IMPORTED_MODULE_14__/* .getCanvasCircleCorners */ .$)(canvasCoordinates);
|
|
44901
44915
|
const focalPoint = viewport.getCamera().focalPoint;
|
|
44902
44916
|
const viewplaneNormal = viewport.getCamera().viewPlaneNormal;
|
|
44903
|
-
let
|
|
44904
|
-
let
|
|
44917
|
+
let tempStartCoordinate = startCoordinate;
|
|
44918
|
+
let tempEndCoordinate = endCoordinate;
|
|
44905
44919
|
if (Array.isArray(startCoordinate)) {
|
|
44906
|
-
|
|
44920
|
+
tempStartCoordinate = this._getCoordinateForViewplaneNormal(tempStartCoordinate, viewplaneNormal);
|
|
44921
|
+
data.startCoordinate = tempStartCoordinate;
|
|
44907
44922
|
}
|
|
44908
44923
|
if (Array.isArray(endCoordinate)) {
|
|
44909
|
-
|
|
44924
|
+
tempEndCoordinate = this._getCoordinateForViewplaneNormal(tempEndCoordinate, viewplaneNormal);
|
|
44925
|
+
data.endCoordinate = tempEndCoordinate;
|
|
44910
44926
|
}
|
|
44911
|
-
const
|
|
44912
|
-
const
|
|
44913
|
-
const
|
|
44914
|
-
const
|
|
44915
|
-
if (
|
|
44916
|
-
|
|
44927
|
+
const roundedStartCoordinate = _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.utilities.roundToPrecision(data.startCoordinate);
|
|
44928
|
+
const roundedEndCoordinate = _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.utilities.roundToPrecision(data.endCoordinate);
|
|
44929
|
+
const cameraCoordinate = this._getCoordinateForViewplaneNormal(focalPoint, viewplaneNormal);
|
|
44930
|
+
const roundedCameraCoordinate = _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.utilities.roundToPrecision(cameraCoordinate);
|
|
44931
|
+
if (roundedCameraCoordinate <
|
|
44932
|
+
Math.min(roundedStartCoordinate, roundedEndCoordinate) ||
|
|
44933
|
+
roundedCameraCoordinate >
|
|
44934
|
+
Math.max(roundedStartCoordinate, roundedEndCoordinate)) {
|
|
44917
44935
|
continue;
|
|
44918
44936
|
}
|
|
44919
|
-
|
|
44920
|
-
this._throttledCalculateCachedStats(annotation, enabledElement);
|
|
44921
|
-
}
|
|
44922
|
-
const middleCoord = _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.utilities.roundToPrecision((startCoord + endCoord) / 2);
|
|
44937
|
+
const middleCoordinate = _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.utilities.roundToPrecision((data.startCoordinate + data.endCoordinate) / 2);
|
|
44923
44938
|
let isMiddleSlice = false;
|
|
44924
|
-
if (
|
|
44939
|
+
if (roundedCameraCoordinate === middleCoordinate) {
|
|
44925
44940
|
isMiddleSlice = true;
|
|
44926
44941
|
}
|
|
44942
|
+
data.handles.points[0][this._getIndexOfCoordinatesForViewplaneNormal(viewplaneNormal)] = middleCoordinate;
|
|
44943
|
+
if (annotation.invalidated) {
|
|
44944
|
+
this._throttledCalculateCachedStats(annotation, enabledElement);
|
|
44945
|
+
}
|
|
44927
44946
|
if (!viewport.getRenderingEngine()) {
|
|
44928
44947
|
console.warn('Rendering Engine has been destroyed');
|
|
44929
44948
|
return renderStatus;
|
|
@@ -45144,6 +45163,9 @@ class CircleROIStartEndThresholdTool extends _annotation_CircleROITool__WEBPACK_
|
|
|
45144
45163
|
const targetId = this.getTargetId(viewport);
|
|
45145
45164
|
const imageVolume = _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__.cache.getVolume(targetId.split(/volumeId:|\?/)[1]);
|
|
45146
45165
|
this._computeProjectionPoints(annotation, imageVolume);
|
|
45166
|
+
if (this.configuration.calculatePointsInsideVolume) {
|
|
45167
|
+
this._computePointsInsideVolume(annotation, imageVolume, targetId, enabledElement);
|
|
45168
|
+
}
|
|
45147
45169
|
annotation.invalidated = false;
|
|
45148
45170
|
(0,_stateManagement_annotation_helpers_state__WEBPACK_IMPORTED_MODULE_12__/* .triggerAnnotationModified */ .hg)(annotation, viewport.element);
|
|
45149
45171
|
return cachedStats;
|
|
@@ -237,7 +237,7 @@ class VideoViewport extends _Viewport__WEBPACK_IMPORTED_MODULE_5__/* ["default"]
|
|
|
237
237
|
};
|
|
238
238
|
}
|
|
239
239
|
setDataIds(imageIds, options) {
|
|
240
|
-
this.setVideo(imageIds[0], options?.viewReference?.sliceIndex || 1);
|
|
240
|
+
this.setVideo(imageIds[0], (options?.viewReference?.sliceIndex || 0) + 1);
|
|
241
241
|
}
|
|
242
242
|
setVideo(imageId, frameNumber) {
|
|
243
243
|
this.imageId = Array.isArray(imageId) ? imageId[0] : imageId;
|
|
@@ -3669,7 +3669,7 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
3669
3669
|
volumeLoader: () => (/* reexport */ volumeLoader)
|
|
3670
3670
|
});
|
|
3671
3671
|
|
|
3672
|
-
// UNUSED EXPORTS: ImageVolume, ProgressiveRetrieveImages, RenderingEngine, Surface, Viewport, WSIViewport, canRenderFloatTextures, createVolumeActor, createVolumeMapper, getOrCreateCanvas, getShouldUseCPURendering, getShouldUseSharedArrayBuffer, imageRetrievalPoolManager, init, isCornerstoneInitialized, peerImport, registerImageLoader, requestPoolManager, resetUseCPURendering, resetUseSharedArrayBuffer, setConfiguration, setPreferSizeOverAccuracy, setUseCPURendering, setUseSharedArrayBuffer, setVolumesForViewports
|
|
3672
|
+
// UNUSED EXPORTS: ImageVolume, ProgressiveRetrieveImages, RenderingEngine, Surface, Viewport, WSIViewport, canRenderFloatTextures, createVolumeActor, createVolumeMapper, getOrCreateCanvas, getShouldUseCPURendering, getShouldUseSharedArrayBuffer, imageRetrievalPoolManager, init, isCornerstoneInitialized, peerImport, registerImageLoader, requestPoolManager, resetInitialization, resetUseCPURendering, resetUseSharedArrayBuffer, setConfiguration, setPreferSizeOverAccuracy, setUseCPURendering, setUseSharedArrayBuffer, setVolumesForViewports
|
|
3673
3673
|
|
|
3674
3674
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/enums/index.js + 4 modules
|
|
3675
3675
|
var enums = __webpack_require__(7187);
|
|
@@ -8391,11 +8391,6 @@ class RectangleROIStartEndThresholdTool extends RectangleROITool/* default */.Z
|
|
|
8391
8391
|
this.configuration.preventHandleOutsideImage) {
|
|
8392
8392
|
(0,stateManagement/* removeAnnotation */._x)(annotation.annotationUID);
|
|
8393
8393
|
}
|
|
8394
|
-
const targetId = this.getTargetId(enabledElement.viewport);
|
|
8395
|
-
const imageVolume = esm.cache.getVolume(targetId.split(/volumeId:|\?/)[1]);
|
|
8396
|
-
if (this.configuration.calculatePointsInsideVolume) {
|
|
8397
|
-
this._computePointsInsideVolume(annotation, targetId, imageVolume, enabledElement);
|
|
8398
|
-
}
|
|
8399
8394
|
(0,triggerAnnotationRenderForViewportIds/* default */.Z)(enabledElement.renderingEngine, viewportIdsToRender);
|
|
8400
8395
|
if (newAnnotation) {
|
|
8401
8396
|
(0,state/* triggerAnnotationCompleted */.F$)(annotation);
|
|
@@ -8430,9 +8425,12 @@ class RectangleROIStartEndThresholdTool extends RectangleROITool/* default */.Z
|
|
|
8430
8425
|
let endCoord = endCoordinate;
|
|
8431
8426
|
if (Array.isArray(startCoordinate)) {
|
|
8432
8427
|
startCoord = this._getCoordinateForViewplaneNormal(startCoord, viewplaneNormal);
|
|
8428
|
+
data.startCoordinate = startCoord;
|
|
8429
|
+
data.handles.points[0][this._getIndexOfCoordinatesForViewplaneNormal(viewplaneNormal)] = startCoord;
|
|
8433
8430
|
}
|
|
8434
8431
|
if (Array.isArray(endCoordinate)) {
|
|
8435
8432
|
endCoord = this._getCoordinateForViewplaneNormal(endCoord, viewplaneNormal);
|
|
8433
|
+
data.endCoordinate = endCoord;
|
|
8436
8434
|
}
|
|
8437
8435
|
const roundedStartCoord = esm.utilities.roundToPrecision(startCoord);
|
|
8438
8436
|
const roundedEndCoord = esm.utilities.roundToPrecision(endCoord);
|
|
@@ -8632,6 +8630,9 @@ class RectangleROIStartEndThresholdTool extends RectangleROITool/* default */.Z
|
|
|
8632
8630
|
const targetId = this.getTargetId(viewport);
|
|
8633
8631
|
const imageVolume = esm.cache.getVolume(targetId.split(/volumeId:|\?/)[1]);
|
|
8634
8632
|
this._computeProjectionPoints(annotation, imageVolume);
|
|
8633
|
+
if (this.configuration.calculatePointsInsideVolume) {
|
|
8634
|
+
this._computePointsInsideVolume(annotation, targetId, imageVolume, enabledElement);
|
|
8635
|
+
}
|
|
8635
8636
|
annotation.invalidated = false;
|
|
8636
8637
|
(0,state/* triggerAnnotationModified */.hg)(annotation, viewport.element);
|
|
8637
8638
|
return cachedStats;
|
|
@@ -317,8 +317,8 @@ function getHangingProtocolModule() {
|
|
|
317
317
|
var state = __webpack_require__(52490);
|
|
318
318
|
// EXTERNAL MODULE: ../../ui/src/index.js + 784 modules
|
|
319
319
|
var ui_src = __webpack_require__(38604);
|
|
320
|
-
// EXTERNAL MODULE: ../../../extensions/default/src/index.ts +
|
|
321
|
-
var default_src = __webpack_require__(
|
|
320
|
+
// EXTERNAL MODULE: ../../../extensions/default/src/index.ts + 95 modules
|
|
321
|
+
var default_src = __webpack_require__(10655);
|
|
322
322
|
// EXTERNAL MODULE: ../../../node_modules/prop-types/index.js
|
|
323
323
|
var prop_types = __webpack_require__(3827);
|
|
324
324
|
var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
|
|
@@ -720,11 +720,13 @@ const moreTools = [{
|
|
|
720
720
|
|
|
721
721
|
// Allow this mode by excluding non-imaging modalities such as SR, SEG
|
|
722
722
|
// Also, SM is not a simple imaging modalities, so exclude it.
|
|
723
|
-
const NON_IMAGE_MODALITIES = ['
|
|
723
|
+
const NON_IMAGE_MODALITIES = ['ECG', 'SEG', 'RTSTRUCT', 'RTPLAN', 'PR'];
|
|
724
724
|
const ohif = {
|
|
725
725
|
layout: '@ohif/extension-default.layoutTemplateModule.viewerLayout',
|
|
726
726
|
sopClassHandler: '@ohif/extension-default.sopClassHandlerModule.stack',
|
|
727
|
-
thumbnailList: '@ohif/extension-default.panelModule.seriesList'
|
|
727
|
+
thumbnailList: '@ohif/extension-default.panelModule.seriesList',
|
|
728
|
+
wsiSopClassHandler: '@ohif/extension-cornerstone.sopClassHandlerModule.DicomMicroscopySopClassHandler',
|
|
729
|
+
measurements: '@ohif/extension-default.panelModule.measurements'
|
|
728
730
|
};
|
|
729
731
|
const tracked = {
|
|
730
732
|
measurements: '@ohif/extension-measurement-tracking.panelModule.trackedMeasurements',
|
|
@@ -888,14 +890,16 @@ function modeFactory({
|
|
|
888
890
|
rightPanelClosed: true,
|
|
889
891
|
viewports: [{
|
|
890
892
|
namespace: tracked.viewport,
|
|
891
|
-
displaySetsToDisplay: [ohif.sopClassHandler]
|
|
893
|
+
displaySetsToDisplay: [ohif.sopClassHandler, dicomvideo.sopClassHandler, ohif.wsiSopClassHandler]
|
|
892
894
|
}, {
|
|
893
895
|
namespace: dicomsr.viewport,
|
|
894
896
|
displaySetsToDisplay: [dicomsr.sopClassHandler]
|
|
895
|
-
},
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
897
|
+
},
|
|
898
|
+
// {
|
|
899
|
+
// namespace: dicomvideo.viewport,
|
|
900
|
+
// displaySetsToDisplay: [dicomvideo.sopClassHandler],
|
|
901
|
+
// },
|
|
902
|
+
{
|
|
899
903
|
namespace: dicompdf.viewport,
|
|
900
904
|
displaySetsToDisplay: [dicompdf.sopClassHandler]
|
|
901
905
|
}, {
|
|
@@ -919,7 +923,7 @@ function modeFactory({
|
|
|
919
923
|
// the same sop class under different situations. In that case, the more
|
|
920
924
|
// general handler needs to come last. For this case, the dicomvideo must
|
|
921
925
|
// come first to remove video transfer syntax before ohif uses images
|
|
922
|
-
sopClassHandlers: [dicomvideo.sopClassHandler, dicomSeg.sopClassHandler, dicomPmap.sopClassHandler, ohif.sopClassHandler, dicompdf.sopClassHandler, dicomsr.sopClassHandler, dicomRT.sopClassHandler],
|
|
926
|
+
sopClassHandlers: [dicomvideo.sopClassHandler, dicomSeg.sopClassHandler, dicomPmap.sopClassHandler, ohif.sopClassHandler, ohif.wsiSopClassHandler, dicompdf.sopClassHandler, dicomsr.sopClassHandler, dicomRT.sopClassHandler],
|
|
923
927
|
hotkeys: [...src/* hotkeys */.dD.defaults.hotkeyBindings],
|
|
924
928
|
...modeConfiguration
|
|
925
929
|
};
|
|
@@ -454,6 +454,10 @@ function initMPRToolGroup(extensionManager, toolGroupService, commandsManager) {
|
|
|
454
454
|
toolName: toolNames.SegmentationDisplay
|
|
455
455
|
}, {
|
|
456
456
|
toolName: toolNames.WindowLevelRegion
|
|
457
|
+
}, {
|
|
458
|
+
toolName: toolNames.PlanarFreehandROI
|
|
459
|
+
}, {
|
|
460
|
+
toolName: toolNames.SplineROI
|
|
457
461
|
}],
|
|
458
462
|
disabled: [{
|
|
459
463
|
toolName: toolNames.Crosshairs,
|
|
@@ -713,10 +717,11 @@ var i18next = __webpack_require__(73577);
|
|
|
713
717
|
|
|
714
718
|
// Allow this mode by excluding non-imaging modalities such as SR, SEG
|
|
715
719
|
// Also, SM is not a simple imaging modalities, so exclude it.
|
|
716
|
-
const NON_IMAGE_MODALITIES = ['
|
|
720
|
+
const NON_IMAGE_MODALITIES = ['ECG', 'SR', 'SEG', 'RTSTRUCT'];
|
|
717
721
|
const ohif = {
|
|
718
722
|
layout: '@ohif/extension-default.layoutTemplateModule.viewerLayout',
|
|
719
723
|
sopClassHandler: '@ohif/extension-default.sopClassHandlerModule.stack',
|
|
724
|
+
wsiSopClassHandler: '@ohif/extension-cornerstone.sopClassHandlerModule.DicomMicroscopySopClassHandler',
|
|
720
725
|
thumbnailList: '@ohif/extension-default.panelModule.seriesList',
|
|
721
726
|
measurements: '@ohif/extension-default.panelModule.measurements'
|
|
722
727
|
};
|
|
@@ -839,14 +844,16 @@ function modeFactory() {
|
|
|
839
844
|
// rightPanelClosed: true, // optional prop to start with collapse panels
|
|
840
845
|
viewports: [{
|
|
841
846
|
namespace: tracked.viewport,
|
|
842
|
-
displaySetsToDisplay: [ohif.sopClassHandler]
|
|
847
|
+
displaySetsToDisplay: [ohif.sopClassHandler, dicomvideo.sopClassHandler, ohif.wsiSopClassHandler]
|
|
843
848
|
}, {
|
|
844
849
|
namespace: dicomsr.viewport,
|
|
845
850
|
displaySetsToDisplay: [dicomsr.sopClassHandler]
|
|
846
|
-
},
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
851
|
+
},
|
|
852
|
+
// {
|
|
853
|
+
// namespace: dicomvideo.viewport,
|
|
854
|
+
// displaySetsToDisplay: [dicomvideo.sopClassHandler],
|
|
855
|
+
// },
|
|
856
|
+
{
|
|
850
857
|
namespace: dicompdf.viewport,
|
|
851
858
|
displaySetsToDisplay: [dicompdf.sopClassHandler]
|
|
852
859
|
}, {
|
|
@@ -867,7 +874,7 @@ function modeFactory() {
|
|
|
867
874
|
// the same sop class under different situations. In that case, the more
|
|
868
875
|
// general handler needs to come last. For this case, the dicomvideo must
|
|
869
876
|
// come first to remove video transfer syntax before ohif uses images
|
|
870
|
-
sopClassHandlers: [dicomvideo.sopClassHandler, dicomSeg.sopClassHandler, ohif.sopClassHandler, dicompdf.sopClassHandler, dicomsr.sopClassHandler],
|
|
877
|
+
sopClassHandlers: [dicomvideo.sopClassHandler, dicomSeg.sopClassHandler, ohif.wsiSopClassHandler, ohif.sopClassHandler, dicompdf.sopClassHandler, dicomsr.sopClassHandler],
|
|
871
878
|
hotkeys: {
|
|
872
879
|
// Don't store the hotkeys for basic-test-mode under the same key
|
|
873
880
|
// because they get customized by tests
|