@cornerstonejs/core 1.38.1 → 1.39.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/dist/cjs/utilities/getCurrentVolumeViewportSlice.d.ts +10 -0
  2. package/dist/cjs/utilities/getCurrentVolumeViewportSlice.js +86 -0
  3. package/dist/cjs/utilities/getCurrentVolumeViewportSlice.js.map +1 -0
  4. package/dist/cjs/utilities/index.d.ts +3 -1
  5. package/dist/cjs/utilities/index.js +6 -2
  6. package/dist/cjs/utilities/index.js.map +1 -1
  7. package/dist/cjs/utilities/transformCanvasToIJK.d.ts +2 -0
  8. package/dist/cjs/utilities/transformCanvasToIJK.js +14 -0
  9. package/dist/cjs/utilities/transformCanvasToIJK.js.map +1 -0
  10. package/dist/cjs/utilities/transformIJKToCanvas.d.ts +2 -0
  11. package/dist/cjs/utilities/transformIJKToCanvas.js +14 -0
  12. package/dist/cjs/utilities/transformIJKToCanvas.js.map +1 -0
  13. package/dist/cjs/utilities/transformIndexToWorld.d.ts +2 -0
  14. package/dist/cjs/utilities/transformIndexToWorld.js +7 -0
  15. package/dist/cjs/utilities/transformIndexToWorld.js.map +1 -0
  16. package/dist/esm/utilities/getCurrentVolumeViewportSlice.js +82 -0
  17. package/dist/esm/utilities/getCurrentVolumeViewportSlice.js.map +1 -0
  18. package/dist/esm/utilities/index.js +3 -1
  19. package/dist/esm/utilities/index.js.map +1 -1
  20. package/dist/esm/utilities/transformCanvasToIJK.js +7 -0
  21. package/dist/esm/utilities/transformCanvasToIJK.js.map +1 -0
  22. package/dist/esm/utilities/transformIJKToCanvas.js +7 -0
  23. package/dist/esm/utilities/transformIJKToCanvas.js.map +1 -0
  24. package/dist/esm/utilities/transformIndexToWorld.js +4 -0
  25. package/dist/esm/utilities/transformIndexToWorld.js.map +1 -0
  26. package/dist/types/utilities/getCurrentVolumeViewportSlice.d.ts +11 -0
  27. package/dist/types/utilities/getCurrentVolumeViewportSlice.d.ts.map +1 -0
  28. package/dist/types/utilities/index.d.ts +3 -1
  29. package/dist/types/utilities/index.d.ts.map +1 -1
  30. package/dist/types/utilities/transformCanvasToIJK.d.ts +3 -0
  31. package/dist/types/utilities/transformCanvasToIJK.d.ts.map +1 -0
  32. package/dist/types/utilities/transformIJKToCanvas.d.ts +3 -0
  33. package/dist/types/utilities/transformIJKToCanvas.d.ts.map +1 -0
  34. package/dist/types/utilities/transformIndexToWorld.d.ts +3 -0
  35. package/dist/types/utilities/transformIndexToWorld.d.ts.map +1 -0
  36. package/dist/umd/index.js +1 -1
  37. package/dist/umd/index.js.map +1 -1
  38. package/package.json +2 -2
  39. package/src/utilities/getCurrentVolumeViewportSlice.ts +166 -0
  40. package/src/utilities/index.ts +4 -0
  41. package/src/utilities/transformCanvasToIJK.ts +18 -0
  42. package/src/utilities/transformIJKToCanvas.ts +18 -0
  43. package/src/utilities/transformIndexToWorld.ts +14 -0
@@ -0,0 +1,10 @@
1
+ import { mat4 } from 'gl-matrix';
2
+ import { IVolumeViewport } from '../types';
3
+ declare function getCurrentVolumeViewportSlice(viewport: IVolumeViewport): {
4
+ width: number;
5
+ height: number;
6
+ scalarData: any;
7
+ sliceToIndexMatrix: mat4;
8
+ indexToSliceMatrix: mat4;
9
+ };
10
+ export { getCurrentVolumeViewportSlice as default, getCurrentVolumeViewportSlice, };
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getCurrentVolumeViewportSlice = exports.default = void 0;
4
+ const gl_matrix_1 = require("gl-matrix");
5
+ const transformIJKToCanvas_1 = require("./transformIJKToCanvas");
6
+ const transformCanvasToIJK_1 = require("./transformCanvasToIJK");
7
+ function getCurrentVolumeViewportSlice(viewport) {
8
+ const { dimensions, scalarData } = viewport.getImageData();
9
+ const { width: canvasWidth, height: canvasHeight } = viewport.getCanvas();
10
+ const ijkOriginPoint = (0, transformCanvasToIJK_1.transformCanvasToIJK)(viewport, [0, 0]);
11
+ const ijkRowPoint = (0, transformCanvasToIJK_1.transformCanvasToIJK)(viewport, [canvasWidth - 1, 0]);
12
+ const ijkColPoint = (0, transformCanvasToIJK_1.transformCanvasToIJK)(viewport, [0, canvasHeight - 1]);
13
+ const ijkRowVec = gl_matrix_1.vec3.sub(gl_matrix_1.vec3.create(), ijkRowPoint, ijkOriginPoint);
14
+ const ijkColVec = gl_matrix_1.vec3.sub(gl_matrix_1.vec3.create(), ijkColPoint, ijkOriginPoint);
15
+ const ijkSliceVec = gl_matrix_1.vec3.cross(gl_matrix_1.vec3.create(), ijkRowVec, ijkColVec);
16
+ gl_matrix_1.vec3.normalize(ijkRowVec, ijkRowVec);
17
+ gl_matrix_1.vec3.normalize(ijkColVec, ijkColVec);
18
+ gl_matrix_1.vec3.normalize(ijkSliceVec, ijkSliceVec);
19
+ const maxIJKRowVec = Math.max(Math.abs(ijkRowVec[0]), Math.abs(ijkRowVec[1]), Math.abs(ijkRowVec[2]));
20
+ const maxIJKColVec = Math.max(Math.abs(ijkColVec[0]), Math.abs(ijkColVec[1]), Math.abs(ijkColVec[2]));
21
+ if (!gl_matrix_1.glMatrix.equals(1, maxIJKRowVec) || !gl_matrix_1.glMatrix.equals(1, maxIJKColVec)) {
22
+ throw new Error('Livewire is not available for rotate/oblique viewports');
23
+ }
24
+ const [sx, sy, sz] = dimensions;
25
+ const ijkCorners = [
26
+ [0, 0, 0],
27
+ [sx - 1, 0, 0],
28
+ [0, sy - 1, 0],
29
+ [sx - 1, sy - 1, 0],
30
+ [0, 0, sz - 1],
31
+ [sx - 1, 0, sz - 1],
32
+ [0, sy - 1, sz - 1],
33
+ [sx - 1, sy - 1, sz - 1],
34
+ ];
35
+ const canvasCorners = ijkCorners.map((ijkCorner) => (0, transformIJKToCanvas_1.transformIJKToCanvas)(viewport, ijkCorner));
36
+ const canvasAABB = canvasCorners.reduce((aabb, canvasPoint) => {
37
+ aabb.minX = Math.min(aabb.minX, canvasPoint[0]);
38
+ aabb.minY = Math.min(aabb.minY, canvasPoint[1]);
39
+ aabb.maxX = Math.max(aabb.maxX, canvasPoint[0]);
40
+ aabb.maxY = Math.max(aabb.maxY, canvasPoint[1]);
41
+ return aabb;
42
+ }, { minX: Infinity, minY: Infinity, maxX: -Infinity, maxY: -Infinity });
43
+ const ijkTopLeft = (0, transformCanvasToIJK_1.transformCanvasToIJK)(viewport, [
44
+ canvasAABB.minX,
45
+ canvasAABB.minY,
46
+ ]);
47
+ const ijkBottomRight = (0, transformCanvasToIJK_1.transformCanvasToIJK)(viewport, [
48
+ canvasAABB.maxX,
49
+ canvasAABB.maxY,
50
+ ]);
51
+ const ijkDiagonal = gl_matrix_1.vec3.sub(gl_matrix_1.vec3.create(), ijkBottomRight, ijkTopLeft);
52
+ const sliceToIndexMatrix = gl_matrix_1.mat4.fromValues(ijkRowVec[0], ijkRowVec[1], ijkRowVec[2], 0, ijkColVec[0], ijkColVec[1], ijkColVec[2], 0, ijkSliceVec[0], ijkSliceVec[1], ijkSliceVec[2], 0, ijkTopLeft[0], ijkTopLeft[1], ijkTopLeft[2], 1);
53
+ const indexToSliceMatrix = gl_matrix_1.mat4.invert(gl_matrix_1.mat4.create(), sliceToIndexMatrix);
54
+ const sliceWidth = gl_matrix_1.vec3.dot(ijkRowVec, ijkDiagonal) + 1;
55
+ const sliceHeight = gl_matrix_1.vec3.dot(ijkColVec, ijkDiagonal) + 1;
56
+ const TypedArray = scalarData.constructor;
57
+ const sliceData = new TypedArray(sliceWidth * sliceHeight);
58
+ const pixelsPerSlice = dimensions[0] * dimensions[1];
59
+ const ijkPixelRow = gl_matrix_1.vec3.clone(ijkTopLeft);
60
+ const ijkPixelCol = gl_matrix_1.vec3.create();
61
+ let slicePixelIndex = 0;
62
+ for (let y = 0; y < sliceHeight; y++) {
63
+ gl_matrix_1.vec3.copy(ijkPixelCol, ijkPixelRow);
64
+ for (let x = 0; x < sliceWidth; x++) {
65
+ const volumePixelIndex = ijkPixelCol[2] * pixelsPerSlice +
66
+ ijkPixelCol[1] * dimensions[0] +
67
+ ijkPixelCol[0];
68
+ if (volumePixelIndex < scalarData.length) {
69
+ sliceData[slicePixelIndex] = scalarData[volumePixelIndex];
70
+ }
71
+ slicePixelIndex++;
72
+ gl_matrix_1.vec3.add(ijkPixelCol, ijkPixelCol, ijkRowVec);
73
+ }
74
+ gl_matrix_1.vec3.add(ijkPixelRow, ijkPixelRow, ijkColVec);
75
+ }
76
+ return {
77
+ width: sliceWidth,
78
+ height: sliceHeight,
79
+ scalarData: sliceData,
80
+ sliceToIndexMatrix,
81
+ indexToSliceMatrix,
82
+ };
83
+ }
84
+ exports.default = getCurrentVolumeViewportSlice;
85
+ exports.getCurrentVolumeViewportSlice = getCurrentVolumeViewportSlice;
86
+ //# sourceMappingURL=getCurrentVolumeViewportSlice.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getCurrentVolumeViewportSlice.js","sourceRoot":"","sources":["../../../src/utilities/getCurrentVolumeViewportSlice.ts"],"names":[],"mappings":"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"}
@@ -26,6 +26,7 @@ import indexWithinDimensions from './indexWithinDimensions';
26
26
  import getVolumeViewportsContainingSameVolumes from './getVolumeViewportsContainingSameVolumes';
27
27
  import getViewportsWithVolumeId from './getViewportsWithVolumeId';
28
28
  import transformWorldToIndex from './transformWorldToIndex';
29
+ import transformIndexToWorld from './transformIndexToWorld';
29
30
  import loadImageToCanvas from './loadImageToCanvas';
30
31
  import renderToCanvasCPU from './renderToCanvasCPU';
31
32
  import renderToCanvasGPU from './renderToCanvasGPU';
@@ -39,6 +40,7 @@ import getImageSliceDataForVolumeViewport from './getImageSliceDataForVolumeView
39
40
  import { isImageActor, actorIsA } from './actorCheck';
40
41
  import getViewportsWithImageURI from './getViewportsWithImageURI';
41
42
  import getClosestStackImageIndexForPoint from './getClosestStackImageIndexForPoint';
43
+ import getCurrentVolumeViewportSlice from './getCurrentVolumeViewportSlice';
42
44
  import calculateViewportsSpatialRegistration from './calculateViewportsSpatialRegistration';
43
45
  import spatialRegistrationMetadataProvider from './spatialRegistrationMetadataProvider';
44
46
  import getViewportImageCornersInWorld from './getViewportImageCornersInWorld';
@@ -64,4 +66,4 @@ import * as planar from './planar';
64
66
  import * as windowLevel from './windowLevel';
65
67
  import * as colormap from './colormap';
66
68
  import * as transferFunctionUtils from './transferFunctionUtils';
67
- export { eventListener, csUtils as invertRgbTransferFunction, createSigmoidRGBTransferFunction, getVoiFromSigmoidRGBTransferFunction, createLinearRGBTransferFunction, scaleRgbTransferFunction, triggerEvent, imageIdToURI, calibratedPixelSpacingMetadataProvider, clamp, uuidv4, planar, getMinMax, getRuntimeId, isEqual, isOpposite, createFloat32SharedArray, createUint8SharedArray, createUint16SharedArray, createInt16SharedArray, getViewportModality, windowLevel, getClosestImageId, getSpacingInNormalDirection, getTargetVolumeAndSpacingInNormalDir, getVolumeActorCorners, indexWithinDimensions, getVolumeViewportsContainingSameVolumes, getViewportsWithVolumeId, transformWorldToIndex, loadImageToCanvas, renderToCanvasCPU, renderToCanvasGPU, worldToImageCoords, imageToWorldCoords, getVolumeSliceRangeInfo, getVolumeViewportScrollInfo, getSliceRange, snapFocalPointToSlice, getImageSliceDataForVolumeViewport, isImageActor, isPTPrescaledWithSUV, actorIsA, getViewportsWithImageURI, getClosestStackImageIndexForPoint, calculateViewportsSpatialRegistration, spatialRegistrationMetadataProvider, getViewportImageCornersInWorld, hasNaNValues, applyPreset, deepMerge, getScalingParameters, getScalarDataType, colormap, getImageLegacy, ProgressiveIterator, decimate, imageRetrieveMetadataProvider, transferFunctionUtils, updateVTKImageDataWithCornerstoneImage, sortImageIdsAndGetSpacing, makeVolumeMetadata, isValidVolume, genericMetadataProvider, isVideoTransferSyntax, getBufferConfiguration, VoxelManager, };
69
+ export { eventListener, csUtils as invertRgbTransferFunction, createSigmoidRGBTransferFunction, getVoiFromSigmoidRGBTransferFunction, createLinearRGBTransferFunction, scaleRgbTransferFunction, triggerEvent, imageIdToURI, calibratedPixelSpacingMetadataProvider, clamp, uuidv4, planar, getMinMax, getRuntimeId, isEqual, isOpposite, createFloat32SharedArray, createUint8SharedArray, createUint16SharedArray, createInt16SharedArray, getViewportModality, windowLevel, getClosestImageId, getSpacingInNormalDirection, getTargetVolumeAndSpacingInNormalDir, getVolumeActorCorners, indexWithinDimensions, getVolumeViewportsContainingSameVolumes, getViewportsWithVolumeId, transformWorldToIndex, transformIndexToWorld, loadImageToCanvas, renderToCanvasCPU, renderToCanvasGPU, worldToImageCoords, imageToWorldCoords, getVolumeSliceRangeInfo, getVolumeViewportScrollInfo, getSliceRange, snapFocalPointToSlice, getImageSliceDataForVolumeViewport, isImageActor, isPTPrescaledWithSUV, actorIsA, getViewportsWithImageURI, getClosestStackImageIndexForPoint, getCurrentVolumeViewportSlice, calculateViewportsSpatialRegistration, spatialRegistrationMetadataProvider, getViewportImageCornersInWorld, hasNaNValues, applyPreset, deepMerge, getScalingParameters, getScalarDataType, colormap, getImageLegacy, ProgressiveIterator, decimate, imageRetrieveMetadataProvider, transferFunctionUtils, updateVTKImageDataWithCornerstoneImage, sortImageIdsAndGetSpacing, makeVolumeMetadata, isValidVolume, genericMetadataProvider, isVideoTransferSyntax, getBufferConfiguration, VoxelManager, };
@@ -26,8 +26,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
26
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.applyPreset = exports.hasNaNValues = exports.getViewportImageCornersInWorld = exports.spatialRegistrationMetadataProvider = exports.calculateViewportsSpatialRegistration = exports.getClosestStackImageIndexForPoint = exports.getViewportsWithImageURI = exports.actorIsA = exports.isPTPrescaledWithSUV = exports.isImageActor = exports.getImageSliceDataForVolumeViewport = exports.snapFocalPointToSlice = exports.getSliceRange = exports.getVolumeViewportScrollInfo = exports.getVolumeSliceRangeInfo = exports.imageToWorldCoords = exports.worldToImageCoords = exports.renderToCanvasGPU = exports.renderToCanvasCPU = exports.loadImageToCanvas = exports.transformWorldToIndex = exports.getViewportsWithVolumeId = exports.getVolumeViewportsContainingSameVolumes = exports.indexWithinDimensions = exports.getVolumeActorCorners = exports.getTargetVolumeAndSpacingInNormalDir = exports.getSpacingInNormalDirection = exports.getClosestImageId = exports.windowLevel = exports.getViewportModality = exports.createInt16SharedArray = exports.createUint16SharedArray = exports.createUint8SharedArray = exports.createFloat32SharedArray = exports.isOpposite = exports.isEqual = exports.getRuntimeId = exports.getMinMax = exports.planar = exports.uuidv4 = exports.clamp = exports.calibratedPixelSpacingMetadataProvider = exports.imageIdToURI = exports.triggerEvent = exports.scaleRgbTransferFunction = exports.createLinearRGBTransferFunction = exports.getVoiFromSigmoidRGBTransferFunction = exports.createSigmoidRGBTransferFunction = exports.invertRgbTransferFunction = exports.eventListener = void 0;
30
- exports.VoxelManager = exports.getBufferConfiguration = exports.isVideoTransferSyntax = exports.genericMetadataProvider = exports.isValidVolume = exports.makeVolumeMetadata = exports.sortImageIdsAndGetSpacing = exports.updateVTKImageDataWithCornerstoneImage = exports.transferFunctionUtils = exports.imageRetrieveMetadataProvider = exports.decimate = exports.ProgressiveIterator = exports.getImageLegacy = exports.colormap = exports.getScalarDataType = exports.getScalingParameters = exports.deepMerge = void 0;
29
+ exports.getViewportImageCornersInWorld = exports.spatialRegistrationMetadataProvider = exports.calculateViewportsSpatialRegistration = exports.getCurrentVolumeViewportSlice = exports.getClosestStackImageIndexForPoint = exports.getViewportsWithImageURI = exports.actorIsA = exports.isPTPrescaledWithSUV = exports.isImageActor = exports.getImageSliceDataForVolumeViewport = exports.snapFocalPointToSlice = exports.getSliceRange = exports.getVolumeViewportScrollInfo = exports.getVolumeSliceRangeInfo = exports.imageToWorldCoords = exports.worldToImageCoords = exports.renderToCanvasGPU = exports.renderToCanvasCPU = exports.loadImageToCanvas = exports.transformIndexToWorld = exports.transformWorldToIndex = exports.getViewportsWithVolumeId = exports.getVolumeViewportsContainingSameVolumes = exports.indexWithinDimensions = exports.getVolumeActorCorners = exports.getTargetVolumeAndSpacingInNormalDir = exports.getSpacingInNormalDirection = exports.getClosestImageId = exports.windowLevel = exports.getViewportModality = exports.createInt16SharedArray = exports.createUint16SharedArray = exports.createUint8SharedArray = exports.createFloat32SharedArray = exports.isOpposite = exports.isEqual = exports.getRuntimeId = exports.getMinMax = exports.planar = exports.uuidv4 = exports.clamp = exports.calibratedPixelSpacingMetadataProvider = exports.imageIdToURI = exports.triggerEvent = exports.scaleRgbTransferFunction = exports.createLinearRGBTransferFunction = exports.getVoiFromSigmoidRGBTransferFunction = exports.createSigmoidRGBTransferFunction = exports.invertRgbTransferFunction = exports.eventListener = void 0;
30
+ exports.VoxelManager = exports.getBufferConfiguration = exports.isVideoTransferSyntax = exports.genericMetadataProvider = exports.isValidVolume = exports.makeVolumeMetadata = exports.sortImageIdsAndGetSpacing = exports.updateVTKImageDataWithCornerstoneImage = exports.transferFunctionUtils = exports.imageRetrieveMetadataProvider = exports.decimate = exports.ProgressiveIterator = exports.getImageLegacy = exports.colormap = exports.getScalarDataType = exports.getScalingParameters = exports.deepMerge = exports.applyPreset = exports.hasNaNValues = void 0;
31
31
  const eventListener = __importStar(require("./eventListener"));
32
32
  exports.eventListener = eventListener;
33
33
  const invertRgbTransferFunction_1 = __importDefault(require("./invertRgbTransferFunction"));
@@ -84,6 +84,8 @@ const getViewportsWithVolumeId_1 = __importDefault(require("./getViewportsWithVo
84
84
  exports.getViewportsWithVolumeId = getViewportsWithVolumeId_1.default;
85
85
  const transformWorldToIndex_1 = __importDefault(require("./transformWorldToIndex"));
86
86
  exports.transformWorldToIndex = transformWorldToIndex_1.default;
87
+ const transformIndexToWorld_1 = __importDefault(require("./transformIndexToWorld"));
88
+ exports.transformIndexToWorld = transformIndexToWorld_1.default;
87
89
  const loadImageToCanvas_1 = __importDefault(require("./loadImageToCanvas"));
88
90
  exports.loadImageToCanvas = loadImageToCanvas_1.default;
89
91
  const renderToCanvasCPU_1 = __importDefault(require("./renderToCanvasCPU"));
@@ -111,6 +113,8 @@ const getViewportsWithImageURI_1 = __importDefault(require("./getViewportsWithIm
111
113
  exports.getViewportsWithImageURI = getViewportsWithImageURI_1.default;
112
114
  const getClosestStackImageIndexForPoint_1 = __importDefault(require("./getClosestStackImageIndexForPoint"));
113
115
  exports.getClosestStackImageIndexForPoint = getClosestStackImageIndexForPoint_1.default;
116
+ const getCurrentVolumeViewportSlice_1 = __importDefault(require("./getCurrentVolumeViewportSlice"));
117
+ exports.getCurrentVolumeViewportSlice = getCurrentVolumeViewportSlice_1.default;
114
118
  const calculateViewportsSpatialRegistration_1 = __importDefault(require("./calculateViewportsSpatialRegistration"));
115
119
  exports.calculateViewportsSpatialRegistration = calculateViewportsSpatialRegistration_1.default;
116
120
  const spatialRegistrationMetadataProvider_1 = __importDefault(require("./spatialRegistrationMetadataProvider"));
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utilities/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+DAAiD;AAsE/C,sCAAa;AArEf,4FAAkD;AAsErC,oCAtEN,mCAAO,CAsEwB;AArEtC,0GAAkF;AAsEhF,2CAtEK,0CAAgC,CAsEL;AArElC,kHAA0F;AAsExF,+CAtEK,8CAAoC,CAsEL;AArEtC,wGAAgF;AAsE9E,0CAtEK,yCAA+B,CAsEL;AArEjC,0FAAkE;AAsEhE,mCAtEK,kCAAwB,CAsEL;AArE1B,kEAA0C;AAsExC,uBAtEK,sBAAY,CAsEL;AArEd,sDAA8B;AAyE5B,iBAzEK,gBAAM,CAyEL;AAxER,4DAAoC;AA0ElC,oBA1EK,mBAAS,CA0EL;AAzEX,kEAA0C;AA0ExC,uBA1EK,sBAAY,CA0EL;AAzEd,kEAA0C;AAmExC,uBAnEK,sBAAY,CAmEL;AAlEd,sHAA8F;AAmE5F,iDAnEK,gDAAsC,CAmEL;AAlExC,oDAA4B;AAmE1B,gBAnEK,eAAK,CAmEL;AAlEP,wDAAgC;AAuE9B,kBAvEK,iBAAO,CAuEL;AAtET,8DAAsC;AAuEpC,qBAvEK,oBAAU,CAuEL;AAtEZ,sFAA8D;AAwE5D,iCAxEK,gCAAsB,CAwEL;AAvExB,0FAAkE;AAsEhE,mCAtEK,kCAAwB,CAsEL;AArE1B,wFAAgE;AAuE9D,kCAvEK,iCAAuB,CAuEL;AAtEzB,sFAA8D;AAuE5D,iCAvEK,gCAAsB,CAuEL;AAtExB,gFAAwD;AAuEtD,8BAvEK,6BAAmB,CAuEL;AAtErB,4EAAoD;AAwElD,4BAxEK,2BAAiB,CAwEL;AAvEnB,gGAAwE;AAwEtE,sCAxEK,qCAA2B,CAwEL;AAvE7B,kHAA0F;AAwExF,+CAxEK,8CAAoC,CAwEL;AAvEtC,oFAA4D;AAwE1D,gCAxEK,+BAAqB,CAwEL;AAvEvB,oFAA4D;AAwE1D,gCAxEK,+BAAqB,CAwEL;AAvEvB,wHAAgG;AAwE9F,kDAxEK,iDAAuC,CAwEL;AAvEzC,0FAAkE;AAwEhE,mCAxEK,kCAAwB,CAwEL;AAvE1B,oFAA4D;AAwE1D,gCAxEK,+BAAqB,CAwEL;AAvEvB,4EAAoD;AAwElD,4BAxEK,2BAAiB,CAwEL;AAvEnB,4EAAoD;AAwElD,4BAxEK,2BAAiB,CAwEL;AAvEnB,4EAAoD;AAwElD,4BAxEK,2BAAiB,CAwEL;AAvEnB,8EAAsD;AAwEpD,6BAxEK,4BAAkB,CAwEL;AAvEpB,8EAAsD;AAwEpD,6BAxEK,4BAAkB,CAwEL;AAvEpB,wFAAgE;AAwE9D,kCAxEK,iCAAuB,CAwEL;AAvEzB,gGAAwE;AAwEtE,sCAxEK,qCAA2B,CAwEL;AAvE7B,oEAA4C;AAwE1C,wBAxEK,uBAAa,CAwEL;AAvEf,oFAA4D;AAwE1D,gCAxEK,+BAAqB,CAwEL;AAvEvB,8GAAsF;AAwEpF,6CAxEK,4CAAkC,CAwEL;AAvEpC,6CAAsD;AAwEpD,6FAxEO,yBAAY,OAwEP;AAEZ,yFA1EqB,qBAAQ,OA0ErB;AAzEV,0FAAkE;AA0EhE,mCA1EK,kCAAwB,CA0EL;AAzE1B,4GAAoF;AA0ElF,4CA1EK,2CAAiC,CA0EL;AAzEnC,oHAA4F;AA0E1F,gDA1EK,+CAAqC,CA0EL;AAzEvC,gHAAwF;AA0EtF,8CA1EK,6CAAmC,CA0EL;AAzErC,sGAA8E;AA0E5E,yCA1EK,wCAA8B,CA0EL;AAzEhC,kEAA0C;AA0ExC,uBA1EK,sBAAY,CA0EL;AAzEd,gEAAwC;AA0EtC,sBA1EK,qBAAW,CA0EL;AAzEb,4DAAoC;AA0ElC,oBA1EK,mBAAS,CA0EL;AAzEX,kFAA0D;AA0ExD,+BA1EK,8BAAoB,CA0EL;AAzEtB,4EAAoD;AA0ElD,4BA1EK,2BAAiB,CA0EL;AAzEnB,kFAA0D;AA8DxD,+BA9DK,8BAAoB,CA8DL;AA7DtB,sEAA8C;AA0E5C,yBA1EK,wBAAc,CA0EL;AAzEhB,4FAAoE;AA+ElE,oCA/EK,mCAAyB,CA+EL;AA9E3B,8EAAsD;AA+EpD,6BA/EK,4BAAkB,CA+EL;AA9EpB,wFAAgE;AAgF9D,kCAhFK,iCAAuB,CAgFL;AA/EzB,mDAAgD;AA8E9C,8FA9EO,6BAAa,OA8EP;AA7Ef,qGAAkG;AA0EhG,uHA1EO,+EAAsC,OA0EP;AAzExC,gFAAwD;AAqEtD,8BArEK,6BAAmB,CAqEL;AApErB,0DAAkC;AAqEhC,mBArEK,kBAAQ,CAqEL;AApEV,oGAA4E;AAqE1E,wCArEK,uCAA6B,CAqEL;AApE/B,oFAA4D;AA2E1D,gCA3EK,+BAAqB,CA2EL;AA1EvB,qEAAkE;AA2EhE,uGA3EO,+CAAsB,OA2EP;AA1ExB,kEAA0C;AA2ExC,uBA3EK,sBAAY,CA2EL;AAxEd,iDAAmC;AAiBjC,wBAAM;AAhBR,2DAA6C;AA0B3C,kCAAW;AAzBb,qDAAuC;AAyDrC,4BAAQ;AAxDV,+EAAiE;AA6D/D,sDAAqB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utilities/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+DAAiD;AAwE/C,sCAAa;AAvEf,4FAAkD;AAwErC,oCAxEN,mCAAO,CAwEwB;AAvEtC,0GAAkF;AAwEhF,2CAxEK,0CAAgC,CAwEL;AAvElC,kHAA0F;AAwExF,+CAxEK,8CAAoC,CAwEL;AAvEtC,wGAAgF;AAwE9E,0CAxEK,yCAA+B,CAwEL;AAvEjC,0FAAkE;AAwEhE,mCAxEK,kCAAwB,CAwEL;AAvE1B,kEAA0C;AAwExC,uBAxEK,sBAAY,CAwEL;AAvEd,sDAA8B;AA2E5B,iBA3EK,gBAAM,CA2EL;AA1ER,4DAAoC;AA4ElC,oBA5EK,mBAAS,CA4EL;AA3EX,kEAA0C;AA4ExC,uBA5EK,sBAAY,CA4EL;AA3Ed,kEAA0C;AAqExC,uBArEK,sBAAY,CAqEL;AApEd,sHAA8F;AAqE5F,iDArEK,gDAAsC,CAqEL;AApExC,oDAA4B;AAqE1B,gBArEK,eAAK,CAqEL;AApEP,wDAAgC;AAyE9B,kBAzEK,iBAAO,CAyEL;AAxET,8DAAsC;AAyEpC,qBAzEK,oBAAU,CAyEL;AAxEZ,sFAA8D;AA0E5D,iCA1EK,gCAAsB,CA0EL;AAzExB,0FAAkE;AAwEhE,mCAxEK,kCAAwB,CAwEL;AAvE1B,wFAAgE;AAyE9D,kCAzEK,iCAAuB,CAyEL;AAxEzB,sFAA8D;AAyE5D,iCAzEK,gCAAsB,CAyEL;AAxExB,gFAAwD;AAyEtD,8BAzEK,6BAAmB,CAyEL;AAxErB,4EAAoD;AA0ElD,4BA1EK,2BAAiB,CA0EL;AAzEnB,gGAAwE;AA0EtE,sCA1EK,qCAA2B,CA0EL;AAzE7B,kHAA0F;AA0ExF,+CA1EK,8CAAoC,CA0EL;AAzEtC,oFAA4D;AA0E1D,gCA1EK,+BAAqB,CA0EL;AAzEvB,oFAA4D;AA0E1D,gCA1EK,+BAAqB,CA0EL;AAzEvB,wHAAgG;AA0E9F,kDA1EK,iDAAuC,CA0EL;AAzEzC,0FAAkE;AA0EhE,mCA1EK,kCAAwB,CA0EL;AAzE1B,oFAA4D;AA0E1D,gCA1EK,+BAAqB,CA0EL;AAzEvB,oFAA4D;AA0E1D,gCA1EK,+BAAqB,CA0EL;AAzEvB,4EAAoD;AA0ElD,4BA1EK,2BAAiB,CA0EL;AAzEnB,4EAAoD;AA0ElD,4BA1EK,2BAAiB,CA0EL;AAzEnB,4EAAoD;AA0ElD,4BA1EK,2BAAiB,CA0EL;AAzEnB,8EAAsD;AA0EpD,6BA1EK,4BAAkB,CA0EL;AAzEpB,8EAAsD;AA0EpD,6BA1EK,4BAAkB,CA0EL;AAzEpB,wFAAgE;AA0E9D,kCA1EK,iCAAuB,CA0EL;AAzEzB,gGAAwE;AA0EtE,sCA1EK,qCAA2B,CA0EL;AAzE7B,oEAA4C;AA0E1C,wBA1EK,uBAAa,CA0EL;AAzEf,oFAA4D;AA0E1D,gCA1EK,+BAAqB,CA0EL;AAzEvB,8GAAsF;AA0EpF,6CA1EK,4CAAkC,CA0EL;AAzEpC,6CAAsD;AA0EpD,6FA1EO,yBAAY,OA0EP;AAEZ,yFA5EqB,qBAAQ,OA4ErB;AA3EV,0FAAkE;AA4EhE,mCA5EK,kCAAwB,CA4EL;AA3E1B,4GAAoF;AA4ElF,4CA5EK,2CAAiC,CA4EL;AA3EnC,oGAA4E;AA4E1E,wCA5EK,uCAA6B,CA4EL;AA3E/B,oHAA4F;AA4E1F,gDA5EK,+CAAqC,CA4EL;AA3EvC,gHAAwF;AA4EtF,8CA5EK,6CAAmC,CA4EL;AA3ErC,sGAA8E;AA4E5E,yCA5EK,wCAA8B,CA4EL;AA3EhC,kEAA0C;AA4ExC,uBA5EK,sBAAY,CA4EL;AA3Ed,gEAAwC;AA4EtC,sBA5EK,qBAAW,CA4EL;AA3Eb,4DAAoC;AA4ElC,oBA5EK,mBAAS,CA4EL;AA3EX,kFAA0D;AA4ExD,+BA5EK,8BAAoB,CA4EL;AA3EtB,4EAAoD;AA4ElD,4BA5EK,2BAAiB,CA4EL;AA3EnB,kFAA0D;AA+DxD,+BA/DK,8BAAoB,CA+DL;AA9DtB,sEAA8C;AA4E5C,yBA5EK,wBAAc,CA4EL;AA3EhB,4FAAoE;AAiFlE,oCAjFK,mCAAyB,CAiFL;AAhF3B,8EAAsD;AAiFpD,6BAjFK,4BAAkB,CAiFL;AAhFpB,wFAAgE;AAkF9D,kCAlFK,iCAAuB,CAkFL;AAjFzB,mDAAgD;AAgF9C,8FAhFO,6BAAa,OAgFP;AA/Ef,qGAAkG;AA4EhG,uHA5EO,+EAAsC,OA4EP;AA3ExC,gFAAwD;AAuEtD,8BAvEK,6BAAmB,CAuEL;AAtErB,0DAAkC;AAuEhC,mBAvEK,kBAAQ,CAuEL;AAtEV,oGAA4E;AAuE1E,wCAvEK,uCAA6B,CAuEL;AAtE/B,oFAA4D;AA6E1D,gCA7EK,+BAAqB,CA6EL;AA5EvB,qEAAkE;AA6EhE,uGA7EO,+CAAsB,OA6EP;AA5ExB,kEAA0C;AA6ExC,uBA7EK,sBAAY,CA6EL;AA1Ed,iDAAmC;AAiBjC,wBAAM;AAhBR,2DAA6C;AA0B3C,kCAAW;AAzBb,qDAAuC;AA2DrC,4BAAQ;AA1DV,+EAAiE;AA+D/D,sDAAqB"}
@@ -0,0 +1,2 @@
1
+ import { IStackViewport, IVolumeViewport, Point2 } from '../types';
2
+ export declare function transformCanvasToIJK(viewport: IVolumeViewport | IStackViewport, canvasPoint: Point2): any;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.transformCanvasToIJK = void 0;
7
+ const transformWorldToIndex_1 = __importDefault(require("./transformWorldToIndex"));
8
+ function transformCanvasToIJK(viewport, canvasPoint) {
9
+ const { imageData: vtkImageData } = viewport.getImageData();
10
+ const worldPoint = viewport.canvasToWorld(canvasPoint);
11
+ return (0, transformWorldToIndex_1.default)(vtkImageData, worldPoint);
12
+ }
13
+ exports.transformCanvasToIJK = transformCanvasToIJK;
14
+ //# sourceMappingURL=transformCanvasToIJK.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transformCanvasToIJK.js","sourceRoot":"","sources":["../../../src/utilities/transformCanvasToIJK.ts"],"names":[],"mappings":";;;;;;AACA,oFAA4D;AAQ5D,SAAgB,oBAAoB,CAClC,QAA0C,EAC1C,WAAmB;IAEnB,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,QAAQ,CAAC,YAAY,EAAE,CAAC;IAC5D,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAEvD,OAAO,IAAA,+BAAqB,EAAC,YAAY,EAAE,UAAU,CAAC,CAAC;AACzD,CAAC;AARD,oDAQC"}
@@ -0,0 +1,2 @@
1
+ import { IStackViewport, IVolumeViewport, Point3 } from '../types';
2
+ export declare function transformIJKToCanvas(viewport: IVolumeViewport | IStackViewport, ijkPoint: Point3): import("../types/Point2").default;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.transformIJKToCanvas = void 0;
7
+ const transformIndexToWorld_1 = __importDefault(require("./transformIndexToWorld"));
8
+ function transformIJKToCanvas(viewport, ijkPoint) {
9
+ const { imageData: vtkImageData } = viewport.getImageData();
10
+ const worldPoint = (0, transformIndexToWorld_1.default)(vtkImageData, ijkPoint);
11
+ return viewport.worldToCanvas(worldPoint);
12
+ }
13
+ exports.transformIJKToCanvas = transformIJKToCanvas;
14
+ //# sourceMappingURL=transformIJKToCanvas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transformIJKToCanvas.js","sourceRoot":"","sources":["../../../src/utilities/transformIJKToCanvas.ts"],"names":[],"mappings":";;;;;;AACA,oFAA4D;AAQ5D,SAAgB,oBAAoB,CAClC,QAA0C,EAC1C,QAAgB;IAEhB,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,QAAQ,CAAC,YAAY,EAAE,CAAC;IAC5D,MAAM,UAAU,GAAG,IAAA,+BAAqB,EAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IAEjE,OAAO,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;AAC5C,CAAC;AARD,oDAQC"}
@@ -0,0 +1,2 @@
1
+ import type Point3 from '../types/Point3';
2
+ export default function transformIndexToWorld(imageData: any, voxelPos: Point3): any;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ function transformIndexToWorld(imageData, voxelPos) {
4
+ return imageData.indexToWorld(voxelPos);
5
+ }
6
+ exports.default = transformIndexToWorld;
7
+ //# sourceMappingURL=transformIndexToWorld.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transformIndexToWorld.js","sourceRoot":"","sources":["../../../src/utilities/transformIndexToWorld.ts"],"names":[],"mappings":";;AAWA,SAAwB,qBAAqB,CAAC,SAAS,EAAE,QAAgB;IACvE,OAAO,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;AAC1C,CAAC;AAFD,wCAEC"}
@@ -0,0 +1,82 @@
1
+ import { glMatrix, mat4, vec3 } from 'gl-matrix';
2
+ import { transformIJKToCanvas } from './transformIJKToCanvas';
3
+ import { transformCanvasToIJK } from './transformCanvasToIJK';
4
+ function getCurrentVolumeViewportSlice(viewport) {
5
+ const { dimensions, scalarData } = viewport.getImageData();
6
+ const { width: canvasWidth, height: canvasHeight } = viewport.getCanvas();
7
+ const ijkOriginPoint = transformCanvasToIJK(viewport, [0, 0]);
8
+ const ijkRowPoint = transformCanvasToIJK(viewport, [canvasWidth - 1, 0]);
9
+ const ijkColPoint = transformCanvasToIJK(viewport, [0, canvasHeight - 1]);
10
+ const ijkRowVec = vec3.sub(vec3.create(), ijkRowPoint, ijkOriginPoint);
11
+ const ijkColVec = vec3.sub(vec3.create(), ijkColPoint, ijkOriginPoint);
12
+ const ijkSliceVec = vec3.cross(vec3.create(), ijkRowVec, ijkColVec);
13
+ vec3.normalize(ijkRowVec, ijkRowVec);
14
+ vec3.normalize(ijkColVec, ijkColVec);
15
+ vec3.normalize(ijkSliceVec, ijkSliceVec);
16
+ const maxIJKRowVec = Math.max(Math.abs(ijkRowVec[0]), Math.abs(ijkRowVec[1]), Math.abs(ijkRowVec[2]));
17
+ const maxIJKColVec = Math.max(Math.abs(ijkColVec[0]), Math.abs(ijkColVec[1]), Math.abs(ijkColVec[2]));
18
+ if (!glMatrix.equals(1, maxIJKRowVec) || !glMatrix.equals(1, maxIJKColVec)) {
19
+ throw new Error('Livewire is not available for rotate/oblique viewports');
20
+ }
21
+ const [sx, sy, sz] = dimensions;
22
+ const ijkCorners = [
23
+ [0, 0, 0],
24
+ [sx - 1, 0, 0],
25
+ [0, sy - 1, 0],
26
+ [sx - 1, sy - 1, 0],
27
+ [0, 0, sz - 1],
28
+ [sx - 1, 0, sz - 1],
29
+ [0, sy - 1, sz - 1],
30
+ [sx - 1, sy - 1, sz - 1],
31
+ ];
32
+ const canvasCorners = ijkCorners.map((ijkCorner) => transformIJKToCanvas(viewport, ijkCorner));
33
+ const canvasAABB = canvasCorners.reduce((aabb, canvasPoint) => {
34
+ aabb.minX = Math.min(aabb.minX, canvasPoint[0]);
35
+ aabb.minY = Math.min(aabb.minY, canvasPoint[1]);
36
+ aabb.maxX = Math.max(aabb.maxX, canvasPoint[0]);
37
+ aabb.maxY = Math.max(aabb.maxY, canvasPoint[1]);
38
+ return aabb;
39
+ }, { minX: Infinity, minY: Infinity, maxX: -Infinity, maxY: -Infinity });
40
+ const ijkTopLeft = transformCanvasToIJK(viewport, [
41
+ canvasAABB.minX,
42
+ canvasAABB.minY,
43
+ ]);
44
+ const ijkBottomRight = transformCanvasToIJK(viewport, [
45
+ canvasAABB.maxX,
46
+ canvasAABB.maxY,
47
+ ]);
48
+ const ijkDiagonal = vec3.sub(vec3.create(), ijkBottomRight, ijkTopLeft);
49
+ const sliceToIndexMatrix = mat4.fromValues(ijkRowVec[0], ijkRowVec[1], ijkRowVec[2], 0, ijkColVec[0], ijkColVec[1], ijkColVec[2], 0, ijkSliceVec[0], ijkSliceVec[1], ijkSliceVec[2], 0, ijkTopLeft[0], ijkTopLeft[1], ijkTopLeft[2], 1);
50
+ const indexToSliceMatrix = mat4.invert(mat4.create(), sliceToIndexMatrix);
51
+ const sliceWidth = vec3.dot(ijkRowVec, ijkDiagonal) + 1;
52
+ const sliceHeight = vec3.dot(ijkColVec, ijkDiagonal) + 1;
53
+ const TypedArray = scalarData.constructor;
54
+ const sliceData = new TypedArray(sliceWidth * sliceHeight);
55
+ const pixelsPerSlice = dimensions[0] * dimensions[1];
56
+ const ijkPixelRow = vec3.clone(ijkTopLeft);
57
+ const ijkPixelCol = vec3.create();
58
+ let slicePixelIndex = 0;
59
+ for (let y = 0; y < sliceHeight; y++) {
60
+ vec3.copy(ijkPixelCol, ijkPixelRow);
61
+ for (let x = 0; x < sliceWidth; x++) {
62
+ const volumePixelIndex = ijkPixelCol[2] * pixelsPerSlice +
63
+ ijkPixelCol[1] * dimensions[0] +
64
+ ijkPixelCol[0];
65
+ if (volumePixelIndex < scalarData.length) {
66
+ sliceData[slicePixelIndex] = scalarData[volumePixelIndex];
67
+ }
68
+ slicePixelIndex++;
69
+ vec3.add(ijkPixelCol, ijkPixelCol, ijkRowVec);
70
+ }
71
+ vec3.add(ijkPixelRow, ijkPixelRow, ijkColVec);
72
+ }
73
+ return {
74
+ width: sliceWidth,
75
+ height: sliceHeight,
76
+ scalarData: sliceData,
77
+ sliceToIndexMatrix,
78
+ indexToSliceMatrix,
79
+ };
80
+ }
81
+ export { getCurrentVolumeViewportSlice as default, getCurrentVolumeViewportSlice, };
82
+ //# sourceMappingURL=getCurrentVolumeViewportSlice.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getCurrentVolumeViewportSlice.js","sourceRoot":"","sources":["../../../src/utilities/getCurrentVolumeViewportSlice.ts"],"names":[],"mappings":"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"}
@@ -26,6 +26,7 @@ import indexWithinDimensions from './indexWithinDimensions';
26
26
  import getVolumeViewportsContainingSameVolumes from './getVolumeViewportsContainingSameVolumes';
27
27
  import getViewportsWithVolumeId from './getViewportsWithVolumeId';
28
28
  import transformWorldToIndex from './transformWorldToIndex';
29
+ import transformIndexToWorld from './transformIndexToWorld';
29
30
  import loadImageToCanvas from './loadImageToCanvas';
30
31
  import renderToCanvasCPU from './renderToCanvasCPU';
31
32
  import renderToCanvasGPU from './renderToCanvasGPU';
@@ -39,6 +40,7 @@ import getImageSliceDataForVolumeViewport from './getImageSliceDataForVolumeView
39
40
  import { isImageActor, actorIsA } from './actorCheck';
40
41
  import getViewportsWithImageURI from './getViewportsWithImageURI';
41
42
  import getClosestStackImageIndexForPoint from './getClosestStackImageIndexForPoint';
43
+ import getCurrentVolumeViewportSlice from './getCurrentVolumeViewportSlice';
42
44
  import calculateViewportsSpatialRegistration from './calculateViewportsSpatialRegistration';
43
45
  import spatialRegistrationMetadataProvider from './spatialRegistrationMetadataProvider';
44
46
  import getViewportImageCornersInWorld from './getViewportImageCornersInWorld';
@@ -64,5 +66,5 @@ import * as planar from './planar';
64
66
  import * as windowLevel from './windowLevel';
65
67
  import * as colormap from './colormap';
66
68
  import * as transferFunctionUtils from './transferFunctionUtils';
67
- export { eventListener, csUtils as invertRgbTransferFunction, createSigmoidRGBTransferFunction, getVoiFromSigmoidRGBTransferFunction, createLinearRGBTransferFunction, scaleRgbTransferFunction, triggerEvent, imageIdToURI, calibratedPixelSpacingMetadataProvider, clamp, uuidv4, planar, getMinMax, getRuntimeId, isEqual, isOpposite, createFloat32SharedArray, createUint8SharedArray, createUint16SharedArray, createInt16SharedArray, getViewportModality, windowLevel, getClosestImageId, getSpacingInNormalDirection, getTargetVolumeAndSpacingInNormalDir, getVolumeActorCorners, indexWithinDimensions, getVolumeViewportsContainingSameVolumes, getViewportsWithVolumeId, transformWorldToIndex, loadImageToCanvas, renderToCanvasCPU, renderToCanvasGPU, worldToImageCoords, imageToWorldCoords, getVolumeSliceRangeInfo, getVolumeViewportScrollInfo, getSliceRange, snapFocalPointToSlice, getImageSliceDataForVolumeViewport, isImageActor, isPTPrescaledWithSUV, actorIsA, getViewportsWithImageURI, getClosestStackImageIndexForPoint, calculateViewportsSpatialRegistration, spatialRegistrationMetadataProvider, getViewportImageCornersInWorld, hasNaNValues, applyPreset, deepMerge, getScalingParameters, getScalarDataType, colormap, getImageLegacy, ProgressiveIterator, decimate, imageRetrieveMetadataProvider, transferFunctionUtils, updateVTKImageDataWithCornerstoneImage, sortImageIdsAndGetSpacing, makeVolumeMetadata, isValidVolume, genericMetadataProvider, isVideoTransferSyntax, getBufferConfiguration, VoxelManager, };
69
+ export { eventListener, csUtils as invertRgbTransferFunction, createSigmoidRGBTransferFunction, getVoiFromSigmoidRGBTransferFunction, createLinearRGBTransferFunction, scaleRgbTransferFunction, triggerEvent, imageIdToURI, calibratedPixelSpacingMetadataProvider, clamp, uuidv4, planar, getMinMax, getRuntimeId, isEqual, isOpposite, createFloat32SharedArray, createUint8SharedArray, createUint16SharedArray, createInt16SharedArray, getViewportModality, windowLevel, getClosestImageId, getSpacingInNormalDirection, getTargetVolumeAndSpacingInNormalDir, getVolumeActorCorners, indexWithinDimensions, getVolumeViewportsContainingSameVolumes, getViewportsWithVolumeId, transformWorldToIndex, transformIndexToWorld, loadImageToCanvas, renderToCanvasCPU, renderToCanvasGPU, worldToImageCoords, imageToWorldCoords, getVolumeSliceRangeInfo, getVolumeViewportScrollInfo, getSliceRange, snapFocalPointToSlice, getImageSliceDataForVolumeViewport, isImageActor, isPTPrescaledWithSUV, actorIsA, getViewportsWithImageURI, getClosestStackImageIndexForPoint, getCurrentVolumeViewportSlice, calculateViewportsSpatialRegistration, spatialRegistrationMetadataProvider, getViewportImageCornersInWorld, hasNaNValues, applyPreset, deepMerge, getScalingParameters, getScalarDataType, colormap, getImageLegacy, ProgressiveIterator, decimate, imageRetrieveMetadataProvider, transferFunctionUtils, updateVTKImageDataWithCornerstoneImage, sortImageIdsAndGetSpacing, makeVolumeMetadata, isValidVolume, genericMetadataProvider, isVideoTransferSyntax, getBufferConfiguration, VoxelManager, };
68
70
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utilities/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utilities/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import transformWorldToIndex from './transformWorldToIndex';
2
+ export function transformCanvasToIJK(viewport, canvasPoint) {
3
+ const { imageData: vtkImageData } = viewport.getImageData();
4
+ const worldPoint = viewport.canvasToWorld(canvasPoint);
5
+ return transformWorldToIndex(vtkImageData, worldPoint);
6
+ }
7
+ //# sourceMappingURL=transformCanvasToIJK.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transformCanvasToIJK.js","sourceRoot":"","sources":["../../../src/utilities/transformCanvasToIJK.ts"],"names":[],"mappings":"AACA,OAAO,qBAAqB,MAAM,yBAAyB,CAAC;AAQ5D,MAAM,UAAU,oBAAoB,CAClC,QAA0C,EAC1C,WAAmB;IAEnB,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,QAAQ,CAAC,YAAY,EAAE,CAAC;IAC5D,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAEvD,OAAO,qBAAqB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;AACzD,CAAC"}
@@ -0,0 +1,7 @@
1
+ import transformIndexToWorld from './transformIndexToWorld';
2
+ export function transformIJKToCanvas(viewport, ijkPoint) {
3
+ const { imageData: vtkImageData } = viewport.getImageData();
4
+ const worldPoint = transformIndexToWorld(vtkImageData, ijkPoint);
5
+ return viewport.worldToCanvas(worldPoint);
6
+ }
7
+ //# sourceMappingURL=transformIJKToCanvas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transformIJKToCanvas.js","sourceRoot":"","sources":["../../../src/utilities/transformIJKToCanvas.ts"],"names":[],"mappings":"AACA,OAAO,qBAAqB,MAAM,yBAAyB,CAAC;AAQ5D,MAAM,UAAU,oBAAoB,CAClC,QAA0C,EAC1C,QAAgB;IAEhB,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,QAAQ,CAAC,YAAY,EAAE,CAAC;IAC5D,MAAM,UAAU,GAAG,qBAAqB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IAEjE,OAAO,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;AAC5C,CAAC"}
@@ -0,0 +1,4 @@
1
+ export default function transformIndexToWorld(imageData, voxelPos) {
2
+ return imageData.indexToWorld(voxelPos);
3
+ }
4
+ //# sourceMappingURL=transformIndexToWorld.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transformIndexToWorld.js","sourceRoot":"","sources":["../../../src/utilities/transformIndexToWorld.ts"],"names":[],"mappings":"AAWA,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAAC,SAAS,EAAE,QAAgB;IACvE,OAAO,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;AAC1C,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { mat4 } from 'gl-matrix';
2
+ import { IVolumeViewport } from '../types';
3
+ declare function getCurrentVolumeViewportSlice(viewport: IVolumeViewport): {
4
+ width: number;
5
+ height: number;
6
+ scalarData: any;
7
+ sliceToIndexMatrix: mat4;
8
+ indexToSliceMatrix: mat4;
9
+ };
10
+ export { getCurrentVolumeViewportSlice as default, getCurrentVolumeViewportSlice, };
11
+ //# sourceMappingURL=getCurrentVolumeViewportSlice.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getCurrentVolumeViewportSlice.d.ts","sourceRoot":"","sources":["../../../src/utilities/getCurrentVolumeViewportSlice.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,IAAI,EAAQ,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,eAAe,EAAU,MAAM,UAAU,CAAC;AAYnD,iBAAS,6BAA6B,CAAC,QAAQ,EAAE,eAAe;;;;;;EAmJ/D;AAED,OAAO,EACL,6BAA6B,IAAI,OAAO,EACxC,6BAA6B,GAC9B,CAAC"}
@@ -26,6 +26,7 @@ import indexWithinDimensions from './indexWithinDimensions';
26
26
  import getVolumeViewportsContainingSameVolumes from './getVolumeViewportsContainingSameVolumes';
27
27
  import getViewportsWithVolumeId from './getViewportsWithVolumeId';
28
28
  import transformWorldToIndex from './transformWorldToIndex';
29
+ import transformIndexToWorld from './transformIndexToWorld';
29
30
  import loadImageToCanvas from './loadImageToCanvas';
30
31
  import renderToCanvasCPU from './renderToCanvasCPU';
31
32
  import renderToCanvasGPU from './renderToCanvasGPU';
@@ -39,6 +40,7 @@ import getImageSliceDataForVolumeViewport from './getImageSliceDataForVolumeView
39
40
  import { isImageActor, actorIsA } from './actorCheck';
40
41
  import getViewportsWithImageURI from './getViewportsWithImageURI';
41
42
  import getClosestStackImageIndexForPoint from './getClosestStackImageIndexForPoint';
43
+ import getCurrentVolumeViewportSlice from './getCurrentVolumeViewportSlice';
42
44
  import calculateViewportsSpatialRegistration from './calculateViewportsSpatialRegistration';
43
45
  import spatialRegistrationMetadataProvider from './spatialRegistrationMetadataProvider';
44
46
  import getViewportImageCornersInWorld from './getViewportImageCornersInWorld';
@@ -64,5 +66,5 @@ import * as planar from './planar';
64
66
  import * as windowLevel from './windowLevel';
65
67
  import * as colormap from './colormap';
66
68
  import * as transferFunctionUtils from './transferFunctionUtils';
67
- export { eventListener, csUtils as invertRgbTransferFunction, createSigmoidRGBTransferFunction, getVoiFromSigmoidRGBTransferFunction, createLinearRGBTransferFunction, scaleRgbTransferFunction, triggerEvent, imageIdToURI, calibratedPixelSpacingMetadataProvider, clamp, uuidv4, planar, getMinMax, getRuntimeId, isEqual, isOpposite, createFloat32SharedArray, createUint8SharedArray, createUint16SharedArray, createInt16SharedArray, getViewportModality, windowLevel, getClosestImageId, getSpacingInNormalDirection, getTargetVolumeAndSpacingInNormalDir, getVolumeActorCorners, indexWithinDimensions, getVolumeViewportsContainingSameVolumes, getViewportsWithVolumeId, transformWorldToIndex, loadImageToCanvas, renderToCanvasCPU, renderToCanvasGPU, worldToImageCoords, imageToWorldCoords, getVolumeSliceRangeInfo, getVolumeViewportScrollInfo, getSliceRange, snapFocalPointToSlice, getImageSliceDataForVolumeViewport, isImageActor, isPTPrescaledWithSUV, actorIsA, getViewportsWithImageURI, getClosestStackImageIndexForPoint, calculateViewportsSpatialRegistration, spatialRegistrationMetadataProvider, getViewportImageCornersInWorld, hasNaNValues, applyPreset, deepMerge, getScalingParameters, getScalarDataType, colormap, getImageLegacy, ProgressiveIterator, decimate, imageRetrieveMetadataProvider, transferFunctionUtils, updateVTKImageDataWithCornerstoneImage, sortImageIdsAndGetSpacing, makeVolumeMetadata, isValidVolume, genericMetadataProvider, isVideoTransferSyntax, getBufferConfiguration, VoxelManager, };
69
+ export { eventListener, csUtils as invertRgbTransferFunction, createSigmoidRGBTransferFunction, getVoiFromSigmoidRGBTransferFunction, createLinearRGBTransferFunction, scaleRgbTransferFunction, triggerEvent, imageIdToURI, calibratedPixelSpacingMetadataProvider, clamp, uuidv4, planar, getMinMax, getRuntimeId, isEqual, isOpposite, createFloat32SharedArray, createUint8SharedArray, createUint16SharedArray, createInt16SharedArray, getViewportModality, windowLevel, getClosestImageId, getSpacingInNormalDirection, getTargetVolumeAndSpacingInNormalDir, getVolumeActorCorners, indexWithinDimensions, getVolumeViewportsContainingSameVolumes, getViewportsWithVolumeId, transformWorldToIndex, transformIndexToWorld, loadImageToCanvas, renderToCanvasCPU, renderToCanvasGPU, worldToImageCoords, imageToWorldCoords, getVolumeSliceRangeInfo, getVolumeViewportScrollInfo, getSliceRange, snapFocalPointToSlice, getImageSliceDataForVolumeViewport, isImageActor, isPTPrescaledWithSUV, actorIsA, getViewportsWithImageURI, getClosestStackImageIndexForPoint, getCurrentVolumeViewportSlice, calculateViewportsSpatialRegistration, spatialRegistrationMetadataProvider, getViewportImageCornersInWorld, hasNaNValues, applyPreset, deepMerge, getScalingParameters, getScalarDataType, colormap, getImageLegacy, ProgressiveIterator, decimate, imageRetrieveMetadataProvider, transferFunctionUtils, updateVTKImageDataWithCornerstoneImage, sortImageIdsAndGetSpacing, makeVolumeMetadata, isValidVolume, genericMetadataProvider, isVideoTransferSyntax, getBufferConfiguration, VoxelManager, };
68
70
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utilities/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utilities/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { IStackViewport, IVolumeViewport, Point2 } from '../types';
2
+ export declare function transformCanvasToIJK(viewport: IVolumeViewport | IStackViewport, canvasPoint: Point2): any;
3
+ //# sourceMappingURL=transformCanvasToIJK.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transformCanvasToIJK.d.ts","sourceRoot":"","sources":["../../../src/utilities/transformCanvasToIJK.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AASnE,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,eAAe,GAAG,cAAc,EAC1C,WAAW,EAAE,MAAM,OAMpB"}
@@ -0,0 +1,3 @@
1
+ import { IStackViewport, IVolumeViewport, Point3 } from '../types';
2
+ export declare function transformIJKToCanvas(viewport: IVolumeViewport | IStackViewport, ijkPoint: Point3): import("../types/Point2").default;
3
+ //# sourceMappingURL=transformIJKToCanvas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transformIJKToCanvas.d.ts","sourceRoot":"","sources":["../../../src/utilities/transformIJKToCanvas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AASnE,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,eAAe,GAAG,cAAc,EAC1C,QAAQ,EAAE,MAAM,qCAMjB"}
@@ -0,0 +1,3 @@
1
+ import type Point3 from '../types/Point3';
2
+ export default function transformIndexToWorld(imageData: any, voxelPos: Point3): any;
3
+ //# sourceMappingURL=transformIndexToWorld.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transformIndexToWorld.d.ts","sourceRoot":"","sources":["../../../src/utilities/transformIndexToWorld.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAC;AAW1C,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAAC,SAAS,KAAA,EAAE,QAAQ,EAAE,MAAM,OAExE"}