Skip to content

Commit

Permalink
fix(adapters): Measurement reports can throw exceptions that prevent …
Browse files Browse the repository at this point in the history
…loading (#458)
  • Loading branch information
wayfarer3130 authored Mar 3, 2023
1 parent eadd901 commit 7bc7d8a
Showing 1 changed file with 42 additions and 33 deletions.
75 changes: 42 additions & 33 deletions packages/adapters/src/adapters/Cornerstone3D/MeasurementReport.ts
Original file line number Diff line number Diff line change
Expand Up @@ -376,43 +376,52 @@ export default class MeasurementReport {
});

measurementGroups.forEach(measurementGroup => {
const measurementGroupContentSequence = toArray(
measurementGroup.ContentSequence
);

const TrackingIdentifierGroup =
measurementGroupContentSequence.find(
contentItem =>
contentItem.ConceptNameCodeSequence.CodeMeaning ===
TRACKING_IDENTIFIER
try {
const measurementGroupContentSequence = toArray(
measurementGroup.ContentSequence
);

const TrackingIdentifierValue = TrackingIdentifierGroup.TextValue;

const toolClass =
hooks?.getToolClass?.(
measurementGroup,
dataset,
registeredToolClasses
) ||
registeredToolClasses.find(tc =>
tc.isValidCornerstoneTrackingIdentifier(
TrackingIdentifierValue
)
);

if (toolClass) {
const measurement = toolClass.getMeasurementData(
const TrackingIdentifierGroup =
measurementGroupContentSequence.find(
contentItem =>
contentItem.ConceptNameCodeSequence.CodeMeaning ===
TRACKING_IDENTIFIER
);

const TrackingIdentifierValue =
TrackingIdentifierGroup.TextValue;

const toolClass =
hooks?.getToolClass?.(
measurementGroup,
dataset,
registeredToolClasses
) ||
registeredToolClasses.find(tc =>
tc.isValidCornerstoneTrackingIdentifier(
TrackingIdentifierValue
)
);

if (toolClass) {
const measurement = toolClass.getMeasurementData(
measurementGroup,
sopInstanceUIDToImageIdMap,
imageToWorldCoords,
metadata
);

console.log(`=== ${toolClass.toolType} ===`);
console.log(measurement);

measurementData[toolClass.toolType].push(measurement);
}
} catch (e) {
console.warn(
"Unable to generate tool state for",
measurementGroup,
sopInstanceUIDToImageIdMap,
imageToWorldCoords,
metadata
e
);

console.log(`=== ${toolClass.toolType} ===`);
console.log(measurement);

measurementData[toolClass.toolType].push(measurement);
}
});

Expand Down

0 comments on commit 7bc7d8a

Please sign in to comment.