fix(demo): Deploy issue (#3951)

This commit is contained in:
Bill Wallace 2024-02-22 14:42:46 -05:00 committed by GitHub
parent 2a442e30eb
commit 21e8a2bd0b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
20 changed files with 235 additions and 104 deletions

View File

@ -46,9 +46,9 @@
}, },
"dependencies": { "dependencies": {
"@babel/runtime": "^7.20.13", "@babel/runtime": "^7.20.13",
"@cornerstonejs/adapters": "^1.44.1", "@cornerstonejs/adapters": "^1.63.4",
"@cornerstonejs/tools": "^1.44.1", "@cornerstonejs/core": "^1.63.4",
"@kitware/vtk.js": "29.3.0", "@kitware/vtk.js": "29.7.0",
"react-color": "^2.19.3" "react-color": "^2.19.3"
} }
} }

View File

@ -46,9 +46,9 @@
}, },
"dependencies": { "dependencies": {
"@babel/runtime": "^7.20.13", "@babel/runtime": "^7.20.13",
"@cornerstonejs/adapters": "^1.44.1", "@cornerstonejs/adapters": "^1.63.4",
"@cornerstonejs/core": "^1.44.1", "@cornerstonejs/core": "^1.63.4",
"@cornerstonejs/tools": "^1.44.1", "@cornerstonejs/tools": "^1.63.4",
"classnames": "^2.3.2" "classnames": "^2.3.2"
} }
} }

View File

@ -38,7 +38,7 @@
"@cornerstonejs/codec-libjpeg-turbo-8bit": "^1.2.2", "@cornerstonejs/codec-libjpeg-turbo-8bit": "^1.2.2",
"@cornerstonejs/codec-openjpeg": "^1.2.2", "@cornerstonejs/codec-openjpeg": "^1.2.2",
"@cornerstonejs/codec-openjph": "^2.4.2", "@cornerstonejs/codec-openjph": "^2.4.2",
"@cornerstonejs/dicom-image-loader": "^1.44.1", "@cornerstonejs/dicom-image-loader": "^1.63.4",
"@ohif/core": "3.8.0-beta.55", "@ohif/core": "3.8.0-beta.55",
"@ohif/ui": "3.8.0-beta.55", "@ohif/ui": "3.8.0-beta.55",
"dcmjs": "^0.29.12", "dcmjs": "^0.29.12",
@ -54,11 +54,11 @@
}, },
"dependencies": { "dependencies": {
"@babel/runtime": "^7.20.13", "@babel/runtime": "^7.20.13",
"@cornerstonejs/adapters": "^1.44.1", "@cornerstonejs/adapters": "^1.63.4",
"@cornerstonejs/core": "^1.44.1", "@cornerstonejs/core": "^1.63.4",
"@cornerstonejs/streaming-image-volume-loader": "^1.44.1", "@cornerstonejs/streaming-image-volume-loader": "^1.63.4",
"@cornerstonejs/tools": "^1.44.1", "@cornerstonejs/tools": "^1.63.4",
"@kitware/vtk.js": "29.3.01", "@kitware/vtk.js": "29.7.0",
"html2canvas": "^1.4.1", "html2canvas": "^1.4.1",
"lodash.debounce": "4.0.8", "lodash.debounce": "4.0.8",
"lodash.merge": "^4.6.2", "lodash.merge": "^4.6.2",

View File

@ -1,13 +1,7 @@
import { log, Types } from '@ohif/core'; import { log, Enums } from '@ohif/core';
import { EVENTS } from '@cornerstonejs/core'; import { EVENTS } from '@cornerstonejs/core';
const { TimingEnum } = Types; const IMAGE_TIMING_KEYS = [];
const IMAGE_TIMING_KEYS = [
TimingEnum.DISPLAY_SETS_TO_ALL_IMAGES,
TimingEnum.DISPLAY_SETS_TO_FIRST_IMAGE,
TimingEnum.STUDY_TO_FIRST_IMAGE,
];
const imageTiming = { const imageTiming = {
viewportsWaiting: 0, viewportsWaiting: 0,
@ -23,6 +17,18 @@ const imageTiming = {
*/ */
export default function initViewTiming({ element }) { export default function initViewTiming({ element }) {
if (!IMAGE_TIMING_KEYS.length) {
// Work around a bug in WebPack that doesn't getting the enums initialized
// quite fast enough to be declared statically.
const { TimingEnum } = Enums;
IMAGE_TIMING_KEYS.push(
TimingEnum.DISPLAY_SETS_TO_ALL_IMAGES,
TimingEnum.DISPLAY_SETS_TO_FIRST_IMAGE,
TimingEnum.STUDY_TO_FIRST_IMAGE,
);
}
if (!IMAGE_TIMING_KEYS.find(key => log.timingKeys[key])) { if (!IMAGE_TIMING_KEYS.find(key => log.timingKeys[key])) {
return; return;
} }
@ -34,6 +40,7 @@ function imageRenderedListener(evt) {
if (evt.detail.viewportStatus === 'preRender') { if (evt.detail.viewportStatus === 'preRender') {
return; return;
} }
const { TimingEnum } = Enums;
log.timeEnd(TimingEnum.DISPLAY_SETS_TO_FIRST_IMAGE); log.timeEnd(TimingEnum.DISPLAY_SETS_TO_FIRST_IMAGE);
log.timeEnd(TimingEnum.STUDY_TO_FIRST_IMAGE); log.timeEnd(TimingEnum.STUDY_TO_FIRST_IMAGE);
log.timeEnd(TimingEnum.SCRIPT_TO_VIEW); log.timeEnd(TimingEnum.SCRIPT_TO_VIEW);

View File

@ -50,7 +50,9 @@ export const callForAllDataSourcesAsync = async ({
const defs = Object.values(extensionManager.dataSourceDefs); const defs = Object.values(extensionManager.dataSourceDefs);
const defaultDataSourceDef = defs.find(def => def.sourceName === defaultDataSourceName); const defaultDataSourceDef = defs.find(def => def.sourceName === defaultDataSourceName);
const dataSourceDefs = defs.filter(def => def.sourceName !== defaultDataSourceName); const dataSourceDefs = defs.filter(def => def.sourceName !== defaultDataSourceName);
dataSourceDefs.unshift(defaultDataSourceDef); if (defaultDataSourceDef) {
dataSourceDefs.unshift(defaultDataSourceDef);
}
const promises = []; const promises = [];
const sourceNames = []; const sourceNames = [];
@ -100,7 +102,9 @@ export const callForAllDataSources = ({
const defs = Object.values(extensionManager.dataSourceDefs); const defs = Object.values(extensionManager.dataSourceDefs);
const defaultDataSourceDef = defs.find(def => def.sourceName === defaultDataSourceName); const defaultDataSourceDef = defs.find(def => def.sourceName === defaultDataSourceName);
const dataSourceDefs = defs.filter(def => def.sourceName !== defaultDataSourceName); const dataSourceDefs = defs.filter(def => def.sourceName !== defaultDataSourceName);
dataSourceDefs.unshift(defaultDataSourceDef); if (defaultDataSourceDef) {
dataSourceDefs.unshift(defaultDataSourceDef);
}
const mergedData = []; const mergedData = [];
for (const dataSourceDef of dataSourceDefs) { for (const dataSourceDef of dataSourceDefs) {
@ -140,7 +144,7 @@ export const callForDefaultDataSource = ({
* Calls the data source specified by the RetrieveAETitle of the given display set. * Calls the data source specified by the RetrieveAETitle of the given display set.
* @typedef {Object} CallByRetrieveAETitleOptions * @typedef {Object} CallByRetrieveAETitleOptions
* @property {string} path - The path of the method to call on the data source. * @property {string} path - The path of the method to call on the data source.
* @property {unknown[]} args - The arguments to pass to the method. * @property {any[]} args - The arguments to pass to the method.
* @property {string} defaultDataSourceName - The name of the default data source. * @property {string} defaultDataSourceName - The name of the default data source.
* @property {ExtensionManager} extensionManager - The extension manager. * @property {ExtensionManager} extensionManager - The extension manager.
*/ */

View File

@ -32,8 +32,8 @@
"start": "yarn run dev" "start": "yarn run dev"
}, },
"peerDependencies": { "peerDependencies": {
"@cornerstonejs/core": "^1.44.1", "@cornerstonejs/core": "^1.63.4",
"@cornerstonejs/tools": "^1.44.1", "@cornerstonejs/tools": "^1.63.4",
"@ohif/core": "3.8.0-beta.55", "@ohif/core": "3.8.0-beta.55",
"@ohif/extension-cornerstone-dicom-sr": "3.8.0-beta.55", "@ohif/extension-cornerstone-dicom-sr": "3.8.0-beta.55",
"@ohif/ui": "3.8.0-beta.55", "@ohif/ui": "3.8.0-beta.55",

View File

@ -59,7 +59,7 @@
}, },
"dependencies": { "dependencies": {
"@babel/runtime": "^7.20.13", "@babel/runtime": "^7.20.13",
"@kitware/vtk.js": "29.3.0", "@kitware/vtk.js": "29.7.0",
"core-js": "^3.2.1" "core-js": "^3.2.1"
}, },
"peerDependencies": { "peerDependencies": {
@ -138,7 +138,7 @@
"terser-webpack-plugin": "^5.1.4", "terser-webpack-plugin": "^5.1.4",
"typescript": "4.6.4", "typescript": "4.6.4",
"unused-webpack-plugin": "2.4.0", "unused-webpack-plugin": "2.4.0",
"webpack": "^5.50.0", "webpack": "^5.90.3",
"webpack-cli": "^4.7.2", "webpack-cli": "^4.7.2",
"webpack-dev-server": "4.7.3", "webpack-dev-server": "4.7.3",
"webpack-hot-middleware": "^2.25.0", "webpack-hot-middleware": "^2.25.0",

View File

@ -85,7 +85,7 @@ describe('OHIF Cornerstone Toolbar', () => {
// The exact text is slightly dependent on the viewport resolution, so leave a range // The exact text is slightly dependent on the viewport resolution, so leave a range
cy.get('@viewportInfoTopLeft').should($txt => { cy.get('@viewportInfoTopLeft').should($txt => {
const text = $txt.text(); const text = $txt.text();
expect(text).to.include('W:1185').include('L:479'); expect(text).to.include('W:118').include('L:479');
}); });
}); });

View File

@ -53,7 +53,7 @@
"@cornerstonejs/codec-libjpeg-turbo-8bit": "^1.2.2", "@cornerstonejs/codec-libjpeg-turbo-8bit": "^1.2.2",
"@cornerstonejs/codec-openjpeg": "^1.2.2", "@cornerstonejs/codec-openjpeg": "^1.2.2",
"@cornerstonejs/codec-openjph": "^2.4.5", "@cornerstonejs/codec-openjph": "^2.4.5",
"@cornerstonejs/dicom-image-loader": "^1.44.1", "@cornerstonejs/dicom-image-loader": "^1.63.4",
"@emotion/serialize": "^1.1.3", "@emotion/serialize": "^1.1.3",
"@ohif/core": "3.8.0-beta.55", "@ohif/core": "3.8.0-beta.55",
"@ohif/extension-cornerstone": "3.8.0-beta.55", "@ohif/extension-cornerstone": "3.8.0-beta.55",

View File

@ -15,12 +15,86 @@ window.config = {
dataSources: [ dataSources: [
{ {
namespace: '@ohif/extension-default.dataSourcesModule.dicomweb', namespace: '@ohif/extension-default.dataSourcesModule.dicomweb',
sourceName: 'dicomweb', sourceName: 'e2e',
configuration: {
friendlyName: 'StaticWado test data',
// The most important field to set for static WADO
staticWado: true,
name: 'StaticWADO',
wadoUriRoot: '/viewer-testdata',
qidoRoot: '/viewer-testdata',
wadoRoot: '/viewer-testdata',
qidoSupportsIncludeField: false,
imageRendering: 'wadors',
thumbnailRendering: 'wadors',
enableStudyLazyLoad: true,
supportsFuzzyMatching: false,
supportsWildcard: true,
singlepart: 'video,thumbnail,pdf',
omitQuotationForMultipartRequest: true,
bulkDataURI: {
enabled: true,
relativeResolution: 'studies',
},
},
},
{
namespace: '@ohif/extension-default.dataSourcesModule.dicomweb',
sourceName: 'local',
configuration: { configuration: {
friendlyName: 'Static WADO Local Data', friendlyName: 'Static WADO Local Data',
name: 'DCM4CHEE', name: 'DCM4CHEE',
qidoRoot: '/dicomweb', qidoRoot: 'http://localhost:5000/dicomweb',
wadoRoot: '/dicomweb', wadoRoot: 'http://localhost:5000/dicomweb',
qidoSupportsIncludeField: false,
supportsReject: true,
supportsStow: true,
imageRendering: 'wadors',
thumbnailRendering: 'wadors',
enableStudyLazyLoad: true,
supportsFuzzyMatching: false,
supportsWildcard: true,
staticWado: true,
singlepart: 'video',
bulkDataURI: {
enabled: true,
relativeResolution: 'studies',
},
},
},
{
namespace: '@ohif/extension-default.dataSourcesModule.dicomweb',
sourceName: 'docker',
configuration: {
friendlyName: 'Static WADO Docker Data',
name: 'DCM4CHEE',
qidoRoot: 'http://localhost:25080/dicomweb',
wadoRoot: 'http://localhost:25080/dicomweb',
qidoSupportsIncludeField: false,
supportsReject: true,
supportsStow: true,
imageRendering: 'wadors',
thumbnailRendering: 'wadors',
enableStudyLazyLoad: true,
supportsFuzzyMatching: false,
supportsWildcard: true,
staticWado: true,
singlepart: 'bulkdata,video,pdf',
bulkDataURI: {
enabled: true,
relativeResolution: 'studies',
},
},
},
{
namespace: '@ohif/extension-default.dataSourcesModule.dicomweb',
sourceName: 'ohif',
configuration: {
friendlyName: 'AWS S3 Static wado server',
name: 'aws',
wadoUriRoot: 'https://d33do7qe4w26qo.cloudfront.net/dicomweb',
qidoRoot: 'https://d33do7qe4w26qo.cloudfront.net/dicomweb',
wadoRoot: 'https://d33do7qe4w26qo.cloudfront.net/dicomweb',
qidoSupportsIncludeField: false, qidoSupportsIncludeField: false,
imageRendering: 'wadors', imageRendering: 'wadors',
thumbnailRendering: 'wadors', thumbnailRendering: 'wadors',
@ -29,7 +103,33 @@ window.config = {
supportsWildcard: true, supportsWildcard: true,
staticWado: true, staticWado: true,
singlepart: 'bulkdata,video,pdf', singlepart: 'bulkdata,video,pdf',
omitQuotationForMultipartRequest: true, bulkDataURI: {
enabled: true,
relativeResolution: 'studies',
},
},
},
{
friendlyName: 'StaticWado default data',
namespace: '@ohif/extension-default.dataSourcesModule.dicomweb',
sourceName: 'dicomweb',
configuration: {
name: 'DCM4CHEE',
wadoUriRoot: '/dicomweb',
qidoRoot: '/dicomweb',
wadoRoot: '/dicomweb',
qidoSupportsIncludeField: false,
supportsReject: false,
imageRendering: 'wadors',
thumbnailRendering: 'wadors',
enableStudyLazyLoad: true,
supportsFuzzyMatching: false,
supportsWildcard: true,
staticWado: true,
bulkDataURI: {
enabled: true,
relativeResolution: 'studies',
},
}, },
}, },
{ {

View File

@ -1,15 +1,13 @@
/* eslint-disable react/jsx-props-no-spreading */ /* eslint-disable react/jsx-props-no-spreading */
import React, { useCallback, useEffect, useState } from 'react'; import React, { useCallback, useEffect, useState } from 'react';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import { ExtensionManager, MODULE_TYPES, Types, log } from '@ohif/core'; import { Enums, ExtensionManager, MODULE_TYPES, log } from '@ohif/core';
// //
import { extensionManager } from '../App.tsx'; import { extensionManager } from '../App.tsx';
import { useParams, useLocation } from 'react-router'; import { useParams, useLocation } from 'react-router';
import { useNavigate } from 'react-router-dom'; import { useNavigate } from 'react-router-dom';
import useSearchParams from '../hooks/useSearchParams.ts'; import useSearchParams from '../hooks/useSearchParams.ts';
const { TimingEnum } = Types;
/** /**
* Determines if two React Router location objects are the same. * Determines if two React Router location objects are the same.
*/ */
@ -151,7 +149,7 @@ function DataSourceWrapper(props) {
// 204: no content // 204: no content
async function getData() { async function getData() {
setIsLoading(true); setIsLoading(true);
log.time(TimingEnum.SEARCH_TO_LIST); log.time(Enums.TimingEnum.SEARCH_TO_LIST);
const studies = await dataSource.query.studies.search(queryFilterValues); const studies = await dataSource.query.studies.search(queryFilterValues);
setData({ setData({
@ -161,8 +159,8 @@ function DataSourceWrapper(props) {
pageNumber: queryFilterValues.pageNumber, pageNumber: queryFilterValues.pageNumber,
location, location,
}); });
log.timeEnd(TimingEnum.SCRIPT_TO_VIEW); log.timeEnd(Enums.TimingEnum.SCRIPT_TO_VIEW);
log.timeEnd(TimingEnum.SEARCH_TO_LIST); log.timeEnd(Enums.TimingEnum.SEARCH_TO_LIST);
setIsLoading(false); setIsLoading(false);
} }

View File

@ -2,7 +2,7 @@ import React, { useEffect, useState, useRef } from 'react';
import { useParams, useLocation, useNavigate } from 'react-router'; import { useParams, useLocation, useNavigate } from 'react-router';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
// TODO: DicomMetadataStore should be injected? // TODO: DicomMetadataStore should be injected?
import { DicomMetadataStore, ServicesManager, utils, Types, log } from '@ohif/core'; import { DicomMetadataStore, ServicesManager, utils, log, Enums } from '@ohif/core';
import { DragAndDropProvider, ImageViewerProvider } from '@ohif/ui'; import { DragAndDropProvider, ImageViewerProvider } from '@ohif/ui';
import { useSearchParams } from '@hooks'; import { useSearchParams } from '@hooks';
import { useAppConfig } from '@state'; import { useAppConfig } from '@state';
@ -14,7 +14,6 @@ import loadModules from '../../pluginImports';
import isSeriesFilterUsed from '../../utils/isSeriesFilterUsed'; import isSeriesFilterUsed from '../../utils/isSeriesFilterUsed';
const { getSplitParam, sortingCriteria } = utils; const { getSplitParam, sortingCriteria } = utils;
const { TimingEnum } = Types;
/** /**
* Initialize the route. * Initialize the route.
@ -84,8 +83,8 @@ function defaultRouteInit(
unsubscriptions.push(instanceAddedUnsubscribe); unsubscriptions.push(instanceAddedUnsubscribe);
log.time(TimingEnum.STUDY_TO_DISPLAY_SETS); log.time(Enums.TimingEnum.STUDY_TO_DISPLAY_SETS);
log.time(TimingEnum.STUDY_TO_FIRST_IMAGE); log.time(Enums.TimingEnum.STUDY_TO_FIRST_IMAGE);
const allRetrieves = studyInstanceUIDs.map(StudyInstanceUID => const allRetrieves = studyInstanceUIDs.map(StudyInstanceUID =>
dataSource.retrieve.series.metadata({ dataSource.retrieve.series.metadata({
@ -106,9 +105,9 @@ function defaultRouteInit(
}); });
Promise.allSettled(allRetrieves).then(promises => { Promise.allSettled(allRetrieves).then(promises => {
log.timeEnd(TimingEnum.STUDY_TO_DISPLAY_SETS); log.timeEnd(Enums.TimingEnum.STUDY_TO_DISPLAY_SETS);
log.time(TimingEnum.DISPLAY_SETS_TO_FIRST_IMAGE); log.time(Enums.TimingEnum.DISPLAY_SETS_TO_FIRST_IMAGE);
log.time(TimingEnum.DISPLAY_SETS_TO_ALL_IMAGES); log.time(Enums.TimingEnum.DISPLAY_SETS_TO_ALL_IMAGES);
const allPromises = []; const allPromises = [];
const remainingPromises = []; const remainingPromises = [];

View File

@ -37,7 +37,7 @@
"@cornerstonejs/codec-libjpeg-turbo-8bit": "^1.2.2", "@cornerstonejs/codec-libjpeg-turbo-8bit": "^1.2.2",
"@cornerstonejs/codec-openjpeg": "^1.2.2", "@cornerstonejs/codec-openjpeg": "^1.2.2",
"@cornerstonejs/codec-openjph": "^2.4.2", "@cornerstonejs/codec-openjph": "^2.4.2",
"@cornerstonejs/dicom-image-loader": "^1.44.1", "@cornerstonejs/dicom-image-loader": "^1.63.4",
"@ohif/ui": "3.8.0-beta.55", "@ohif/ui": "3.8.0-beta.55",
"cornerstone-math": "0.1.9", "cornerstone-math": "0.1.9",
"dicom-parser": "^1.8.21" "dicom-parser": "^1.8.21"

View File

@ -0,0 +1,3 @@
import { TimingEnum } from './TimingEnum';
export { TimingEnum };

View File

@ -25,6 +25,7 @@ describe('Top level exports', () => {
// //
'CineService', 'CineService',
'CustomizationService', 'CustomizationService',
'Enums',
'StateSyncService', 'StateSyncService',
'UIDialogService', 'UIDialogService',
'UIModalService', 'UIModalService',

View File

@ -11,6 +11,7 @@ import user from './user.js';
import utils from './utils'; import utils from './utils';
import defaults from './defaults'; import defaults from './defaults';
import * as Types from './types'; import * as Types from './types';
import * as Enums from './enums';
import { import {
CineService, CineService,
@ -120,6 +121,7 @@ export {
DicomMetadataStore, DicomMetadataStore,
pubSubServiceInterface, pubSubServiceInterface,
PubSubService, PubSubService,
Enums,
Types, Types,
PanelService, PanelService,
}; };

View File

@ -20,9 +20,6 @@ export type * from './PanelModule';
export type * from './IPubSub'; export type * from './IPubSub';
export type * from './Color'; export type * from './Color';
// Enum exports
export * from './TimingEnum';
/** /**
* Export the types used within the various services and managers, but * Export the types used within the various services and managers, but
* not the services/managers themselves, which are exported at the top level. * not the services/managers themselves, which are exported at the top level.

View File

@ -4,7 +4,7 @@ import { withTranslation } from 'react-i18next';
import { IconButton, Icon, NavBar } from '../../../components'; import { IconButton, Icon, NavBar } from '../../../components';
import OHIFLogo from './OHIFLogo.js'; import OHIFLogo from './OHIFLogo';
function Header({ appLogo = OHIFLogo(), children, t }) { function Header({ appLogo = OHIFLogo(), children, t }) {
const showSettingsDropdown = () => { const showSettingsDropdown = () => {

126
yarn.lock
View File

@ -1485,10 +1485,10 @@
resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9" resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9"
integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==
"@cornerstonejs/adapters@^1.44.1": "@cornerstonejs/adapters@^1.63.4":
version "1.47.1" version "1.63.4"
resolved "https://registry.yarnpkg.com/@cornerstonejs/adapters/-/adapters-1.47.1.tgz#16a3196a16af3b2fb2d5bf4d2eeda165962e8c78" resolved "https://registry.yarnpkg.com/@cornerstonejs/adapters/-/adapters-1.63.4.tgz#c43fcbb5217d09a4aaa3ecdbd5feb58d1283f486"
integrity sha512-4/jyrlV2QwXSnyBfeFPWQHao+UuiloTJuVoZ6Sam1E6/gw4LnMdfi8UtugYxNjwZysPEGkc8BAdfDMux0xMrwA== integrity sha512-HC1OGFEbveAd+Bs7UHDVBSK1XL187EsJqXkuDe5A1tlCUKoA2MCW/lX1sraW/0Z6Gm9GVzGnkVtRMBxYd96ENg==
dependencies: dependencies:
"@babel/runtime-corejs2" "^7.17.8" "@babel/runtime-corejs2" "^7.17.8"
buffer "^6.0.3" buffer "^6.0.3"
@ -1537,45 +1537,47 @@
resolved "https://registry.yarnpkg.com/@cornerstonejs/codec-openjph/-/codec-openjph-2.4.5.tgz#8690b61a86fa53ef38a70eee9d665a79229517c0" resolved "https://registry.yarnpkg.com/@cornerstonejs/codec-openjph/-/codec-openjph-2.4.5.tgz#8690b61a86fa53ef38a70eee9d665a79229517c0"
integrity sha512-MZCUy8VG0VG5Nl1l58+g+kH3LujAzLYTfJqkwpWI2gjSrGXnP6lgwyy4GmPRZWVoS40/B1LDNALK905cNWm+sg== integrity sha512-MZCUy8VG0VG5Nl1l58+g+kH3LujAzLYTfJqkwpWI2gjSrGXnP6lgwyy4GmPRZWVoS40/B1LDNALK905cNWm+sg==
"@cornerstonejs/core@^1.44.1", "@cornerstonejs/core@^1.47.1": "@cornerstonejs/core@^1.63.4":
version "1.47.1" version "1.63.4"
resolved "https://registry.yarnpkg.com/@cornerstonejs/core/-/core-1.47.1.tgz#fc6b9fafde6862c7e87ca528d2e9b83886a82a0c" resolved "https://registry.yarnpkg.com/@cornerstonejs/core/-/core-1.63.4.tgz#0d324e0df130854d0f6c24137b8e60053e0af3b4"
integrity sha512-VR4B9jSPCU9zbcM2zAq2re+YYgu+onvKGVK7wgIdqpQ3W7CjEmaHzWqVb19ZjezeSNO5cbP6o14tlUhoog0acQ== integrity sha512-l/7u1THn2pYq97QMBm8uy/kQWUEIlbq7rzdP6u1lSs8yDqK/f6zSQjNrvB/D6vRiVKnHVIlByxbbmEY46JQHmQ==
dependencies: dependencies:
"@kitware/vtk.js" "29.3.0" "@kitware/vtk.js" "29.7.0"
comlink "^4.4.1" comlink "^4.4.1"
detect-gpu "^5.0.22" detect-gpu "^5.0.22"
gl-matrix "^3.4.3" gl-matrix "^3.4.3"
lodash.clonedeep "4.5.0" lodash.clonedeep "4.5.0"
"@cornerstonejs/dicom-image-loader@^1.44.1": "@cornerstonejs/dicom-image-loader@^1.63.4":
version "1.47.1" version "1.63.4"
resolved "https://registry.yarnpkg.com/@cornerstonejs/dicom-image-loader/-/dicom-image-loader-1.47.1.tgz#a1a4ab2d598eba239c239b7fd1fa6c797014ff8d" resolved "https://registry.yarnpkg.com/@cornerstonejs/dicom-image-loader/-/dicom-image-loader-1.63.4.tgz#6827cb9d3d840dcd6a798e884a169adcc6bba311"
integrity sha512-6ebof2OZFHMWBgbbGahVMbSYN3iqDAivn9nY6FnxrDgXUl4HgKmWq9+gM/Fo8NCe6CwABWqExWO393G5Yb5I2Q== integrity sha512-agnRjhIBFiYQ6gQTjHmio+DG79OTaNXU3NbEVVxWdahqR1MnJBX39FT+1mi+8AhbN9sH2f+IpB4MoqraNFetLw==
dependencies: dependencies:
"@cornerstonejs/codec-charls" "^1.2.3" "@cornerstonejs/codec-charls" "^1.2.3"
"@cornerstonejs/codec-libjpeg-turbo-8bit" "^1.2.2" "@cornerstonejs/codec-libjpeg-turbo-8bit" "^1.2.2"
"@cornerstonejs/codec-openjpeg" "^1.2.2" "@cornerstonejs/codec-openjpeg" "^1.2.2"
"@cornerstonejs/codec-openjph" "^2.4.5" "@cornerstonejs/codec-openjph" "^2.4.5"
"@cornerstonejs/core" "^1.47.1" "@cornerstonejs/core" "^1.63.4"
dicom-parser "^1.8.9" dicom-parser "^1.8.9"
pako "^2.0.4" pako "^2.0.4"
uuid "^9.0.0" uuid "^9.0.0"
"@cornerstonejs/streaming-image-volume-loader@^1.44.1": "@cornerstonejs/streaming-image-volume-loader@^1.63.4":
version "1.47.1" version "1.63.4"
resolved "https://registry.yarnpkg.com/@cornerstonejs/streaming-image-volume-loader/-/streaming-image-volume-loader-1.47.1.tgz#4a5a5d81aab900dcd212c315ddc1eb61e5e94ef1" resolved "https://registry.yarnpkg.com/@cornerstonejs/streaming-image-volume-loader/-/streaming-image-volume-loader-1.63.4.tgz#37ba9de488d5472c3dd98f85698a854c97b4b29f"
integrity sha512-FzZ+Wtfc+X26p0fzguyAMkAfoZa8SfslC5wmPt5+vxHf+IGgRPSkPJ/vVMAxI7L6qC0mEOt4XcCmszX9wWS1mg== integrity sha512-GoxxmQVeHVZntFFwVwOp/fttgTrzXBwH08gk6JDjhHhmh22Ci7P137hG8o54uA6dv0/W572em60SrIzvjB4Xwg==
dependencies: dependencies:
"@cornerstonejs/core" "^1.47.1" "@cornerstonejs/core" "^1.63.4"
comlink "^4.4.1" comlink "^4.4.1"
"@cornerstonejs/tools@^1.44.1": "@cornerstonejs/tools@^1.63.4":
version "1.47.1" version "1.63.4"
resolved "https://registry.yarnpkg.com/@cornerstonejs/tools/-/tools-1.47.1.tgz#40085a824584de3970d4aa106b30a5a6ae6504ec" resolved "https://registry.yarnpkg.com/@cornerstonejs/tools/-/tools-1.63.4.tgz#4f85cf77bda97738ff05ef9184cf68e617f1631c"
integrity sha512-yPdkEp570S4B1ldP7mtyacT9Eu5Hh2CR/ZCbBMVMQmlnsi9SFKVYKFpOSxUQd1u+MK2AKcpzrr7BbH9OOR4lCg== integrity sha512-LDoqShwi0b6kEGqnfY3pUrK4nExS9lqhXFvWew6wH9znUyEIVhGexBXNYDb3E2Gy13d4drtjsM+PXFt7c0PecQ==
dependencies: dependencies:
"@cornerstonejs/core" "^1.47.1" "@cornerstonejs/core" "^1.63.4"
"@icr/polyseg-wasm" "0.4.0"
"@types/offscreencanvas" "2019.7.3"
comlink "^4.4.1" comlink "^4.4.1"
lodash.clonedeep "4.5.0" lodash.clonedeep "4.5.0"
lodash.get "^4.4.2" lodash.get "^4.4.2"
@ -2550,6 +2552,11 @@
resolved "https://registry.yarnpkg.com/@icons/material/-/material-0.2.4.tgz#e90c9f71768b3736e76d7dd6783fc6c2afa88bc8" resolved "https://registry.yarnpkg.com/@icons/material/-/material-0.2.4.tgz#e90c9f71768b3736e76d7dd6783fc6c2afa88bc8"
integrity sha512-QPcGmICAPbGLGb6F/yNf/KzKqvFx8z5qx3D1yFqVAjoFmXK35EgyW+cJ57Te3CNsmzblwtzakLGFqHPqrfb4Tw== integrity sha512-QPcGmICAPbGLGb6F/yNf/KzKqvFx8z5qx3D1yFqVAjoFmXK35EgyW+cJ57Te3CNsmzblwtzakLGFqHPqrfb4Tw==
"@icr/polyseg-wasm@0.4.0":
version "0.4.0"
resolved "https://registry.yarnpkg.com/@icr/polyseg-wasm/-/polyseg-wasm-0.4.0.tgz#755e23d07c3d8d8fca1113278c803c1ef0185da0"
integrity sha512-3sZmiwG8I0NaqPle0L7+V/ZexiR7IjIUFkUsaOoFI9rNuBGyyMMmxAxnCmqcDFtBDk9h+JEYJf6e3NnqlHi/HQ==
"@isaacs/cliui@^8.0.2": "@isaacs/cliui@^8.0.2":
version "8.0.2" version "8.0.2"
resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550" resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550"
@ -2824,32 +2831,10 @@
resolved "https://registry.yarnpkg.com/@juggle/resize-observer/-/resize-observer-3.4.0.tgz#08d6c5e20cf7e4cc02fd181c4b0c225cd31dbb60" resolved "https://registry.yarnpkg.com/@juggle/resize-observer/-/resize-observer-3.4.0.tgz#08d6c5e20cf7e4cc02fd181c4b0c225cd31dbb60"
integrity sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA== integrity sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==
"@kitware/vtk.js@29.3.0": "@kitware/vtk.js@29.7.0":
version "29.3.0" version "29.7.0"
resolved "https://registry.yarnpkg.com/@kitware/vtk.js/-/vtk.js-29.3.0.tgz#8601e07cde3da61c285aabfcb3484ae1ffb1074b" resolved "https://registry.yarnpkg.com/@kitware/vtk.js/-/vtk.js-29.7.0.tgz#56c352a755dd61bf34664866441ef9143e55a24d"
integrity sha512-EofIxo6Qcfhh8SRx8Xp7B8HGM//2tzjQbhrMQsiaoPgs3yhtrqm+CBFmqboxt+waF8qUKxuUQb+DzM8cX2ivAg== integrity sha512-z6XcoB+uUKayOsfLFR6GJW59bUyDe8JLkw3AMWKHbdLQmWvGosl32Zq18TYwCWAH/epIjZBoLBV+8o2GjgCb0w==
dependencies:
"@babel/runtime" "7.22.11"
"@types/webxr" "^0.5.5"
commander "9.2.0"
d3-scale "4.0.2"
fast-deep-equal "^3.1.3"
fflate "0.7.3"
gl-matrix "3.4.3"
globalthis "1.0.3"
seedrandom "3.0.5"
shader-loader "1.3.1"
shelljs "0.8.5"
spark-md5 "3.0.2"
stream-browserify "3.0.0"
webworker-promise "0.5.0"
worker-loader "3.0.8"
xmlbuilder2 "3.0.2"
"@kitware/vtk.js@29.3.01":
version "29.3.1"
resolved "https://registry.yarnpkg.com/@kitware/vtk.js/-/vtk.js-29.3.1.tgz#007df75c1f4744b4779087b9306a667c6acdc3c8"
integrity sha512-TM3uBVwJWdMIU+VD+OnSxQU45lJiJiOxxkx56Du6K4d18u5fHi7nBkSlNhTtOCX5H8amwIofaPCKRnYRNkjosA==
dependencies: dependencies:
"@babel/runtime" "7.22.11" "@babel/runtime" "7.22.11"
"@types/webxr" "^0.5.5" "@types/webxr" "^0.5.5"
@ -5272,6 +5257,11 @@
resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz#56e2cc26c397c038fab0e3a917a12d5c5909e901" resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz#56e2cc26c397c038fab0e3a917a12d5c5909e901"
integrity sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA== integrity sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==
"@types/offscreencanvas@2019.7.3":
version "2019.7.3"
resolved "https://registry.yarnpkg.com/@types/offscreencanvas/-/offscreencanvas-2019.7.3.tgz#90267db13f64d6e9ccb5ae3eac92786a7c77a516"
integrity sha512-ieXiYmgSRXUDeOntE1InxjWyvEelZGP63M+cGuquuRLuIKKT1osnkXjxev9B7d1nXSug5vpunx+gNlbVxMlC9A==
"@types/parse-json@^4.0.0": "@types/parse-json@^4.0.0":
version "4.0.2" version "4.0.2"
resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.2.tgz#5950e50960793055845e956c427fc2b0d70c5239" resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.2.tgz#5950e50960793055845e956c427fc2b0d70c5239"
@ -12078,9 +12068,9 @@ ip-address@^9.0.5:
sprintf-js "^1.1.3" sprintf-js "^1.1.3"
ip@^1.1.0: ip@^1.1.0:
version "1.1.8" version "1.1.9"
resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.8.tgz#ae05948f6b075435ed3307acce04629da8cdbf48" resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.9.tgz#8dfbcc99a754d07f425310b86a99546b1151e396"
integrity sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg== integrity sha512-cyRxvOEpNHNtchU3Ln9KC/auJgup87llfQpQ+t5ghoC/UhL16SWzbueiCsdTnWmqAWl7LadfuwhlqmtOaqMHdQ==
ip@^2.0.0: ip@^2.0.0:
version "2.0.0" version "2.0.0"
@ -21192,6 +21182,36 @@ webpack@5, webpack@^5.50.0, webpack@^5.73.0, webpack@^5.81.0:
watchpack "^2.4.0" watchpack "^2.4.0"
webpack-sources "^3.2.3" webpack-sources "^3.2.3"
webpack@^5.90.3:
version "5.90.3"
resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.90.3.tgz#37b8f74d3ded061ba789bb22b31e82eed75bd9ac"
integrity sha512-h6uDYlWCctQRuXBs1oYpVe6sFcWedl0dpcVaTf/YF67J9bKvwJajFulMVSYKHrksMB3I/pIagRzDxwxkebuzKA==
dependencies:
"@types/eslint-scope" "^3.7.3"
"@types/estree" "^1.0.5"
"@webassemblyjs/ast" "^1.11.5"
"@webassemblyjs/wasm-edit" "^1.11.5"
"@webassemblyjs/wasm-parser" "^1.11.5"
acorn "^8.7.1"
acorn-import-assertions "^1.9.0"
browserslist "^4.21.10"
chrome-trace-event "^1.0.2"
enhanced-resolve "^5.15.0"
es-module-lexer "^1.2.1"
eslint-scope "5.1.1"
events "^3.2.0"
glob-to-regexp "^0.4.1"
graceful-fs "^4.2.9"
json-parse-even-better-errors "^2.3.1"
loader-runner "^4.2.0"
mime-types "^2.1.27"
neo-async "^2.6.2"
schema-utils "^3.2.0"
tapable "^2.1.1"
terser-webpack-plugin "^5.3.10"
watchpack "^2.4.0"
webpack-sources "^3.2.3"
webpackbar@^5.0.2: webpackbar@^5.0.2:
version "5.0.2" version "5.0.2"
resolved "https://registry.yarnpkg.com/webpackbar/-/webpackbar-5.0.2.tgz#d3dd466211c73852741dfc842b7556dcbc2b0570" resolved "https://registry.yarnpkg.com/webpackbar/-/webpackbar-5.0.2.tgz#d3dd466211c73852741dfc842b7556dcbc2b0570"