From f0dad17b8e39b6285ea4542e339b959783f96063 Mon Sep 17 00:00:00 2001 From: Ibrahim <93064150+IbrahimCSAE@users.noreply.github.com> Date: Wed, 5 Apr 2023 16:39:09 -0230 Subject: [PATCH] fix(SRTool): Ellipse Display for DICOMSR Tool (#3307) --- .../src/tools/DICOMSRDisplayTool.ts | 21 +++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/extensions/cornerstone-dicom-sr/src/tools/DICOMSRDisplayTool.ts b/extensions/cornerstone-dicom-sr/src/tools/DICOMSRDisplayTool.ts index 9c4f3c2eaa..347159d206 100644 --- a/extensions/cornerstone-dicom-sr/src/tools/DICOMSRDisplayTool.ts +++ b/extensions/cornerstone-dicom-sr/src/tools/DICOMSRDisplayTool.ts @@ -307,13 +307,26 @@ export default class DICOMSRDisplayTool extends AnnotationTool { const ellipsePointsWorld = data; + const rotation = viewport.getRotation(); + canvasCoordinates = ellipsePointsWorld.map(p => viewport.worldToCanvas(p) ); - - const canvasCorners = >( - utilities.math.ellipse.getCanvasEllipseCorners(canvasCoordinates) - ); + let canvasCorners; + if (rotation == 90 || rotation == 270) { + canvasCorners = >( + utilities.math.ellipse.getCanvasEllipseCorners([ + canvasCoordinates[2], + canvasCoordinates[3], + canvasCoordinates[0], + canvasCoordinates[1], + ]) + ); + } else { + canvasCorners = >( + utilities.math.ellipse.getCanvasEllipseCorners(canvasCoordinates) + ); + } const lineUID = `${index}`; drawing.drawEllipse(