IDC Re #2656: update dcmjs 0.19.4 and change tol to 0.01. + fix boundary cases in parseSCOORD3D (#2699)

* IDC: update dcmjs to version 0.19.4

* IDC Re #2656: change tol to 0.01 for segs in dcmjs. + fix boundary cases in parseSCOORD3D
This commit is contained in:
Davide Punzo 2022-02-03 18:08:05 +01:00 committed by GitHub
parent 6e3a58931a
commit c554c5fac2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
13 changed files with 42 additions and 19 deletions

View File

@ -36,7 +36,7 @@
"cornerstone-math": "^0.1.9",
"cornerstone-tools": "^6.0.6",
"cornerstone-wado-image-loader": "^4.1.0",
"dcmjs": "0.19.3",
"dcmjs": "0.19.4",
"dicom-parser": "^1.8.11",
"hammerjs": "^2.0.8",
"prop-types": "^15.6.2",

View File

@ -29,7 +29,7 @@
},
"peerDependencies": {
"@ohif/core": "^0.50.0",
"dcmjs": "0.19.3",
"dcmjs": "0.19.4",
"prop-types": "^15.6.2",
"react": "^16.8.6",
"react-dom": "^16.8.6"

View File

@ -31,7 +31,7 @@
"@ohif/core": "^0.50.0",
"cornerstone-core": "^2.6.1",
"cornerstone-tools": "^6.0.6",
"dcmjs": "0.19.3",
"dcmjs": "0.19.4",
"gl-matrix": "^3.3.0",
"prop-types": "^15.6.2",
"react": "^16.8.6",

View File

@ -31,7 +31,7 @@
"@ohif/core": "^0.50.0",
"cornerstone-core": "^2.6.1",
"cornerstone-tools": "^6.0.6",
"dcmjs": "0.19.3",
"dcmjs": "0.19.4",
"prop-types": "^15.6.2",
"react": "^16.8.6",
"react-dom": "^16.8.6"

View File

@ -150,10 +150,16 @@ export default function getSopClassHandlerModule({ servicesManager }) {
}
function _parseSeg(arrayBuffer, imageIds) {
const skipOverlapping = false;
const tolerance = 1e-2;
const cornerstoneToolsVersion = 4;
return dcmjs.adapters.Cornerstone.Segmentation.generateToolState(
imageIds,
arrayBuffer,
cornerstone.metaData
cornerstone.metaData,
skipOverlapping,
tolerance,
cornerstoneToolsVersion
);
}

View File

@ -28,7 +28,7 @@
},
"peerDependencies": {
"@ohif/core": "^2.6.0",
"dcmjs": "0.19.3",
"dcmjs": "0.19.4",
"react": "^16.8.6"
},
"dependencies": {

View File

@ -35,7 +35,7 @@
"cornerstone-core": "^2.6.1",
"cornerstone-tools": "^6.0.6",
"cornerstone-wado-image-loader": "^4.1.0",
"dcmjs": "0.19.3",
"dcmjs": "0.19.4",
"dicom-parser": "^1.8.11",
"i18next": "^17.0.3",
"i18next-browser-languagedetector": "^3.0.1",

View File

@ -39,7 +39,7 @@
"dependencies": {
"@babel/runtime": "^7.5.5",
"ajv": "^6.10.0",
"dcmjs": "0.19.3",
"dcmjs": "0.19.4",
"dicomweb-client": "^0.8.3",
"immer": "6.0.2",
"isomorphic-base64": "^1.0.2",

View File

@ -28,7 +28,13 @@ const parseSCOORD3D = ({ servicesManager, displaySets }) => {
srDisplaySet.isRehydratable = isRehydratable(srDisplaySet, mappings);
srDisplaySet.isLoaded = true;
const imageDisplaySets = displaySets.filter(ds => ds.Modality !== 'SR');
const imageDisplaySets = displaySets.filter(
ds =>
ds.Modality !== 'SR' &&
ds.Modality !== 'SEG' &&
ds.Modality !== 'RTSTRUCT' &&
ds.Modality !== 'RTDOSE'
);
imageDisplaySets.forEach(imageDisplaySet => {
// Check currently added displaySets and add measurements if the sources exist.
checkIfCanAddMeasurementsToDisplaySet(srDisplaySet, imageDisplaySet);

View File

@ -24,12 +24,17 @@ const getReferencedImagesList = ImagingMeasurementReportContentSequence => {
getSequenceAsArray(ImageLibraryGroup.ContentSequence).forEach(item => {
const { ReferencedSOPSequence } = item;
const {
ReferencedSOPClassUID,
ReferencedSOPInstanceUID,
} = ReferencedSOPSequence;
if (ReferencedSOPSequence) {
const {
ReferencedSOPClassUID,
ReferencedSOPInstanceUID,
} = ReferencedSOPSequence;
referencedImages.push({ ReferencedSOPClassUID, ReferencedSOPInstanceUID });
referencedImages.push({
ReferencedSOPClassUID,
ReferencedSOPInstanceUID,
});
}
});
return referencedImages;

View File

@ -79,6 +79,12 @@ const processNonGeometricallyDefinedMeasurement = mergedContentSequence => {
MeasuredValueSequence,
} = item;
if (!ContentSequence) {
console.warn(`Graphic ${ContentSequence} missing, skipping annotation.`);
return;
}
const { ValueType } = ContentSequence;
if (!ValueType === 'SCOORD' && !ValueType === 'SCOORD3D') {

View File

@ -66,7 +66,7 @@
"cornerstone-math": "^0.1.9",
"cornerstone-tools": "^6.0.6",
"cornerstone-wado-image-loader": "^4.1.0",
"dcmjs": "0.19.3",
"dcmjs": "0.19.4",
"dicom-parser": "^1.8.11",
"dicomweb-client": "^0.8.3",
"hammerjs": "^2.0.8",

View File

@ -6942,10 +6942,10 @@ dateformat@^3.0.0:
resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae"
integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==
dcmjs@0.19.3:
version "0.19.3"
resolved "https://registry.yarnpkg.com/dcmjs/-/dcmjs-0.19.3.tgz#8b0c3ea920a09d1646493504a711b32c7d54aec3"
integrity sha512-MpUQF7AIvyIa291i7WoQ1PUClNLes11XBFe9IOP02mNkmjWCptE7JuvpD2maSuVaMY48ZIi0krOdn1Y+M3OmqA==
dcmjs@0.19.4:
version "0.19.4"
resolved "https://registry.yarnpkg.com/dcmjs/-/dcmjs-0.19.4.tgz#b2ce1cc1e672ead3fba12bafd2e8a655b398601a"
integrity sha512-ZpOsuyBMcmDVPo0EtqztRGu1ARKMqIfbJGbtDxmBwxeE5SEHMQJvrZHhyLoxuS10R3w+jL2SJ0r7Dn9aSDZH1w==
dependencies:
"@babel/polyfill" "^7.8.3"
"@babel/runtime" "^7.8.4"