feat: Add WSI bulk data annotations support (ANN) (#4972)
Co-authored-by: Bill Wallace <wayfarer3130@gmail.com>
This commit is contained in:
parent
0164ad5519
commit
2ed6818171
@ -201,8 +201,6 @@ module.exports = (env, argv, { SRC_DIR, ENTRY }) => {
|
||||
'@hooks': path.resolve(__dirname, '../platform/app/src/hooks'),
|
||||
'@routes': path.resolve(__dirname, '../platform/app/src/routes'),
|
||||
'@state': path.resolve(__dirname, '../platform/app/src/state'),
|
||||
'dicom-microscopy-viewer':
|
||||
'dicom-microscopy-viewer/dist/dynamic-import/dicomMicroscopyViewer.min.js',
|
||||
},
|
||||
// Which directories to search when resolving modules
|
||||
modules: [
|
||||
|
||||
@ -4,6 +4,6 @@
|
||||
"version": "3.12.0-beta.7",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"dicom-microscopy-viewer": "^0.46.1"
|
||||
"dicom-microscopy-viewer": "^0.48.6"
|
||||
}
|
||||
}
|
||||
|
||||
352
bun.lock
352
bun.lock
@ -41,7 +41,7 @@
|
||||
},
|
||||
"addOns/externals/devDependencies": {
|
||||
"name": "@externals/devDependencies",
|
||||
"version": "3.11.0-beta.114",
|
||||
"version": "3.12.0-beta.7",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.20.13",
|
||||
"@kitware/vtk.js": "32.12.0",
|
||||
@ -126,22 +126,22 @@
|
||||
},
|
||||
"addOns/externals/dicom-microscopy-viewer": {
|
||||
"name": "@externals/dicom-microscopy-viewer",
|
||||
"version": "3.11.0-beta.114",
|
||||
"version": "3.12.0-beta.7",
|
||||
"dependencies": {
|
||||
"dicom-microscopy-viewer": "^0.46.1",
|
||||
"dicom-microscopy-viewer": "^0.48.6",
|
||||
},
|
||||
},
|
||||
"extensions/cornerstone": {
|
||||
"name": "@ohif/extension-cornerstone",
|
||||
"version": "3.11.0-beta.114",
|
||||
"version": "3.12.0-beta.7",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.20.13",
|
||||
"@cornerstonejs/adapters": "^3.32.5",
|
||||
"@cornerstonejs/ai": "^3.32.5",
|
||||
"@cornerstonejs/core": "^3.32.5",
|
||||
"@cornerstonejs/labelmap-interpolation": "^3.32.5",
|
||||
"@cornerstonejs/polymorphic-segmentation": "^3.32.5",
|
||||
"@cornerstonejs/tools": "^3.32.5",
|
||||
"@cornerstonejs/adapters": "^3.32.12",
|
||||
"@cornerstonejs/ai": "^3.32.12",
|
||||
"@cornerstonejs/core": "^3.32.12",
|
||||
"@cornerstonejs/labelmap-interpolation": "^3.32.12",
|
||||
"@cornerstonejs/polymorphic-segmentation": "^3.32.12",
|
||||
"@cornerstonejs/tools": "^3.32.12",
|
||||
"@itk-wasm/morphological-contour-interpolation": "1.1.0",
|
||||
"@kitware/vtk.js": "32.12.0",
|
||||
"html2canvas": "^1.4.1",
|
||||
@ -158,9 +158,9 @@
|
||||
"@cornerstonejs/codec-libjpeg-turbo-8bit": "^1.2.2",
|
||||
"@cornerstonejs/codec-openjpeg": "^1.2.4",
|
||||
"@cornerstonejs/codec-openjph": "^2.4.5",
|
||||
"@cornerstonejs/dicom-image-loader": "^3.32.5",
|
||||
"@ohif/core": "3.11.0-beta.114",
|
||||
"@ohif/ui": "3.11.0-beta.114",
|
||||
"@cornerstonejs/dicom-image-loader": "^3.32.12",
|
||||
"@ohif/core": "3.12.0-beta.7",
|
||||
"@ohif/ui": "3.12.0-beta.7",
|
||||
"dcmjs": "0.43.1",
|
||||
"dicom-parser": "^1.8.21",
|
||||
"hammerjs": "^2.0.8",
|
||||
@ -172,19 +172,19 @@
|
||||
},
|
||||
"extensions/cornerstone-dicom-pmap": {
|
||||
"name": "@ohif/extension-cornerstone-dicom-pmap",
|
||||
"version": "3.11.0-beta.114",
|
||||
"version": "3.12.0-beta.7",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.20.13",
|
||||
"@cornerstonejs/adapters": "^3.32.5",
|
||||
"@cornerstonejs/core": "^3.32.5",
|
||||
"@cornerstonejs/adapters": "^3.32.12",
|
||||
"@cornerstonejs/core": "^3.32.12",
|
||||
"@kitware/vtk.js": "32.12.0",
|
||||
"react-color": "^2.19.3",
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@ohif/core": "3.11.0-beta.114",
|
||||
"@ohif/extension-cornerstone": "3.11.0-beta.114",
|
||||
"@ohif/extension-default": "3.11.0-beta.114",
|
||||
"@ohif/i18n": "3.11.0-beta.114",
|
||||
"@ohif/core": "3.12.0-beta.7",
|
||||
"@ohif/extension-cornerstone": "3.12.0-beta.7",
|
||||
"@ohif/extension-default": "3.12.0-beta.7",
|
||||
"@ohif/i18n": "3.12.0-beta.7",
|
||||
"prop-types": "^15.6.2",
|
||||
"react": "^18.3.1",
|
||||
"react-dom": "^18.3.1",
|
||||
@ -195,16 +195,16 @@
|
||||
},
|
||||
"extensions/cornerstone-dicom-rt": {
|
||||
"name": "@ohif/extension-cornerstone-dicom-rt",
|
||||
"version": "3.11.0-beta.114",
|
||||
"version": "3.12.0-beta.7",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.20.13",
|
||||
"react-color": "^2.19.3",
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@ohif/core": "3.11.0-beta.114",
|
||||
"@ohif/extension-cornerstone": "3.11.0-beta.114",
|
||||
"@ohif/extension-default": "3.11.0-beta.114",
|
||||
"@ohif/i18n": "3.11.0-beta.114",
|
||||
"@ohif/core": "3.12.0-beta.7",
|
||||
"@ohif/extension-cornerstone": "3.12.0-beta.7",
|
||||
"@ohif/extension-default": "3.12.0-beta.7",
|
||||
"@ohif/i18n": "3.12.0-beta.7",
|
||||
"prop-types": "^15.6.2",
|
||||
"react": "^18.3.1",
|
||||
"react-dom": "^18.3.1",
|
||||
@ -215,19 +215,19 @@
|
||||
},
|
||||
"extensions/cornerstone-dicom-seg": {
|
||||
"name": "@ohif/extension-cornerstone-dicom-seg",
|
||||
"version": "3.11.0-beta.114",
|
||||
"version": "3.12.0-beta.7",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.20.13",
|
||||
"@cornerstonejs/adapters": "^3.32.5",
|
||||
"@cornerstonejs/core": "^3.32.5",
|
||||
"@cornerstonejs/adapters": "^3.32.12",
|
||||
"@cornerstonejs/core": "^3.32.12",
|
||||
"@kitware/vtk.js": "32.12.0",
|
||||
"react-color": "^2.19.3",
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@ohif/core": "3.11.0-beta.114",
|
||||
"@ohif/extension-cornerstone": "3.11.0-beta.114",
|
||||
"@ohif/extension-default": "3.11.0-beta.114",
|
||||
"@ohif/i18n": "3.11.0-beta.114",
|
||||
"@ohif/core": "3.12.0-beta.7",
|
||||
"@ohif/extension-cornerstone": "3.12.0-beta.7",
|
||||
"@ohif/extension-default": "3.12.0-beta.7",
|
||||
"@ohif/i18n": "3.12.0-beta.7",
|
||||
"prop-types": "^15.6.2",
|
||||
"react": "^18.3.1",
|
||||
"react-dom": "^18.3.1",
|
||||
@ -238,19 +238,19 @@
|
||||
},
|
||||
"extensions/cornerstone-dicom-sr": {
|
||||
"name": "@ohif/extension-cornerstone-dicom-sr",
|
||||
"version": "3.11.0-beta.114",
|
||||
"version": "3.12.0-beta.7",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.20.13",
|
||||
"@cornerstonejs/adapters": "^3.32.5",
|
||||
"@cornerstonejs/core": "^3.32.5",
|
||||
"@cornerstonejs/tools": "^3.32.5",
|
||||
"@cornerstonejs/adapters": "^3.32.12",
|
||||
"@cornerstonejs/core": "^3.32.12",
|
||||
"@cornerstonejs/tools": "^3.32.12",
|
||||
"classnames": "^2.3.2",
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@ohif/core": "3.11.0-beta.114",
|
||||
"@ohif/extension-cornerstone": "3.11.0-beta.114",
|
||||
"@ohif/extension-measurement-tracking": "3.11.0-beta.114",
|
||||
"@ohif/ui": "3.11.0-beta.114",
|
||||
"@ohif/core": "3.12.0-beta.7",
|
||||
"@ohif/extension-cornerstone": "3.12.0-beta.7",
|
||||
"@ohif/extension-measurement-tracking": "3.12.0-beta.7",
|
||||
"@ohif/ui": "3.12.0-beta.7",
|
||||
"dcmjs": "0.43.1",
|
||||
"dicom-parser": "^1.8.9",
|
||||
"hammerjs": "^2.0.8",
|
||||
@ -260,19 +260,19 @@
|
||||
},
|
||||
"extensions/cornerstone-dynamic-volume": {
|
||||
"name": "@ohif/extension-cornerstone-dynamic-volume",
|
||||
"version": "3.11.0-beta.114",
|
||||
"version": "3.12.0-beta.7",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.20.13",
|
||||
"@cornerstonejs/core": "^3.32.5",
|
||||
"@cornerstonejs/tools": "^3.32.5",
|
||||
"@cornerstonejs/core": "^3.32.12",
|
||||
"@cornerstonejs/tools": "^3.32.12",
|
||||
"classnames": "^2.3.2",
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@ohif/core": "3.11.0-beta.114",
|
||||
"@ohif/extension-cornerstone": "3.11.0-beta.114",
|
||||
"@ohif/extension-default": "3.11.0-beta.114",
|
||||
"@ohif/i18n": "3.11.0-beta.114",
|
||||
"@ohif/ui": "3.11.0-beta.114",
|
||||
"@ohif/core": "3.12.0-beta.7",
|
||||
"@ohif/extension-cornerstone": "3.12.0-beta.7",
|
||||
"@ohif/extension-default": "3.12.0-beta.7",
|
||||
"@ohif/i18n": "3.12.0-beta.7",
|
||||
"@ohif/ui": "3.12.0-beta.7",
|
||||
"dcmjs": "0.43.1",
|
||||
"dicom-parser": "^1.8.21",
|
||||
"hammerjs": "^2.0.8",
|
||||
@ -282,7 +282,7 @@
|
||||
},
|
||||
"extensions/default": {
|
||||
"name": "@ohif/extension-default",
|
||||
"version": "3.11.0-beta.114",
|
||||
"version": "3.12.0-beta.7",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.20.13",
|
||||
"@cornerstonejs/calculate-suv": "^1.1.0",
|
||||
@ -290,8 +290,8 @@
|
||||
"lodash.uniqby": "^4.7.0",
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@ohif/core": "3.11.0-beta.114",
|
||||
"@ohif/i18n": "3.11.0-beta.114",
|
||||
"@ohif/core": "3.12.0-beta.7",
|
||||
"@ohif/i18n": "3.12.0-beta.7",
|
||||
"dcmjs": "0.43.1",
|
||||
"dicomweb-client": "^0.10.4",
|
||||
"prop-types": "^15.6.2",
|
||||
@ -305,7 +305,7 @@
|
||||
},
|
||||
"extensions/dicom-microscopy": {
|
||||
"name": "@ohif/extension-dicom-microscopy",
|
||||
"version": "3.11.0-beta.114",
|
||||
"version": "3.12.0-beta.7",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.20.13",
|
||||
"@cornerstonejs/codec-charls": "^1.2.3",
|
||||
@ -316,10 +316,10 @@
|
||||
"mathjs": "^12.4.2",
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@ohif/core": "3.11.0-beta.114",
|
||||
"@ohif/extension-default": "3.11.0-beta.114",
|
||||
"@ohif/i18n": "3.11.0-beta.114",
|
||||
"@ohif/ui": "3.11.0-beta.114",
|
||||
"@ohif/core": "3.12.0-beta.7",
|
||||
"@ohif/extension-default": "3.12.0-beta.7",
|
||||
"@ohif/i18n": "3.12.0-beta.7",
|
||||
"@ohif/ui": "3.12.0-beta.7",
|
||||
"prop-types": "^15.6.2",
|
||||
"react": "^18.3.1",
|
||||
"react-dom": "^18.3.1",
|
||||
@ -330,14 +330,14 @@
|
||||
},
|
||||
"extensions/dicom-pdf": {
|
||||
"name": "@ohif/extension-dicom-pdf",
|
||||
"version": "3.11.0-beta.114",
|
||||
"version": "3.12.0-beta.7",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.20.13",
|
||||
"classnames": "^2.3.2",
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@ohif/core": "3.11.0-beta.114",
|
||||
"@ohif/ui": "3.11.0-beta.114",
|
||||
"@ohif/core": "3.12.0-beta.7",
|
||||
"@ohif/ui": "3.12.0-beta.7",
|
||||
"dcmjs": "0.43.1",
|
||||
"dicom-parser": "^1.8.9",
|
||||
"hammerjs": "^2.0.8",
|
||||
@ -347,14 +347,14 @@
|
||||
},
|
||||
"extensions/dicom-video": {
|
||||
"name": "@ohif/extension-dicom-video",
|
||||
"version": "3.11.0-beta.114",
|
||||
"version": "3.12.0-beta.7",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.20.13",
|
||||
"classnames": "^2.3.2",
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@ohif/core": "3.11.0-beta.114",
|
||||
"@ohif/ui": "3.11.0-beta.114",
|
||||
"@ohif/core": "3.12.0-beta.7",
|
||||
"@ohif/ui": "3.12.0-beta.7",
|
||||
"dcmjs": "0.43.1",
|
||||
"dicom-parser": "^1.8.9",
|
||||
"hammerjs": "^2.0.8",
|
||||
@ -364,20 +364,20 @@
|
||||
},
|
||||
"extensions/measurement-tracking": {
|
||||
"name": "@ohif/extension-measurement-tracking",
|
||||
"version": "3.11.0-beta.114",
|
||||
"version": "3.12.0-beta.7",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.20.13",
|
||||
"@ohif/ui": "3.11.0-beta.114",
|
||||
"@ohif/ui": "3.12.0-beta.7",
|
||||
"@xstate/react": "^3.2.2",
|
||||
"xstate": "^4.10.0",
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@cornerstonejs/core": "^3.32.5",
|
||||
"@cornerstonejs/tools": "^3.32.5",
|
||||
"@ohif/core": "3.11.0-beta.114",
|
||||
"@ohif/extension-cornerstone-dicom-sr": "3.11.0-beta.114",
|
||||
"@ohif/extension-default": "3.11.0-beta.114",
|
||||
"@ohif/ui": "3.11.0-beta.114",
|
||||
"@cornerstonejs/core": "^3.32.12",
|
||||
"@cornerstonejs/tools": "^3.32.12",
|
||||
"@ohif/core": "3.12.0-beta.7",
|
||||
"@ohif/extension-cornerstone-dicom-sr": "3.12.0-beta.7",
|
||||
"@ohif/extension-default": "3.12.0-beta.7",
|
||||
"@ohif/ui": "3.12.0-beta.7",
|
||||
"classnames": "^2.3.2",
|
||||
"dcmjs": "0.43.1",
|
||||
"lodash.debounce": "^4.0.8",
|
||||
@ -390,14 +390,14 @@
|
||||
},
|
||||
"extensions/test-extension": {
|
||||
"name": "@ohif/extension-test",
|
||||
"version": "3.11.0-beta.114",
|
||||
"version": "3.12.0-beta.7",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.20.13",
|
||||
"classnames": "^2.3.2",
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@ohif/core": "3.11.0-beta.114",
|
||||
"@ohif/ui": "3.11.0-beta.114",
|
||||
"@ohif/core": "3.12.0-beta.7",
|
||||
"@ohif/ui": "3.12.0-beta.7",
|
||||
"dcmjs": "0.43.1",
|
||||
"dicom-parser": "^1.8.9",
|
||||
"hammerjs": "^2.0.8",
|
||||
@ -407,7 +407,7 @@
|
||||
},
|
||||
"extensions/tmtv": {
|
||||
"name": "@ohif/extension-tmtv",
|
||||
"version": "3.11.0-beta.114",
|
||||
"version": "3.12.0-beta.7",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.20.13",
|
||||
"classnames": "^2.3.2",
|
||||
@ -424,16 +424,16 @@
|
||||
},
|
||||
"extensions/usAnnotation": {
|
||||
"name": "@ohif/extension-ultrasound-pleura-bline",
|
||||
"version": "3.11.0-beta.114",
|
||||
"version": "3.12.0-beta.7",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.20.13",
|
||||
"@cornerstonejs/core": "^3.32.5",
|
||||
"@cornerstonejs/tools": "^3.32.5",
|
||||
"@ohif/core": "3.11.0-beta.114",
|
||||
"@ohif/extension-cornerstone": "3.11.0-beta.114",
|
||||
"@ohif/extension-default": "3.11.0-beta.114",
|
||||
"@ohif/i18n": "3.11.0-beta.114",
|
||||
"@ohif/ui-next": "3.11.0-beta.114",
|
||||
"@cornerstonejs/core": "^3.32.12",
|
||||
"@cornerstonejs/tools": "^3.32.12",
|
||||
"@ohif/core": "3.12.0-beta.7",
|
||||
"@ohif/extension-cornerstone": "3.12.0-beta.7",
|
||||
"@ohif/extension-default": "3.12.0-beta.7",
|
||||
"@ohif/i18n": "3.12.0-beta.7",
|
||||
"@ohif/ui-next": "3.12.0-beta.7",
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "7.28.0",
|
||||
@ -476,7 +476,7 @@
|
||||
},
|
||||
"modes/basic-dev-mode": {
|
||||
"name": "@ohif/mode-basic-dev-mode",
|
||||
"version": "3.11.0-beta.114",
|
||||
"version": "3.12.0-beta.7",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.20.13",
|
||||
"i18next": "^17.0.3",
|
||||
@ -486,17 +486,17 @@
|
||||
"webpack-merge": "^5.7.3",
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@ohif/core": "3.11.0-beta.114",
|
||||
"@ohif/extension-cornerstone": "3.11.0-beta.114",
|
||||
"@ohif/extension-cornerstone-dicom-sr": "3.11.0-beta.114",
|
||||
"@ohif/extension-default": "3.11.0-beta.114",
|
||||
"@ohif/extension-dicom-pdf": "3.11.0-beta.114",
|
||||
"@ohif/extension-dicom-video": "3.11.0-beta.114",
|
||||
"@ohif/core": "3.12.0-beta.7",
|
||||
"@ohif/extension-cornerstone": "3.12.0-beta.7",
|
||||
"@ohif/extension-cornerstone-dicom-sr": "3.12.0-beta.7",
|
||||
"@ohif/extension-default": "3.12.0-beta.7",
|
||||
"@ohif/extension-dicom-pdf": "3.12.0-beta.7",
|
||||
"@ohif/extension-dicom-video": "3.12.0-beta.7",
|
||||
},
|
||||
},
|
||||
"modes/basic-test-mode": {
|
||||
"name": "@ohif/mode-test",
|
||||
"version": "3.11.0-beta.114",
|
||||
"version": "3.12.0-beta.7",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.20.13",
|
||||
"i18next": "^17.0.3",
|
||||
@ -506,19 +506,19 @@
|
||||
"webpack-merge": "^5.7.3",
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@ohif/core": "3.11.0-beta.114",
|
||||
"@ohif/extension-cornerstone": "3.11.0-beta.114",
|
||||
"@ohif/extension-cornerstone-dicom-sr": "3.11.0-beta.114",
|
||||
"@ohif/extension-default": "3.11.0-beta.114",
|
||||
"@ohif/extension-dicom-pdf": "3.11.0-beta.114",
|
||||
"@ohif/extension-dicom-video": "3.11.0-beta.114",
|
||||
"@ohif/extension-measurement-tracking": "3.11.0-beta.114",
|
||||
"@ohif/extension-test": "3.11.0-beta.114",
|
||||
"@ohif/core": "3.12.0-beta.7",
|
||||
"@ohif/extension-cornerstone": "3.12.0-beta.7",
|
||||
"@ohif/extension-cornerstone-dicom-sr": "3.12.0-beta.7",
|
||||
"@ohif/extension-default": "3.12.0-beta.7",
|
||||
"@ohif/extension-dicom-pdf": "3.12.0-beta.7",
|
||||
"@ohif/extension-dicom-video": "3.12.0-beta.7",
|
||||
"@ohif/extension-measurement-tracking": "3.12.0-beta.7",
|
||||
"@ohif/extension-test": "3.12.0-beta.7",
|
||||
},
|
||||
},
|
||||
"modes/longitudinal": {
|
||||
"name": "@ohif/mode-longitudinal",
|
||||
"version": "3.11.0-beta.114",
|
||||
"version": "3.12.0-beta.7",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.20.13",
|
||||
"i18next": "^17.0.3",
|
||||
@ -528,32 +528,32 @@
|
||||
"webpack-merge": "^5.7.3",
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@ohif/core": "3.11.0-beta.114",
|
||||
"@ohif/extension-cornerstone": "3.11.0-beta.114",
|
||||
"@ohif/extension-cornerstone-dicom-rt": "3.11.0-beta.114",
|
||||
"@ohif/extension-cornerstone-dicom-seg": "3.11.0-beta.114",
|
||||
"@ohif/extension-cornerstone-dicom-sr": "3.11.0-beta.114",
|
||||
"@ohif/extension-default": "3.11.0-beta.114",
|
||||
"@ohif/extension-dicom-pdf": "3.11.0-beta.114",
|
||||
"@ohif/extension-dicom-video": "3.11.0-beta.114",
|
||||
"@ohif/extension-measurement-tracking": "3.11.0-beta.114",
|
||||
"@ohif/core": "3.12.0-beta.7",
|
||||
"@ohif/extension-cornerstone": "3.12.0-beta.7",
|
||||
"@ohif/extension-cornerstone-dicom-rt": "3.12.0-beta.7",
|
||||
"@ohif/extension-cornerstone-dicom-seg": "3.12.0-beta.7",
|
||||
"@ohif/extension-cornerstone-dicom-sr": "3.12.0-beta.7",
|
||||
"@ohif/extension-default": "3.12.0-beta.7",
|
||||
"@ohif/extension-dicom-pdf": "3.12.0-beta.7",
|
||||
"@ohif/extension-dicom-video": "3.12.0-beta.7",
|
||||
"@ohif/extension-measurement-tracking": "3.12.0-beta.7",
|
||||
},
|
||||
},
|
||||
"modes/microscopy": {
|
||||
"name": "@ohif/mode-microscopy",
|
||||
"version": "3.11.0-beta.114",
|
||||
"version": "3.12.0-beta.7",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.20.13",
|
||||
"i18next": "^17.0.3",
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@ohif/core": "3.11.0-beta.114",
|
||||
"@ohif/extension-dicom-microscopy": "3.11.0-beta.114",
|
||||
"@ohif/core": "3.12.0-beta.7",
|
||||
"@ohif/extension-dicom-microscopy": "3.12.0-beta.7",
|
||||
},
|
||||
},
|
||||
"modes/preclinical-4d": {
|
||||
"name": "@ohif/mode-preclinical-4d",
|
||||
"version": "3.11.0-beta.114",
|
||||
"version": "3.12.0-beta.7",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.20.13",
|
||||
},
|
||||
@ -572,7 +572,7 @@
|
||||
},
|
||||
"modes/segmentation": {
|
||||
"name": "@ohif/mode-segmentation",
|
||||
"version": "3.11.0-beta.114",
|
||||
"version": "3.12.0-beta.7",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.20.13",
|
||||
"i18next": "^17.0.3",
|
||||
@ -616,7 +616,7 @@
|
||||
},
|
||||
"modes/tmtv": {
|
||||
"name": "@ohif/mode-tmtv",
|
||||
"version": "3.11.0-beta.114",
|
||||
"version": "3.12.0-beta.7",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.20.13",
|
||||
"i18next": "^17.0.3",
|
||||
@ -637,14 +637,14 @@
|
||||
},
|
||||
"modes/usAnnotation": {
|
||||
"name": "@ohif/mode-ultrasound-pleura-bline",
|
||||
"version": "3.11.0-beta.114",
|
||||
"version": "3.12.0-beta.7",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.20.13",
|
||||
"@cornerstonejs/core": "^3.32.5",
|
||||
"@cornerstonejs/tools": "^3.32.5",
|
||||
"@ohif/core": "3.11.0-beta.114",
|
||||
"@ohif/extension-cornerstone-dicom-sr": "3.11.0-beta.114",
|
||||
"@ohif/extension-ultrasound-pleura-bline": "3.11.0-beta.114",
|
||||
"@cornerstonejs/core": "^3.32.12",
|
||||
"@cornerstonejs/tools": "^3.32.12",
|
||||
"@ohif/core": "3.12.0-beta.7",
|
||||
"@ohif/extension-cornerstone-dicom-sr": "3.12.0-beta.7",
|
||||
"@ohif/extension-ultrasound-pleura-bline": "3.12.0-beta.7",
|
||||
"i18next": "^17.0.3",
|
||||
},
|
||||
"devDependencies": {
|
||||
@ -676,34 +676,34 @@
|
||||
},
|
||||
"platform/app": {
|
||||
"name": "@ohif/app",
|
||||
"version": "3.11.0-beta.114",
|
||||
"version": "3.12.0-beta.7",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.20.13",
|
||||
"@cornerstonejs/codec-charls": "^1.2.3",
|
||||
"@cornerstonejs/codec-libjpeg-turbo-8bit": "^1.2.2",
|
||||
"@cornerstonejs/codec-openjpeg": "^1.2.4",
|
||||
"@cornerstonejs/codec-openjph": "^2.4.5",
|
||||
"@cornerstonejs/dicom-image-loader": "^3.32.5",
|
||||
"@cornerstonejs/dicom-image-loader": "^3.32.12",
|
||||
"@emotion/serialize": "^1.1.3",
|
||||
"@ohif/core": "3.11.0-beta.114",
|
||||
"@ohif/extension-cornerstone": "3.11.0-beta.114",
|
||||
"@ohif/extension-cornerstone-dicom-rt": "3.11.0-beta.114",
|
||||
"@ohif/extension-cornerstone-dicom-seg": "3.11.0-beta.114",
|
||||
"@ohif/extension-cornerstone-dicom-sr": "3.11.0-beta.114",
|
||||
"@ohif/extension-default": "3.11.0-beta.114",
|
||||
"@ohif/extension-dicom-microscopy": "3.11.0-beta.114",
|
||||
"@ohif/extension-dicom-pdf": "3.11.0-beta.114",
|
||||
"@ohif/extension-dicom-video": "3.11.0-beta.114",
|
||||
"@ohif/extension-test": "3.11.0-beta.114",
|
||||
"@ohif/extension-ultrasound-pleura-bline": "3.11.0-beta.114",
|
||||
"@ohif/i18n": "3.11.0-beta.114",
|
||||
"@ohif/mode-basic-dev-mode": "3.11.0-beta.114",
|
||||
"@ohif/mode-longitudinal": "3.11.0-beta.114",
|
||||
"@ohif/mode-microscopy": "3.11.0-beta.114",
|
||||
"@ohif/mode-test": "3.11.0-beta.114",
|
||||
"@ohif/mode-ultrasound-pleura-bline": "3.11.0-beta.114",
|
||||
"@ohif/ui": "3.11.0-beta.114",
|
||||
"@ohif/ui-next": "3.11.0-beta.114",
|
||||
"@ohif/core": "3.12.0-beta.7",
|
||||
"@ohif/extension-cornerstone": "3.12.0-beta.7",
|
||||
"@ohif/extension-cornerstone-dicom-rt": "3.12.0-beta.7",
|
||||
"@ohif/extension-cornerstone-dicom-seg": "3.12.0-beta.7",
|
||||
"@ohif/extension-cornerstone-dicom-sr": "3.12.0-beta.7",
|
||||
"@ohif/extension-default": "3.12.0-beta.7",
|
||||
"@ohif/extension-dicom-microscopy": "3.12.0-beta.7",
|
||||
"@ohif/extension-dicom-pdf": "3.12.0-beta.7",
|
||||
"@ohif/extension-dicom-video": "3.12.0-beta.7",
|
||||
"@ohif/extension-test": "3.12.0-beta.7",
|
||||
"@ohif/extension-ultrasound-pleura-bline": "3.12.0-beta.7",
|
||||
"@ohif/i18n": "3.12.0-beta.7",
|
||||
"@ohif/mode-basic-dev-mode": "3.12.0-beta.7",
|
||||
"@ohif/mode-longitudinal": "3.12.0-beta.7",
|
||||
"@ohif/mode-microscopy": "3.12.0-beta.7",
|
||||
"@ohif/mode-test": "3.12.0-beta.7",
|
||||
"@ohif/mode-ultrasound-pleura-bline": "3.12.0-beta.7",
|
||||
"@ohif/ui": "3.12.0-beta.7",
|
||||
"@ohif/ui-next": "3.12.0-beta.7",
|
||||
"@svgr/webpack": "^8.1.0",
|
||||
"@types/react": "^18.3.3",
|
||||
"classnames": "^2.3.2",
|
||||
@ -744,7 +744,7 @@
|
||||
},
|
||||
"platform/cli": {
|
||||
"name": "@ohif/cli",
|
||||
"version": "3.11.0-beta.114",
|
||||
"version": "3.12.0-beta.7",
|
||||
"bin": {
|
||||
"ohif-cli": "src/index.js",
|
||||
},
|
||||
@ -768,7 +768,7 @@
|
||||
},
|
||||
"platform/core": {
|
||||
"name": "@ohif/core",
|
||||
"version": "3.11.0-beta.114",
|
||||
"version": "3.12.0-beta.7",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.20.13",
|
||||
"dcmjs": "0.43.1",
|
||||
@ -793,16 +793,16 @@
|
||||
"@cornerstonejs/codec-libjpeg-turbo-8bit": "^1.2.2",
|
||||
"@cornerstonejs/codec-openjpeg": "^1.2.4",
|
||||
"@cornerstonejs/codec-openjph": "^2.4.5",
|
||||
"@cornerstonejs/core": "^3.32.5",
|
||||
"@cornerstonejs/dicom-image-loader": "^3.32.5",
|
||||
"@ohif/ui": "3.11.0-beta.114",
|
||||
"@cornerstonejs/core": "^3.32.12",
|
||||
"@cornerstonejs/dicom-image-loader": "^3.32.12",
|
||||
"@ohif/ui": "3.12.0-beta.7",
|
||||
"cornerstone-math": "0.1.9",
|
||||
"dicom-parser": "^1.8.21",
|
||||
},
|
||||
},
|
||||
"platform/i18n": {
|
||||
"name": "@ohif/i18n",
|
||||
"version": "3.11.0-beta.114",
|
||||
"version": "3.12.0-beta.7",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.20.13",
|
||||
"i18next-locize-backend": "^2.0.0",
|
||||
@ -827,7 +827,7 @@
|
||||
},
|
||||
"platform/ui": {
|
||||
"name": "@ohif/ui",
|
||||
"version": "3.11.0-beta.114",
|
||||
"version": "3.12.0-beta.7",
|
||||
"dependencies": {
|
||||
"@testing-library/react": "^13.1.0",
|
||||
"browser-detect": "^0.2.28",
|
||||
@ -887,7 +887,7 @@
|
||||
},
|
||||
"platform/ui-next": {
|
||||
"name": "@ohif/ui-next",
|
||||
"version": "3.11.0-beta.114",
|
||||
"version": "3.12.0-beta.7",
|
||||
"dependencies": {
|
||||
"@radix-ui/react-accordion": "^1.2.0",
|
||||
"@radix-ui/react-checkbox": "^1.1.1",
|
||||
@ -1200,9 +1200,9 @@
|
||||
|
||||
"@bcoe/v8-coverage": ["@bcoe/v8-coverage@0.2.3", "", {}, "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw=="],
|
||||
|
||||
"@cornerstonejs/adapters": ["@cornerstonejs/adapters@3.32.5", "", { "dependencies": { "@babel/runtime-corejs2": "^7.17.8", "buffer": "^6.0.3", "dcmjs": "^0.43.1", "gl-matrix": "^3.4.3", "ndarray": "^1.0.19" }, "peerDependencies": { "@cornerstonejs/core": "^3.32.5", "@cornerstonejs/tools": "^3.32.5" } }, "sha512-tpd+sHjE54VOqme83HZ9XqGKztjikrwbrWR4M3e8X+fuR6LJ+qNQ6+YkPdfThzu0KxN+q8mO5aSvGyJo82rRnA=="],
|
||||
"@cornerstonejs/adapters": ["@cornerstonejs/adapters@3.32.12", "", { "dependencies": { "@babel/runtime-corejs2": "^7.17.8", "buffer": "^6.0.3", "dcmjs": "^0.43.1", "gl-matrix": "^3.4.3", "ndarray": "^1.0.19" }, "peerDependencies": { "@cornerstonejs/core": "^3.32.12", "@cornerstonejs/tools": "^3.32.12" } }, "sha512-dC33XemAmrSQF4qWtyBSjM7m+ecqgZ6QPjO3Mt8Z7zqU9PVzz5CUKUQaRzatByASnRNYweePrZkcvDCcdpBKaQ=="],
|
||||
|
||||
"@cornerstonejs/ai": ["@cornerstonejs/ai@3.32.5", "", { "dependencies": { "@babel/runtime-corejs2": "^7.17.8", "buffer": "^6.0.3", "dcmjs": "^0.43.1", "gl-matrix": "^3.4.3", "lodash.clonedeep": "^4.5.0", "ndarray": "^1.0.19", "onnxruntime-common": "1.17.1", "onnxruntime-web": "1.17.1" }, "peerDependencies": { "@cornerstonejs/core": "^3.32.5", "@cornerstonejs/tools": "^3.32.5" } }, "sha512-j7paST1ounIAvJYS9/qqOsjknjdFcfcNdwCKiwB5KpobL2/BmYNl4kEZNdYXZPhFfQPQvgpW71OedxkDdwaJ2A=="],
|
||||
"@cornerstonejs/ai": ["@cornerstonejs/ai@3.32.12", "", { "dependencies": { "@babel/runtime-corejs2": "^7.17.8", "buffer": "^6.0.3", "dcmjs": "^0.43.1", "gl-matrix": "^3.4.3", "lodash.clonedeep": "^4.5.0", "ndarray": "^1.0.19", "onnxruntime-common": "1.17.1", "onnxruntime-web": "1.17.1" }, "peerDependencies": { "@cornerstonejs/core": "^3.32.12", "@cornerstonejs/tools": "^3.32.12" } }, "sha512-F8Vq1oVO/uabmsNIAUXxth9rZ5GtVAj3jZfexZpJiMiB02jKx83LzKuF4kWdPFDbVIi64JLboKGLYBAXjFbcxg=="],
|
||||
|
||||
"@cornerstonejs/calculate-suv": ["@cornerstonejs/calculate-suv@1.1.0", "", {}, "sha512-Q9XraiDJif9aMFArD2iEuDO/HXbcRVCqB7KfaHgDrdTTjgDFovS91Psbdim7crypRSvE6dh/+HKeFNHdvNkA6w=="],
|
||||
|
||||
@ -1214,15 +1214,15 @@
|
||||
|
||||
"@cornerstonejs/codec-openjph": ["@cornerstonejs/codec-openjph@2.4.7", "", {}, "sha512-qvP4q4JDib7mi9r7LqKOwqz7YZ8gjtDX4ZCezeYf8+eb7MBXCz5uXAMeVF3yz9Axw4XiIMdB/pqXkm8tqCl13w=="],
|
||||
|
||||
"@cornerstonejs/core": ["@cornerstonejs/core@3.32.5", "", { "dependencies": { "@kitware/vtk.js": "32.12.1", "comlink": "^4.4.1", "gl-matrix": "^3.4.3", "loglevel": "^1.9.2" } }, "sha512-6m/ODfSyM+8/ZigD2wM2wl8yjxmDx9DTen/R5nxCHUe4sqK97PKjfmcN5OK9cOCzwlzqQBZTFow1Ra6UAfkKCA=="],
|
||||
"@cornerstonejs/core": ["@cornerstonejs/core@3.32.12", "", { "dependencies": { "@kitware/vtk.js": "32.12.1", "comlink": "^4.4.1", "gl-matrix": "^3.4.3", "loglevel": "^1.9.2" } }, "sha512-JU3NyRHrPEMuKnH0pNmFyVroY+uafa9o2wml7/QgXgByJRKrK9ocBEZP0pE4U0YeNqwfV+UJIEUPMjHhBkWClg=="],
|
||||
|
||||
"@cornerstonejs/dicom-image-loader": ["@cornerstonejs/dicom-image-loader@3.32.5", "", { "dependencies": { "@cornerstonejs/codec-charls": "^1.2.3", "@cornerstonejs/codec-libjpeg-turbo-8bit": "^1.2.2", "@cornerstonejs/codec-openjpeg": "^1.2.2", "@cornerstonejs/codec-openjph": "^2.4.5", "comlink": "^4.4.1", "dicom-parser": "^1.8.9", "jpeg-lossless-decoder-js": "^2.1.0", "pako": "^2.0.4", "uuid": "^9.0.0" }, "peerDependencies": { "@cornerstonejs/core": "^3.32.5" } }, "sha512-fOUkphjdzTG8Flw0XV4bGUEZtbASeE2/Y+HssKr4PiwiDvGcVvVQF7RxyKkvabP3OsZIAaBOhPB8ghKEEXDp2w=="],
|
||||
"@cornerstonejs/dicom-image-loader": ["@cornerstonejs/dicom-image-loader@3.32.12", "", { "dependencies": { "@cornerstonejs/codec-charls": "^1.2.3", "@cornerstonejs/codec-libjpeg-turbo-8bit": "^1.2.2", "@cornerstonejs/codec-openjpeg": "^1.2.2", "@cornerstonejs/codec-openjph": "^2.4.5", "comlink": "^4.4.1", "dicom-parser": "^1.8.9", "jpeg-lossless-decoder-js": "^2.1.0", "pako": "^2.0.4", "uuid": "^9.0.0" }, "peerDependencies": { "@cornerstonejs/core": "^3.32.12" } }, "sha512-8tsL+IFz6H5VNho+tsjWge8g10brDqp0l3WMjUZ+uNSccc/o4ARrVsDvDFSzRQyMRh5aVp8YCGu4Rotd/p2ryg=="],
|
||||
|
||||
"@cornerstonejs/labelmap-interpolation": ["@cornerstonejs/labelmap-interpolation@3.32.5", "", { "dependencies": { "@itk-wasm/morphological-contour-interpolation": "1.1.0", "itk-wasm": "1.0.0-b.165" }, "peerDependencies": { "@cornerstonejs/core": "^3.32.5", "@cornerstonejs/tools": "^3.32.5", "@kitware/vtk.js": "32.12.1" } }, "sha512-+E476+jgAAOGUVUcdMD0D2K5/yHfc3rCVCgApfZ9H5mOaEavVHPjGxomFkE5twnBfQIBKgTos3968anl21ziAw=="],
|
||||
"@cornerstonejs/labelmap-interpolation": ["@cornerstonejs/labelmap-interpolation@3.32.12", "", { "dependencies": { "@itk-wasm/morphological-contour-interpolation": "1.1.0", "itk-wasm": "1.0.0-b.165" }, "peerDependencies": { "@cornerstonejs/core": "^3.32.12", "@cornerstonejs/tools": "^3.32.12", "@kitware/vtk.js": "32.12.1" } }, "sha512-tNrxKuwI6bU77EKJO9sV/vem0WhNTveprPvewxtwbq3r10ekP1TcOHzoxGQFOM+v+n6DzZo5u9MMki6kviz1lQ=="],
|
||||
|
||||
"@cornerstonejs/polymorphic-segmentation": ["@cornerstonejs/polymorphic-segmentation@3.32.5", "", { "dependencies": { "@icr/polyseg-wasm": "0.4.0" }, "peerDependencies": { "@cornerstonejs/core": "^3.32.5", "@cornerstonejs/tools": "^3.32.5", "@kitware/vtk.js": "32.12.1" } }, "sha512-MyG1ULFhOEdc8ud+5NJhVUmlBis61K3IWod1UYxZM4VdY7kivbdPbWXaynhnYTUg5OeXGPsETLWdLw/5E32mag=="],
|
||||
"@cornerstonejs/polymorphic-segmentation": ["@cornerstonejs/polymorphic-segmentation@3.32.12", "", { "dependencies": { "@icr/polyseg-wasm": "0.4.0" }, "peerDependencies": { "@cornerstonejs/core": "^3.32.12", "@cornerstonejs/tools": "^3.32.12", "@kitware/vtk.js": "32.12.1" } }, "sha512-W7eeYDCd5CwJdQexamM8f9tSFx9Tcy6Z19r2z0Ioodw+vHK7+okqNPv72KfZPa7QHNBC7E+VH9CzbFmZqywp7w=="],
|
||||
|
||||
"@cornerstonejs/tools": ["@cornerstonejs/tools@3.32.5", "", { "dependencies": { "@types/offscreencanvas": "2019.7.3", "comlink": "^4.4.1", "lodash.get": "^4.4.2" }, "peerDependencies": { "@cornerstonejs/core": "^3.32.5", "@kitware/vtk.js": "32.12.1", "@types/d3-array": "^3.0.4", "@types/d3-interpolate": "^3.0.1", "d3-array": "^3.2.3", "d3-interpolate": "^3.0.1", "gl-matrix": "^3.4.3" } }, "sha512-h1UWy/u8Cz1QPsMvbNF+rRGwaEdRnGwCbOSZQwLzYOuvaV+rvGAI6l+Xbhe9zUgzE1lSbBigiQjdGHiNtnVWPQ=="],
|
||||
"@cornerstonejs/tools": ["@cornerstonejs/tools@3.32.12", "", { "dependencies": { "@types/offscreencanvas": "2019.7.3", "comlink": "^4.4.1", "lodash.get": "^4.4.2" }, "peerDependencies": { "@cornerstonejs/core": "^3.32.12", "@kitware/vtk.js": "32.12.1", "@types/d3-array": "^3.0.4", "@types/d3-interpolate": "^3.0.1", "d3-array": "^3.2.3", "d3-interpolate": "^3.0.1", "gl-matrix": "^3.4.3" } }, "sha512-IRzEeDhlZyTrLixvryLHMayvZN2xUc708SO6Rm7qa+2QWtSMzB/c5tLLyW6koux4EEVeP5CYKk3jelgbFbj9fQ=="],
|
||||
|
||||
"@cspotcode/source-map-support": ["@cspotcode/source-map-support@0.8.1", "", { "dependencies": { "@jridgewell/trace-mapping": "0.3.9" } }, "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw=="],
|
||||
|
||||
@ -1448,14 +1448,6 @@
|
||||
|
||||
"@lerna/create": ["@lerna/create@7.4.2", "", { "dependencies": { "@lerna/child-process": "7.4.2", "@npmcli/run-script": "6.0.2", "@nx/devkit": ">=16.5.1 < 17", "@octokit/plugin-enterprise-rest": "6.0.1", "@octokit/rest": "19.0.11", "byte-size": "8.1.1", "chalk": "4.1.0", "clone-deep": "4.0.1", "cmd-shim": "6.0.1", "columnify": "1.6.0", "conventional-changelog-core": "5.0.1", "conventional-recommended-bump": "7.0.1", "cosmiconfig": "^8.2.0", "dedent": "0.7.0", "execa": "5.0.0", "fs-extra": "^11.1.1", "get-stream": "6.0.0", "git-url-parse": "13.1.0", "glob-parent": "5.1.2", "globby": "11.1.0", "graceful-fs": "4.2.11", "has-unicode": "2.0.1", "ini": "^1.3.8", "init-package-json": "5.0.0", "inquirer": "^8.2.4", "is-ci": "3.0.1", "is-stream": "2.0.0", "js-yaml": "4.1.0", "libnpmpublish": "7.3.0", "load-json-file": "6.2.0", "lodash": "^4.17.21", "make-dir": "4.0.0", "minimatch": "3.0.5", "multimatch": "5.0.0", "node-fetch": "2.6.7", "npm-package-arg": "8.1.1", "npm-packlist": "5.1.1", "npm-registry-fetch": "^14.0.5", "npmlog": "^6.0.2", "nx": ">=16.5.1 < 17", "p-map": "4.0.0", "p-map-series": "2.1.0", "p-queue": "6.6.2", "p-reduce": "^2.1.0", "pacote": "^15.2.0", "pify": "5.0.0", "read-cmd-shim": "4.0.0", "read-package-json": "6.0.4", "resolve-from": "5.0.0", "rimraf": "^4.4.1", "semver": "^7.3.4", "signal-exit": "3.0.7", "slash": "^3.0.0", "ssri": "^9.0.1", "strong-log-transformer": "2.1.0", "tar": "6.1.11", "temp-dir": "1.0.0", "upath": "2.0.1", "uuid": "^9.0.0", "validate-npm-package-license": "^3.0.4", "validate-npm-package-name": "5.0.0", "write-file-atomic": "5.0.1", "write-pkg": "4.0.0", "yargs": "16.2.0", "yargs-parser": "20.2.4" } }, "sha512-1wplFbQ52K8E/unnqB0Tq39Z4e+NEoNrpovEnl6GpsTUrC6WDp8+w0Le2uCBV0hXyemxChduCkLz4/y1H1wTeg=="],
|
||||
|
||||
"@mapbox/jsonlint-lines-primitives": ["@mapbox/jsonlint-lines-primitives@2.0.2", "", {}, "sha512-rY0o9A5ECsTQRVhv7tL/OyDpGAoUB4tTvLiW1DSzQGq4bvTPhNw1VpSNjDJc5GFZ2XuyOtSWSVN05qOtcD71qQ=="],
|
||||
|
||||
"@mapbox/mapbox-gl-style-spec": ["@mapbox/mapbox-gl-style-spec@13.28.0", "", { "dependencies": { "@mapbox/jsonlint-lines-primitives": "~2.0.2", "@mapbox/point-geometry": "^0.1.0", "@mapbox/unitbezier": "^0.0.0", "csscolorparser": "~1.0.2", "json-stringify-pretty-compact": "^2.0.0", "minimist": "^1.2.6", "rw": "^1.3.3", "sort-object": "^0.3.2" }, "bin": { "gl-style-format": "bin/gl-style-format.js", "gl-style-migrate": "bin/gl-style-migrate.js", "gl-style-validate": "bin/gl-style-validate.js", "gl-style-composite": "bin/gl-style-composite.js" } }, "sha512-B8xM7Fp1nh5kejfIl4SWeY0gtIeewbuRencqO3cJDrCHZpaPg7uY+V8abuR+esMeuOjRl5cLhVTP40v+1ywxbg=="],
|
||||
|
||||
"@mapbox/point-geometry": ["@mapbox/point-geometry@0.1.0", "", {}, "sha512-6j56HdLTwWGO0fJPlrZtdU/B13q8Uwmo18Ck2GnGgN9PCFyKTZ3UbXeEdRFh18i9XQ92eH2VdtpJHpBD3aripQ=="],
|
||||
|
||||
"@mapbox/unitbezier": ["@mapbox/unitbezier@0.0.0", "", {}, "sha512-HPnRdYO0WjFjRTSwO3frz1wKaU649OBFPX3Zo/2WZvuRi6zMiRGui8SnPQiQABgqCf8YikDe5t3HViTVw1WUzA=="],
|
||||
|
||||
"@mdx-js/react": ["@mdx-js/react@2.3.0", "", { "dependencies": { "@types/mdx": "^2.0.0", "@types/react": ">=16" }, "peerDependencies": { "react": ">=16" } }, "sha512-zQH//gdOmuu7nt2oJR29vFhDv88oGPmVw6BggmrHeMI+xgEkp1B2dX9/bMBSYtK0dyLX/aOmesKS09g222K1/g=="],
|
||||
|
||||
"@microsoft/tsdoc": ["@microsoft/tsdoc@0.14.2", "", {}, "sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug=="],
|
||||
@ -2124,6 +2116,8 @@
|
||||
|
||||
"@types/range-parser": ["@types/range-parser@1.2.7", "", {}, "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ=="],
|
||||
|
||||
"@types/rbush": ["@types/rbush@4.0.0", "", {}, "sha512-+N+2H39P8X+Hy1I5mC6awlTX54k3FhiUmvt7HWzGJZvF+syUAAxP/stwppS8JE84YHqFgRMv6fCy31202CMFxQ=="],
|
||||
|
||||
"@types/react": ["@types/react@18.3.23", "", { "dependencies": { "@types/prop-types": "*", "csstype": "^3.0.2" } }, "sha512-/LDXMQh55EzZQ0uVAZmKKhfENivEvWz6E+EYzh+/MCjMhNsotd+ZHhBGIjFDTi6+fz0OhQQQLbTgdQIxxCsC0w=="],
|
||||
|
||||
"@types/react-dom": ["@types/react-dom@18.3.7", "", { "peerDependencies": { "@types/react": "^18.0.0" } }, "sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ=="],
|
||||
@ -2778,8 +2772,6 @@
|
||||
|
||||
"css-what": ["css-what@6.2.2", "", {}, "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA=="],
|
||||
|
||||
"csscolorparser": ["csscolorparser@1.0.3", "", {}, "sha512-umPSgYwZkdFoUrH5hIq5kf0wPSXiro51nPw0j2K/c83KflkPSTBGMz6NJvMB+07VlL0y7VPo6QJcDjcgKTTm3w=="],
|
||||
|
||||
"cssdb": ["cssdb@7.11.2", "", {}, "sha512-lhQ32TFkc1X4eTefGfYPvgovRSzIMofHkigfH8nWtyRL4XJLsRhJFreRvEgKzept7x1rjBuy3J/MurXLaFxW/A=="],
|
||||
|
||||
"cssesc": ["cssesc@3.0.0", "", { "bin": { "cssesc": "bin/cssesc" } }, "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg=="],
|
||||
@ -2954,7 +2946,7 @@
|
||||
|
||||
"detective": ["detective@5.2.1", "", { "dependencies": { "acorn-node": "^1.8.2", "defined": "^1.0.0", "minimist": "^1.2.6" }, "bin": { "detective": "bin/detective.js" } }, "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw=="],
|
||||
|
||||
"dicom-microscopy-viewer": ["dicom-microscopy-viewer@0.46.1", "", { "dependencies": { "@cornerstonejs/codec-charls": "^1.2.3", "@cornerstonejs/codec-libjpeg-turbo-8bit": "^1.2.2", "@cornerstonejs/codec-openjpeg": "^1.2.2", "@cornerstonejs/codec-openjph": "^2.4.5", "colormap": "^2.3", "dcmjs": "^0.29.8", "dicomicc": "^0.1", "dicomweb-client": "^0.8.4", "image-type": "^4.1", "mathjs": "^11.2", "ol": "^7.1", "uuid": "^9.0" } }, "sha512-QLozX/iM6ZA0TxheHQnTNiLg+RbSVlxYKMNG9qdqV5oNbEDOf+z4/8mDqnAQ8wjlQXE2MbUDX8JRa0LmO9mDTg=="],
|
||||
"dicom-microscopy-viewer": ["dicom-microscopy-viewer@0.48.6", "", { "dependencies": { "@cornerstonejs/codec-charls": "^1.2.3", "@cornerstonejs/codec-libjpeg-turbo-8bit": "^1.2.2", "@cornerstonejs/codec-openjpeg": "^1.2.4", "@cornerstonejs/codec-openjph": "^2.4.5", "colormap": "^2.3", "dcmjs": "^0.41.0", "dicomicc": "^0.1", "dicomweb-client": "^0.10.3", "image-type": "^4.1", "mathjs": "^11.2", "ol": "^10.4.0", "uuid": "^9.0" } }, "sha512-cTQ14qE3zqzlH0QOIhxbrIOsLVNCV6/i9qDrIiOnmD3I1R2W6cwRN4iMgQ0c6zas/9+o645Tu37FA6BqQ3fIlg=="],
|
||||
|
||||
"dicom-parser": ["dicom-parser@1.8.21", "", {}, "sha512-lYCweHQDsC8UFpXErPlg86Px2A8bay0HiUY+wzoG3xv5GzgqVHU3lziwSc/Gzn7VV7y2KeP072SzCviuOoU02w=="],
|
||||
|
||||
@ -3022,7 +3014,7 @@
|
||||
|
||||
"duplexify": ["duplexify@3.7.1", "", { "dependencies": { "end-of-stream": "^1.0.0", "inherits": "^2.0.1", "readable-stream": "^2.0.0", "stream-shift": "^1.0.0" } }, "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g=="],
|
||||
|
||||
"earcut": ["earcut@2.2.4", "", {}, "sha512-/pjZsA1b4RPHbeWZQn66SWS8nZZWLQQ23oE3Eam7aroEFGEvwKAsJfZ9ytiEMycfzXWpca4FA9QIOehf7PocBQ=="],
|
||||
"earcut": ["earcut@3.0.2", "", {}, "sha512-X7hshQbLyMJ/3RPhyObLARM2sNxxmRALLKx1+NVFFnQ9gKzmCrxm9+uLIAdBcvc8FNLpctqlQ2V6AE92Ol9UDQ=="],
|
||||
|
||||
"eastasianwidth": ["eastasianwidth@0.2.0", "", {}, "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA=="],
|
||||
|
||||
@ -3834,8 +3826,6 @@
|
||||
|
||||
"json-stable-stringify-without-jsonify": ["json-stable-stringify-without-jsonify@1.0.1", "", {}, "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw=="],
|
||||
|
||||
"json-stringify-pretty-compact": ["json-stringify-pretty-compact@2.0.0", "", {}, "sha512-WRitRfs6BGq4q8gTgOy4ek7iPFXjbra0H3PmDLKm2xnZ+Gh1HUhiKGgCZkSPNULlP7mvfu6FV/mOLhCarspADQ=="],
|
||||
|
||||
"json-stringify-safe": ["json-stringify-safe@5.0.1", "", {}, "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA=="],
|
||||
|
||||
"json5": ["json5@2.2.3", "", { "bin": { "json5": "lib/cli.js" } }, "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg=="],
|
||||
@ -3990,8 +3980,6 @@
|
||||
|
||||
"map-or-similar": ["map-or-similar@1.5.0", "", {}, "sha512-0aF7ZmVon1igznGI4VS30yugpduQW3y3GkcgGJOp7d8x8QrizhigUxjI/m2UojsXXto+jLAH3KSz+xOJTiORjg=="],
|
||||
|
||||
"mapbox-to-css-font": ["mapbox-to-css-font@2.4.5", "", {}, "sha512-VJ6nB8emkO9VODI0Fk+TQ/0zKBTqmf/Pkt8Xv0kHstoc0iXRajA00DAid4Kc3K5xeFIOoiZrVxijEzj0GLVO2w=="],
|
||||
|
||||
"markdown-table": ["markdown-table@3.0.4", "", {}, "sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw=="],
|
||||
|
||||
"markdown-to-jsx": ["markdown-to-jsx@7.7.12", "", { "peerDependencies": { "react": ">= 0.14.0" } }, "sha512-Y5xNBqoaTooSLkmlg2P0fdbh53gp4MqW7zhvcweGCPUWvWI5BecWRYI8vPlzT8D7OULxsQg2qoRW9EsJlBWasQ=="],
|
||||
@ -4292,9 +4280,7 @@
|
||||
|
||||
"oidc-client-ts": ["oidc-client-ts@3.3.0", "", { "dependencies": { "jwt-decode": "^4.0.0" } }, "sha512-t13S540ZwFOEZKLYHJwSfITugupW4uYLwuQSSXyKH/wHwZ+7FvgHE7gnNJh1YQIZ1Yd1hKSRjqeXGSUtS0r9JA=="],
|
||||
|
||||
"ol": ["ol@7.5.2", "", { "dependencies": { "earcut": "^2.2.3", "geotiff": "^2.0.7", "ol-mapbox-style": "^10.1.0", "pbf": "3.2.1", "rbush": "^3.0.1" } }, "sha512-HJbb3CxXrksM6ct367LsP3N+uh+iBBMdP3DeGGipdV9YAYTP0vTJzqGnoqQ6C2IW4qf8krw9yuyQbc9fjOIaOQ=="],
|
||||
|
||||
"ol-mapbox-style": ["ol-mapbox-style@10.7.0", "", { "dependencies": { "@mapbox/mapbox-gl-style-spec": "^13.23.1", "mapbox-to-css-font": "^2.4.1", "ol": "^7.3.0" } }, "sha512-S/UdYBuOjrotcR95Iq9AejGYbifKeZE85D9VtH11ryJLQPTZXZSW1J5bIXcr4AlAH6tyjPPHTK34AdkwB32Myw=="],
|
||||
"ol": ["ol@10.6.1", "", { "dependencies": { "@types/rbush": "4.0.0", "earcut": "^3.0.0", "geotiff": "^2.1.3", "pbf": "4.0.1", "rbush": "^4.0.0" } }, "sha512-xp174YOwPeLj7c7/8TCIEHQ4d41tgTDDhdv6SqNdySsql5/MaFJEJkjlsYcvOPt7xA6vrum/QG4UdJ0iCGT1cg=="],
|
||||
|
||||
"on-finished": ["on-finished@2.4.1", "", { "dependencies": { "ee-first": "1.1.1" } }, "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg=="],
|
||||
|
||||
@ -4404,7 +4390,7 @@
|
||||
|
||||
"pathe": ["pathe@2.0.3", "", {}, "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w=="],
|
||||
|
||||
"pbf": ["pbf@3.2.1", "", { "dependencies": { "ieee754": "^1.1.12", "resolve-protobuf-schema": "^2.1.0" }, "bin": { "pbf": "bin/pbf" } }, "sha512-ClrV7pNOn7rtmoQVF4TS1vyU0WhYRnP92fzbfF75jAIwpnzdJXf8iTd4CMEqO4yUenH6NDqLiwjqlh6QgZzgLQ=="],
|
||||
"pbf": ["pbf@4.0.1", "", { "dependencies": { "resolve-protobuf-schema": "^2.1.0" }, "bin": { "pbf": "bin/pbf" } }, "sha512-SuLdBvS42z33m8ejRbInMapQe8n0D3vN/Xd5fmWM3tufNgRQFBpaW2YVJxQZV4iPNqb0vEFvssMEo5w9c6BTIA=="],
|
||||
|
||||
"pbkdf2": ["pbkdf2@3.1.3", "", { "dependencies": { "create-hash": "~1.1.3", "create-hmac": "^1.1.7", "ripemd160": "=2.0.1", "safe-buffer": "^5.2.1", "sha.js": "^2.4.11", "to-buffer": "^1.2.0" } }, "sha512-wfRLBZ0feWRhCIkoMB6ete7czJcnNnqRpcoWQBLqatqXXmelSRqfdDK4F3u9T2s2cXas/hQJcryI/4lAL+XTlA=="],
|
||||
|
||||
@ -4672,7 +4658,7 @@
|
||||
|
||||
"quick-lru": ["quick-lru@5.1.1", "", {}, "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA=="],
|
||||
|
||||
"quickselect": ["quickselect@2.0.0", "", {}, "sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw=="],
|
||||
"quickselect": ["quickselect@3.0.0", "", {}, "sha512-XdjUArbK4Bm5fLLvlm5KpTFOiOThgfWWI4axAZDWg4E/0mKdZyI9tNEfds27qCi1ze/vwTR16kvmmGhRra3c2g=="],
|
||||
|
||||
"rabin-rs": ["rabin-rs@2.1.0", "", {}, "sha512-5y72gAXPzIBsAMHcpxZP8eMDuDT98qMP1BqSDHRbHkJJXEgWIN1lA47LxUqzsK6jknOJtgfkQr9v+7qMlFDm6g=="],
|
||||
|
||||
@ -4690,7 +4676,7 @@
|
||||
|
||||
"raw-body": ["raw-body@2.5.2", "", { "dependencies": { "bytes": "3.1.2", "http-errors": "2.0.0", "iconv-lite": "0.4.24", "unpipe": "1.0.0" } }, "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA=="],
|
||||
|
||||
"rbush": ["rbush@3.0.1", "", { "dependencies": { "quickselect": "^2.0.0" } }, "sha512-XRaVO0YecOpEuIvbhbpTrZgoiI6xBlz6hnlr6EHhd+0x9ase6EmeN+hdwwUaJvLcsFFQ8iWVF1GAK1yB0BWi0w=="],
|
||||
"rbush": ["rbush@4.0.1", "", { "dependencies": { "quickselect": "^3.0.0" } }, "sha512-IP0UpfeWQujYC8Jg162rMNc01Rf0gWMMAb2Uxus/Q0qOFw4lCcq6ZnQEZwUoJqWyUGJ9th7JjwI4yIWo+uvoAQ=="],
|
||||
|
||||
"rc": ["rc@1.2.8", "", { "dependencies": { "deep-extend": "^0.6.0", "ini": "~1.3.0", "minimist": "^1.2.0", "strip-json-comments": "~2.0.1" }, "bin": { "rc": "./cli.js" } }, "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw=="],
|
||||
|
||||
@ -4878,8 +4864,6 @@
|
||||
|
||||
"run-parallel": ["run-parallel@1.2.0", "", { "dependencies": { "queue-microtask": "^1.2.2" } }, "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA=="],
|
||||
|
||||
"rw": ["rw@1.3.3", "", {}, "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ=="],
|
||||
|
||||
"rxjs": ["rxjs@7.8.2", "", { "dependencies": { "tslib": "^2.1.0" } }, "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA=="],
|
||||
|
||||
"sade": ["sade@1.8.1", "", { "dependencies": { "mri": "^1.1.0" } }, "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A=="],
|
||||
@ -4986,14 +4970,8 @@
|
||||
|
||||
"sonner": ["sonner@1.7.4", "", { "peerDependencies": { "react": "^18.0.0 || ^19.0.0 || ^19.0.0-rc", "react-dom": "^18.0.0 || ^19.0.0 || ^19.0.0-rc" } }, "sha512-DIS8z4PfJRbIyfVFDVnK9rO3eYDtse4Omcm6bt0oEr5/jtLgysmjuBl1frJ9E/EQZrFmKx2A8m/s5s9CRXIzhw=="],
|
||||
|
||||
"sort-asc": ["sort-asc@0.1.0", "", {}, "sha512-jBgdDd+rQ+HkZF2/OHCmace5dvpos/aWQpcxuyRs9QUbPRnkEJmYVo81PIGpjIdpOcsnJ4rGjStfDHsbn+UVyw=="],
|
||||
|
||||
"sort-desc": ["sort-desc@0.1.1", "", {}, "sha512-jfZacW5SKOP97BF5rX5kQfJmRVZP5/adDUTY8fCSPvNcXDVpUEe2pr/iKGlcyZzchRJZrswnp68fgk3qBXgkJw=="],
|
||||
|
||||
"sort-keys": ["sort-keys@1.1.2", "", { "dependencies": { "is-plain-obj": "^1.0.0" } }, "sha512-vzn8aSqKgytVik0iwdBEi+zevbTYZogewTUM6dtpmGwEcdzbub/TX4bCzRhebDCRC3QzXgJsLRKB2V/Oof7HXg=="],
|
||||
|
||||
"sort-object": ["sort-object@0.3.2", "", { "dependencies": { "sort-asc": "^0.1.0", "sort-desc": "^0.1.1" } }, "sha512-aAQiEdqFTTdsvUFxXm3umdo04J7MRljoVGbBlkH7BgNsMvVNAJyGj7C/wV1A8wHWAJj/YikeZbfuCKqhggNWGA=="],
|
||||
|
||||
"source-list-map": ["source-list-map@2.0.1", "", {}, "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw=="],
|
||||
|
||||
"source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="],
|
||||
@ -6046,8 +6024,6 @@
|
||||
|
||||
"detect-package-manager/execa": ["execa@5.1.1", "", { "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^6.0.0", "human-signals": "^2.1.0", "is-stream": "^2.0.0", "merge-stream": "^2.0.0", "npm-run-path": "^4.0.1", "onetime": "^5.1.2", "signal-exit": "^3.0.3", "strip-final-newline": "^2.0.0" } }, "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg=="],
|
||||
|
||||
"dicom-microscopy-viewer/dicomweb-client": ["dicomweb-client@0.8.4", "", {}, "sha512-/6oY3/Fg9JyAlbTWuJOYbVqici3+nlZt43+Z/Y47RNiqLc028JcxNlY28u4VQqksxfB59f1hhNbsqsHyDT4vhw=="],
|
||||
|
||||
"dicom-microscopy-viewer/mathjs": ["mathjs@11.12.0", "", { "dependencies": { "@babel/runtime": "^7.23.2", "complex.js": "^2.1.1", "decimal.js": "^10.4.3", "escape-latex": "^1.2.0", "fraction.js": "4.3.4", "javascript-natural-sort": "^0.7.1", "seedrandom": "^3.0.5", "tiny-emitter": "^2.1.0", "typed-function": "^4.1.1" }, "bin": { "mathjs": "bin/cli.js" } }, "sha512-UGhVw8rS1AyedyI55DGz9q1qZ0p98kyKPyc9vherBkoueLntPfKtPBh14x+V4cdUWK0NZV2TBwqRFlvadscSuw=="],
|
||||
|
||||
"diffie-hellman/bn.js": ["bn.js@4.12.2", "", {}, "sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw=="],
|
||||
|
||||
@ -46,8 +46,8 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.20.13",
|
||||
"@cornerstonejs/adapters": "^3.32.5",
|
||||
"@cornerstonejs/core": "^3.32.5",
|
||||
"@cornerstonejs/adapters": "^3.32.12",
|
||||
"@cornerstonejs/core": "^3.32.12",
|
||||
"@kitware/vtk.js": "32.12.0",
|
||||
"react-color": "^2.19.3"
|
||||
}
|
||||
|
||||
@ -46,8 +46,8 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.20.13",
|
||||
"@cornerstonejs/adapters": "^3.32.5",
|
||||
"@cornerstonejs/core": "^3.32.5",
|
||||
"@cornerstonejs/adapters": "^3.32.12",
|
||||
"@cornerstonejs/core": "^3.32.12",
|
||||
"@kitware/vtk.js": "32.12.0",
|
||||
"react-color": "^2.19.3"
|
||||
}
|
||||
|
||||
@ -46,9 +46,9 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.20.13",
|
||||
"@cornerstonejs/adapters": "^3.32.5",
|
||||
"@cornerstonejs/core": "^3.32.5",
|
||||
"@cornerstonejs/tools": "^3.32.5",
|
||||
"@cornerstonejs/adapters": "^3.32.12",
|
||||
"@cornerstonejs/core": "^3.32.12",
|
||||
"@cornerstonejs/tools": "^3.32.12",
|
||||
"classnames": "^2.3.2"
|
||||
}
|
||||
}
|
||||
|
||||
@ -42,8 +42,8 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.20.13",
|
||||
"@cornerstonejs/core": "^3.32.5",
|
||||
"@cornerstonejs/tools": "^3.32.5",
|
||||
"@cornerstonejs/core": "^3.32.12",
|
||||
"@cornerstonejs/tools": "^3.32.12",
|
||||
"classnames": "^2.3.2"
|
||||
}
|
||||
}
|
||||
|
||||
@ -38,7 +38,7 @@
|
||||
"@cornerstonejs/codec-libjpeg-turbo-8bit": "^1.2.2",
|
||||
"@cornerstonejs/codec-openjpeg": "^1.2.4",
|
||||
"@cornerstonejs/codec-openjph": "^2.4.5",
|
||||
"@cornerstonejs/dicom-image-loader": "^3.32.5",
|
||||
"@cornerstonejs/dicom-image-loader": "^3.32.12",
|
||||
"@ohif/core": "3.12.0-beta.7",
|
||||
"@ohif/ui": "3.12.0-beta.7",
|
||||
"dcmjs": "0.43.1",
|
||||
@ -51,12 +51,12 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.20.13",
|
||||
"@cornerstonejs/adapters": "^3.32.5",
|
||||
"@cornerstonejs/ai": "^3.32.5",
|
||||
"@cornerstonejs/core": "^3.32.5",
|
||||
"@cornerstonejs/labelmap-interpolation": "^3.32.5",
|
||||
"@cornerstonejs/polymorphic-segmentation": "^3.32.5",
|
||||
"@cornerstonejs/tools": "^3.32.5",
|
||||
"@cornerstonejs/adapters": "^3.32.12",
|
||||
"@cornerstonejs/ai": "^3.32.12",
|
||||
"@cornerstonejs/core": "^3.32.12",
|
||||
"@cornerstonejs/labelmap-interpolation": "^3.32.12",
|
||||
"@cornerstonejs/polymorphic-segmentation": "^3.32.12",
|
||||
"@cornerstonejs/tools": "^3.32.12",
|
||||
"@itk-wasm/morphological-contour-interpolation": "1.1.0",
|
||||
"@kitware/vtk.js": "32.12.0",
|
||||
"html2canvas": "^1.4.1",
|
||||
|
||||
@ -55,6 +55,10 @@ export default async function init({
|
||||
extensionManager,
|
||||
appConfig,
|
||||
}: withAppTypes): Promise<void> {
|
||||
// Use a public library path of PUBLIC_URL plus the component name
|
||||
// This safely separates components that are loaded as-is.
|
||||
window.PUBLIC_LIB_URL ||= './${component}/';
|
||||
|
||||
// Note: this should run first before initializing the cornerstone
|
||||
// DO NOT CHANGE THE ORDER
|
||||
|
||||
@ -195,7 +199,6 @@ export default async function init({
|
||||
commandsManager.runCommand('jumpToMeasurementViewport', { measurement, annotationUID, evt });
|
||||
});
|
||||
|
||||
|
||||
// When a custom image load is performed, update the relevant viewports
|
||||
hangingProtocolService.subscribe(
|
||||
hangingProtocolService.EVENTS.CUSTOM_IMAGE_LOAD_PERFORMED,
|
||||
|
||||
@ -0,0 +1,113 @@
|
||||
import OHIF, { DicomMetadataStore } from '@ohif/core';
|
||||
import loadAnnotation from './utils/loadAnnotation';
|
||||
import getSourceDisplaySet from './utils/getSourceDisplaySet';
|
||||
|
||||
const { utils } = OHIF;
|
||||
|
||||
const SOP_CLASS_UIDS = {
|
||||
MICROSCOPY_BULK_SIMPLE_ANNOTATION: '1.2.840.10008.5.1.4.1.1.91.1',
|
||||
};
|
||||
|
||||
const SOPClassHandlerId =
|
||||
'@ohif/extension-dicom-microscopy.sopClassHandlerModule.DicomMicroscopyANNSopClassHandler';
|
||||
|
||||
function _getDisplaySetsFromSeries(instances, servicesManager, extensionManager) {
|
||||
// If the series has no instances, stop here
|
||||
if (!instances || !instances.length) {
|
||||
throw new Error('No instances were provided');
|
||||
}
|
||||
|
||||
const { displaySetService, microscopyService } = servicesManager.services;
|
||||
|
||||
// Sort instances by date/time in ascending order (oldest first)
|
||||
const sortedInstances = [...instances].sort((a, b) => {
|
||||
const dateA = `${a.ContentDate}${a.ContentTime}`;
|
||||
const dateB = `${b.ContentDate}${b.ContentTime}`;
|
||||
return dateA.localeCompare(dateB);
|
||||
});
|
||||
|
||||
// Get the most recent instance (last in the sorted array)
|
||||
const instance = sortedInstances[sortedInstances.length - 1];
|
||||
|
||||
const naturalizedDataset = DicomMetadataStore.getSeries(
|
||||
instance.StudyInstanceUID,
|
||||
instance.SeriesInstanceUID
|
||||
).instances[0];
|
||||
|
||||
const {
|
||||
SeriesDescription,
|
||||
ContentDate,
|
||||
ContentTime,
|
||||
SeriesNumber,
|
||||
StudyInstanceUID,
|
||||
SeriesInstanceUID,
|
||||
SOPInstanceUID,
|
||||
SOPClassUID,
|
||||
} = instance;
|
||||
|
||||
const displaySet = {
|
||||
isOverlayDisplaySet: true,
|
||||
plugin: 'microscopy',
|
||||
Modality: 'ANN',
|
||||
thumbnailSrc: null,
|
||||
altImageText: 'Microscopy Annotation',
|
||||
displaySetInstanceUID: utils.uuidv4(),
|
||||
SOPInstanceUID,
|
||||
SeriesInstanceUID,
|
||||
StudyInstanceUID,
|
||||
SOPClassHandlerId,
|
||||
SOPClassUID,
|
||||
SeriesDescription,
|
||||
// Map the content date/time to the series date/time, these are only used for filtering.
|
||||
SeriesDate: ContentDate,
|
||||
SeriesTime: ContentTime,
|
||||
SeriesNumber,
|
||||
instance,
|
||||
metadata: naturalizedDataset,
|
||||
isDerived: true,
|
||||
isLoading: false,
|
||||
isLoaded: false,
|
||||
loadError: false,
|
||||
};
|
||||
|
||||
displaySet.load = function () {
|
||||
return loadAnnotation({
|
||||
microscopyService,
|
||||
displaySet,
|
||||
extensionManager,
|
||||
servicesManager,
|
||||
}).catch(error => {
|
||||
displaySet.isLoaded = false;
|
||||
displaySet.loadError = true;
|
||||
throw new Error(error);
|
||||
});
|
||||
};
|
||||
|
||||
displaySet.getSourceDisplaySet = function () {
|
||||
let allDisplaySets = [];
|
||||
const studyMetadata = DicomMetadataStore.getStudy(StudyInstanceUID);
|
||||
studyMetadata.series.forEach(series => {
|
||||
const displaySets = displaySetService.getDisplaySetsForSeries(series.SeriesInstanceUID);
|
||||
allDisplaySets = allDisplaySets.concat(displaySets);
|
||||
});
|
||||
const ds = getSourceDisplaySet(allDisplaySets, displaySet);
|
||||
return ds;
|
||||
};
|
||||
|
||||
return [displaySet];
|
||||
}
|
||||
|
||||
export default function getDicomMicroscopyANNSopClassHandler({
|
||||
servicesManager,
|
||||
extensionManager,
|
||||
}) {
|
||||
const getDisplaySetsFromSeries = instances => {
|
||||
return _getDisplaySetsFromSeries(instances, servicesManager, extensionManager);
|
||||
};
|
||||
|
||||
return {
|
||||
name: 'DicomMicroscopyANNSopClassHandler',
|
||||
sopClassUids: [SOP_CLASS_UIDS.MICROSCOPY_BULK_SIMPLE_ANNOTATION],
|
||||
getDisplaySetsFromSeries,
|
||||
};
|
||||
}
|
||||
@ -62,6 +62,7 @@ function _getDisplaySetsFromSeries(instances, servicesManager, extensionManager)
|
||||
} = instance;
|
||||
|
||||
const displaySet = {
|
||||
isOverlayDisplaySet: true,
|
||||
plugin: 'microscopy',
|
||||
Modality: 'SR',
|
||||
altImageText: 'Microscopy SR',
|
||||
|
||||
@ -172,7 +172,7 @@ function DicomMicroscopyViewport({
|
||||
microscopyService.clearAnnotations();
|
||||
|
||||
let smDisplaySet = displaySet;
|
||||
if (displaySet.Modality === 'SR') {
|
||||
if (displaySet.isOverlayDisplaySet) {
|
||||
// for SR displaySet, let's load the actual image displaySet
|
||||
smDisplaySet = displaySet.getSourceDisplaySet();
|
||||
}
|
||||
@ -180,7 +180,7 @@ function DicomMicroscopyViewport({
|
||||
|
||||
await loadViewer(smDisplaySet.others);
|
||||
|
||||
if (displaySet.Modality === 'SR') {
|
||||
if (displaySet.isOverlayDisplaySet && !displaySet.isLoaded && !displaySet.isLoading) {
|
||||
displaySet.load(smDisplaySet);
|
||||
}
|
||||
},
|
||||
@ -205,8 +205,8 @@ function DicomMicroscopyViewport({
|
||||
|
||||
microscopyService.clearAnnotations();
|
||||
|
||||
// loading SR
|
||||
if (displaySet.Modality === 'SR') {
|
||||
// loading SR - only if not already loaded and not currently loading
|
||||
if (displaySet.isOverlayDisplaySet && !displaySet.isLoaded && !displaySet.isLoading) {
|
||||
const referencedDisplaySet = displaySet.getSourceDisplaySet();
|
||||
displaySet.load(referencedDisplaySet);
|
||||
}
|
||||
|
||||
@ -7,6 +7,7 @@ import { Types } from '@ohif/core';
|
||||
|
||||
import { useViewportGrid } from '@ohif/ui-next';
|
||||
import getDicomMicroscopySRSopClassHandler from './DicomMicroscopySRSopClassHandler';
|
||||
import getDicomMicroscopyANNSopClassHandler from './DicomMicroscopyANNSopClassHandler';
|
||||
import MicroscopyService from './services/MicroscopyService';
|
||||
import { useResizeDetector } from 'react-resize-detector';
|
||||
import debounce from 'lodash.debounce';
|
||||
@ -43,7 +44,7 @@ const extension: Types.Extensions.Extension = {
|
||||
* {name, component} object. Example of a viewport module is the CornerstoneViewport
|
||||
* that is provided by the Cornerstone extension in OHIF.
|
||||
*/
|
||||
getViewportModule({ servicesManager, extensionManager, commandsManager }) {
|
||||
getViewportModule({ servicesManager }) {
|
||||
/**
|
||||
*
|
||||
* @param props {*}
|
||||
@ -150,7 +151,10 @@ const extension: Types.Extensions.Extension = {
|
||||
* Examples include the default sop class handler provided by the default extension
|
||||
*/
|
||||
getSopClassHandlerModule(params) {
|
||||
return [getDicomMicroscopySRSopClassHandler(params)];
|
||||
return [
|
||||
getDicomMicroscopySRSopClassHandler(params),
|
||||
getDicomMicroscopyANNSopClassHandler(params),
|
||||
];
|
||||
},
|
||||
|
||||
getPanelModule,
|
||||
|
||||
@ -22,7 +22,7 @@ export default class MicroscopyService extends PubSubService {
|
||||
return {
|
||||
name: 'microscopyService',
|
||||
altName: 'MicroscopyService',
|
||||
create: (props) => {
|
||||
create: props => {
|
||||
return new MicroscopyService(props);
|
||||
},
|
||||
};
|
||||
@ -71,7 +71,7 @@ export default class MicroscopyService extends PubSubService {
|
||||
}
|
||||
|
||||
public importDicomMicroscopyViewer(): Promise<any> {
|
||||
return this.peerImport("dicom-microscopy-viewer");
|
||||
return this.peerImport('dicom-microscopy-viewer');
|
||||
}
|
||||
|
||||
/**
|
||||
@ -260,6 +260,11 @@ export default class MicroscopyService extends PubSubService {
|
||||
return Array.from(this.managedViewers).filter(filter);
|
||||
}
|
||||
|
||||
getManagedViewersForViewport(viewportId) {
|
||||
const filter = managedViewer => managedViewer.viewportId === viewportId;
|
||||
return Array.from(this.managedViewers).filter(filter);
|
||||
}
|
||||
|
||||
/**
|
||||
* Restores the created annotations for the viewer being added
|
||||
*
|
||||
@ -290,6 +295,13 @@ export default class MicroscopyService extends PubSubService {
|
||||
* @returns {ViewerManager} managed viewer
|
||||
*/
|
||||
addViewer(viewer, viewportId, container, studyInstanceUID, seriesInstanceUID) {
|
||||
// Check if a viewer already exists for this viewportId
|
||||
const existingViewer = Array.from(this.managedViewers).find(mv => mv.viewportId === viewportId);
|
||||
if (existingViewer) {
|
||||
// If a viewer exists, remove it first
|
||||
this.removeViewer(existingViewer.viewer);
|
||||
}
|
||||
|
||||
const managedViewer = new ViewerManager(
|
||||
viewer,
|
||||
viewportId,
|
||||
@ -355,6 +367,10 @@ export default class MicroscopyService extends PubSubService {
|
||||
}
|
||||
});
|
||||
|
||||
if (recentDisplaySet.isLoading) {
|
||||
return;
|
||||
}
|
||||
|
||||
recentDisplaySet.isLoading = true;
|
||||
|
||||
recentDisplaySet.load(smDisplaySet);
|
||||
|
||||
@ -9,6 +9,9 @@ const DCM_CODE_VALUES = {
|
||||
SHORT_AXIS: 'G-A186',
|
||||
LONG_AXIS: 'G-A185',
|
||||
ELLIPSE_AREA: 'G-D7FE', // TODO: Remove this
|
||||
ANNOTATION: '121071',
|
||||
ANNOTATION_GROUP: '121072',
|
||||
ANNOTATION_LABEL: '121073',
|
||||
};
|
||||
|
||||
export default DCM_CODE_VALUES;
|
||||
|
||||
@ -6,7 +6,15 @@
|
||||
* @returns
|
||||
*/
|
||||
export default function getSourceDisplaySet(allDisplaySets, microscopySRDisplaySet) {
|
||||
const { ReferencedFrameOfReferenceUID } = microscopySRDisplaySet;
|
||||
const { ReferencedFrameOfReferenceUID, metadata } = microscopySRDisplaySet;
|
||||
|
||||
if (metadata.ReferencedSeriesSequence) {
|
||||
const { ReferencedSeriesSequence } = metadata;
|
||||
const referencedSeries = ReferencedSeriesSequence[0];
|
||||
const { SeriesInstanceUID } = referencedSeries;
|
||||
const displaySets = allDisplaySets.filter(ds => ds.SeriesInstanceUID === SeriesInstanceUID);
|
||||
return displaySets[0];
|
||||
}
|
||||
|
||||
const otherDisplaySets = allDisplaySets.filter(
|
||||
ds => ds.displaySetInstanceUID !== microscopySRDisplaySet.displaySetInstanceUID
|
||||
|
||||
95
extensions/dicom-microscopy/src/utils/loadAnnotation.js
Normal file
95
extensions/dicom-microscopy/src/utils/loadAnnotation.js
Normal file
@ -0,0 +1,95 @@
|
||||
import getDicomWebClient from './dicomWebClient';
|
||||
|
||||
/**
|
||||
* Loads and displays DICOM Microscopy Bulk Simple Annotations.
|
||||
*
|
||||
* This utility function:
|
||||
* 1. Retrieves series metadata from a DICOMweb server using study and series instance UIDs
|
||||
* 2. Converts metadata into MicroscopyBulkSimpleAnnotations objects
|
||||
* 3. Adds annotations to the viewer in groups (identified by AnnotationGroupUID)
|
||||
* 4. Applies a consistent yellow color ([255, 234, 0]) to all annotation groups
|
||||
* 5. Makes the annotation groups visible in the viewer
|
||||
*
|
||||
* @param {Object} params - The parameters object
|
||||
* @param {Object} params.microscopyService - Service for handling microscopy operations
|
||||
* @param {Object} params.displaySet - The display set containing metadata
|
||||
* @param {Object} params.extensionManager - Manager for extensions
|
||||
* @param {Object} params.servicesManager - Manager for services
|
||||
* @returns {Promise} A promise that resolves with the loaded display set
|
||||
*/
|
||||
export default function loadAnnotation({
|
||||
microscopyService,
|
||||
displaySet,
|
||||
extensionManager,
|
||||
servicesManager,
|
||||
}) {
|
||||
const { uiNotificationService } = servicesManager.services;
|
||||
return new Promise(async (resolve, reject) => {
|
||||
try {
|
||||
displaySet.isLoading = true;
|
||||
const { metadata } = displaySet;
|
||||
|
||||
const dicomMicroscopyModule = await microscopyService.importDicomMicroscopyViewer();
|
||||
|
||||
const client = getDicomWebClient({
|
||||
extensionManager,
|
||||
servicesManager,
|
||||
});
|
||||
|
||||
const viewportId = servicesManager.services.viewportGridService.getActiveViewportId();
|
||||
const managedViewers = microscopyService.getManagedViewersForViewport(viewportId);
|
||||
const managedViewer = managedViewers[0];
|
||||
|
||||
client
|
||||
.retrieveSeriesMetadata({
|
||||
studyInstanceUID: metadata.StudyInstanceUID,
|
||||
seriesInstanceUID: metadata.SeriesInstanceUID,
|
||||
})
|
||||
.then(async retrievedMetadata => {
|
||||
const annotations = retrievedMetadata.map(
|
||||
metadata =>
|
||||
new dicomMicroscopyModule.metadata.MicroscopyBulkSimpleAnnotations({ metadata })
|
||||
);
|
||||
|
||||
uiNotificationService.show({
|
||||
message: 'Loading annotations...',
|
||||
type: 'info',
|
||||
});
|
||||
|
||||
await Promise.all(
|
||||
annotations.map(async ann => {
|
||||
try {
|
||||
await managedViewer.viewer.addAnnotationGroups(ann);
|
||||
|
||||
ann.AnnotationGroupSequence.forEach(item => {
|
||||
const annotationGroupUID = item.AnnotationGroupUID;
|
||||
managedViewer.viewer.setAnnotationGroupStyle(annotationGroupUID, {
|
||||
color: [255, 234, 0],
|
||||
});
|
||||
});
|
||||
|
||||
ann.AnnotationGroupSequence.forEach(item => {
|
||||
const annotationGroupUID = item.AnnotationGroupUID;
|
||||
managedViewer.viewer.showAnnotationGroup(annotationGroupUID);
|
||||
});
|
||||
} catch (error) {
|
||||
console.error('failed to add annotation groups:', error);
|
||||
uiNotificationService.show({
|
||||
title: 'Error loading annotations',
|
||||
message: error.message,
|
||||
type: 'error',
|
||||
});
|
||||
}
|
||||
})
|
||||
);
|
||||
|
||||
displaySet.isLoaded = true;
|
||||
displaySet.isLoading = false;
|
||||
resolve(displaySet);
|
||||
});
|
||||
} catch (error) {
|
||||
console.error('Error loading annotation:', error);
|
||||
reject(error);
|
||||
}
|
||||
});
|
||||
}
|
||||
@ -32,8 +32,8 @@
|
||||
"start": "yarn run dev"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@cornerstonejs/core": "^3.32.5",
|
||||
"@cornerstonejs/tools": "^3.32.5",
|
||||
"@cornerstonejs/core": "^3.32.12",
|
||||
"@cornerstonejs/tools": "^3.32.12",
|
||||
"@ohif/core": "3.12.0-beta.7",
|
||||
"@ohif/extension-cornerstone-dicom-sr": "3.12.0-beta.7",
|
||||
"@ohif/extension-default": "3.12.0-beta.7",
|
||||
|
||||
@ -24,7 +24,7 @@ export default function PanelStudyBrowserTracking({
|
||||
|
||||
const checkDirtyMeasurements = displaySetInstanceUID => {
|
||||
const displaySet = displaySetService.getDisplaySetByUID(displaySetInstanceUID);
|
||||
if (displaySet.Modality === 'SR') {
|
||||
if (displaySet.Modality === 'SR' || displaySet.Modality === 'ANN') {
|
||||
const activeViewportId = viewportGridService.getActiveViewportId();
|
||||
sendTrackedMeasurementsEvent('CHECK_DIRTY', {
|
||||
viewportId: activeViewportId,
|
||||
|
||||
@ -42,8 +42,8 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.20.13",
|
||||
"@cornerstonejs/core": "^3.32.5",
|
||||
"@cornerstonejs/tools": "^3.32.5",
|
||||
"@cornerstonejs/core": "^3.32.12",
|
||||
"@cornerstonejs/tools": "^3.32.12",
|
||||
"@ohif/core": "3.12.0-beta.7",
|
||||
"@ohif/extension-cornerstone": "3.12.0-beta.7",
|
||||
"@ohif/extension-default": "3.12.0-beta.7",
|
||||
|
||||
@ -103,6 +103,7 @@ function modeFactory({ modeConfiguration }) {
|
||||
// Share the sop class handler with cornerstone version of it
|
||||
'@ohif/extension-cornerstone.sopClassHandlerModule.DicomMicroscopySopClassHandler',
|
||||
'@ohif/extension-dicom-microscopy.sopClassHandlerModule.DicomMicroscopySRSopClassHandler',
|
||||
'@ohif/extension-dicom-microscopy.sopClassHandlerModule.DicomMicroscopyANNSopClassHandler',
|
||||
],
|
||||
},
|
||||
{
|
||||
@ -124,6 +125,7 @@ function modeFactory({ modeConfiguration }) {
|
||||
sopClassHandlers: [
|
||||
'@ohif/extension-cornerstone.sopClassHandlerModule.DicomMicroscopySopClassHandler',
|
||||
'@ohif/extension-dicom-microscopy.sopClassHandlerModule.DicomMicroscopySRSopClassHandler',
|
||||
'@ohif/extension-dicom-microscopy.sopClassHandlerModule.DicomMicroscopyANNSopClassHandler',
|
||||
dicomvideo.sopClassHandler,
|
||||
dicompdf.sopClassHandler,
|
||||
],
|
||||
|
||||
@ -34,8 +34,8 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.20.13",
|
||||
"@cornerstonejs/core": "^3.32.5",
|
||||
"@cornerstonejs/tools": "^3.32.5",
|
||||
"@cornerstonejs/core": "^3.32.12",
|
||||
"@cornerstonejs/tools": "^3.32.12",
|
||||
"@ohif/core": "3.12.0-beta.7",
|
||||
"@ohif/extension-cornerstone-dicom-sr": "3.12.0-beta.7",
|
||||
"@ohif/extension-ultrasound-pleura-bline": "3.12.0-beta.7",
|
||||
|
||||
@ -116,14 +116,6 @@ module.exports = (env, argv) => {
|
||||
from: `${PUBLIC_DIR}/${APP_CONFIG}`,
|
||||
to: `${DIST_DIR}/app-config.js`,
|
||||
},
|
||||
// Copy Dicom Microscopy Viewer build files
|
||||
{
|
||||
from: '../../../node_modules/dicom-microscopy-viewer/dist/dynamic-import',
|
||||
to: DIST_DIR,
|
||||
globOptions: {
|
||||
ignore: ['**/*.min.js.map'],
|
||||
},
|
||||
},
|
||||
],
|
||||
}),
|
||||
// Generate "index.html" w/ correct includes/imports
|
||||
@ -138,15 +130,15 @@ module.exports = (env, argv) => {
|
||||
...(IS_COVERAGE
|
||||
? []
|
||||
: [
|
||||
new InjectManifest({
|
||||
swDest: 'sw.js',
|
||||
swSrc: path.join(SRC_DIR, 'service-worker.js'),
|
||||
// Need to exclude the theme as it is updated independently
|
||||
exclude: [/theme/],
|
||||
// Cache large files for the manifests to avoid warning messages
|
||||
maximumFileSizeToCacheInBytes: 1024 * 1024 * 50,
|
||||
}),
|
||||
]),
|
||||
new InjectManifest({
|
||||
swDest: 'sw.js',
|
||||
swSrc: path.join(SRC_DIR, 'service-worker.js'),
|
||||
// Need to exclude the theme as it is updated independently
|
||||
exclude: [/theme/],
|
||||
// Cache large files for the manifests to avoid warning messages
|
||||
maximumFileSizeToCacheInBytes: 1024 * 1024 * 50,
|
||||
}),
|
||||
]),
|
||||
],
|
||||
// https://webpack.js.org/configuration/dev-server/
|
||||
devServer: {
|
||||
@ -163,12 +155,6 @@ module.exports = (env, argv) => {
|
||||
proxy: [
|
||||
{
|
||||
'/dicomweb': 'http://localhost:5000',
|
||||
'/dicom-microscopy-viewer': {
|
||||
target: 'http://localhost:3000',
|
||||
pathRewrite: {
|
||||
'^/dicom-microscopy-viewer': `/${PUBLIC_URL}/dicom-microscopy-viewer`,
|
||||
},
|
||||
},
|
||||
},
|
||||
],
|
||||
static: [
|
||||
|
||||
@ -123,7 +123,7 @@ const createCopyPluginToDistForLink = (srcDir, distDir, plugins, folderName) =>
|
||||
return exists
|
||||
? {
|
||||
from,
|
||||
to: distDir,
|
||||
to: `${distDir}${plugin.to || ''}`,
|
||||
toType: 'dir',
|
||||
}
|
||||
: undefined;
|
||||
|
||||
@ -53,7 +53,7 @@
|
||||
"@cornerstonejs/codec-libjpeg-turbo-8bit": "^1.2.2",
|
||||
"@cornerstonejs/codec-openjpeg": "^1.2.4",
|
||||
"@cornerstonejs/codec-openjph": "^2.4.5",
|
||||
"@cornerstonejs/dicom-image-loader": "^3.32.5",
|
||||
"@cornerstonejs/dicom-image-loader": "^3.32.12",
|
||||
"@emotion/serialize": "^1.1.3",
|
||||
"@ohif/core": "3.12.0-beta.7",
|
||||
"@ohif/extension-cornerstone": "3.12.0-beta.7",
|
||||
|
||||
@ -104,9 +104,10 @@
|
||||
},
|
||||
{
|
||||
"packageName": "dicom-microscopy-viewer",
|
||||
"importPath": "/dicom-microscopy-viewer/dicomMicroscopyViewer.min.js",
|
||||
"importPath": "dicom-microscopy-viewer/dicomMicroscopyViewer.min.js",
|
||||
"globalName": "dicomMicroscopyViewer",
|
||||
"directory": "./node_modules/dicom-microscopy-viewer/dist/dynamic-import"
|
||||
"directory": "./node_modules/dicom-microscopy-viewer/dist/dynamic-import",
|
||||
"to": "/dicom-microscopy-viewer/"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@ -87,7 +87,7 @@ window.config = {
|
||||
],
|
||||
},
|
||||
],
|
||||
defaultDataSourceName: 'dicomweb',
|
||||
defaultDataSourceName: 'ohif',
|
||||
/* Dynamic config allows user to pass "configUrl" query string this allows to load config without recompiling application. The regex will ensure valid configuration source */
|
||||
// dangerouslyUseDynamicConfig: {
|
||||
// enabled: true,
|
||||
@ -101,7 +101,7 @@ window.config = {
|
||||
dataSources: [
|
||||
{
|
||||
namespace: '@ohif/extension-default.dataSourcesModule.dicomweb',
|
||||
sourceName: 'dicomweb',
|
||||
sourceName: 'ohif',
|
||||
configuration: {
|
||||
friendlyName: 'AWS S3 Static wado server',
|
||||
name: 'aws',
|
||||
|
||||
@ -37,8 +37,8 @@
|
||||
"@cornerstonejs/codec-libjpeg-turbo-8bit": "^1.2.2",
|
||||
"@cornerstonejs/codec-openjpeg": "^1.2.4",
|
||||
"@cornerstonejs/codec-openjph": "^2.4.5",
|
||||
"@cornerstonejs/core": "^3.32.5",
|
||||
"@cornerstonejs/dicom-image-loader": "^3.32.5",
|
||||
"@cornerstonejs/core": "^3.32.12",
|
||||
"@cornerstonejs/dicom-image-loader": "^3.32.12",
|
||||
"@ohif/ui": "3.12.0-beta.7",
|
||||
"cornerstone-math": "0.1.9",
|
||||
"dicom-parser": "^1.8.21"
|
||||
|
||||
@ -94,8 +94,6 @@ export default defineConfig({
|
||||
'@hooks': path.resolve(__dirname, './platform/app/src/hooks'),
|
||||
'@routes': path.resolve(__dirname, './platform/app/src/routes'),
|
||||
'@state': path.resolve(__dirname, './platform/app/src/state'),
|
||||
'dicom-microscopy-viewer':
|
||||
'dicom-microscopy-viewer/dist/dynamic-import/dicomMicroscopyViewer.min.js',
|
||||
},
|
||||
},
|
||||
output: {
|
||||
@ -125,14 +123,6 @@ export default defineConfig({
|
||||
from: path.resolve(PUBLIC_DIR, APP_CONFIG),
|
||||
to: 'app-config.js',
|
||||
},
|
||||
// Copy Dicom Microscopy Viewer files
|
||||
{
|
||||
from: path.resolve(__dirname, 'node_modules/dicom-microscopy-viewer/dist/dynamic-import'),
|
||||
to: DIST_DIR,
|
||||
globOptions: {
|
||||
ignore: ['**/*.min.js.map'],
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
html: {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user