@ohif/app 3.11.0-beta.99 → 3.12.0-beta.0
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/{2676.bundle.7e194265450db9aa1e98.js → 1402.bundle.e5306db9171c6c9793a7.js} +1379 -857
- package/dist/{9625.bundle.88dafbecfb596dade1a7.js → 1447.bundle.78d3b8f02c28f8ad9924.js} +2401 -2422
- package/dist/{147.bundle.c27839e06e2e8cabf9e1.js → 147.bundle.e22bae08eb10c0a51314.js} +42 -122
- package/dist/{1919.bundle.c53e597a4d2109ef7c97.js → 1919.bundle.ca1ffebd2ee775dc2d82.js} +6 -4
- package/dist/{2011.bundle.c44c0094525a51b528f4.js → 2011.bundle.12539f6bbbfc20a372e9.js} +2726 -197
- package/dist/{6216.bundle.48ff7813b6b3b8aba5f0.js → 2345.bundle.1fedf5750caf46ce99d9.js} +1 -35
- package/dist/{2701.bundle.d5c7ef6ec8b6cd9c2dfa.js → 2701.bundle.f2c7a5ab4a8b49d73bff.js} +9 -9
- package/dist/{2974.bundle.54d5903a8b29f1b09299.js → 2974.bundle.ec95e58b346dbe30a362.js} +2 -0
- package/dist/{7750.bundle.216dafe3c87d611928da.js → 319.bundle.45c1c250b562a3feefa5.js} +296 -62
- package/dist/{3658.bundle.046b575faed9e6bf1915.js → 3658.bundle.4b03e3bc783328aab18f.js} +2 -2
- package/dist/{9594.bundle.e623f61b984d7ff3b4b6.js → 4019.bundle.e07cc2a71b6e189a706a.js} +31 -157
- package/dist/{4113.bundle.46086f61126bf7100c6b.js → 4113.bundle.3b3fed48ad784ccda1a1.js} +268 -67
- package/dist/{414.bundle.443f391e019ece702e08.js → 414.bundle.fac8463232edcfda0b6c.js} +15 -15
- package/dist/{4202.bundle.aa4161a7b8cb7c691072.js → 4202.bundle.f804c72fb887b9543506.js} +1 -1
- package/dist/{4759.bundle.4da90b9346bb5e377ac6.js → 4759.bundle.8686abdd7bcf4aa7d107.js} +2 -0
- package/dist/{5349.bundle.be4b2d9a58412788944e.js → 5349.bundle.c117cc60ab5ff40eed14.js} +2 -2
- package/dist/{6972.bundle.0992b530f9691709f6d8.js → 557.bundle.a0344a04ae7a43642402.js} +5541 -5283
- package/dist/{5674.bundle.6c0d445cbd151b6e7aa1.js → 5674.bundle.4e40a906351477a2a193.js} +2 -0
- package/dist/{6201.bundle.a43859b8c8d3c89d73fe.js → 6201.bundle.5d7b8937f331f965d1aa.js} +4 -4
- package/dist/{6376.bundle.de4abf332424cba7513e.js → 6376.bundle.24e14fa9bf28c7c86e7c.js} +1 -1
- package/dist/{1943.bundle.3cf999579ec18e369ae6.js → 6991.bundle.08967b6f5698660e3a19.js} +67 -51
- package/dist/{7190.bundle.a35063abb9cb95986e67.js → 7190.bundle.4448c5a66a997bea24ca.js} +45 -8
- package/dist/{7197.bundle.c43fa621a7f16a4ea598.js → 7197.bundle.b8ce1b612ab1eff5d3ee.js} +5 -5
- package/dist/{810.bundle.0012733e3c8a87684485.js → 810.bundle.84fc54342c180b8a3023.js} +6 -6
- package/dist/{8228.bundle.2df7b5c0e4e0fdbb3654.js → 8228.bundle.ec3557eae81cafaed8c9.js} +2 -2
- package/dist/{85.bundle.c2855f98bbc7af94324a.js → 85.bundle.f9908f1f7350e5027d37.js} +3 -2
- package/dist/{8558.bundle.b69313ff865d69505f3f.js → 8558.bundle.ead200c0f2518d73739f.js} +3 -1
- package/dist/{860.bundle.f0d3efcceec48a1147ee.js → 860.bundle.f90055bfb2088bf17617.js} +24 -1
- package/dist/{8740.bundle.d0f554795adaecf0292c.js → 8740.bundle.9e567165a05c863b9698.js} +18 -5
- package/dist/{8815.bundle.85f43d0109e9e8eb7d2f.js → 8815.bundle.9999a630034893a74508.js} +32 -10
- package/dist/{934.bundle.f60a5cfd492b9b2f80d7.js → 934.bundle.e620a43102a8abf8a1e3.js} +4 -2
- package/dist/{963.bundle.5a8404d29251b83344c9.js → 963.bundle.b2434897acfb3e8abee5.js} +29 -9
- package/dist/{1443.bundle.405ff549a88a585906f3.js → 9732.bundle.91cb05748bef4e4f67c2.js} +883 -1731
- package/dist/{9560.bundle.203976e64c9a0202e247.js → 9856.bundle.c34e4165e91ef095aa9f.js} +5853 -5649
- package/dist/{9862.bundle.11d2a0f6528e9e916e25.js → 9862.bundle.e404cb5f0e762fbf6a03.js} +2 -14
- package/dist/{5886.bundle.181e673d6d5a9333039a.js → 9892.bundle.364aba175ce50baeb46c.js} +35397 -32968
- package/dist/app-config.js +8 -0
- package/dist/{app.bundle.4c2206d03a480f25fa24.js → app.bundle.41ff3ab8824cbbe55246.js} +2239 -1468
- package/dist/{compute.bundle.06ee8311038e4ac2d34d.js → compute.bundle.a1c8365c4732e8b82ca3.js} +3 -3
- package/dist/index.html +1 -1
- package/dist/{interpolation.bundle.6b3b374f2888d3744e61.js → interpolation.bundle.488206d0a2c4fa1dd6c5.js} +1 -1
- package/dist/{polySeg.bundle.d8a36b40716862d016de.js → polySeg.bundle.02258624e0ec30e9934c.js} +3 -3
- package/dist/sw.js +1 -1
- package/package.json +22 -22
- /package/dist/{1459.bundle.ce20cf6141ce43861cb6.js → 1459.bundle.163c80965265cae11781.js} +0 -0
- /package/dist/{1807.bundle.b29feec5110c55747364.js → 1807.bundle.d79c83317de38e4cffbd.js} +0 -0
- /package/dist/{213.bundle.5f47c7726bac8015c955.js → 213.bundle.f8b1fd7851428f0fa02f.js} +0 -0
- /package/dist/{2424.bundle.efc13d194c408554908e.js → 2424.bundle.7469c5960e905196f646.js} +0 -0
- /package/dist/{6027.bundle.80487e243df9ca540b1e.js → 6027.bundle.ab73f6c39c04c7662744.js} +0 -0
- /package/dist/{7431.bundle.503dc3262479de76225b.js → 7431.bundle.494b080a8141ef60067a.js} +0 -0
- /package/dist/{7639.bundle.d266780fbc9fe5a0053f.js → 7639.bundle.664fc584f04ca34a4bf1.js} +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
(globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[
|
|
2
|
+
(globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[2345],{
|
|
3
3
|
|
|
4
4
|
/***/ 1239:
|
|
5
5
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
@@ -1282,40 +1282,6 @@ function lightenColor(r, g, b, a, factor = 0.4) {
|
|
|
1282
1282
|
}
|
|
1283
1283
|
|
|
1284
1284
|
|
|
1285
|
-
/***/ }),
|
|
1286
|
-
|
|
1287
|
-
/***/ 26384:
|
|
1288
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
1289
|
-
|
|
1290
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
1291
|
-
/* harmony export */ l: () => (/* binding */ isAxisAlignedRectangle)
|
|
1292
|
-
/* harmony export */ });
|
|
1293
|
-
/* harmony import */ var gl_matrix__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3823);
|
|
1294
|
-
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(15327);
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
const { isEqual } = _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_1__.utilities;
|
|
1298
|
-
const iAxis = gl_matrix__WEBPACK_IMPORTED_MODULE_0__/* .vec3.fromValues */ .eR.fromValues(1, 0, 0);
|
|
1299
|
-
const jAxis = gl_matrix__WEBPACK_IMPORTED_MODULE_0__/* .vec3.fromValues */ .eR.fromValues(0, 1, 0);
|
|
1300
|
-
const kAxis = gl_matrix__WEBPACK_IMPORTED_MODULE_0__/* .vec3.fromValues */ .eR.fromValues(0, 0, 1);
|
|
1301
|
-
const axisList = [iAxis, jAxis, kAxis];
|
|
1302
|
-
function isAxisAlignedRectangle(rectangleCornersIJK) {
|
|
1303
|
-
const rectangleVec1 = gl_matrix__WEBPACK_IMPORTED_MODULE_0__/* .vec3.subtract */ .eR.subtract(gl_matrix__WEBPACK_IMPORTED_MODULE_0__/* .vec3.create */ .eR.create(), rectangleCornersIJK[0], rectangleCornersIJK[1]);
|
|
1304
|
-
const rectangleVec2 = gl_matrix__WEBPACK_IMPORTED_MODULE_0__/* .vec3.subtract */ .eR.subtract(gl_matrix__WEBPACK_IMPORTED_MODULE_0__/* .vec3.create */ .eR.create(), rectangleCornersIJK[0], rectangleCornersIJK[2]);
|
|
1305
|
-
const anglesVec1 = calculateAnglesWithAxes(rectangleVec1, axisList);
|
|
1306
|
-
const anglesVec2 = calculateAnglesWithAxes(rectangleVec2, axisList);
|
|
1307
|
-
const isAligned = [...anglesVec1, ...anglesVec2].every((angle) => isEqual(angle, 0) ||
|
|
1308
|
-
isEqual(angle, 90) ||
|
|
1309
|
-
isEqual(angle, 180) ||
|
|
1310
|
-
isEqual(angle, 270));
|
|
1311
|
-
return isAligned;
|
|
1312
|
-
}
|
|
1313
|
-
function calculateAnglesWithAxes(vec, axes) {
|
|
1314
|
-
return axes.map((axis) => (gl_matrix__WEBPACK_IMPORTED_MODULE_0__/* .vec3.angle */ .eR.angle(vec, axis) * 180) / Math.PI);
|
|
1315
|
-
}
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
1285
|
/***/ }),
|
|
1320
1286
|
|
|
1321
1287
|
/***/ 27730:
|
|
@@ -23,8 +23,8 @@ var src = __webpack_require__(15871);
|
|
|
23
23
|
var dicomSRModule = __webpack_require__(76654);
|
|
24
24
|
// EXTERNAL MODULE: ../../../extensions/cornerstone-dicom-sr/src/utils/createReferencedImageDisplaySet.ts
|
|
25
25
|
var createReferencedImageDisplaySet = __webpack_require__(92643);
|
|
26
|
-
// EXTERNAL MODULE: ../../../extensions/cornerstone/src/index.tsx +
|
|
27
|
-
var cornerstone_src = __webpack_require__(
|
|
26
|
+
// EXTERNAL MODULE: ../../../extensions/cornerstone/src/index.tsx + 184 modules
|
|
27
|
+
var cornerstone_src = __webpack_require__(20557);
|
|
28
28
|
// EXTERNAL MODULE: ../../ui-next/src/index.ts + 3072 modules
|
|
29
29
|
var ui_next_src = __webpack_require__(42606);
|
|
30
30
|
// EXTERNAL MODULE: ../../core/src/contextProviders/SystemProvider.tsx
|
|
@@ -90,17 +90,11 @@ function OHIFCornerstoneSRMeasurementViewport(props) {
|
|
|
90
90
|
const updateViewport = (0,react.useCallback)(newMeasurementSelected => {
|
|
91
91
|
const {
|
|
92
92
|
StudyInstanceUID,
|
|
93
|
-
displaySetInstanceUID
|
|
94
|
-
sopClassUids
|
|
93
|
+
displaySetInstanceUID
|
|
95
94
|
} = srDisplaySet;
|
|
96
95
|
if (!StudyInstanceUID || !displaySetInstanceUID) {
|
|
97
96
|
return;
|
|
98
97
|
}
|
|
99
|
-
if (sopClassUids && sopClassUids.length > 1) {
|
|
100
|
-
// Todo: what happens if there are multiple SOP Classes? Why we are
|
|
101
|
-
// not throwing an error?
|
|
102
|
-
console.warn('More than one SOPClassUID in the same series is not yet supported.');
|
|
103
|
-
}
|
|
104
98
|
_getViewportReferencedDisplaySetData(srDisplaySet, newMeasurementSelected, displaySetService).then(({
|
|
105
99
|
referencedDisplaySet,
|
|
106
100
|
referencedDisplaySetMetadata
|
|
@@ -261,6 +255,12 @@ async function _getViewportReferencedDisplaySetData(displaySet, measurementSelec
|
|
|
261
255
|
};
|
|
262
256
|
}
|
|
263
257
|
const referencedDisplaySet = displaySetService.getDisplaySetByUID(displaySetInstanceUID);
|
|
258
|
+
if (!referencedDisplaySet?.images) {
|
|
259
|
+
return {
|
|
260
|
+
referencedDisplaySetMetadata: null,
|
|
261
|
+
referencedDisplaySet: null
|
|
262
|
+
};
|
|
263
|
+
}
|
|
264
264
|
const image0 = referencedDisplaySet.images[0];
|
|
265
265
|
const referencedDisplaySetMetadata = {
|
|
266
266
|
PatientID: image0.PatientID,
|
|
@@ -74999,6 +74999,8 @@ var Events;
|
|
|
74999
74999
|
Events["TOOLGROUP_VIEWPORT_REMOVED"] = "CORNERSTONE_TOOLS_TOOLGROUP_VIEWPORT_REMOVED";
|
|
75000
75000
|
Events["TOOL_MODE_CHANGED"] = "CORNERSTONE_TOOLS_TOOL_MODE_CHANGED";
|
|
75001
75001
|
Events["CROSSHAIR_TOOL_CENTER_CHANGED"] = "CORNERSTONE_TOOLS_CROSSHAIR_TOOL_CENTER_CHANGED";
|
|
75002
|
+
Events["VOLUMECROPPINGCONTROL_TOOL_CHANGED"] = "CORNERSTONE_TOOLS_VOLUMECROPPINGCONTROL_TOOL_CHANGED";
|
|
75003
|
+
Events["VOLUMECROPPING_TOOL_CHANGED"] = "CORNERSTONE_TOOLS_VOLUMECROPPING_TOOL_CHANGED";
|
|
75002
75004
|
Events["ANNOTATION_ADDED"] = "CORNERSTONE_TOOLS_ANNOTATION_ADDED";
|
|
75003
75005
|
Events["ANNOTATION_COMPLETED"] = "CORNERSTONE_TOOLS_ANNOTATION_COMPLETED";
|
|
75004
75006
|
Events["ANNOTATION_MODIFIED"] = "CORNERSTONE_TOOLS_ANNOTATION_MODIFIED";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
(globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[
|
|
2
|
+
(globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[319],{
|
|
3
3
|
|
|
4
4
|
/***/ 405:
|
|
5
5
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
@@ -23,6 +23,234 @@ function intersectPolyline(sourcePolyline, targetPolyline) {
|
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
|
|
26
|
+
/***/ }),
|
|
27
|
+
|
|
28
|
+
/***/ 1060:
|
|
29
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
30
|
+
|
|
31
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
32
|
+
/* harmony export */ Ay: () => (/* binding */ vtkSphereSource$1)
|
|
33
|
+
/* harmony export */ });
|
|
34
|
+
/* unused harmony exports extend, newInstance */
|
|
35
|
+
/* harmony import */ var _macros2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(28906);
|
|
36
|
+
/* harmony import */ var _Common_DataModel_PolyData_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(87275);
|
|
37
|
+
/* harmony import */ var _Common_Core_DataArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(42008);
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
// ----------------------------------------------------------------------------
|
|
43
|
+
// vtkSphereSource methods
|
|
44
|
+
// ----------------------------------------------------------------------------
|
|
45
|
+
|
|
46
|
+
function vtkSphereSource(publicAPI, model) {
|
|
47
|
+
// Set our className
|
|
48
|
+
model.classHierarchy.push('vtkSphereSource');
|
|
49
|
+
publicAPI.requestData = (inData, outData) => {
|
|
50
|
+
if (model.deleted) {
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
let dataset = outData[0];
|
|
54
|
+
const pointDataType = dataset ? dataset.getPoints().getDataType() : model.pointType;
|
|
55
|
+
dataset = _Common_DataModel_PolyData_js__WEBPACK_IMPORTED_MODULE_1__/* ["default"].newInstance */ .Ay.newInstance();
|
|
56
|
+
|
|
57
|
+
// ----------------------------------------------------------------------
|
|
58
|
+
let numPoles = 0;
|
|
59
|
+
|
|
60
|
+
// Check data, determine increments, and convert to radians
|
|
61
|
+
let {
|
|
62
|
+
thetaResolution
|
|
63
|
+
} = model;
|
|
64
|
+
let startTheta = model.startTheta < model.endTheta ? model.startTheta : model.endTheta;
|
|
65
|
+
startTheta *= Math.PI / 180.0;
|
|
66
|
+
let endTheta = model.endTheta > model.startTheta ? model.endTheta : model.startTheta;
|
|
67
|
+
endTheta *= Math.PI / 180.0;
|
|
68
|
+
let startPhi = model.startPhi < model.endPhi ? model.startPhi : model.endPhi;
|
|
69
|
+
startPhi *= Math.PI / 180.0;
|
|
70
|
+
let endPhi = model.endPhi > model.startPhi ? model.endPhi : model.startPhi;
|
|
71
|
+
endPhi *= Math.PI / 180.0;
|
|
72
|
+
if (Math.abs(startTheta - endTheta) < 2.0 * Math.PI) {
|
|
73
|
+
++thetaResolution;
|
|
74
|
+
}
|
|
75
|
+
const deltaTheta = (endTheta - startTheta) / model.thetaResolution;
|
|
76
|
+
const jStart = model.startPhi <= 0.0 ? 1 : 0;
|
|
77
|
+
const jEnd = model.phiResolution + (model.endPhi >= 180.0 ? -1 : 0);
|
|
78
|
+
const numPts = model.phiResolution * thetaResolution + 2;
|
|
79
|
+
const numPolys = model.phiResolution * 2 * model.thetaResolution;
|
|
80
|
+
|
|
81
|
+
// Points
|
|
82
|
+
let pointIdx = 0;
|
|
83
|
+
let points = _macros2_js__WEBPACK_IMPORTED_MODULE_0__.m.newTypedArray(pointDataType, numPts * 3);
|
|
84
|
+
|
|
85
|
+
// Normals
|
|
86
|
+
let normals = new Float32Array(numPts * 3);
|
|
87
|
+
|
|
88
|
+
// Cells
|
|
89
|
+
let cellLocation = 0;
|
|
90
|
+
let polys = new Uint32Array(numPolys * 5);
|
|
91
|
+
|
|
92
|
+
// Create north pole if needed
|
|
93
|
+
if (model.startPhi <= 0.0) {
|
|
94
|
+
points[pointIdx * 3 + 0] = model.center[0];
|
|
95
|
+
points[pointIdx * 3 + 1] = model.center[1];
|
|
96
|
+
points[pointIdx * 3 + 2] = model.center[2] + model.radius;
|
|
97
|
+
normals[pointIdx * 3 + 0] = 0;
|
|
98
|
+
normals[pointIdx * 3 + 1] = 0;
|
|
99
|
+
normals[pointIdx * 3 + 2] = 1;
|
|
100
|
+
pointIdx++;
|
|
101
|
+
numPoles++;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
// Create south pole if needed
|
|
105
|
+
if (model.endPhi >= 180.0) {
|
|
106
|
+
points[pointIdx * 3 + 0] = model.center[0];
|
|
107
|
+
points[pointIdx * 3 + 1] = model.center[1];
|
|
108
|
+
points[pointIdx * 3 + 2] = model.center[2] - model.radius;
|
|
109
|
+
normals[pointIdx * 3 + 0] = 0;
|
|
110
|
+
normals[pointIdx * 3 + 1] = 0;
|
|
111
|
+
normals[pointIdx * 3 + 2] = -1;
|
|
112
|
+
pointIdx++;
|
|
113
|
+
numPoles++;
|
|
114
|
+
}
|
|
115
|
+
const phiResolution = model.phiResolution - numPoles;
|
|
116
|
+
const deltaPhi = (endPhi - startPhi) / (model.phiResolution - 1);
|
|
117
|
+
|
|
118
|
+
// Create intermediate points
|
|
119
|
+
for (let i = 0; i < thetaResolution; i++) {
|
|
120
|
+
const theta = startTheta + i * deltaTheta;
|
|
121
|
+
for (let j = jStart; j < jEnd; j++) {
|
|
122
|
+
const phi = startPhi + j * deltaPhi;
|
|
123
|
+
const radius = model.radius * Math.sin(phi);
|
|
124
|
+
normals[pointIdx * 3 + 0] = radius * Math.cos(theta);
|
|
125
|
+
normals[pointIdx * 3 + 1] = radius * Math.sin(theta);
|
|
126
|
+
normals[pointIdx * 3 + 2] = model.radius * Math.cos(phi);
|
|
127
|
+
points[pointIdx * 3 + 0] = normals[pointIdx * 3 + 0] + model.center[0];
|
|
128
|
+
points[pointIdx * 3 + 1] = normals[pointIdx * 3 + 1] + model.center[1];
|
|
129
|
+
points[pointIdx * 3 + 2] = normals[pointIdx * 3 + 2] + model.center[2];
|
|
130
|
+
let norm = Math.sqrt(normals[pointIdx * 3 + 0] * normals[pointIdx * 3 + 0] + normals[pointIdx * 3 + 1] * normals[pointIdx * 3 + 1] + normals[pointIdx * 3 + 2] * normals[pointIdx * 3 + 2]);
|
|
131
|
+
norm = norm === 0 ? 1 : norm;
|
|
132
|
+
normals[pointIdx * 3 + 0] /= norm;
|
|
133
|
+
normals[pointIdx * 3 + 1] /= norm;
|
|
134
|
+
normals[pointIdx * 3 + 2] /= norm;
|
|
135
|
+
pointIdx++;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
// Generate mesh connectivity
|
|
140
|
+
const base = phiResolution * thetaResolution;
|
|
141
|
+
if (Math.abs(startTheta - endTheta) < 2.0 * Math.PI) {
|
|
142
|
+
--thetaResolution;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
// around north pole
|
|
146
|
+
if (model.startPhi <= 0.0) {
|
|
147
|
+
for (let i = 0; i < thetaResolution; i++) {
|
|
148
|
+
polys[cellLocation++] = 3;
|
|
149
|
+
polys[cellLocation++] = phiResolution * i + numPoles;
|
|
150
|
+
polys[cellLocation++] = phiResolution * (i + 1) % base + numPoles;
|
|
151
|
+
polys[cellLocation++] = 0;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
// around south pole
|
|
156
|
+
if (model.endPhi >= 180.0) {
|
|
157
|
+
const numOffset = phiResolution - 1 + numPoles;
|
|
158
|
+
for (let i = 0; i < thetaResolution; i++) {
|
|
159
|
+
polys[cellLocation++] = 3;
|
|
160
|
+
polys[cellLocation++] = phiResolution * i + numOffset;
|
|
161
|
+
polys[cellLocation++] = numPoles - 1;
|
|
162
|
+
polys[cellLocation++] = phiResolution * (i + 1) % base + numOffset;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
// bands in-between poles
|
|
167
|
+
for (let i = 0; i < thetaResolution; i++) {
|
|
168
|
+
for (let j = 0; j < phiResolution - 1; j++) {
|
|
169
|
+
const a = phiResolution * i + j + numPoles;
|
|
170
|
+
const b = a + 1;
|
|
171
|
+
const c = (phiResolution * (i + 1) + j) % base + numPoles + 1;
|
|
172
|
+
if (!model.latLongTessellation) {
|
|
173
|
+
polys[cellLocation++] = 3;
|
|
174
|
+
polys[cellLocation++] = a;
|
|
175
|
+
polys[cellLocation++] = b;
|
|
176
|
+
polys[cellLocation++] = c;
|
|
177
|
+
polys[cellLocation++] = 3;
|
|
178
|
+
polys[cellLocation++] = a;
|
|
179
|
+
polys[cellLocation++] = c;
|
|
180
|
+
polys[cellLocation++] = c - 1;
|
|
181
|
+
} else {
|
|
182
|
+
polys[cellLocation++] = 4;
|
|
183
|
+
polys[cellLocation++] = a;
|
|
184
|
+
polys[cellLocation++] = b;
|
|
185
|
+
polys[cellLocation++] = c;
|
|
186
|
+
polys[cellLocation++] = c - 1;
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
// Squeeze
|
|
192
|
+
points = points.subarray(0, pointIdx * 3);
|
|
193
|
+
dataset.getPoints().setData(points, 3);
|
|
194
|
+
normals = normals.subarray(0, pointIdx * 3);
|
|
195
|
+
const normalArray = _Common_Core_DataArray_js__WEBPACK_IMPORTED_MODULE_2__/* ["default"].newInstance */ .Ay.newInstance({
|
|
196
|
+
name: 'Normals',
|
|
197
|
+
values: normals,
|
|
198
|
+
numberOfComponents: 3
|
|
199
|
+
});
|
|
200
|
+
dataset.getPointData().setNormals(normalArray);
|
|
201
|
+
polys = polys.subarray(0, cellLocation);
|
|
202
|
+
dataset.getPolys().setData(polys, 1);
|
|
203
|
+
|
|
204
|
+
// Update output
|
|
205
|
+
outData[0] = dataset;
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
// ----------------------------------------------------------------------------
|
|
210
|
+
// Object factory
|
|
211
|
+
// ----------------------------------------------------------------------------
|
|
212
|
+
|
|
213
|
+
const DEFAULT_VALUES = {
|
|
214
|
+
radius: 0.5,
|
|
215
|
+
latLongTessellation: false,
|
|
216
|
+
thetaResolution: 8,
|
|
217
|
+
startTheta: 0.0,
|
|
218
|
+
endTheta: 360.0,
|
|
219
|
+
phiResolution: 8,
|
|
220
|
+
startPhi: 0.0,
|
|
221
|
+
endPhi: 180.0,
|
|
222
|
+
center: [0, 0, 0],
|
|
223
|
+
pointType: 'Float64Array'
|
|
224
|
+
};
|
|
225
|
+
|
|
226
|
+
// ----------------------------------------------------------------------------
|
|
227
|
+
|
|
228
|
+
function extend(publicAPI, model) {
|
|
229
|
+
let initialValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
230
|
+
Object.assign(model, DEFAULT_VALUES, initialValues);
|
|
231
|
+
|
|
232
|
+
// Build VTK API
|
|
233
|
+
_macros2_js__WEBPACK_IMPORTED_MODULE_0__.m.obj(publicAPI, model);
|
|
234
|
+
_macros2_js__WEBPACK_IMPORTED_MODULE_0__.m.setGet(publicAPI, model, ['radius', 'latLongTessellation', 'thetaResolution', 'startTheta', 'endTheta', 'phiResolution', 'startPhi', 'endPhi']);
|
|
235
|
+
_macros2_js__WEBPACK_IMPORTED_MODULE_0__.m.setGetArray(publicAPI, model, ['center'], 3);
|
|
236
|
+
_macros2_js__WEBPACK_IMPORTED_MODULE_0__.m.algo(publicAPI, model, 0, 1);
|
|
237
|
+
vtkSphereSource(publicAPI, model);
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
// ----------------------------------------------------------------------------
|
|
241
|
+
|
|
242
|
+
const newInstance = _macros2_js__WEBPACK_IMPORTED_MODULE_0__.m.newInstance(extend, 'vtkSphereSource');
|
|
243
|
+
|
|
244
|
+
// ----------------------------------------------------------------------------
|
|
245
|
+
|
|
246
|
+
var vtkSphereSource$1 = {
|
|
247
|
+
newInstance,
|
|
248
|
+
extend
|
|
249
|
+
};
|
|
250
|
+
|
|
251
|
+
|
|
252
|
+
|
|
253
|
+
|
|
26
254
|
/***/ }),
|
|
27
255
|
|
|
28
256
|
/***/ 4239:
|
|
@@ -895,67 +1123,6 @@ function getNormal2(polyline) {
|
|
|
895
1123
|
}
|
|
896
1124
|
|
|
897
1125
|
|
|
898
|
-
/***/ }),
|
|
899
|
-
|
|
900
|
-
/***/ 11683:
|
|
901
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
902
|
-
|
|
903
|
-
// ESM COMPAT FLAG
|
|
904
|
-
__webpack_require__.r(__webpack_exports__);
|
|
905
|
-
|
|
906
|
-
// EXPORTS
|
|
907
|
-
__webpack_require__.d(__webpack_exports__, {
|
|
908
|
-
getCanvasEllipseCorners: () => (/* reexport */ getCanvasEllipseCorners/* default */.A),
|
|
909
|
-
pointInEllipse: () => (/* reexport */ pointInEllipse),
|
|
910
|
-
precalculatePointInEllipse: () => (/* reexport */ precalculatePointInEllipse)
|
|
911
|
-
});
|
|
912
|
-
|
|
913
|
-
;// ../../../node_modules/@cornerstonejs/tools/dist/esm/utilities/math/ellipse/pointInEllipse.js
|
|
914
|
-
function pointInEllipse(ellipse, pointLPS, inverts = {}) {
|
|
915
|
-
if (!inverts.precalculated) {
|
|
916
|
-
precalculatePointInEllipse(ellipse, inverts);
|
|
917
|
-
}
|
|
918
|
-
return inverts.precalculated(pointLPS);
|
|
919
|
-
}
|
|
920
|
-
const precalculatePointInEllipse = (ellipse, inverts = {}) => {
|
|
921
|
-
const { xRadius, yRadius, zRadius } = ellipse;
|
|
922
|
-
if (inverts.invXRadiusSq === undefined ||
|
|
923
|
-
inverts.invYRadiusSq === undefined ||
|
|
924
|
-
inverts.invZRadiusSq === undefined) {
|
|
925
|
-
inverts.invXRadiusSq = xRadius !== 0 ? 1 / xRadius ** 2 : 0;
|
|
926
|
-
inverts.invYRadiusSq = yRadius !== 0 ? 1 / yRadius ** 2 : 0;
|
|
927
|
-
inverts.invZRadiusSq = zRadius !== 0 ? 1 / zRadius ** 2 : 0;
|
|
928
|
-
}
|
|
929
|
-
const { invXRadiusSq, invYRadiusSq, invZRadiusSq } = inverts;
|
|
930
|
-
const { center } = ellipse;
|
|
931
|
-
const [centerL, centerP, centerS] = center;
|
|
932
|
-
inverts.precalculated = (pointLPS) => {
|
|
933
|
-
const dx = pointLPS[0] - centerL;
|
|
934
|
-
let inside = dx * dx * invXRadiusSq;
|
|
935
|
-
if (inside > 1) {
|
|
936
|
-
return false;
|
|
937
|
-
}
|
|
938
|
-
const dy = pointLPS[1] - centerP;
|
|
939
|
-
inside += dy * dy * invYRadiusSq;
|
|
940
|
-
if (inside > 1) {
|
|
941
|
-
return false;
|
|
942
|
-
}
|
|
943
|
-
const dz = pointLPS[2] - centerS;
|
|
944
|
-
inside += dz * dz * invZRadiusSq;
|
|
945
|
-
return inside <= 1;
|
|
946
|
-
};
|
|
947
|
-
return inverts;
|
|
948
|
-
};
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/utilities/math/ellipse/getCanvasEllipseCorners.js
|
|
952
|
-
var getCanvasEllipseCorners = __webpack_require__(2222);
|
|
953
|
-
;// ../../../node_modules/@cornerstonejs/tools/dist/esm/utilities/math/ellipse/index.js
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
1126
|
/***/ }),
|
|
960
1127
|
|
|
961
1128
|
/***/ 13165:
|
|
@@ -7462,6 +7629,73 @@ function getArea(points) {
|
|
|
7462
7629
|
}
|
|
7463
7630
|
|
|
7464
7631
|
|
|
7632
|
+
/***/ }),
|
|
7633
|
+
|
|
7634
|
+
/***/ 87009:
|
|
7635
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
7636
|
+
|
|
7637
|
+
// ESM COMPAT FLAG
|
|
7638
|
+
__webpack_require__.r(__webpack_exports__);
|
|
7639
|
+
|
|
7640
|
+
// EXPORTS
|
|
7641
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
7642
|
+
getCanvasEllipseCorners: () => (/* reexport */ getCanvasEllipseCorners),
|
|
7643
|
+
pointInEllipse: () => (/* reexport */ pointInEllipse),
|
|
7644
|
+
precalculatePointInEllipse: () => (/* reexport */ precalculatePointInEllipse)
|
|
7645
|
+
});
|
|
7646
|
+
|
|
7647
|
+
;// ../../../node_modules/@cornerstonejs/tools/dist/esm/utilities/math/ellipse/pointInEllipse.js
|
|
7648
|
+
function pointInEllipse(ellipse, pointLPS, inverts = {}) {
|
|
7649
|
+
if (!inverts.precalculated) {
|
|
7650
|
+
precalculatePointInEllipse(ellipse, inverts);
|
|
7651
|
+
}
|
|
7652
|
+
return inverts.precalculated(pointLPS);
|
|
7653
|
+
}
|
|
7654
|
+
const precalculatePointInEllipse = (ellipse, inverts = {}) => {
|
|
7655
|
+
const { xRadius, yRadius, zRadius } = ellipse;
|
|
7656
|
+
if (inverts.invXRadiusSq === undefined ||
|
|
7657
|
+
inverts.invYRadiusSq === undefined ||
|
|
7658
|
+
inverts.invZRadiusSq === undefined) {
|
|
7659
|
+
inverts.invXRadiusSq = xRadius !== 0 ? 1 / xRadius ** 2 : 0;
|
|
7660
|
+
inverts.invYRadiusSq = yRadius !== 0 ? 1 / yRadius ** 2 : 0;
|
|
7661
|
+
inverts.invZRadiusSq = zRadius !== 0 ? 1 / zRadius ** 2 : 0;
|
|
7662
|
+
}
|
|
7663
|
+
const { invXRadiusSq, invYRadiusSq, invZRadiusSq } = inverts;
|
|
7664
|
+
const { center } = ellipse;
|
|
7665
|
+
const [centerL, centerP, centerS] = center;
|
|
7666
|
+
inverts.precalculated = (pointLPS) => {
|
|
7667
|
+
const dx = pointLPS[0] - centerL;
|
|
7668
|
+
let inside = dx * dx * invXRadiusSq;
|
|
7669
|
+
if (inside > 1) {
|
|
7670
|
+
return false;
|
|
7671
|
+
}
|
|
7672
|
+
const dy = pointLPS[1] - centerP;
|
|
7673
|
+
inside += dy * dy * invYRadiusSq;
|
|
7674
|
+
if (inside > 1) {
|
|
7675
|
+
return false;
|
|
7676
|
+
}
|
|
7677
|
+
const dz = pointLPS[2] - centerS;
|
|
7678
|
+
inside += dz * dz * invZRadiusSq;
|
|
7679
|
+
return inside <= 1;
|
|
7680
|
+
};
|
|
7681
|
+
return inverts;
|
|
7682
|
+
};
|
|
7683
|
+
|
|
7684
|
+
|
|
7685
|
+
;// ../../../node_modules/@cornerstonejs/tools/dist/esm/utilities/math/ellipse/getCanvasEllipseCorners.js
|
|
7686
|
+
function getCanvasEllipseCorners(ellipseCanvasPoints) {
|
|
7687
|
+
const [bottom, top, left, right] = ellipseCanvasPoints;
|
|
7688
|
+
const topLeft = [left[0], top[1]];
|
|
7689
|
+
const bottomRight = [right[0], bottom[1]];
|
|
7690
|
+
return [topLeft, bottomRight];
|
|
7691
|
+
}
|
|
7692
|
+
|
|
7693
|
+
;// ../../../node_modules/@cornerstonejs/tools/dist/esm/utilities/math/ellipse/index.js
|
|
7694
|
+
|
|
7695
|
+
|
|
7696
|
+
|
|
7697
|
+
|
|
7698
|
+
|
|
7465
7699
|
/***/ }),
|
|
7466
7700
|
|
|
7467
7701
|
/***/ 88638:
|
|
@@ -22,8 +22,8 @@ const id = package_namespaceObject.UU;
|
|
|
22
22
|
var react = __webpack_require__(86326);
|
|
23
23
|
// EXTERNAL MODULE: ../../ui-next/src/index.ts + 3072 modules
|
|
24
24
|
var src = __webpack_require__(42606);
|
|
25
|
-
// EXTERNAL MODULE: ../../../extensions/default/src/index.ts +
|
|
26
|
-
var default_src = __webpack_require__(
|
|
25
|
+
// EXTERNAL MODULE: ../../../extensions/default/src/index.ts + 139 modules
|
|
26
|
+
var default_src = __webpack_require__(11447);
|
|
27
27
|
// EXTERNAL MODULE: ../../core/src/index.ts + 68 modules
|
|
28
28
|
var core_src = __webpack_require__(15871);
|
|
29
29
|
// EXTERNAL MODULE: ../../../node_modules/react-i18next/dist/es/index.js + 15 modules
|