diff --git a/extensions/cornerstone/src/utils/measurementServiceMappings/ArrowAnnotate.ts b/extensions/cornerstone/src/utils/measurementServiceMappings/ArrowAnnotate.ts index bffba4a2a..edd57546c 100644 --- a/extensions/cornerstone/src/utils/measurementServiceMappings/ArrowAnnotate.ts +++ b/extensions/cornerstone/src/utils/measurementServiceMappings/ArrowAnnotate.ts @@ -57,6 +57,7 @@ const Length = { const mappedAnnotations = getMappedAnnotations(annotation, displaySetService); const displayText = getDisplayText(mappedAnnotations, displaySet); + const getReport = () => _getReport(mappedAnnotations, points, FrameOfReferenceUID); return { uid: annotationUID, @@ -77,9 +78,7 @@ const Length = { displayText: displayText, data: data.cachedStats, type: getValueTypeFromToolType(toolName), - getReport: () => { - throw new Error('Not implemented'); - }, + getReport, }; }, }; @@ -145,4 +144,32 @@ function getDisplayText(mappedAnnotations, displaySet) { return displayText; } +function _getReport(mappedAnnotations, points, FrameOfReferenceUID) { + const columns = []; + const values = []; + + columns.push('AnnotationType'); + values.push('Cornerstone:ArrowAnnote'); + + mappedAnnotations.forEach(annotation => { + const { text } = annotation; + columns.push(`Text`); + values.push(text); + }); + + if (FrameOfReferenceUID) { + columns.push('FrameOfReferenceUID'); + values.push(FrameOfReferenceUID); + } + + if (points) { + columns.push('points'); + values.push(points.map(p => p.join(' ')).join(';')); + } + + return { + columns, + values, + }; +} export default Length;