@cornerstonejs/core 1.44.3 → 1.45.1

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 (33) hide show
  1. package/dist/cjs/RenderingEngine/VideoViewport.d.ts +1 -1
  2. package/dist/cjs/RenderingEngine/VideoViewport.js +30 -11
  3. package/dist/cjs/RenderingEngine/VideoViewport.js.map +1 -1
  4. package/dist/cjs/utilities/convertToGrayscale.d.ts +1 -0
  5. package/dist/cjs/utilities/convertToGrayscale.js +28 -0
  6. package/dist/cjs/utilities/convertToGrayscale.js.map +1 -0
  7. package/dist/cjs/utilities/index.d.ts +2 -1
  8. package/dist/cjs/utilities/index.js +4 -2
  9. package/dist/cjs/utilities/index.js.map +1 -1
  10. package/dist/cjs/utilities/roundNumber.js +8 -7
  11. package/dist/cjs/utilities/roundNumber.js.map +1 -1
  12. package/dist/esm/RenderingEngine/VideoViewport.js +28 -11
  13. package/dist/esm/RenderingEngine/VideoViewport.js.map +1 -1
  14. package/dist/esm/utilities/convertToGrayscale.js +25 -0
  15. package/dist/esm/utilities/convertToGrayscale.js.map +1 -0
  16. package/dist/esm/utilities/index.js +2 -1
  17. package/dist/esm/utilities/index.js.map +1 -1
  18. package/dist/esm/utilities/roundNumber.js +8 -7
  19. package/dist/esm/utilities/roundNumber.js.map +1 -1
  20. package/dist/types/RenderingEngine/VideoViewport.d.ts +1 -1
  21. package/dist/types/RenderingEngine/VideoViewport.d.ts.map +1 -1
  22. package/dist/types/utilities/convertToGrayscale.d.ts +2 -0
  23. package/dist/types/utilities/convertToGrayscale.d.ts.map +1 -0
  24. package/dist/types/utilities/index.d.ts +2 -1
  25. package/dist/types/utilities/index.d.ts.map +1 -1
  26. package/dist/types/utilities/roundNumber.d.ts.map +1 -1
  27. package/dist/umd/index.js +1 -1
  28. package/dist/umd/index.js.map +1 -1
  29. package/package.json +2 -2
  30. package/src/RenderingEngine/VideoViewport.ts +34 -11
  31. package/src/utilities/convertToGrayscale.ts +27 -0
  32. package/src/utilities/index.ts +2 -0
  33. package/src/utilities/roundNumber.ts +8 -7
@@ -34,7 +34,7 @@ declare class VideoViewport extends Viewport implements IVideoViewport {
34
34
  setVideo(imageId: string, frameNumber?: number): Promise<unknown>;
35
35
  setVideoURL(videoURL: string): Promise<unknown>;
36
36
  togglePlayPause(): boolean;
37
- play(): void;
37
+ play(): Promise<void>;
38
38
  pause(): Promise<void>;
39
39
  scroll(delta?: number): Promise<void>;
40
40
  start(): Promise<void>;
@@ -208,6 +208,9 @@ class VideoViewport extends Viewport_1.default {
208
208
  }
209
209
  const rowCosineVec = gl_matrix_1.vec3.fromValues(rowCosines[0], rowCosines[1], rowCosines[2]);
210
210
  const colCosineVec = gl_matrix_1.vec3.fromValues(columnCosines[0], columnCosines[1], columnCosines[2]);
211
+ const { rows, columns } = imagePlaneModule;
212
+ this.videoWidth = columns;
213
+ this.videoHeight = rows;
211
214
  const scanAxisNormal = gl_matrix_1.vec3.create();
212
215
  gl_matrix_1.vec3.cross(scanAxisNormal, rowCosineVec, colCosineVec);
213
216
  let origin = imagePlaneModule.imagePositionPatient;
@@ -250,10 +253,11 @@ class VideoViewport extends Viewport_1.default {
250
253
  this.fps = cineRate;
251
254
  this.numberOfFrames = numberOfFrames;
252
255
  this.setFrameRange([1, numberOfFrames]);
253
- if (frameNumber !== undefined) {
256
+ this.play();
257
+ window.setTimeout(() => {
254
258
  this.pause();
255
- this.setFrameNumber(frameNumber);
256
- }
259
+ this.setFrameNumber(frameNumber || 1);
260
+ }, 50);
257
261
  });
258
262
  }
259
263
  setVideoURL(videoURL) {
@@ -283,16 +287,26 @@ class VideoViewport extends Viewport_1.default {
283
287
  }
284
288
  }
285
289
  play() {
286
- if (!this.isPlaying) {
287
- this.videoElement.play();
288
- this.isPlaying = true;
289
- this.renderWhilstPlaying();
290
- }
290
+ return __awaiter(this, void 0, void 0, function* () {
291
+ try {
292
+ if (!this.isPlaying) {
293
+ yield this.videoElement.play();
294
+ this.isPlaying = true;
295
+ this.renderWhilstPlaying();
296
+ }
297
+ }
298
+ catch (e) {
299
+ }
300
+ });
291
301
  }
292
302
  pause() {
293
303
  return __awaiter(this, void 0, void 0, function* () {
294
- yield this.videoElement.pause();
295
- this.isPlaying = false;
304
+ try {
305
+ yield this.videoElement.pause();
306
+ this.isPlaying = false;
307
+ }
308
+ catch (e) {
309
+ }
296
310
  });
297
311
  }
298
312
  scroll(delta = 1) {
@@ -425,7 +439,7 @@ class VideoViewport extends Viewport_1.default {
425
439
  getImageData() {
426
440
  const { metadata } = this;
427
441
  const spacing = metadata.spacing;
428
- return {
442
+ const imageData = {
429
443
  dimensions: metadata.dimensions,
430
444
  spacing,
431
445
  origin: metadata.origin,
@@ -454,6 +468,11 @@ class VideoViewport extends Viewport_1.default {
454
468
  scaled: false,
455
469
  },
456
470
  };
471
+ Object.defineProperty(imageData, 'scalarData', {
472
+ get: () => this.getScalarData(),
473
+ enumerable: true,
474
+ });
475
+ return imageData;
457
476
  }
458
477
  hasImageURI(imageURI) {
459
478
  const framesMatch = imageURI.match(VideoViewport.frameRangeExtractor);
@@ -1 +1 @@
1
- {"version":3,"file":"VideoViewport.js","sourceRoot":"","sources":["../../../src/RenderingEngine/VideoViewport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VideoViewport.js","sourceRoot":"","sources":["../../../src/RenderingEngine/VideoViewport.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export default function convertToGrayscale(scalarData: any, width: number, height: number): any;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ function convertToGrayscale(scalarData, width, height) {
4
+ const isRGBA = scalarData.length === width * height * 4;
5
+ const isRGB = scalarData.length === width * height * 3;
6
+ if (isRGBA || isRGB) {
7
+ const newScalarData = new Float32Array(width * height);
8
+ let offset = 0;
9
+ let destOffset = 0;
10
+ const increment = isRGBA ? 4 : 3;
11
+ for (let x = 0; x < width; x++) {
12
+ for (let y = 0; y < height; y++) {
13
+ const r = scalarData[offset];
14
+ const g = scalarData[offset + 1];
15
+ const b = scalarData[offset + 2];
16
+ newScalarData[destOffset] = (r + g + b) / 3;
17
+ offset += increment;
18
+ destOffset++;
19
+ }
20
+ }
21
+ return newScalarData;
22
+ }
23
+ else {
24
+ return scalarData;
25
+ }
26
+ }
27
+ exports.default = convertToGrayscale;
28
+ //# sourceMappingURL=convertToGrayscale.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convertToGrayscale.js","sourceRoot":"","sources":["../../../src/utilities/convertToGrayscale.ts"],"names":[],"mappings":";;AAAA,SAAwB,kBAAkB,CACxC,UAAU,EACV,KAAa,EACb,MAAc;IAEd,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,KAAK,KAAK,GAAG,MAAM,GAAG,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,KAAK,KAAK,GAAG,MAAM,GAAG,CAAC,CAAC;IACvD,IAAI,MAAM,IAAI,KAAK,EAAE;QACnB,MAAM,aAAa,GAAG,IAAI,YAAY,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC;QACvD,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;YAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC/B,MAAM,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;gBAC7B,MAAM,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACjC,MAAM,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACjC,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC5C,MAAM,IAAI,SAAS,CAAC;gBACpB,UAAU,EAAE,CAAC;aACd;SACF;QACD,OAAO,aAAa,CAAC;KACtB;SAAM;QACL,OAAO,UAAU,CAAC;KACnB;AACH,CAAC;AA1BD,qCA0BC"}
@@ -66,9 +66,10 @@ import { convertStackToVolumeViewport } from './convertStackToVolumeViewport';
66
66
  import { convertVolumeToStackViewport } from './convertVolumeToStackViewport';
67
67
  import VoxelManager from './VoxelManager';
68
68
  import roundNumber, { roundToPrecision } from './roundNumber';
69
+ import convertToGrayscale from './convertToGrayscale';
69
70
  import * as planar from './planar';
70
71
  import * as windowLevel from './windowLevel';
71
72
  import * as colormap from './colormap';
72
73
  import * as transferFunctionUtils from './transferFunctionUtils';
73
74
  import * as cacheUtils from './cacheUtils';
74
- 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, generateVolumePropsFromImageIds, convertStackToVolumeViewport, convertVolumeToStackViewport, cacheUtils, roundNumber, roundToPrecision, };
75
+ 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, convertToGrayscale, 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, generateVolumePropsFromImageIds, convertStackToVolumeViewport, convertVolumeToStackViewport, cacheUtils, roundNumber, roundToPrecision, };
@@ -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.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.roundToPrecision = exports.roundNumber = exports.cacheUtils = exports.convertVolumeToStackViewport = exports.convertStackToVolumeViewport = exports.generateVolumePropsFromImageIds = 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;
29
+ 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.convertToGrayscale = 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.roundToPrecision = exports.roundNumber = exports.cacheUtils = exports.convertVolumeToStackViewport = exports.convertStackToVolumeViewport = exports.generateVolumePropsFromImageIds = 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 = exports.getViewportImageCornersInWorld = void 0;
31
31
  const eventListener = __importStar(require("./eventListener"));
32
32
  exports.eventListener = eventListener;
33
33
  const invertRgbTransferFunction_1 = __importDefault(require("./invertRgbTransferFunction"));
@@ -166,6 +166,8 @@ exports.VoxelManager = VoxelManager_1.default;
166
166
  const roundNumber_1 = __importStar(require("./roundNumber"));
167
167
  exports.roundNumber = roundNumber_1.default;
168
168
  Object.defineProperty(exports, "roundToPrecision", { enumerable: true, get: function () { return roundNumber_1.roundToPrecision; } });
169
+ const convertToGrayscale_1 = __importDefault(require("./convertToGrayscale"));
170
+ exports.convertToGrayscale = convertToGrayscale_1.default;
169
171
  const planar = __importStar(require("./planar"));
170
172
  exports.planar = planar;
171
173
  const windowLevel = __importStar(require("./windowLevel"));
@@ -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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"}
@@ -10,20 +10,21 @@ function roundNumber(value, precision = 2) {
10
10
  return 'NaN';
11
11
  }
12
12
  value = Number(value);
13
- if (value < 0.0001) {
13
+ const absValue = Math.abs(value);
14
+ if (absValue < 0.0001) {
14
15
  return `${value}`;
15
16
  }
16
- const fixedPrecision = value >= 100
17
+ const fixedPrecision = absValue >= 100
17
18
  ? precision - 2
18
- : value >= 10
19
+ : absValue >= 10
19
20
  ? precision - 1
20
- : value >= 1
21
+ : absValue >= 1
21
22
  ? precision
22
- : value >= 0.1
23
+ : absValue >= 0.1
23
24
  ? precision + 1
24
- : value >= 0.01
25
+ : absValue >= 0.01
25
26
  ? precision + 2
26
- : value >= 0.001
27
+ : absValue >= 0.001
27
28
  ? precision + 3
28
29
  : precision + 4;
29
30
  return value.toFixed(fixedPrecision);
@@ -1 +1 @@
1
- {"version":3,"file":"roundNumber.js","sourceRoot":"","sources":["../../../src/utilities/roundNumber.ts"],"names":[],"mappings":";;;AAAA,4CAAuC;AAcvC,SAAS,WAAW,CAClB,KAA4C,EAC5C,SAAS,GAAG,CAAC;IAEb,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACxB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC/D;IACD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,EAAE;QACzD,OAAO,KAAK,CAAC;KACd;IACD,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACtB,IAAI,KAAK,GAAG,MAAM,EAAE;QAClB,OAAO,GAAG,KAAK,EAAE,CAAC;KACnB;IACD,MAAM,cAAc,GAClB,KAAK,IAAI,GAAG;QACV,CAAC,CAAC,SAAS,GAAG,CAAC;QACf,CAAC,CAAC,KAAK,IAAI,EAAE;YACb,CAAC,CAAC,SAAS,GAAG,CAAC;YACf,CAAC,CAAC,KAAK,IAAI,CAAC;gBACZ,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,KAAK,IAAI,GAAG;oBACd,CAAC,CAAC,SAAS,GAAG,CAAC;oBACf,CAAC,CAAC,KAAK,IAAI,IAAI;wBACf,CAAC,CAAC,SAAS,GAAG,CAAC;wBACf,CAAC,CAAC,KAAK,IAAI,KAAK;4BAChB,CAAC,CAAC,SAAS,GAAG,CAAC;4BACf,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC;IACpB,OAAO,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;AACvC,CAAC;AAOD,SAAS,gBAAgB,CAAC,KAAK;IAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,mBAAO,CAAC,GAAG,mBAAO,CAAC;AAC/C,CAAC;AAEQ,4CAAgB;AACzB,kBAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"roundNumber.js","sourceRoot":"","sources":["../../../src/utilities/roundNumber.ts"],"names":[],"mappings":";;;AAAA,4CAAuC;AAcvC,SAAS,WAAW,CAClB,KAA4C,EAC5C,SAAS,GAAG,CAAC;IAEb,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACxB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC/D;IACD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,EAAE;QACzD,OAAO,KAAK,CAAC;KACd;IACD,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACjC,IAAI,QAAQ,GAAG,MAAM,EAAE;QACrB,OAAO,GAAG,KAAK,EAAE,CAAC;KACnB;IACD,MAAM,cAAc,GAClB,QAAQ,IAAI,GAAG;QACb,CAAC,CAAC,SAAS,GAAG,CAAC;QACf,CAAC,CAAC,QAAQ,IAAI,EAAE;YAChB,CAAC,CAAC,SAAS,GAAG,CAAC;YACf,CAAC,CAAC,QAAQ,IAAI,CAAC;gBACf,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,QAAQ,IAAI,GAAG;oBACjB,CAAC,CAAC,SAAS,GAAG,CAAC;oBACf,CAAC,CAAC,QAAQ,IAAI,IAAI;wBAClB,CAAC,CAAC,SAAS,GAAG,CAAC;wBACf,CAAC,CAAC,QAAQ,IAAI,KAAK;4BACnB,CAAC,CAAC,SAAS,GAAG,CAAC;4BACf,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC;IACpB,OAAO,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;AACvC,CAAC;AAOD,SAAS,gBAAgB,CAAC,KAAK;IAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,mBAAO,CAAC,GAAG,mBAAO,CAAC;AAC/C,CAAC;AAEQ,4CAAgB;AACzB,kBAAe,WAAW,CAAC"}
@@ -175,6 +175,9 @@ class VideoViewport extends Viewport {
175
175
  }
176
176
  const rowCosineVec = vec3.fromValues(rowCosines[0], rowCosines[1], rowCosines[2]);
177
177
  const colCosineVec = vec3.fromValues(columnCosines[0], columnCosines[1], columnCosines[2]);
178
+ const { rows, columns } = imagePlaneModule;
179
+ this.videoWidth = columns;
180
+ this.videoHeight = rows;
178
181
  const scanAxisNormal = vec3.create();
179
182
  vec3.cross(scanAxisNormal, rowCosineVec, colCosineVec);
180
183
  let origin = imagePlaneModule.imagePositionPatient;
@@ -217,10 +220,11 @@ class VideoViewport extends Viewport {
217
220
  this.fps = cineRate;
218
221
  this.numberOfFrames = numberOfFrames;
219
222
  this.setFrameRange([1, numberOfFrames]);
220
- if (frameNumber !== undefined) {
223
+ this.play();
224
+ window.setTimeout(() => {
221
225
  this.pause();
222
- this.setFrameNumber(frameNumber);
223
- }
226
+ this.setFrameNumber(frameNumber || 1);
227
+ }, 50);
224
228
  });
225
229
  }
226
230
  async setVideoURL(videoURL) {
@@ -247,16 +251,24 @@ class VideoViewport extends Viewport {
247
251
  return true;
248
252
  }
249
253
  }
250
- play() {
251
- if (!this.isPlaying) {
252
- this.videoElement.play();
253
- this.isPlaying = true;
254
- this.renderWhilstPlaying();
254
+ async play() {
255
+ try {
256
+ if (!this.isPlaying) {
257
+ await this.videoElement.play();
258
+ this.isPlaying = true;
259
+ this.renderWhilstPlaying();
260
+ }
261
+ }
262
+ catch (e) {
255
263
  }
256
264
  }
257
265
  async pause() {
258
- await this.videoElement.pause();
259
- this.isPlaying = false;
266
+ try {
267
+ await this.videoElement.pause();
268
+ this.isPlaying = false;
269
+ }
270
+ catch (e) {
271
+ }
260
272
  }
261
273
  async scroll(delta = 1) {
262
274
  await this.pause();
@@ -378,7 +390,7 @@ class VideoViewport extends Viewport {
378
390
  getImageData() {
379
391
  const { metadata } = this;
380
392
  const spacing = metadata.spacing;
381
- return {
393
+ const imageData = {
382
394
  dimensions: metadata.dimensions,
383
395
  spacing,
384
396
  origin: metadata.origin,
@@ -407,6 +419,11 @@ class VideoViewport extends Viewport {
407
419
  scaled: false,
408
420
  },
409
421
  };
422
+ Object.defineProperty(imageData, 'scalarData', {
423
+ get: () => this.getScalarData(),
424
+ enumerable: true,
425
+ });
426
+ return imageData;
410
427
  }
411
428
  hasImageURI(imageURI) {
412
429
  const framesMatch = imageURI.match(VideoViewport.frameRangeExtractor);
@@ -1 +1 @@
1
- {"version":3,"file":"VideoViewport.js","sourceRoot":"","sources":["../../../src/RenderingEngine/VideoViewport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VideoViewport.js","sourceRoot":"","sources":["../../../src/RenderingEngine/VideoViewport.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ export default function convertToGrayscale(scalarData, width, height) {
2
+ const isRGBA = scalarData.length === width * height * 4;
3
+ const isRGB = scalarData.length === width * height * 3;
4
+ if (isRGBA || isRGB) {
5
+ const newScalarData = new Float32Array(width * height);
6
+ let offset = 0;
7
+ let destOffset = 0;
8
+ const increment = isRGBA ? 4 : 3;
9
+ for (let x = 0; x < width; x++) {
10
+ for (let y = 0; y < height; y++) {
11
+ const r = scalarData[offset];
12
+ const g = scalarData[offset + 1];
13
+ const b = scalarData[offset + 2];
14
+ newScalarData[destOffset] = (r + g + b) / 3;
15
+ offset += increment;
16
+ destOffset++;
17
+ }
18
+ }
19
+ return newScalarData;
20
+ }
21
+ else {
22
+ return scalarData;
23
+ }
24
+ }
25
+ //# sourceMappingURL=convertToGrayscale.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convertToGrayscale.js","sourceRoot":"","sources":["../../../src/utilities/convertToGrayscale.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,kBAAkB,CACxC,UAAU,EACV,KAAa,EACb,MAAc;IAEd,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,KAAK,KAAK,GAAG,MAAM,GAAG,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,KAAK,KAAK,GAAG,MAAM,GAAG,CAAC,CAAC;IACvD,IAAI,MAAM,IAAI,KAAK,EAAE;QACnB,MAAM,aAAa,GAAG,IAAI,YAAY,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC;QACvD,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;YAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC/B,MAAM,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;gBAC7B,MAAM,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACjC,MAAM,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACjC,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC5C,MAAM,IAAI,SAAS,CAAC;gBACpB,UAAU,EAAE,CAAC;aACd;SACF;QACD,OAAO,aAAa,CAAC;KACtB;SAAM;QACL,OAAO,UAAU,CAAC;KACnB;AACH,CAAC"}
@@ -66,10 +66,11 @@ import { convertStackToVolumeViewport } from './convertStackToVolumeViewport';
66
66
  import { convertVolumeToStackViewport } from './convertVolumeToStackViewport';
67
67
  import VoxelManager from './VoxelManager';
68
68
  import roundNumber, { roundToPrecision } from './roundNumber';
69
+ import convertToGrayscale from './convertToGrayscale';
69
70
  import * as planar from './planar';
70
71
  import * as windowLevel from './windowLevel';
71
72
  import * as colormap from './colormap';
72
73
  import * as transferFunctionUtils from './transferFunctionUtils';
73
74
  import * as cacheUtils from './cacheUtils';
74
- 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, generateVolumePropsFromImageIds, convertStackToVolumeViewport, convertVolumeToStackViewport, cacheUtils, roundNumber, roundToPrecision, };
75
+ 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, convertToGrayscale, 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, generateVolumePropsFromImageIds, convertStackToVolumeViewport, convertVolumeToStackViewport, cacheUtils, roundNumber, roundToPrecision, };
75
76
  //# 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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"}
@@ -7,20 +7,21 @@ function roundNumber(value, precision = 2) {
7
7
  return 'NaN';
8
8
  }
9
9
  value = Number(value);
10
- if (value < 0.0001) {
10
+ const absValue = Math.abs(value);
11
+ if (absValue < 0.0001) {
11
12
  return `${value}`;
12
13
  }
13
- const fixedPrecision = value >= 100
14
+ const fixedPrecision = absValue >= 100
14
15
  ? precision - 2
15
- : value >= 10
16
+ : absValue >= 10
16
17
  ? precision - 1
17
- : value >= 1
18
+ : absValue >= 1
18
19
  ? precision
19
- : value >= 0.1
20
+ : absValue >= 0.1
20
21
  ? precision + 1
21
- : value >= 0.01
22
+ : absValue >= 0.01
22
23
  ? precision + 2
23
- : value >= 0.001
24
+ : absValue >= 0.001
24
25
  ? precision + 3
25
26
  : precision + 4;
26
27
  return value.toFixed(fixedPrecision);