fix: x-ray pixel spacing calibration (#4922)

This commit is contained in:
Pedro Köhler 2025-04-09 10:55:51 -03:00 committed by GitHub
parent 0d2ccc5830
commit f6f60a63d2
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
14 changed files with 203 additions and 300 deletions

277
bun.lock
View File

@ -33,7 +33,7 @@
},
"addOns/externals/devDependencies": {
"name": "@externals/devDependencies",
"version": "3.10.0-beta.153",
"version": "3.10.0-beta.157",
"dependencies": {
"@babel/runtime": "^7.20.13",
"@kitware/vtk.js": "32.12.0",
@ -120,22 +120,22 @@
},
"addOns/externals/dicom-microscopy-viewer": {
"name": "@externals/dicom-microscopy-viewer",
"version": "3.10.0-beta.153",
"version": "3.10.0-beta.157",
"dependencies": {
"dicom-microscopy-viewer": "^0.46.1",
},
},
"extensions/cornerstone": {
"name": "@ohif/extension-cornerstone",
"version": "3.10.0-beta.153",
"version": "3.10.0-beta.157",
"dependencies": {
"@babel/runtime": "^7.20.13",
"@cornerstonejs/adapters": "^3.9.3",
"@cornerstonejs/ai": "^3.9.3",
"@cornerstonejs/core": "^3.9.3",
"@cornerstonejs/labelmap-interpolation": "^3.9.3",
"@cornerstonejs/polymorphic-segmentation": "^3.9.3",
"@cornerstonejs/tools": "^3.9.3",
"@cornerstonejs/adapters": "^3.9.4",
"@cornerstonejs/ai": "^3.9.4",
"@cornerstonejs/core": "^3.9.4",
"@cornerstonejs/labelmap-interpolation": "^3.9.4",
"@cornerstonejs/polymorphic-segmentation": "^3.9.4",
"@cornerstonejs/tools": "^3.9.4",
"@itk-wasm/morphological-contour-interpolation": "1.1.0",
"@kitware/vtk.js": "32.12.0",
"html2canvas": "^1.4.1",
@ -152,9 +152,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.9.3",
"@ohif/core": "3.10.0-beta.153",
"@ohif/ui": "3.10.0-beta.153",
"@cornerstonejs/dicom-image-loader": "^3.9.4",
"@ohif/core": "3.10.0-beta.157",
"@ohif/ui": "3.10.0-beta.157",
"dcmjs": "*",
"dicom-parser": "^1.8.21",
"hammerjs": "^2.0.8",
@ -166,19 +166,19 @@
},
"extensions/cornerstone-dicom-pmap": {
"name": "@ohif/extension-cornerstone-dicom-pmap",
"version": "3.10.0-beta.153",
"version": "3.10.0-beta.157",
"dependencies": {
"@babel/runtime": "^7.20.13",
"@cornerstonejs/adapters": "^3.9.3",
"@cornerstonejs/core": "^3.9.3",
"@cornerstonejs/adapters": "^3.9.4",
"@cornerstonejs/core": "^3.9.4",
"@kitware/vtk.js": "32.12.0",
"react-color": "^2.19.3",
},
"peerDependencies": {
"@ohif/core": "3.10.0-beta.153",
"@ohif/extension-cornerstone": "3.10.0-beta.153",
"@ohif/extension-default": "3.10.0-beta.153",
"@ohif/i18n": "3.10.0-beta.153",
"@ohif/core": "3.10.0-beta.157",
"@ohif/extension-cornerstone": "3.10.0-beta.157",
"@ohif/extension-default": "3.10.0-beta.157",
"@ohif/i18n": "3.10.0-beta.157",
"prop-types": "^15.6.2",
"react": "^18.3.1",
"react-dom": "^18.3.1",
@ -189,16 +189,16 @@
},
"extensions/cornerstone-dicom-rt": {
"name": "@ohif/extension-cornerstone-dicom-rt",
"version": "3.10.0-beta.153",
"version": "3.10.0-beta.157",
"dependencies": {
"@babel/runtime": "^7.20.13",
"react-color": "^2.19.3",
},
"peerDependencies": {
"@ohif/core": "3.10.0-beta.153",
"@ohif/extension-cornerstone": "3.10.0-beta.153",
"@ohif/extension-default": "3.10.0-beta.153",
"@ohif/i18n": "3.10.0-beta.153",
"@ohif/core": "3.10.0-beta.157",
"@ohif/extension-cornerstone": "3.10.0-beta.157",
"@ohif/extension-default": "3.10.0-beta.157",
"@ohif/i18n": "3.10.0-beta.157",
"prop-types": "^15.6.2",
"react": "^18.3.1",
"react-dom": "^18.3.1",
@ -209,19 +209,19 @@
},
"extensions/cornerstone-dicom-seg": {
"name": "@ohif/extension-cornerstone-dicom-seg",
"version": "3.10.0-beta.153",
"version": "3.10.0-beta.157",
"dependencies": {
"@babel/runtime": "^7.20.13",
"@cornerstonejs/adapters": "^3.9.3",
"@cornerstonejs/core": "^3.9.3",
"@cornerstonejs/adapters": "^3.9.4",
"@cornerstonejs/core": "^3.9.4",
"@kitware/vtk.js": "32.12.0",
"react-color": "^2.19.3",
},
"peerDependencies": {
"@ohif/core": "3.10.0-beta.153",
"@ohif/extension-cornerstone": "3.10.0-beta.153",
"@ohif/extension-default": "3.10.0-beta.153",
"@ohif/i18n": "3.10.0-beta.153",
"@ohif/core": "3.10.0-beta.157",
"@ohif/extension-cornerstone": "3.10.0-beta.157",
"@ohif/extension-default": "3.10.0-beta.157",
"@ohif/i18n": "3.10.0-beta.157",
"prop-types": "^15.6.2",
"react": "^18.3.1",
"react-dom": "^18.3.1",
@ -232,19 +232,19 @@
},
"extensions/cornerstone-dicom-sr": {
"name": "@ohif/extension-cornerstone-dicom-sr",
"version": "3.10.0-beta.153",
"version": "3.10.0-beta.157",
"dependencies": {
"@babel/runtime": "^7.20.13",
"@cornerstonejs/adapters": "^3.9.3",
"@cornerstonejs/core": "^3.9.3",
"@cornerstonejs/tools": "^3.9.3",
"@cornerstonejs/adapters": "^3.9.4",
"@cornerstonejs/core": "^3.9.4",
"@cornerstonejs/tools": "^3.9.4",
"classnames": "^2.3.2",
},
"peerDependencies": {
"@ohif/core": "3.10.0-beta.153",
"@ohif/extension-cornerstone": "3.10.0-beta.153",
"@ohif/extension-measurement-tracking": "3.10.0-beta.153",
"@ohif/ui": "3.10.0-beta.153",
"@ohif/core": "3.10.0-beta.157",
"@ohif/extension-cornerstone": "3.10.0-beta.157",
"@ohif/extension-measurement-tracking": "3.10.0-beta.157",
"@ohif/ui": "3.10.0-beta.157",
"dcmjs": "*",
"dicom-parser": "^1.8.9",
"hammerjs": "^2.0.8",
@ -254,19 +254,19 @@
},
"extensions/cornerstone-dynamic-volume": {
"name": "@ohif/extension-cornerstone-dynamic-volume",
"version": "3.10.0-beta.153",
"version": "3.10.0-beta.157",
"dependencies": {
"@babel/runtime": "^7.20.13",
"@cornerstonejs/core": "^3.9.3",
"@cornerstonejs/tools": "^3.9.3",
"@cornerstonejs/core": "^3.9.4",
"@cornerstonejs/tools": "^3.9.4",
"classnames": "^2.3.2",
},
"peerDependencies": {
"@ohif/core": "3.10.0-beta.153",
"@ohif/extension-cornerstone": "3.10.0-beta.153",
"@ohif/extension-default": "3.10.0-beta.153",
"@ohif/i18n": "3.10.0-beta.153",
"@ohif/ui": "3.10.0-beta.153",
"@ohif/core": "3.10.0-beta.157",
"@ohif/extension-cornerstone": "3.10.0-beta.157",
"@ohif/extension-default": "3.10.0-beta.157",
"@ohif/i18n": "3.10.0-beta.157",
"@ohif/ui": "3.10.0-beta.157",
"dcmjs": "*",
"dicom-parser": "^1.8.21",
"hammerjs": "^2.0.8",
@ -276,7 +276,7 @@
},
"extensions/default": {
"name": "@ohif/extension-default",
"version": "3.10.0-beta.153",
"version": "3.10.0-beta.157",
"dependencies": {
"@babel/runtime": "^7.20.13",
"@cornerstonejs/calculate-suv": "^1.1.0",
@ -284,8 +284,8 @@
"lodash.uniqby": "^4.7.0",
},
"peerDependencies": {
"@ohif/core": "3.10.0-beta.153",
"@ohif/i18n": "3.10.0-beta.153",
"@ohif/core": "3.10.0-beta.157",
"@ohif/i18n": "3.10.0-beta.157",
"dcmjs": "*",
"dicomweb-client": "^0.10.4",
"prop-types": "^15.6.2",
@ -299,7 +299,7 @@
},
"extensions/dicom-microscopy": {
"name": "@ohif/extension-dicom-microscopy",
"version": "3.10.0-beta.153",
"version": "3.10.0-beta.157",
"dependencies": {
"@babel/runtime": "^7.20.13",
"@cornerstonejs/codec-charls": "^1.2.3",
@ -310,10 +310,10 @@
"mathjs": "^12.4.2",
},
"peerDependencies": {
"@ohif/core": "3.10.0-beta.153",
"@ohif/extension-default": "3.10.0-beta.153",
"@ohif/i18n": "3.10.0-beta.153",
"@ohif/ui": "3.10.0-beta.153",
"@ohif/core": "3.10.0-beta.157",
"@ohif/extension-default": "3.10.0-beta.157",
"@ohif/i18n": "3.10.0-beta.157",
"@ohif/ui": "3.10.0-beta.157",
"prop-types": "^15.6.2",
"react": "^18.3.1",
"react-dom": "^18.3.1",
@ -324,14 +324,14 @@
},
"extensions/dicom-pdf": {
"name": "@ohif/extension-dicom-pdf",
"version": "3.10.0-beta.153",
"version": "3.10.0-beta.157",
"dependencies": {
"@babel/runtime": "^7.20.13",
"classnames": "^2.3.2",
},
"peerDependencies": {
"@ohif/core": "3.10.0-beta.153",
"@ohif/ui": "3.10.0-beta.153",
"@ohif/core": "3.10.0-beta.157",
"@ohif/ui": "3.10.0-beta.157",
"dcmjs": "*",
"dicom-parser": "^1.8.9",
"hammerjs": "^2.0.8",
@ -341,14 +341,14 @@
},
"extensions/dicom-video": {
"name": "@ohif/extension-dicom-video",
"version": "3.10.0-beta.153",
"version": "3.10.0-beta.157",
"dependencies": {
"@babel/runtime": "^7.20.13",
"classnames": "^2.3.2",
},
"peerDependencies": {
"@ohif/core": "3.10.0-beta.153",
"@ohif/ui": "3.10.0-beta.153",
"@ohif/core": "3.10.0-beta.157",
"@ohif/ui": "3.10.0-beta.157",
"dcmjs": "*",
"dicom-parser": "^1.8.9",
"hammerjs": "^2.0.8",
@ -358,20 +358,20 @@
},
"extensions/measurement-tracking": {
"name": "@ohif/extension-measurement-tracking",
"version": "3.10.0-beta.153",
"version": "3.10.0-beta.157",
"dependencies": {
"@babel/runtime": "^7.20.13",
"@ohif/ui": "3.10.0-beta.153",
"@ohif/ui": "3.10.0-beta.157",
"@xstate/react": "^3.2.2",
"xstate": "^4.10.0",
},
"peerDependencies": {
"@cornerstonejs/core": "^3.9.3",
"@cornerstonejs/tools": "^3.9.3",
"@ohif/core": "3.10.0-beta.153",
"@ohif/extension-cornerstone-dicom-sr": "3.10.0-beta.153",
"@ohif/extension-default": "3.10.0-beta.153",
"@ohif/ui": "3.10.0-beta.153",
"@cornerstonejs/core": "^3.9.4",
"@cornerstonejs/tools": "^3.9.4",
"@ohif/core": "3.10.0-beta.157",
"@ohif/extension-cornerstone-dicom-sr": "3.10.0-beta.157",
"@ohif/extension-default": "3.10.0-beta.157",
"@ohif/ui": "3.10.0-beta.157",
"classnames": "^2.3.2",
"dcmjs": "*",
"lodash.debounce": "^4.0.8",
@ -384,14 +384,14 @@
},
"extensions/test-extension": {
"name": "@ohif/extension-test",
"version": "3.10.0-beta.153",
"version": "3.10.0-beta.157",
"dependencies": {
"@babel/runtime": "^7.20.13",
"classnames": "^2.3.2",
},
"peerDependencies": {
"@ohif/core": "3.10.0-beta.153",
"@ohif/ui": "3.10.0-beta.153",
"@ohif/core": "3.10.0-beta.157",
"@ohif/ui": "3.10.0-beta.157",
"dcmjs": "0.38.0",
"dicom-parser": "^1.8.9",
"hammerjs": "^2.0.8",
@ -401,7 +401,7 @@
},
"extensions/tmtv": {
"name": "@ohif/extension-tmtv",
"version": "3.10.0-beta.153",
"version": "3.10.0-beta.157",
"dependencies": {
"@babel/runtime": "^7.20.13",
"classnames": "^2.3.2",
@ -418,7 +418,7 @@
},
"modes/basic-dev-mode": {
"name": "@ohif/mode-basic-dev-mode",
"version": "3.10.0-beta.153",
"version": "3.10.0-beta.157",
"dependencies": {
"@babel/runtime": "^7.20.13",
"i18next": "^17.0.3",
@ -428,17 +428,17 @@
"webpack-merge": "^5.7.3",
},
"peerDependencies": {
"@ohif/core": "3.10.0-beta.153",
"@ohif/extension-cornerstone": "3.10.0-beta.153",
"@ohif/extension-cornerstone-dicom-sr": "3.10.0-beta.153",
"@ohif/extension-default": "3.10.0-beta.153",
"@ohif/extension-dicom-pdf": "3.10.0-beta.153",
"@ohif/extension-dicom-video": "3.10.0-beta.153",
"@ohif/core": "3.10.0-beta.157",
"@ohif/extension-cornerstone": "3.10.0-beta.157",
"@ohif/extension-cornerstone-dicom-sr": "3.10.0-beta.157",
"@ohif/extension-default": "3.10.0-beta.157",
"@ohif/extension-dicom-pdf": "3.10.0-beta.157",
"@ohif/extension-dicom-video": "3.10.0-beta.157",
},
},
"modes/basic-test-mode": {
"name": "@ohif/mode-test",
"version": "3.10.0-beta.153",
"version": "3.10.0-beta.157",
"dependencies": {
"@babel/runtime": "^7.20.13",
"i18next": "^17.0.3",
@ -448,19 +448,19 @@
"webpack-merge": "^5.7.3",
},
"peerDependencies": {
"@ohif/core": "3.10.0-beta.153",
"@ohif/extension-cornerstone": "3.10.0-beta.153",
"@ohif/extension-cornerstone-dicom-sr": "3.10.0-beta.153",
"@ohif/extension-default": "3.10.0-beta.153",
"@ohif/extension-dicom-pdf": "3.10.0-beta.153",
"@ohif/extension-dicom-video": "3.10.0-beta.153",
"@ohif/extension-measurement-tracking": "3.10.0-beta.153",
"@ohif/extension-test": "3.10.0-beta.153",
"@ohif/core": "3.10.0-beta.157",
"@ohif/extension-cornerstone": "3.10.0-beta.157",
"@ohif/extension-cornerstone-dicom-sr": "3.10.0-beta.157",
"@ohif/extension-default": "3.10.0-beta.157",
"@ohif/extension-dicom-pdf": "3.10.0-beta.157",
"@ohif/extension-dicom-video": "3.10.0-beta.157",
"@ohif/extension-measurement-tracking": "3.10.0-beta.157",
"@ohif/extension-test": "3.10.0-beta.157",
},
},
"modes/longitudinal": {
"name": "@ohif/mode-longitudinal",
"version": "3.10.0-beta.153",
"version": "3.10.0-beta.157",
"dependencies": {
"@babel/runtime": "^7.20.13",
"i18next": "^17.0.3",
@ -470,32 +470,32 @@
"webpack-merge": "^5.7.3",
},
"peerDependencies": {
"@ohif/core": "3.10.0-beta.153",
"@ohif/extension-cornerstone": "3.10.0-beta.153",
"@ohif/extension-cornerstone-dicom-rt": "3.10.0-beta.153",
"@ohif/extension-cornerstone-dicom-seg": "3.10.0-beta.153",
"@ohif/extension-cornerstone-dicom-sr": "3.10.0-beta.153",
"@ohif/extension-default": "3.10.0-beta.153",
"@ohif/extension-dicom-pdf": "3.10.0-beta.153",
"@ohif/extension-dicom-video": "3.10.0-beta.153",
"@ohif/extension-measurement-tracking": "3.10.0-beta.153",
"@ohif/core": "3.10.0-beta.157",
"@ohif/extension-cornerstone": "3.10.0-beta.157",
"@ohif/extension-cornerstone-dicom-rt": "3.10.0-beta.157",
"@ohif/extension-cornerstone-dicom-seg": "3.10.0-beta.157",
"@ohif/extension-cornerstone-dicom-sr": "3.10.0-beta.157",
"@ohif/extension-default": "3.10.0-beta.157",
"@ohif/extension-dicom-pdf": "3.10.0-beta.157",
"@ohif/extension-dicom-video": "3.10.0-beta.157",
"@ohif/extension-measurement-tracking": "3.10.0-beta.157",
},
},
"modes/microscopy": {
"name": "@ohif/mode-microscopy",
"version": "3.10.0-beta.153",
"version": "3.10.0-beta.157",
"dependencies": {
"@babel/runtime": "^7.20.13",
"i18next": "^17.0.3",
},
"peerDependencies": {
"@ohif/core": "3.10.0-beta.153",
"@ohif/extension-dicom-microscopy": "3.10.0-beta.153",
"@ohif/core": "3.10.0-beta.157",
"@ohif/extension-dicom-microscopy": "3.10.0-beta.157",
},
},
"modes/preclinical-4d": {
"name": "@ohif/mode-preclinical-4d",
"version": "3.10.0-beta.153",
"version": "3.10.0-beta.157",
"dependencies": {
"@babel/runtime": "^7.20.13",
},
@ -514,7 +514,7 @@
},
"modes/segmentation": {
"name": "@ohif/mode-segmentation",
"version": "3.10.0-beta.153",
"version": "3.10.0-beta.157",
"dependencies": {
"@babel/runtime": "^7.20.13",
"i18next": "^17.0.3",
@ -558,7 +558,7 @@
},
"modes/tmtv": {
"name": "@ohif/mode-tmtv",
"version": "3.10.0-beta.153",
"version": "3.10.0-beta.157",
"dependencies": {
"@babel/runtime": "^7.20.13",
"i18next": "^17.0.3",
@ -579,32 +579,32 @@
},
"platform/app": {
"name": "@ohif/app",
"version": "3.10.0-beta.153",
"version": "3.10.0-beta.157",
"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.9.3",
"@cornerstonejs/dicom-image-loader": "^3.9.4",
"@emotion/serialize": "^1.1.3",
"@ohif/core": "3.10.0-beta.153",
"@ohif/extension-cornerstone": "3.10.0-beta.153",
"@ohif/extension-cornerstone-dicom-rt": "3.10.0-beta.153",
"@ohif/extension-cornerstone-dicom-seg": "3.10.0-beta.153",
"@ohif/extension-cornerstone-dicom-sr": "3.10.0-beta.153",
"@ohif/extension-default": "3.10.0-beta.153",
"@ohif/extension-dicom-microscopy": "3.10.0-beta.153",
"@ohif/extension-dicom-pdf": "3.10.0-beta.153",
"@ohif/extension-dicom-video": "3.10.0-beta.153",
"@ohif/extension-test": "3.10.0-beta.153",
"@ohif/i18n": "3.10.0-beta.153",
"@ohif/mode-basic-dev-mode": "3.10.0-beta.153",
"@ohif/mode-longitudinal": "3.10.0-beta.153",
"@ohif/mode-microscopy": "3.10.0-beta.153",
"@ohif/mode-test": "3.10.0-beta.153",
"@ohif/ui": "3.10.0-beta.153",
"@ohif/ui-next": "3.10.0-beta.153",
"@ohif/core": "3.10.0-beta.157",
"@ohif/extension-cornerstone": "3.10.0-beta.157",
"@ohif/extension-cornerstone-dicom-rt": "3.10.0-beta.157",
"@ohif/extension-cornerstone-dicom-seg": "3.10.0-beta.157",
"@ohif/extension-cornerstone-dicom-sr": "3.10.0-beta.157",
"@ohif/extension-default": "3.10.0-beta.157",
"@ohif/extension-dicom-microscopy": "3.10.0-beta.157",
"@ohif/extension-dicom-pdf": "3.10.0-beta.157",
"@ohif/extension-dicom-video": "3.10.0-beta.157",
"@ohif/extension-test": "3.10.0-beta.157",
"@ohif/i18n": "3.10.0-beta.157",
"@ohif/mode-basic-dev-mode": "3.10.0-beta.157",
"@ohif/mode-longitudinal": "3.10.0-beta.157",
"@ohif/mode-microscopy": "3.10.0-beta.157",
"@ohif/mode-test": "3.10.0-beta.157",
"@ohif/ui": "3.10.0-beta.157",
"@ohif/ui-next": "3.10.0-beta.157",
"@svgr/webpack": "^8.1.0",
"@types/react": "^18.3.3",
"classnames": "^2.3.2",
@ -645,7 +645,7 @@
},
"platform/cli": {
"name": "@ohif/cli",
"version": "3.10.0-beta.153",
"version": "3.10.0-beta.157",
"bin": {
"ohif-cli": "src/index.js",
},
@ -669,7 +669,7 @@
},
"platform/core": {
"name": "@ohif/core",
"version": "3.10.0-beta.153",
"version": "3.10.0-beta.157",
"dependencies": {
"@babel/runtime": "^7.20.13",
"dcmjs": "*",
@ -694,15 +694,16 @@
"@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.9.3",
"@ohif/ui": "3.10.0-beta.153",
"@cornerstonejs/core": "^3.9.4",
"@cornerstonejs/dicom-image-loader": "^3.9.4",
"@ohif/ui": "3.10.0-beta.157",
"cornerstone-math": "0.1.9",
"dicom-parser": "^1.8.21",
},
},
"platform/i18n": {
"name": "@ohif/i18n",
"version": "3.10.0-beta.153",
"version": "3.10.0-beta.157",
"dependencies": {
"@babel/runtime": "^7.20.13",
"i18next-locize-backend": "^2.0.0",
@ -727,7 +728,7 @@
},
"platform/ui": {
"name": "@ohif/ui",
"version": "3.10.0-beta.153",
"version": "3.10.0-beta.157",
"dependencies": {
"@testing-library/react": "^13.1.0",
"browser-detect": "^0.2.28",
@ -787,7 +788,7 @@
},
"platform/ui-next": {
"name": "@ohif/ui-next",
"version": "3.10.0-beta.153",
"version": "3.10.0-beta.157",
"dependencies": {
"@radix-ui/react-accordion": "^1.2.0",
"@radix-ui/react-checkbox": "^1.1.1",
@ -1098,9 +1099,9 @@
"@colors/colors": ["@colors/colors@1.5.0", "", {}, "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ=="],
"@cornerstonejs/adapters": ["@cornerstonejs/adapters@3.9.3", "", { "dependencies": { "@babel/runtime-corejs2": "^7.17.8", "buffer": "^6.0.3", "dcmjs": "^0.29.8", "gl-matrix": "^3.4.3", "ndarray": "^1.0.19" }, "peerDependencies": { "@cornerstonejs/core": "^3.9.3", "@cornerstonejs/tools": "^3.9.3" } }, "sha512-vxz6pKxOHvnEL8beYRkrBhdqKuRpV/LD6ME3s6wu67POZngeID6Fz3iu+aanhSjEXVpRiDiQ9rEtDeqLlNqiMA=="],
"@cornerstonejs/adapters": ["@cornerstonejs/adapters@3.9.4", "", { "dependencies": { "@babel/runtime-corejs2": "^7.17.8", "buffer": "^6.0.3", "dcmjs": "^0.29.8", "gl-matrix": "^3.4.3", "ndarray": "^1.0.19" }, "peerDependencies": { "@cornerstonejs/core": "^3.9.4", "@cornerstonejs/tools": "^3.9.4" } }, "sha512-0kuGAH5dCmxHFr+PjvH/AZJqFdVXXziEZm6Etl4yOOgY9JT81N0PZj5gaFAyvTmxyHb/EWZMhWLyG0D5XGLCmQ=="],
"@cornerstonejs/ai": ["@cornerstonejs/ai@3.9.3", "", { "dependencies": { "@babel/runtime-corejs2": "^7.17.8", "buffer": "^6.0.3", "dcmjs": "^0.29.8", "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.9.3", "@cornerstonejs/tools": "^3.9.3" } }, "sha512-3w4gzJglipZNNS2UIx6UxUcx671yg9L18qYMhQxEsp5gp9x5su4IqJZB/2BQMx5t6/OA2wNzVRosuSkHbA2n/w=="],
"@cornerstonejs/ai": ["@cornerstonejs/ai@3.9.4", "", { "dependencies": { "@babel/runtime-corejs2": "^7.17.8", "buffer": "^6.0.3", "dcmjs": "^0.29.8", "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.9.4", "@cornerstonejs/tools": "^3.9.4" } }, "sha512-W1mYcnddsp87Wka8UTzxNwPUF/f7wietvIxyRXQd7nPwR/nDVVbB2dLiUwirihISjumb6PnHjLyHM92on55HNA=="],
"@cornerstonejs/calculate-suv": ["@cornerstonejs/calculate-suv@1.1.0", "", {}, "sha512-Q9XraiDJif9aMFArD2iEuDO/HXbcRVCqB7KfaHgDrdTTjgDFovS91Psbdim7crypRSvE6dh/+HKeFNHdvNkA6w=="],
@ -1112,15 +1113,15 @@
"@cornerstonejs/codec-openjph": ["@cornerstonejs/codec-openjph@2.4.7", "", {}, "sha512-qvP4q4JDib7mi9r7LqKOwqz7YZ8gjtDX4ZCezeYf8+eb7MBXCz5uXAMeVF3yz9Axw4XiIMdB/pqXkm8tqCl13w=="],
"@cornerstonejs/core": ["@cornerstonejs/core@3.9.3", "", { "dependencies": { "@kitware/vtk.js": "32.12.1", "comlink": "^4.4.1", "gl-matrix": "^3.4.3", "loglevel": "^1.9.2" } }, "sha512-h9eAqR5QASzyqIC68WN8R2Z1SETQgmOUdySD7VlAMv25jV6bpAZFXFkBKPl2DhJsvB0kYNz4INnLQwmd/C1lEg=="],
"@cornerstonejs/core": ["@cornerstonejs/core@3.9.4", "", { "dependencies": { "@kitware/vtk.js": "32.12.1", "comlink": "^4.4.1", "gl-matrix": "^3.4.3", "loglevel": "^1.9.2" } }, "sha512-kHjy2Q0iCNwQQe5FAXMHUWHqkFq3mGQ5Zzl3U9B8rQ3ne+at0wHfAFeJlRbT0uMkU1gw9AOMtb/L4QBWKy4o0A=="],
"@cornerstonejs/dicom-image-loader": ["@cornerstonejs/dicom-image-loader@3.9.3", "", { "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.9.3" } }, "sha512-G0TXs4E8HElcZMLyGgWLeBI1AhObCNQg6Dq27G/f5CsMOEyi0Y6I9eXhDqWriJYGpz+GzNM77lElEOIKDjkLYQ=="],
"@cornerstonejs/dicom-image-loader": ["@cornerstonejs/dicom-image-loader@3.9.4", "", { "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.9.4" } }, "sha512-QGWejZ+QFCquoPqmIaHWDusaX89EN24Cih/0WcVcKPs/5VGmo6wbFZzZoKLD4tDGV8HLF8FaGdJy3vTrde9lWg=="],
"@cornerstonejs/labelmap-interpolation": ["@cornerstonejs/labelmap-interpolation@3.9.3", "", { "dependencies": { "@itk-wasm/morphological-contour-interpolation": "1.1.0", "itk-wasm": "1.0.0-b.165" }, "peerDependencies": { "@cornerstonejs/core": "^3.9.3", "@cornerstonejs/tools": "^3.9.3", "@kitware/vtk.js": "32.12.1" } }, "sha512-MUVNEqAcbHEyS7Xjv5IZolCCZDee0cC5g6BS+1eaq++XX2pcTb166Ya5Ce5ouX0H2RDHlXUx7w6nNlgEHU1AeA=="],
"@cornerstonejs/labelmap-interpolation": ["@cornerstonejs/labelmap-interpolation@3.9.4", "", { "dependencies": { "@itk-wasm/morphological-contour-interpolation": "1.1.0", "itk-wasm": "1.0.0-b.165" }, "peerDependencies": { "@cornerstonejs/core": "^3.9.4", "@cornerstonejs/tools": "^3.9.4", "@kitware/vtk.js": "32.12.1" } }, "sha512-D8T6itPVHF5641axmzkR3b2RjDVXWYNxm3MuQ10LMDZsqwUNL/eeqy2+0TRpPsDL/LSuX2/i+n+udohf0jdaqg=="],
"@cornerstonejs/polymorphic-segmentation": ["@cornerstonejs/polymorphic-segmentation@3.9.3", "", { "dependencies": { "@icr/polyseg-wasm": "0.4.0" }, "peerDependencies": { "@cornerstonejs/core": "^3.9.3", "@cornerstonejs/tools": "^3.9.3", "@kitware/vtk.js": "32.12.1" } }, "sha512-1Za1SrA4noA2DI3iS3nfsBs/ObJHeTC92GMitXECwtsrLlF3l/uK+MSlqPvXCONobRbSZLxzPzsCp+DWpL0kBA=="],
"@cornerstonejs/polymorphic-segmentation": ["@cornerstonejs/polymorphic-segmentation@3.9.4", "", { "dependencies": { "@icr/polyseg-wasm": "0.4.0" }, "peerDependencies": { "@cornerstonejs/core": "^3.9.4", "@cornerstonejs/tools": "^3.9.4", "@kitware/vtk.js": "32.12.1" } }, "sha512-fXio1P4Ic7ZQmWuTELFPAA8DfG/u6l/0f21UlC6QQNrRX7aYWtOVA6fqQdcdE3bJD+iTeJNikGdEl0j05KqNqQ=="],
"@cornerstonejs/tools": ["@cornerstonejs/tools@3.9.3", "", { "dependencies": { "@types/offscreencanvas": "2019.7.3", "comlink": "^4.4.1", "lodash.get": "^4.4.2" }, "peerDependencies": { "@cornerstonejs/core": "^3.9.3", "@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-wOtPDZwzG8nswOeKcWaj7W2pHTeE263o3Z2CCzdrmIsiTIYDzU/2qvt2Q8lYhvkly81pmUt7vYHPRSDPNgo47g=="],
"@cornerstonejs/tools": ["@cornerstonejs/tools@3.9.4", "", { "dependencies": { "@types/offscreencanvas": "2019.7.3", "comlink": "^4.4.1", "lodash.get": "^4.4.2" }, "peerDependencies": { "@cornerstonejs/core": "^3.9.4", "@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-ys2blsOp6rWHjGQvMn6x0fh1Qr9Gnr5lRTjhzucAClRgt1WWFW9v9AqwPMXDS/f94m3WFT995LuBOWlxcGUZtQ=="],
"@csstools/postcss-cascade-layers": ["@csstools/postcss-cascade-layers@1.1.1", "", { "dependencies": { "@csstools/selector-specificity": "^2.0.2", "postcss-selector-parser": "^6.0.10" }, "peerDependencies": { "postcss": "^8.2" } }, "sha512-+KdYrpKC5TgomQr2DlZF4lDEpHcoxnj5IGddYYfBWJAKfj1JtuHUIqMa+E1pJJ+z3kvDViWMqyqPlG4Ja7amQA=="],

View File

@ -46,8 +46,8 @@
},
"dependencies": {
"@babel/runtime": "^7.20.13",
"@cornerstonejs/adapters": "^3.9.3",
"@cornerstonejs/core": "^3.9.3",
"@cornerstonejs/adapters": "^3.9.4",
"@cornerstonejs/core": "^3.9.4",
"@kitware/vtk.js": "32.12.0",
"react-color": "^2.19.3"
}

View File

@ -46,8 +46,8 @@
},
"dependencies": {
"@babel/runtime": "^7.20.13",
"@cornerstonejs/adapters": "^3.9.3",
"@cornerstonejs/core": "^3.9.3",
"@cornerstonejs/adapters": "^3.9.4",
"@cornerstonejs/core": "^3.9.4",
"@kitware/vtk.js": "32.12.0",
"react-color": "^2.19.3"
}

View File

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

View File

@ -42,8 +42,8 @@
},
"dependencies": {
"@babel/runtime": "^7.20.13",
"@cornerstonejs/core": "^3.9.3",
"@cornerstonejs/tools": "^3.9.3",
"@cornerstonejs/core": "^3.9.4",
"@cornerstonejs/tools": "^3.9.4",
"classnames": "^2.3.2"
}
}

View File

@ -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.9.3",
"@cornerstonejs/dicom-image-loader": "^3.9.4",
"@ohif/core": "3.10.0-beta.157",
"@ohif/ui": "3.10.0-beta.157",
"dcmjs": "*",
@ -51,12 +51,12 @@
},
"dependencies": {
"@babel/runtime": "^7.20.13",
"@cornerstonejs/adapters": "^3.9.3",
"@cornerstonejs/ai": "^3.9.3",
"@cornerstonejs/core": "^3.9.3",
"@cornerstonejs/labelmap-interpolation": "^3.9.3",
"@cornerstonejs/polymorphic-segmentation": "^3.9.3",
"@cornerstonejs/tools": "^3.9.3",
"@cornerstonejs/adapters": "^3.9.4",
"@cornerstonejs/ai": "^3.9.4",
"@cornerstonejs/core": "^3.9.4",
"@cornerstonejs/labelmap-interpolation": "^3.9.4",
"@cornerstonejs/polymorphic-segmentation": "^3.9.4",
"@cornerstonejs/tools": "^3.9.4",
"@itk-wasm/morphological-contour-interpolation": "1.1.0",
"@kitware/vtk.js": "32.12.0",
"html2canvas": "^1.4.1",

View File

@ -32,8 +32,8 @@
"start": "yarn run dev"
},
"peerDependencies": {
"@cornerstonejs/core": "^3.9.3",
"@cornerstonejs/tools": "^3.9.3",
"@cornerstonejs/core": "^3.9.4",
"@cornerstonejs/tools": "^3.9.4",
"@ohif/core": "3.10.0-beta.157",
"@ohif/extension-cornerstone-dicom-sr": "3.10.0-beta.157",
"@ohif/extension-default": "3.10.0-beta.157",

View File

@ -394,12 +394,6 @@ const toolbarButtons: Button[] = [
[ViewportGridService.EVENTS.VIEWPORTS_READY]: callbacks('MarkerLabelmap'),
},
options: [
{
name: 'Clear Markers',
type: 'button',
id: 'clear-markers',
commands: 'clearMarkersForMarkerLabelmap',
},
{
name: 'Marker Mode',
type: 'radio',
@ -422,6 +416,12 @@ const toolbarButtons: Button[] = [
}
},
},
{
name: 'Clear Markers',
type: 'button',
id: 'clear-markers',
commands: 'clearMarkersForMarkerLabelmap',
},
],
},
},

View File

@ -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.9.3",
"@cornerstonejs/dicom-image-loader": "^3.9.4",
"@emotion/serialize": "^1.1.3",
"@ohif/core": "3.10.0-beta.157",
"@ohif/extension-cornerstone": "3.10.0-beta.157",

View File

@ -37,7 +37,8 @@
"@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.9.3",
"@cornerstonejs/dicom-image-loader": "^3.9.4",
"@cornerstonejs/core": "^3.9.4",
"@ohif/ui": "3.10.0-beta.157",
"cornerstone-math": "0.1.9",
"dicom-parser": "^1.8.21"

View File

@ -1,12 +1,13 @@
import queryString from 'query-string';
import dicomParser from 'dicom-parser';
import { utilities } from '@cornerstonejs/core';
import { imageIdToURI } from '../utils';
import getPixelSpacingInformation from '../utils/metadataProvider/getPixelSpacingInformation';
import DicomMetadataStore from '../services/DicomMetadataStore';
import fetchPaletteColorLookupTableData from '../utils/metadataProvider/fetchPaletteColorLookupTableData';
import toNumber from '../utils/toNumber';
import combineFrameInstance from '../utils/combineFrameInstance';
import formatPN from '../utils/formatPN';
const { calibratedPixelSpacingMetadataProvider, getPixelSpacingInformation } = utilities;
class MetadataProvider {
private readonly imageURIToUIDs: Map<string, any> = new Map();
@ -517,7 +518,7 @@ const WADO_IMAGE_LOADER = {
// Fallback for DX images.
// TODO: We should use the rest of the results of this function
// to update the UI somehow
const { PixelSpacing } = getPixelSpacingInformation(instance);
const { PixelSpacing, type } = getPixelSpacingInformation(instance);
let rowPixelSpacing;
let columnPixelSpacing;
@ -531,6 +532,11 @@ const WADO_IMAGE_LOADER = {
let imageOrientationPatient;
if (PixelSpacing) {
[rowPixelSpacing, columnPixelSpacing] = PixelSpacing;
calibratedPixelSpacingMetadataProvider.add(instance.imageId, {
rowPixelSpacing: parseFloat(PixelSpacing[0]),
columnPixelSpacing: parseFloat(PixelSpacing[1]),
type,
});
} else {
rowPixelSpacing = columnPixelSpacing = 1;
usingDefaultValues = true;

View File

@ -1,105 +0,0 @@
import log from '../../log';
export default function getPixelSpacingInformation(instance) {
// See http://gdcm.sourceforge.net/wiki/index.php/Imager_Pixel_Spacing
// TODO: Add manual calibration
// TODO: Use ENUMS from dcmjs
const projectionRadiographSOPClassUIDs = [
'1.2.840.10008.5.1.4.1.1.1', // CR Image Storage
'1.2.840.10008.5.1.4.1.1.1.1', // Digital X-Ray Image Storage for Presentation
'1.2.840.10008.5.1.4.1.1.1.1.1', // Digital X-Ray Image Storage for Processing
'1.2.840.10008.5.1.4.1.1.1.2', // Digital Mammography X-Ray Image Storage for Presentation
'1.2.840.10008.5.1.4.1.1.1.2.1', // Digital Mammography X-Ray Image Storage for Processing
'1.2.840.10008.5.1.4.1.1.1.3', // Digital Intra oral X-Ray Image Storage for Presentation
'1.2.840.10008.5.1.4.1.1.1.3.1', // Digital Intra oral X-Ray Image Storage for Processing
'1.2.840.10008.5.1.4.1.1.12.1', // X-Ray Angiographic Image Storage
'1.2.840.10008.5.1.4.1.1.12.1.1', // Enhanced XA Image Storage
'1.2.840.10008.5.1.4.1.1.12.2', // X-Ray Radiofluoroscopic Image Storage
'1.2.840.10008.5.1.4.1.1.12.2.1', // Enhanced XRF Image Storage
'1.2.840.10008.5.1.4.1.1.12.3', // X-Ray Angiographic Bi-plane Image Storage Retired
];
const {
PixelSpacing,
ImagerPixelSpacing,
SOPClassUID,
PixelSpacingCalibrationType,
PixelSpacingCalibrationDescription,
EstimatedRadiographicMagnificationFactor,
} = instance;
const isProjection = projectionRadiographSOPClassUIDs.includes(SOPClassUID);
const TYPES = {
NOT_APPLICABLE: 'NOT_APPLICABLE',
UNKNOWN: 'UNKNOWN',
CALIBRATED: 'CALIBRATED',
DETECTOR: 'DETECTOR',
};
if (isProjection && !ImagerPixelSpacing) {
// If only Pixel Spacing is present, and this is a projection radiograph,
// PixelSpacing should be used, but the user should be informed that
// what it means is unknown
return {
PixelSpacing,
type: TYPES.UNKNOWN,
isProjection,
};
} else if (PixelSpacing && ImagerPixelSpacing && PixelSpacing === ImagerPixelSpacing) {
// If Imager Pixel Spacing and Pixel Spacing are present and they have the same values,
// then the user should be informed that the measurements are at the detector plane
return {
PixelSpacing,
type: TYPES.DETECTOR,
isProjection,
};
} else if (PixelSpacing && ImagerPixelSpacing && PixelSpacing !== ImagerPixelSpacing) {
// If Imager Pixel Spacing and Pixel Spacing are present and they have different values,
// then the user should be informed that these are "calibrated"
// (in some unknown manner if Pixel Spacing Calibration Type and/or
// Pixel Spacing Calibration Description are absent)
return {
PixelSpacing,
type: TYPES.CALIBRATED,
isProjection,
PixelSpacingCalibrationType,
PixelSpacingCalibrationDescription,
};
} else if (!PixelSpacing && ImagerPixelSpacing) {
let CorrectedImagerPixelSpacing = ImagerPixelSpacing;
if (EstimatedRadiographicMagnificationFactor) {
// Note that in IHE Mammo profile compliant displays, the value of Imager Pixel Spacing is required to be corrected by
// Estimated Radiographic Magnification Factor and the user informed of that.
// TODO: should this correction be done before all of this logic?
CorrectedImagerPixelSpacing = ImagerPixelSpacing.map(
pixelSpacing => pixelSpacing / EstimatedRadiographicMagnificationFactor
);
} else {
if (!instance._loggedSpacingMessage) {
log.info(
'EstimatedRadiographicMagnificationFactor was not present. Unable to correct ImagerPixelSpacing.'
);
instance._loggedSpacingMessage = true;
}
}
return {
PixelSpacing: CorrectedImagerPixelSpacing,
isProjection,
};
} else if (isProjection === false && !ImagerPixelSpacing) {
// If only Pixel Spacing is present, and this is not a projection radiograph,
// we can stop here
return {
PixelSpacing,
type: TYPES.NOT_APPLICABLE,
isProjection,
};
}
log.info(
'Unknown combination of PixelSpacing and ImagerPixelSpacing identified. Unable to determine spacing.'
);
}

View File

@ -104,8 +104,8 @@ const renderCustomSetting = option => {
const renderButtonSetting = option => {
return (
<Button
className="bg-primary"
key={option.id}
variant="ghost"
onClick={() => option.onChange()}
>
{option.name}

View File

@ -1393,10 +1393,10 @@
resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9"
integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==
"@cornerstonejs/adapters@^3.9.3":
version "3.9.3"
resolved "https://registry.yarnpkg.com/@cornerstonejs/adapters/-/adapters-3.9.3.tgz#bef5a37236e1cadb7739bcdfe739def203a45b17"
integrity sha512-vxz6pKxOHvnEL8beYRkrBhdqKuRpV/LD6ME3s6wu67POZngeID6Fz3iu+aanhSjEXVpRiDiQ9rEtDeqLlNqiMA==
"@cornerstonejs/adapters@^3.9.4":
version "3.9.4"
resolved "https://registry.yarnpkg.com/@cornerstonejs/adapters/-/adapters-3.9.4.tgz#ce12eeb800618f8a6817c80129ec140f83439990"
integrity sha512-0kuGAH5dCmxHFr+PjvH/AZJqFdVXXziEZm6Etl4yOOgY9JT81N0PZj5gaFAyvTmxyHb/EWZMhWLyG0D5XGLCmQ==
dependencies:
"@babel/runtime-corejs2" "^7.17.8"
buffer "^6.0.3"
@ -1404,10 +1404,10 @@
gl-matrix "^3.4.3"
ndarray "^1.0.19"
"@cornerstonejs/ai@^3.9.3":
version "3.9.3"
resolved "https://registry.yarnpkg.com/@cornerstonejs/ai/-/ai-3.9.3.tgz#db2a83231ef42a5ab63b4eedee83fe3560880f03"
integrity sha512-3w4gzJglipZNNS2UIx6UxUcx671yg9L18qYMhQxEsp5gp9x5su4IqJZB/2BQMx5t6/OA2wNzVRosuSkHbA2n/w==
"@cornerstonejs/ai@^3.9.4":
version "3.9.4"
resolved "https://registry.yarnpkg.com/@cornerstonejs/ai/-/ai-3.9.4.tgz#88417a7104ab45cfd2598087fc12fcf812b3cb41"
integrity sha512-W1mYcnddsp87Wka8UTzxNwPUF/f7wietvIxyRXQd7nPwR/nDVVbB2dLiUwirihISjumb6PnHjLyHM92on55HNA==
dependencies:
"@babel/runtime-corejs2" "^7.17.8"
buffer "^6.0.3"
@ -1443,20 +1443,20 @@
resolved "https://registry.yarnpkg.com/@cornerstonejs/codec-openjph/-/codec-openjph-2.4.5.tgz#8690b61a86fa53ef38a70eee9d665a79229517c0"
integrity sha512-MZCUy8VG0VG5Nl1l58+g+kH3LujAzLYTfJqkwpWI2gjSrGXnP6lgwyy4GmPRZWVoS40/B1LDNALK905cNWm+sg==
"@cornerstonejs/core@^3.9.3":
version "3.9.3"
resolved "https://registry.yarnpkg.com/@cornerstonejs/core/-/core-3.9.3.tgz#03e40a5b0d319f6e03459d32990d4846d7fd30e3"
integrity sha512-h9eAqR5QASzyqIC68WN8R2Z1SETQgmOUdySD7VlAMv25jV6bpAZFXFkBKPl2DhJsvB0kYNz4INnLQwmd/C1lEg==
"@cornerstonejs/core@^3.9.4":
version "3.9.4"
resolved "https://registry.yarnpkg.com/@cornerstonejs/core/-/core-3.9.4.tgz#63fe5e2749b2c01b3d427e40345eeb2d8feeedc6"
integrity sha512-kHjy2Q0iCNwQQe5FAXMHUWHqkFq3mGQ5Zzl3U9B8rQ3ne+at0wHfAFeJlRbT0uMkU1gw9AOMtb/L4QBWKy4o0A==
dependencies:
"@kitware/vtk.js" "32.12.1"
comlink "^4.4.1"
gl-matrix "^3.4.3"
loglevel "^1.9.2"
"@cornerstonejs/dicom-image-loader@^3.9.3":
version "3.9.3"
resolved "https://registry.yarnpkg.com/@cornerstonejs/dicom-image-loader/-/dicom-image-loader-3.9.3.tgz#61ff7e35e2e31c8d9ebd8dbca9951cdf5bbd9b8d"
integrity sha512-G0TXs4E8HElcZMLyGgWLeBI1AhObCNQg6Dq27G/f5CsMOEyi0Y6I9eXhDqWriJYGpz+GzNM77lElEOIKDjkLYQ==
"@cornerstonejs/dicom-image-loader@^3.9.4":
version "3.9.4"
resolved "https://registry.yarnpkg.com/@cornerstonejs/dicom-image-loader/-/dicom-image-loader-3.9.4.tgz#5e202e57ddbcf46b946857a2cfa2a703dc9fad9d"
integrity sha512-QGWejZ+QFCquoPqmIaHWDusaX89EN24Cih/0WcVcKPs/5VGmo6wbFZzZoKLD4tDGV8HLF8FaGdJy3vTrde9lWg==
dependencies:
"@cornerstonejs/codec-charls" "^1.2.3"
"@cornerstonejs/codec-libjpeg-turbo-8bit" "^1.2.2"
@ -1468,25 +1468,25 @@
pako "^2.0.4"
uuid "^9.0.0"
"@cornerstonejs/labelmap-interpolation@^3.9.3":
version "3.9.3"
resolved "https://registry.yarnpkg.com/@cornerstonejs/labelmap-interpolation/-/labelmap-interpolation-3.9.3.tgz#aa00ff5c40bc258e43b61ed731eb1ffe5229613e"
integrity sha512-MUVNEqAcbHEyS7Xjv5IZolCCZDee0cC5g6BS+1eaq++XX2pcTb166Ya5Ce5ouX0H2RDHlXUx7w6nNlgEHU1AeA==
"@cornerstonejs/labelmap-interpolation@^3.9.4":
version "3.9.4"
resolved "https://registry.yarnpkg.com/@cornerstonejs/labelmap-interpolation/-/labelmap-interpolation-3.9.4.tgz#8f34f7ac32254cb54ddfacdd2687fa51f8e0c1b0"
integrity sha512-D8T6itPVHF5641axmzkR3b2RjDVXWYNxm3MuQ10LMDZsqwUNL/eeqy2+0TRpPsDL/LSuX2/i+n+udohf0jdaqg==
dependencies:
"@itk-wasm/morphological-contour-interpolation" "1.1.0"
itk-wasm "1.0.0-b.165"
"@cornerstonejs/polymorphic-segmentation@^3.9.3":
version "3.9.3"
resolved "https://registry.yarnpkg.com/@cornerstonejs/polymorphic-segmentation/-/polymorphic-segmentation-3.9.3.tgz#afe2c8b3fe6bb055a92395b1c16e0851cc1bcce3"
integrity sha512-1Za1SrA4noA2DI3iS3nfsBs/ObJHeTC92GMitXECwtsrLlF3l/uK+MSlqPvXCONobRbSZLxzPzsCp+DWpL0kBA==
"@cornerstonejs/polymorphic-segmentation@^3.9.4":
version "3.9.4"
resolved "https://registry.yarnpkg.com/@cornerstonejs/polymorphic-segmentation/-/polymorphic-segmentation-3.9.4.tgz#a18bf58e60de1ab6d9f915a2fadc9fde5c022fd9"
integrity sha512-fXio1P4Ic7ZQmWuTELFPAA8DfG/u6l/0f21UlC6QQNrRX7aYWtOVA6fqQdcdE3bJD+iTeJNikGdEl0j05KqNqQ==
dependencies:
"@icr/polyseg-wasm" "0.4.0"
"@cornerstonejs/tools@^3.9.3":
version "3.9.3"
resolved "https://registry.yarnpkg.com/@cornerstonejs/tools/-/tools-3.9.3.tgz#e0d2b6ee7d3e4da69710405c8b9aad4fe94c31a4"
integrity sha512-wOtPDZwzG8nswOeKcWaj7W2pHTeE263o3Z2CCzdrmIsiTIYDzU/2qvt2Q8lYhvkly81pmUt7vYHPRSDPNgo47g==
"@cornerstonejs/tools@^3.9.4":
version "3.9.4"
resolved "https://registry.yarnpkg.com/@cornerstonejs/tools/-/tools-3.9.4.tgz#4a63fc350d8f45db5a2b4fcaea8b76e0893d5083"
integrity sha512-ys2blsOp6rWHjGQvMn6x0fh1Qr9Gnr5lRTjhzucAClRgt1WWFW9v9AqwPMXDS/f94m3WFT995LuBOWlxcGUZtQ==
dependencies:
"@types/offscreencanvas" "2019.7.3"
comlink "^4.4.1"