@ohif/app 3.9.0-beta.2 → 3.9.0-beta.21
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/{117.bundle.a80b1511ef4b302fb7cc.js → 117.bundle.772ce244eee25d9b7316.js} +50 -15
- package/dist/{121.bundle.a6063e0272df61cefccc.js → 121.bundle.b582314ec0024fdf2d15.js} +1 -0
- package/dist/{164.bundle.1da1cadb56951caef1d6.js → 164.bundle.3221590f5e6855086889.js} +318 -41
- package/dist/{236.bundle.4ca7987e1d57f60ec13a.js → 236.bundle.d3a631d79ee8952e3c60.js} +388 -55
- package/dist/{188.bundle.b31173cb165eb21c3ec6.js → 243.bundle.866dc990219240efa81f.js} +8 -8
- package/dist/{325.bundle.47f5b8a085837ee6b512.js → 325.bundle.d8bf863ddebb832dcaab.js} +10 -11
- package/dist/{342.bundle.340982440de15f540a89.js → 342.bundle.67c49f2e52829a5696a4.js} +7 -0
- package/dist/{473.bundle.6cd4be953853f35b29c3.js → 367.bundle.6a0746aeca702ae6eba6.js} +279 -29
- package/dist/{806.bundle.50e039eb624382ee1fce.js → 370.bundle.baa389d217c390b0e92b.js} +81 -10
- package/dist/{206.bundle.e98e6ba9bfd9f36dc508.js → 390.bundle.504391bda56219cc9ef9.js} +37 -26
- package/dist/{448.bundle.94a6da9fac68fc69f8c2.js → 448.bundle.67539d1552db51aaca85.js} +2 -2
- package/dist/{483.bundle.a353efc5a5dd563c903c.js → 483.bundle.016de3c3ec209d9fa42a.js} +16 -3
- package/dist/{487.bundle.71a2893d94d214741e13.js → 487.bundle.3f0e64e16189f92fcebc.js} +2 -2
- package/dist/{35.bundle.0168d78bfad0cb784112.js → 501.bundle.7d5003758fa3ffbb344b.js} +750 -247
- package/dist/{530.bundle.207b38c15c4c01e4db0e.js → 530.bundle.17b9a34fefff133e5379.js} +3 -3
- package/dist/{544.bundle.b005b8c8b9b08aaa3324.js → 544.bundle.4d1fb477b572f50f4220.js} +3 -3
- package/dist/{321.bundle.07e853e559665d6e15b6.js → 550.bundle.41e6a1eacc49db2358c5.js} +50 -19
- package/dist/{574.bundle.88b619217339b5e93d3e.js → 574.bundle.0bcd9d70f4b1eea48082.js} +35 -32
- package/dist/{41.bundle.faaf3b05d1083e3c8831.js → 682.bundle.066197792e6a0d01b669.js} +26 -6
- package/dist/{699.bundle.8210579412d62beafa91.js → 699.bundle.428f20dd60662f1e5edd.js} +32 -3
- package/dist/{669.bundle.84745782e36f25eb05bc.js → 721.bundle.d21827d733e8811e0b18.js} +73 -73
- package/dist/{722.bundle.2547630541b670f10d6e.js → 722.bundle.1242e0348afc63ca4f5e.js} +10 -4
- package/dist/{724.bundle.519141a0c4d0d1a3192a.js → 776.bundle.981d8227b59f97f11dd8.js} +17 -12
- package/dist/{862.bundle.4a0bd82b803ba158018f.js → 862.bundle.7a102f04ef4d12686894.js} +1 -1
- package/dist/{889.bundle.9fbab4f0bbf643306879.js → 889.bundle.ed8937ba0c5455ed894d.js} +8 -8
- package/dist/{905.bundle.7e940707e10096970ca1.js → 905.bundle.b101088a20887c27945d.js} +2 -2
- package/dist/{907.bundle.f5aa0414d0f77e575a1f.js → 907.bundle.e8d22a858051cd255c9c.js} +2 -2
- package/dist/{94.bundle.ecaaba845625d93bad6b.js → 94.bundle.b4f45b237188a8550a35.js} +38 -8
- package/dist/{961.bundle.ff7da8afd7d8495d0bbe.js → 961.bundle.b86b71c712fa83e526d3.js} +2 -2
- package/dist/{7.bundle.3a17fe8266b2149334a6.js → 981.bundle.7b03f5a200c7dbcbaf1d.js} +10 -9
- package/dist/{594.bundle.01b124740b2b3f8a6d20.js → 989.bundle.e81da55a6954a12e5ea1.js} +5 -5
- package/dist/{633.bundle.ff1a1d0bdb0d1ef143af.js → 998.bundle.37015da90e590043cda0.js} +7 -7
- package/dist/app-config.js +5 -1
- package/dist/{app.bundle.c53b289734d5f7178a39.js → app.bundle.a6bfec031243c17f92e9.js} +686 -555
- package/dist/app.bundle.css +1 -1
- package/dist/cornerstoneDICOMImageLoader.min.js +1 -1
- package/dist/cornerstoneDICOMImageLoader.min.js.map +1 -1
- package/dist/google.js +1 -0
- package/dist/index.html +1 -1
- package/dist/{polySeg.bundle.1799686b019040500219.js → polySeg.bundle.b0392069f29e128b4efa.js} +3 -3
- package/dist/{suv-peak-worker.bundle.25f8b85eab9ec06da48d.js → suv-peak-worker.bundle.f823d84fae4ce6865f9a.js} +3 -3
- package/dist/sw.js +1 -1
- package/package.json +20 -19
- /package/dist/{321.css → 550.css} +0 -0
- /package/dist/{783.bundle.86c38ee55f4d01b111ca.js → 783.bundle.c5b7e2433ecb9d8e2541.js} +0 -0
- /package/dist/{633.css → 998.css} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[
|
|
1
|
+
(globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[370],{
|
|
2
2
|
|
|
3
3
|
/***/ 93858:
|
|
4
4
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
@@ -1840,6 +1840,40 @@ function wheelListener(evt) {
|
|
|
1840
1840
|
/* harmony default export */ const wheel_wheelListener = (wheelListener);
|
|
1841
1841
|
|
|
1842
1842
|
|
|
1843
|
+
/***/ }),
|
|
1844
|
+
|
|
1845
|
+
/***/ 99595:
|
|
1846
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
1847
|
+
|
|
1848
|
+
"use strict";
|
|
1849
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
1850
|
+
/* harmony export */ Q: () => (/* binding */ checkAndDefineTextBoxProperty),
|
|
1851
|
+
/* harmony export */ d: () => (/* binding */ checkAndDefineCachedStatsProperty)
|
|
1852
|
+
/* harmony export */ });
|
|
1853
|
+
const checkAndDefineTextBoxProperty = (annotation) => {
|
|
1854
|
+
if (!annotation.data) {
|
|
1855
|
+
annotation.data = {};
|
|
1856
|
+
}
|
|
1857
|
+
if (!annotation.data.handles) {
|
|
1858
|
+
annotation.data.handles = {};
|
|
1859
|
+
}
|
|
1860
|
+
if (!annotation.data.handles.textBox) {
|
|
1861
|
+
annotation.data.handles.textBox = {};
|
|
1862
|
+
}
|
|
1863
|
+
return annotation;
|
|
1864
|
+
};
|
|
1865
|
+
const checkAndDefineCachedStatsProperty = (annotation) => {
|
|
1866
|
+
if (!annotation.data) {
|
|
1867
|
+
annotation.data = {};
|
|
1868
|
+
}
|
|
1869
|
+
if (!annotation.data.cachedStats) {
|
|
1870
|
+
annotation.data.cachedStats = {};
|
|
1871
|
+
}
|
|
1872
|
+
return annotation;
|
|
1873
|
+
};
|
|
1874
|
+
|
|
1875
|
+
|
|
1876
|
+
|
|
1843
1877
|
/***/ }),
|
|
1844
1878
|
|
|
1845
1879
|
/***/ 95778:
|
|
@@ -2522,7 +2556,7 @@ class AdvancedMagnifyViewportManager {
|
|
|
2522
2556
|
/* harmony export */ });
|
|
2523
2557
|
/* harmony import */ var _cornerstonejs_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(92136);
|
|
2524
2558
|
/* harmony import */ var _distancePointToContour__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7783);
|
|
2525
|
-
/* harmony import */ var _drawingSvg__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
|
|
2559
|
+
/* harmony import */ var _drawingSvg__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(49574);
|
|
2526
2560
|
/* harmony import */ var _utilities_math__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(73047);
|
|
2527
2561
|
|
|
2528
2562
|
|
|
@@ -3836,7 +3870,7 @@ function registerOpenContourEndEditLoop(toolInstance) {
|
|
|
3836
3870
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
3837
3871
|
/* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
3838
3872
|
/* harmony export */ });
|
|
3839
|
-
/* harmony import */ var _drawingSvg__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
|
|
3873
|
+
/* harmony import */ var _drawingSvg__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(49574);
|
|
3840
3874
|
/* harmony import */ var _utilities_math__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(73047);
|
|
3841
3875
|
/* harmony import */ var _findOpenUShapedContourVectorToPeak__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(51051);
|
|
3842
3876
|
/* harmony import */ var _utilities_contours__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(75534);
|
|
@@ -4009,10 +4043,42 @@ function renderOpenContourBeingEdited(enabledElement, svgDrawingHelper, annotati
|
|
|
4009
4043
|
const polylineUIDToRender = 'preview-1';
|
|
4010
4044
|
(0,_drawingSvg__WEBPACK_IMPORTED_MODULE_0__.drawPolyline)(svgDrawingHelper, annotation.annotationUID, polylineUIDToRender, fusedCanvasPoints, options);
|
|
4011
4045
|
}
|
|
4046
|
+
function renderPointContourWithMarker(enabledElement, svgDrawingHelper, annotation) {
|
|
4047
|
+
if (annotation.parentAnnotationUID) {
|
|
4048
|
+
return;
|
|
4049
|
+
}
|
|
4050
|
+
const { viewport } = enabledElement;
|
|
4051
|
+
const options = this._getRenderingOptions(enabledElement, annotation);
|
|
4052
|
+
const canvasPolyline = annotation.data.contour.polyline.map((worldPos) => viewport.worldToCanvas(worldPos));
|
|
4053
|
+
const childContours = (0,_utilities_contours__WEBPACK_IMPORTED_MODULE_3__.getContourHolesDataCanvas)(annotation, viewport);
|
|
4054
|
+
const polylineUID = '1';
|
|
4055
|
+
const center = canvasPolyline[0];
|
|
4056
|
+
const radius = 6;
|
|
4057
|
+
const numberOfPoints = 100;
|
|
4058
|
+
const circlePoints = [];
|
|
4059
|
+
for (let i = 0; i < numberOfPoints; i++) {
|
|
4060
|
+
const angle = (i / numberOfPoints) * 2 * Math.PI;
|
|
4061
|
+
const x = center[0] + radius * Math.cos(angle);
|
|
4062
|
+
const y = center[1] + radius * Math.sin(angle);
|
|
4063
|
+
circlePoints.push([x, y]);
|
|
4064
|
+
}
|
|
4065
|
+
const crosshair = [
|
|
4066
|
+
[center[0] - radius * 2, center[1]],
|
|
4067
|
+
[center[0] + radius * 2, center[1]],
|
|
4068
|
+
[center[0], center[1] - radius * 2],
|
|
4069
|
+
[center[0], center[1] + radius * 2],
|
|
4070
|
+
];
|
|
4071
|
+
(0,_drawingSvg__WEBPACK_IMPORTED_MODULE_0__.drawPath)(svgDrawingHelper, annotation.annotationUID, polylineUID + '-crosshair_v', [crosshair[0], crosshair[1]], options);
|
|
4072
|
+
(0,_drawingSvg__WEBPACK_IMPORTED_MODULE_0__.drawPath)(svgDrawingHelper, annotation.annotationUID, polylineUID + '-crosshair_h', [crosshair[2], crosshair[3]], options);
|
|
4073
|
+
const allContours = [circlePoints, ...childContours];
|
|
4074
|
+
(0,_drawingSvg__WEBPACK_IMPORTED_MODULE_0__.drawPath)(svgDrawingHelper, annotation.annotationUID, polylineUID, allContours, options);
|
|
4075
|
+
}
|
|
4012
4076
|
function registerRenderMethods(toolInstance) {
|
|
4013
4077
|
toolInstance.renderContour = renderContour.bind(toolInstance);
|
|
4014
4078
|
toolInstance.renderClosedContour = renderClosedContour.bind(toolInstance);
|
|
4015
4079
|
toolInstance.renderOpenContour = renderOpenContour.bind(toolInstance);
|
|
4080
|
+
toolInstance.renderPointContourWithMarker =
|
|
4081
|
+
renderPointContourWithMarker.bind(toolInstance);
|
|
4016
4082
|
toolInstance.renderOpenUShapedContour =
|
|
4017
4083
|
renderOpenUShapedContour.bind(toolInstance);
|
|
4018
4084
|
toolInstance.renderContourBeingDrawn =
|
|
@@ -4738,8 +4804,8 @@ var stateManagement_segmentation = __webpack_require__(63421);
|
|
|
4738
4804
|
var enums = __webpack_require__(84901);
|
|
4739
4805
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/stateManagement/annotation/annotationState.js
|
|
4740
4806
|
var annotationState = __webpack_require__(38296);
|
|
4741
|
-
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/drawingSvg/index.js +
|
|
4742
|
-
var drawingSvg = __webpack_require__(
|
|
4807
|
+
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/drawingSvg/index.js + 18 modules
|
|
4808
|
+
var drawingSvg = __webpack_require__(49574);
|
|
4743
4809
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/tools/base/AnnotationTool.js
|
|
4744
4810
|
var AnnotationTool = __webpack_require__(52454);
|
|
4745
4811
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/utilities/contours/index.js
|
|
@@ -5149,6 +5215,8 @@ function deleteConfigCache(segmentationRepresentationUID) {
|
|
|
5149
5215
|
|
|
5150
5216
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/stateManagement/segmentation/index.js + 31 modules
|
|
5151
5217
|
var stateManagement_segmentation = __webpack_require__(63421);
|
|
5218
|
+
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/utilities/annotationHydration.js
|
|
5219
|
+
var annotationHydration = __webpack_require__(25781);
|
|
5152
5220
|
// EXTERNAL MODULE: ../../../node_modules/@kitware/vtk.js/Common/Core/CellArray.js
|
|
5153
5221
|
var CellArray = __webpack_require__(24768);
|
|
5154
5222
|
// EXTERNAL MODULE: ../../../node_modules/@kitware/vtk.js/Common/Core/Points.js
|
|
@@ -5218,6 +5286,7 @@ var contourSegmentation = __webpack_require__(7259);
|
|
|
5218
5286
|
|
|
5219
5287
|
|
|
5220
5288
|
|
|
5289
|
+
|
|
5221
5290
|
function handleContourSegmentation(viewport, geometryIds, annotationUIDsMap, contourRepresentation, contourRepresentationConfig) {
|
|
5222
5291
|
const addOrUpdateFn = annotationUIDsMap.size
|
|
5223
5292
|
? updateContourSets
|
|
@@ -5303,10 +5372,10 @@ function addContourSetsToElement(viewport, geometryIds, contourRepresentation, c
|
|
|
5303
5372
|
highlighted: false,
|
|
5304
5373
|
autoGenerated: false,
|
|
5305
5374
|
invalidated: false,
|
|
5306
|
-
isLocked:
|
|
5375
|
+
isLocked: true,
|
|
5307
5376
|
isVisible: true,
|
|
5308
5377
|
metadata: {
|
|
5309
|
-
referencedImageId: viewport.
|
|
5378
|
+
referencedImageId: (0,annotationHydration/* getClosestImageIdForStackViewport */.x)(viewport, points[0], viewport.getCamera().viewPlaneNormal),
|
|
5310
5379
|
toolName: 'PlanarFreehandContourSegmentationTool',
|
|
5311
5380
|
FrameOfReferenceUID: viewport.getFrameOfReferenceUID(),
|
|
5312
5381
|
viewPlaneNormal: viewport.getCamera().viewPlaneNormal,
|
|
@@ -7331,9 +7400,11 @@ function _addInterpolatedContour(interpolated3DPoints, handlePoints, sliceIndex,
|
|
|
7331
7400
|
const points = interpolated3DPoints.points;
|
|
7332
7401
|
const { viewport } = eventData;
|
|
7333
7402
|
const interpolatedAnnotation = createPolylineToolData(points, handlePoints, referencedToolData);
|
|
7334
|
-
const
|
|
7335
|
-
|
|
7336
|
-
|
|
7403
|
+
const viewRef = viewport.getViewReference({ sliceIndex });
|
|
7404
|
+
if (!viewRef) {
|
|
7405
|
+
throw new Error(`Can't find slice ${sliceIndex}`);
|
|
7406
|
+
}
|
|
7407
|
+
Object.assign(interpolatedAnnotation.metadata, viewRef);
|
|
7337
7408
|
stateManagement_annotation.state.addAnnotation(interpolatedAnnotation, viewport.element);
|
|
7338
7409
|
referencedToolData.onInterpolationComplete?.(interpolatedAnnotation, referencedToolData);
|
|
7339
7410
|
const { parentAnnotationUID } = referencedToolData;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
(globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[
|
|
2
|
+
(globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[390],{
|
|
3
3
|
|
|
4
|
-
/***/
|
|
4
|
+
/***/ 47390:
|
|
5
5
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
6
6
|
|
|
7
7
|
// ESM COMPAT FLAG
|
|
@@ -32,8 +32,8 @@ __webpack_require__.d(utils_namespaceObject, {
|
|
|
32
32
|
|
|
33
33
|
// EXTERNAL MODULE: ../../../node_modules/dicomweb-client/build/dicomweb-client.es.js
|
|
34
34
|
var dicomweb_client_es = __webpack_require__(36922);
|
|
35
|
-
// EXTERNAL MODULE: ../../core/src/index.ts +
|
|
36
|
-
var src = __webpack_require__(
|
|
35
|
+
// EXTERNAL MODULE: ../../core/src/index.ts + 72 modules
|
|
36
|
+
var src = __webpack_require__(8633);
|
|
37
37
|
// EXTERNAL MODULE: ../../core/src/utils/sortStudy.ts
|
|
38
38
|
var sortStudy = __webpack_require__(45476);
|
|
39
39
|
;// CONCATENATED MODULE: ../../../extensions/default/src/DicomWebDataSource/qido.js
|
|
@@ -1345,9 +1345,9 @@ function createDicomWebApi(dicomWebConfig, servicesManager) {
|
|
|
1345
1345
|
return xhrRequestHeaders;
|
|
1346
1346
|
};
|
|
1347
1347
|
generateWadoHeader = () => {
|
|
1348
|
-
|
|
1348
|
+
const authorizationHeader = getAuthrorizationHeader();
|
|
1349
1349
|
//Generate accept header depending on config params
|
|
1350
|
-
|
|
1350
|
+
const formattedAcceptHeader = src.utils.generateAcceptHeader(dicomWebConfig.acceptHeader, dicomWebConfig.requestTransferSyntaxUID, dicomWebConfig.omitQuotationForMultipartRequest);
|
|
1351
1351
|
return {
|
|
1352
1352
|
...authorizationHeader,
|
|
1353
1353
|
Accept: formattedAcceptHeader
|
|
@@ -1887,6 +1887,7 @@ function createDicomJSONApi(dicomJsonConfig) {
|
|
|
1887
1887
|
},
|
|
1888
1888
|
series: {
|
|
1889
1889
|
metadata: async ({
|
|
1890
|
+
filters,
|
|
1890
1891
|
StudyInstanceUID,
|
|
1891
1892
|
madeInClient = false,
|
|
1892
1893
|
customSort
|
|
@@ -1901,6 +1902,12 @@ function createDicomJSONApi(dicomJsonConfig) {
|
|
|
1901
1902
|
} else {
|
|
1902
1903
|
series = study.series;
|
|
1903
1904
|
}
|
|
1905
|
+
const seriesKeys = ['SeriesInstanceUID', 'SeriesInstanceUIDs', 'seriesInstanceUID', 'seriesInstanceUIDs'];
|
|
1906
|
+
const seriesFilter = seriesKeys.find(key => filters[key]);
|
|
1907
|
+
if (seriesFilter) {
|
|
1908
|
+
const seriesUIDs = filters[seriesFilter];
|
|
1909
|
+
series = series.filter(s => seriesUIDs.includes(s.SeriesInstanceUID));
|
|
1910
|
+
}
|
|
1904
1911
|
const seriesSummaryMetadata = series.map(series => {
|
|
1905
1912
|
const seriesSummary = {
|
|
1906
1913
|
StudyInstanceUID: study.StudyInstanceUID,
|
|
@@ -2253,7 +2260,7 @@ function createDicomLocalApi(dicomLocalConfig) {
|
|
|
2253
2260
|
return src/* IWebApiDataSource */.pt.create(implementation);
|
|
2254
2261
|
}
|
|
2255
2262
|
|
|
2256
|
-
;// CONCATENATED MODULE: ../../../extensions/default/src/DicomWebProxyDataSource/index.
|
|
2263
|
+
;// CONCATENATED MODULE: ../../../extensions/default/src/DicomWebProxyDataSource/index.ts
|
|
2257
2264
|
|
|
2258
2265
|
|
|
2259
2266
|
|
|
@@ -2280,7 +2287,7 @@ function createDicomWebProxyApi(dicomWebProxyConfig, servicesManager) {
|
|
|
2280
2287
|
throw new Error(`No url for '${name}'`);
|
|
2281
2288
|
} else {
|
|
2282
2289
|
const response = await fetch(url);
|
|
2283
|
-
|
|
2290
|
+
const data = await response.json();
|
|
2284
2291
|
if (!data.servers?.dicomWeb?.[0]) {
|
|
2285
2292
|
throw new Error('Invalid configuration returned by url');
|
|
2286
2293
|
}
|
|
@@ -2750,8 +2757,8 @@ function ViewerHeader({
|
|
|
2750
2757
|
hotkeyDefinitions,
|
|
2751
2758
|
hotkeyDefaults
|
|
2752
2759
|
} = hotkeysManager;
|
|
2753
|
-
const versionNumber = "3.9.0-beta.
|
|
2754
|
-
const commitHash = "
|
|
2760
|
+
const versionNumber = "3.9.0-beta.21";
|
|
2761
|
+
const commitHash = "8960b89911a9342d93bf1a62bec97a696f101fd4";
|
|
2755
2762
|
const menuOptions = [{
|
|
2756
2763
|
title: t('Header:About'),
|
|
2757
2764
|
icon: 'info',
|
|
@@ -3037,7 +3044,7 @@ ViewerLayout.propTypes = {
|
|
|
3037
3044
|
getModuleEntry: (prop_types_default()).func.isRequired
|
|
3038
3045
|
}).isRequired,
|
|
3039
3046
|
commandsManager: prop_types_default().instanceOf(src/* CommandsManager */.Sp),
|
|
3040
|
-
servicesManager: prop_types_default().
|
|
3047
|
+
servicesManager: (prop_types_default()).object.isRequired,
|
|
3041
3048
|
// From modes
|
|
3042
3049
|
leftPanels: (prop_types_default()).array,
|
|
3043
3050
|
rightPanels: (prop_types_default()).array,
|
|
@@ -4013,7 +4020,7 @@ function PanelMeasurementTable({
|
|
|
4013
4020
|
})));
|
|
4014
4021
|
}
|
|
4015
4022
|
PanelMeasurementTable.propTypes = {
|
|
4016
|
-
servicesManager: prop_types_default()
|
|
4023
|
+
servicesManager: (prop_types_default()).object.isRequired
|
|
4017
4024
|
};
|
|
4018
4025
|
function _getMappedMeasurements(measurementService) {
|
|
4019
4026
|
const measurements = measurementService.getMeasurements();
|
|
@@ -4745,7 +4752,6 @@ function ToolbarLayoutSelector_extends() { ToolbarLayoutSelector_extends = Objec
|
|
|
4745
4752
|
|
|
4746
4753
|
|
|
4747
4754
|
|
|
4748
|
-
|
|
4749
4755
|
const defaultCommonPresets = [{
|
|
4750
4756
|
icon: 'layout-common-1x1',
|
|
4751
4757
|
commandOptions: {
|
|
@@ -4857,6 +4863,7 @@ function LayoutSelector({
|
|
|
4857
4863
|
...rest
|
|
4858
4864
|
}) {
|
|
4859
4865
|
const [isOpen, setIsOpen] = (0,react.useState)(false);
|
|
4866
|
+
const dropdownRef = (0,react.useRef)(null);
|
|
4860
4867
|
const {
|
|
4861
4868
|
customizationService
|
|
4862
4869
|
} = servicesManager.services;
|
|
@@ -4864,15 +4871,21 @@ function LayoutSelector({
|
|
|
4864
4871
|
const advancedPresets = customizationService.get('advancedPresets') || generateAdvancedPresets({
|
|
4865
4872
|
servicesManager
|
|
4866
4873
|
});
|
|
4867
|
-
const closeOnOutsideClick =
|
|
4868
|
-
if (isOpen) {
|
|
4874
|
+
const closeOnOutsideClick = event => {
|
|
4875
|
+
if (isOpen && dropdownRef.current) {
|
|
4869
4876
|
setIsOpen(false);
|
|
4870
4877
|
}
|
|
4871
4878
|
};
|
|
4872
4879
|
(0,react.useEffect)(() => {
|
|
4873
|
-
|
|
4880
|
+
if (!isOpen) {
|
|
4881
|
+
return;
|
|
4882
|
+
}
|
|
4883
|
+
setTimeout(() => {
|
|
4884
|
+
window.addEventListener('click', closeOnOutsideClick);
|
|
4885
|
+
}, 0);
|
|
4874
4886
|
return () => {
|
|
4875
4887
|
window.removeEventListener('click', closeOnOutsideClick);
|
|
4888
|
+
dropdownRef.current = null;
|
|
4876
4889
|
};
|
|
4877
4890
|
}, [isOpen]);
|
|
4878
4891
|
const onInteractionHandler = () => {
|
|
@@ -4888,7 +4901,8 @@ function LayoutSelector({
|
|
|
4888
4901
|
rounded: rest.rounded,
|
|
4889
4902
|
disableToolTip: tooltipDisabled,
|
|
4890
4903
|
dropdownContent: DropdownContent !== null && /*#__PURE__*/react.createElement("div", {
|
|
4891
|
-
className: "flex
|
|
4904
|
+
className: "flex",
|
|
4905
|
+
ref: dropdownRef
|
|
4892
4906
|
}, /*#__PURE__*/react.createElement("div", {
|
|
4893
4907
|
className: "bg-secondary-dark flex flex-col gap-2.5 p-2"
|
|
4894
4908
|
}, /*#__PURE__*/react.createElement("div", {
|
|
@@ -4934,7 +4948,7 @@ LayoutSelector.propTypes = {
|
|
|
4934
4948
|
rows: (prop_types_default()).number,
|
|
4935
4949
|
columns: (prop_types_default()).number,
|
|
4936
4950
|
onLayoutChange: (prop_types_default()).func,
|
|
4937
|
-
servicesManager: prop_types_default().
|
|
4951
|
+
servicesManager: (prop_types_default()).object.isRequired
|
|
4938
4952
|
};
|
|
4939
4953
|
LayoutSelector.defaultProps = {
|
|
4940
4954
|
columns: 4,
|
|
@@ -7241,9 +7255,6 @@ const defaultProtocol = {
|
|
|
7241
7255
|
editableBy: {},
|
|
7242
7256
|
protocolMatchingRules: [],
|
|
7243
7257
|
toolGroupIds: ['default'],
|
|
7244
|
-
hpInitiationCriteria: {
|
|
7245
|
-
minSeriesLoaded: 1
|
|
7246
|
-
},
|
|
7247
7258
|
// -1 would be used to indicate active only, whereas other values are
|
|
7248
7259
|
// the number of required priors referenced - so 0 means active with
|
|
7249
7260
|
// 0 or more priors.
|
|
@@ -8014,7 +8025,7 @@ function getPTImageIdInstanceMetadata(imageId) {
|
|
|
8014
8025
|
if (!dicomMetaData) {
|
|
8015
8026
|
throw new Error('dicom metadata are required');
|
|
8016
8027
|
}
|
|
8017
|
-
if (dicomMetaData.SeriesDate === undefined || dicomMetaData.SeriesTime === undefined || dicomMetaData.CorrectedImage === undefined || dicomMetaData.Units === undefined || !dicomMetaData.RadiopharmaceuticalInformationSequence || dicomMetaData.RadiopharmaceuticalInformationSequence
|
|
8028
|
+
if (dicomMetaData.SeriesDate === undefined || dicomMetaData.SeriesTime === undefined || dicomMetaData.CorrectedImage === undefined || dicomMetaData.Units === undefined || !dicomMetaData.RadiopharmaceuticalInformationSequence || dicomMetaData.RadiopharmaceuticalInformationSequence.RadionuclideHalfLife === undefined || dicomMetaData.RadiopharmaceuticalInformationSequence.RadionuclideTotalDose === undefined || dicomMetaData.DecayCorrection === undefined || dicomMetaData.AcquisitionDate === undefined || dicomMetaData.AcquisitionTime === undefined || dicomMetaData.RadiopharmaceuticalInformationSequence.RadiopharmaceuticalStartDateTime === undefined && dicomMetaData.RadiopharmaceuticalInformationSequence.RadiopharmaceuticalStartTime === undefined) {
|
|
8018
8029
|
throw new Error('required metadata are missing');
|
|
8019
8030
|
}
|
|
8020
8031
|
if (dicomMetaData.PatientWeight === undefined) {
|
|
@@ -8023,10 +8034,10 @@ function getPTImageIdInstanceMetadata(imageId) {
|
|
|
8023
8034
|
const instanceMetadata = {
|
|
8024
8035
|
CorrectedImage: dicomMetaData.CorrectedImage,
|
|
8025
8036
|
Units: dicomMetaData.Units,
|
|
8026
|
-
RadionuclideHalfLife: dicomMetaData.RadiopharmaceuticalInformationSequence
|
|
8027
|
-
RadionuclideTotalDose: dicomMetaData.RadiopharmaceuticalInformationSequence
|
|
8028
|
-
RadiopharmaceuticalStartDateTime: dicomMetaData.RadiopharmaceuticalInformationSequence
|
|
8029
|
-
RadiopharmaceuticalStartTime: dicomMetaData.RadiopharmaceuticalInformationSequence
|
|
8037
|
+
RadionuclideHalfLife: dicomMetaData.RadiopharmaceuticalInformationSequence.RadionuclideHalfLife,
|
|
8038
|
+
RadionuclideTotalDose: dicomMetaData.RadiopharmaceuticalInformationSequence.RadionuclideTotalDose,
|
|
8039
|
+
RadiopharmaceuticalStartDateTime: dicomMetaData.RadiopharmaceuticalInformationSequence.RadiopharmaceuticalStartDateTime,
|
|
8040
|
+
RadiopharmaceuticalStartTime: dicomMetaData.RadiopharmaceuticalInformationSequence.RadiopharmaceuticalStartTime,
|
|
8030
8041
|
DecayCorrection: dicomMetaData.DecayCorrection,
|
|
8031
8042
|
PatientWeight: dicomMetaData.PatientWeight,
|
|
8032
8043
|
SeriesDate: dicomMetaData.SeriesDate,
|
|
@@ -12,8 +12,8 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
12
12
|
"default": () => (/* binding */ basic_test_mode_src)
|
|
13
13
|
});
|
|
14
14
|
|
|
15
|
-
// EXTERNAL MODULE: ../../core/src/index.ts +
|
|
16
|
-
var src = __webpack_require__(
|
|
15
|
+
// EXTERNAL MODULE: ../../core/src/index.ts + 72 modules
|
|
16
|
+
var src = __webpack_require__(8633);
|
|
17
17
|
// EXTERNAL MODULE: ../../ui/src/index.js + 785 modules
|
|
18
18
|
var ui_src = __webpack_require__(5085);
|
|
19
19
|
;// CONCATENATED MODULE: ../../../modes/basic-test-mode/src/toolbarButtons.ts
|
|
@@ -731,7 +731,7 @@ function getToolGroupsWithToolName(toolName) {
|
|
|
731
731
|
/* harmony import */ var _planarFreehandROITool_openContourEndEditLoop__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(72702);
|
|
732
732
|
/* harmony import */ var _planarFreehandROITool_renderMethods__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(11585);
|
|
733
733
|
/* harmony import */ var _stateManagement_annotation_helpers_state__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(54177);
|
|
734
|
-
/* harmony import */ var _drawingSvg__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(
|
|
734
|
+
/* harmony import */ var _drawingSvg__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(49574);
|
|
735
735
|
/* harmony import */ var _utilities_drawing__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(10910);
|
|
736
736
|
/* harmony import */ var _utilities_math_polyline__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(56634);
|
|
737
737
|
/* harmony import */ var _utilities_pointInShapeCallback__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(75403);
|
|
@@ -800,6 +800,7 @@ class PlanarFreehandROITool extends _base_ContourSegmentationBaseTool__WEBPACK_I
|
|
|
800
800
|
enabled: false,
|
|
801
801
|
epsilon: 0.1,
|
|
802
802
|
},
|
|
803
|
+
displayOnePointAsCrosshairs: false,
|
|
803
804
|
calculateStats: true,
|
|
804
805
|
getTextLines: defaultGetTextLines,
|
|
805
806
|
statsCalculator: _utilities_math_basic__WEBPACK_IMPORTED_MODULE_22__.BasicStatsCalculator,
|
|
@@ -1136,7 +1137,13 @@ class PlanarFreehandROITool extends _base_ContourSegmentationBaseTool__WEBPACK_I
|
|
|
1136
1137
|
const isEditingOpen = this.isEditingOpen;
|
|
1137
1138
|
const isEditingClosed = this.isEditingClosed;
|
|
1138
1139
|
if (!(isDrawing || isEditingOpen || isEditingClosed)) {
|
|
1139
|
-
this.
|
|
1140
|
+
if (this.configuration.displayOnePointAsCrosshairs &&
|
|
1141
|
+
annotation.data.contour.polyline.length === 1) {
|
|
1142
|
+
this.renderPointContourWithMarker(enabledElement, svgDrawingHelper, annotation);
|
|
1143
|
+
}
|
|
1144
|
+
else {
|
|
1145
|
+
this.renderContour(enabledElement, svgDrawingHelper, annotation);
|
|
1146
|
+
}
|
|
1140
1147
|
}
|
|
1141
1148
|
else {
|
|
1142
1149
|
const activeAnnotationUID = this.commonData.annotation.annotationUID;
|
|
@@ -1155,7 +1162,13 @@ class PlanarFreehandROITool extends _base_ContourSegmentationBaseTool__WEBPACK_I
|
|
|
1155
1162
|
}
|
|
1156
1163
|
}
|
|
1157
1164
|
else {
|
|
1158
|
-
this.
|
|
1165
|
+
if (this.configuration.displayOnePointAsCrosshairs &&
|
|
1166
|
+
annotation.data.contour.polyline.length === 1) {
|
|
1167
|
+
this.renderPointContourWithMarker(enabledElement, svgDrawingHelper, annotation);
|
|
1168
|
+
}
|
|
1169
|
+
else {
|
|
1170
|
+
this.renderContour(enabledElement, svgDrawingHelper, annotation);
|
|
1171
|
+
}
|
|
1159
1172
|
}
|
|
1160
1173
|
renderStatus = true;
|
|
1161
1174
|
}
|
|
@@ -26,8 +26,8 @@ const package_namespaceObject = /*#__PURE__*/JSON.parse('{"UU":"@ohif/extension-
|
|
|
26
26
|
const id = package_namespaceObject.UU;
|
|
27
27
|
const SOPClassHandlerName = 'dynamic-volume';
|
|
28
28
|
|
|
29
|
-
// EXTERNAL MODULE: ../../core/src/index.ts +
|
|
30
|
-
var src = __webpack_require__(
|
|
29
|
+
// EXTERNAL MODULE: ../../core/src/index.ts + 72 modules
|
|
30
|
+
var src = __webpack_require__(8633);
|
|
31
31
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/core/dist/esm/index.js + 28 modules
|
|
32
32
|
var esm = __webpack_require__(92136);
|
|
33
33
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/index.js
|