UNPKG

@cornerstonejs/core

Version:
25 lines (24 loc) 1.09 kB
import { validateParameterUndefinedOrNull } from './validator.js'; import getImageSize from './getImageSize.js'; export default function (canvas, image, rotation = null) { validateParameterUndefinedOrNull(canvas, 'getImageScale: parameter canvas must not be undefined'); validateParameterUndefinedOrNull(image, 'getImageScale: parameter image must not be undefined'); const imageSize = getImageSize(image, rotation); const rowPixelSpacing = image.rowPixelSpacing || 1; const columnPixelSpacing = image.columnPixelSpacing || 1; let verticalRatio = 1; let horizontalRatio = 1; if (rowPixelSpacing < columnPixelSpacing) { horizontalRatio = columnPixelSpacing / rowPixelSpacing; } else { verticalRatio = rowPixelSpacing / columnPixelSpacing; } const verticalScale = canvas.height / imageSize.height / verticalRatio; const horizontalScale = canvas.width / imageSize.width / horizontalRatio; return { verticalScale, horizontalScale, scaleFactor: Math.min(horizontalScale, verticalScale), }; }