@cornerstonejs/core 0.45.0 → 0.46.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 (69) hide show
  1. package/dist/cjs/RenderingEngine/BaseVolumeViewport.d.ts +7 -1
  2. package/dist/cjs/RenderingEngine/BaseVolumeViewport.js +124 -16
  3. package/dist/cjs/RenderingEngine/BaseVolumeViewport.js.map +1 -1
  4. package/dist/cjs/RenderingEngine/StackViewport.js +2 -1
  5. package/dist/cjs/RenderingEngine/StackViewport.js.map +1 -1
  6. package/dist/cjs/RenderingEngine/helpers/createVolumeActor.js.map +1 -1
  7. package/dist/cjs/RenderingEngine/helpers/setDefaultVolumeVOI.js +11 -1
  8. package/dist/cjs/RenderingEngine/helpers/setDefaultVolumeVOI.js.map +1 -1
  9. package/dist/cjs/types/Colormap.d.ts +15 -0
  10. package/dist/cjs/types/Colormap.js +3 -0
  11. package/dist/cjs/types/Colormap.js.map +1 -0
  12. package/dist/cjs/types/EventTypes.d.ts +1 -0
  13. package/dist/cjs/types/ScalingParameters.d.ts +3 -0
  14. package/dist/cjs/types/StackViewportProperties.d.ts +2 -6
  15. package/dist/cjs/types/ViewportProperties.d.ts +8 -0
  16. package/dist/cjs/types/ViewportProperties.js +3 -0
  17. package/dist/cjs/types/ViewportProperties.js.map +1 -0
  18. package/dist/cjs/types/VolumeViewportProperties.d.ts +5 -5
  19. package/dist/cjs/types/index.d.ts +3 -1
  20. package/dist/cjs/utilities/applyPreset.js.map +1 -1
  21. package/dist/cjs/utilities/colormap.d.ts +5 -0
  22. package/dist/cjs/utilities/colormap.js +17 -0
  23. package/dist/cjs/utilities/colormap.js.map +1 -0
  24. package/dist/cjs/utilities/index.d.ts +2 -1
  25. package/dist/cjs/utilities/index.js +3 -1
  26. package/dist/cjs/utilities/index.js.map +1 -1
  27. package/dist/esm/RenderingEngine/BaseVolumeViewport.d.ts +7 -1
  28. package/dist/esm/RenderingEngine/BaseVolumeViewport.js +125 -17
  29. package/dist/esm/RenderingEngine/BaseVolumeViewport.js.map +1 -1
  30. package/dist/esm/RenderingEngine/StackViewport.js +2 -1
  31. package/dist/esm/RenderingEngine/StackViewport.js.map +1 -1
  32. package/dist/esm/RenderingEngine/helpers/createVolumeActor.js.map +1 -1
  33. package/dist/esm/RenderingEngine/helpers/setDefaultVolumeVOI.js +10 -1
  34. package/dist/esm/RenderingEngine/helpers/setDefaultVolumeVOI.js.map +1 -1
  35. package/dist/esm/types/Colormap.d.ts +15 -0
  36. package/dist/esm/types/Colormap.js +2 -0
  37. package/dist/esm/types/Colormap.js.map +1 -0
  38. package/dist/esm/types/EventTypes.d.ts +1 -0
  39. package/dist/esm/types/ScalingParameters.d.ts +3 -0
  40. package/dist/esm/types/StackViewportProperties.d.ts +2 -6
  41. package/dist/esm/types/ViewportProperties.d.ts +8 -0
  42. package/dist/esm/types/ViewportProperties.js +2 -0
  43. package/dist/esm/types/ViewportProperties.js.map +1 -0
  44. package/dist/esm/types/VolumeViewportProperties.d.ts +5 -5
  45. package/dist/esm/types/index.d.ts +3 -1
  46. package/dist/esm/utilities/applyPreset.js.map +1 -1
  47. package/dist/esm/utilities/colormap.d.ts +5 -0
  48. package/dist/esm/utilities/colormap.js +12 -0
  49. package/dist/esm/utilities/colormap.js.map +1 -0
  50. package/dist/esm/utilities/index.d.ts +2 -1
  51. package/dist/esm/utilities/index.js +2 -1
  52. package/dist/esm/utilities/index.js.map +1 -1
  53. package/dist/umd/index.js +1 -1
  54. package/dist/umd/index.js.map +1 -1
  55. package/package.json +2 -2
  56. package/src/RenderingEngine/BaseVolumeViewport.ts +232 -25
  57. package/src/RenderingEngine/StackViewport.ts +2 -1
  58. package/src/RenderingEngine/helpers/createVolumeActor.ts +0 -1
  59. package/src/RenderingEngine/helpers/setDefaultVolumeVOI.ts +13 -1
  60. package/src/types/Colormap.ts +31 -0
  61. package/src/types/EventTypes.ts +2 -0
  62. package/src/types/ScalingParameters.ts +6 -0
  63. package/src/types/StackViewportProperties.ts +2 -9
  64. package/src/types/ViewportProperties.ts +16 -0
  65. package/src/types/VolumeViewportProperties.ts +7 -7
  66. package/src/types/index.ts +5 -0
  67. package/src/utilities/applyPreset.ts +4 -1
  68. package/src/utilities/colormap.ts +32 -0
  69. package/src/utilities/index.ts +3 -1
@@ -0,0 +1,15 @@
1
+ import RGB from './RGB';
2
+ declare type ColormapRegistration = {
3
+ ColorSpace: string;
4
+ Name: string;
5
+ RGBPoints: RGB[];
6
+ };
7
+ declare type OpacityMapping = {
8
+ value: number;
9
+ opacity: number;
10
+ };
11
+ declare type ColormapPublic = {
12
+ name: string;
13
+ opacityMapping?: OpacityMapping[];
14
+ };
15
+ export type { ColormapRegistration, ColormapPublic };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=Colormap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Colormap.js","sourceRoot":"","sources":["../../../src/types/Colormap.ts"],"names":[],"mappings":""}
@@ -22,6 +22,7 @@ declare type VoiModifiedEventDetail = {
22
22
  range: VOIRange;
23
23
  volumeId?: string;
24
24
  VOILUTFunction?: VOILUTFunctionType;
25
+ invert?: boolean;
25
26
  };
26
27
  declare type DisplayAreaModifiedEventDetail = {
27
28
  viewportId: string;
@@ -9,6 +9,9 @@ declare type ScalingParameters = {
9
9
  declare type PTScaling = {
10
10
  suvbwToSuvlbm?: number;
11
11
  suvbwToSuvbsa?: number;
12
+ suvbw?: number;
13
+ suvlbm?: number;
14
+ suvbsa?: number;
12
15
  };
13
16
  declare type Scaling = {
14
17
  PET?: PTScaling;
@@ -1,10 +1,6 @@
1
1
  import InterpolationType from '../enums/InterpolationType';
2
- import VOILUTFunctionType from '../enums/VOILUTFunctionType';
3
- import { VOIRange } from './voi';
4
- declare type StackViewportProperties = {
5
- voiRange?: VOIRange;
6
- VOILUTFunction?: VOILUTFunctionType;
7
- invert?: boolean;
2
+ import { ViewportProperties } from './ViewportProperties';
3
+ declare type StackViewportProperties = ViewportProperties & {
8
4
  interpolationType?: InterpolationType;
9
5
  rotation?: number;
10
6
  suppressEvents?: boolean;
@@ -0,0 +1,8 @@
1
+ import { VOILUTFunctionType } from '../enums';
2
+ import { VOIRange } from './voi';
3
+ declare type ViewportProperties = {
4
+ voiRange?: VOIRange;
5
+ VOILUTFunction?: VOILUTFunctionType;
6
+ invert?: boolean;
7
+ };
8
+ export type { ViewportProperties };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ViewportProperties.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ViewportProperties.js","sourceRoot":"","sources":["../../../src/types/ViewportProperties.ts"],"names":[],"mappings":""}
@@ -1,7 +1,7 @@
1
- import { VOIRange } from './voi';
2
- import VOILUTFunctionType from '../enums/VOILUTFunctionType';
3
- declare type VolumeViewportProperties = {
4
- voiRange?: VOIRange;
5
- VOILUTFunction?: VOILUTFunctionType;
1
+ import { ColormapPublic } from './Colormap';
2
+ import { ViewportProperties } from './ViewportProperties';
3
+ declare type VolumeViewportProperties = ViewportProperties & {
4
+ colormap?: ColormapPublic;
5
+ preset?: string;
6
6
  };
7
7
  export default VolumeViewportProperties;
@@ -60,4 +60,6 @@ import type ICachedGeometry from './ICachedGeometry';
60
60
  import type { IContourSet } from './IContourSet';
61
61
  import type { IContour } from './IContour';
62
62
  import type RGB from './RGB';
63
- export type { Cornerstone3DConfig, ICamera, IStackViewport, IVolumeViewport, IEnabledElement, ICache, IVolume, VolumeScalarData, IViewportId, IImageVolume, IDynamicImageVolume, IRenderingEngine, ScalingParameters, PTScaling, Scaling, IStreamingImageVolume, IImage, IImageData, CPUIImageData, CPUImageData, EventTypes, ImageLoaderFn, VolumeLoaderFn, IRegisterImageLoader, IStreamingVolumeProperties, IViewport, StackViewportProperties, VolumeViewportProperties, PublicViewportInput, VolumeActor, Actor, ActorEntry, IImageLoadObject, IVolumeLoadObject, IVolumeInput, VolumeInputCallback, ViewportPreset, Metadata, OrientationVectors, Point2, Point3, Point4, Mat3, Plane, ViewportInputOptions, VOIRange, VOI, DisplayArea, FlipDirection, ICachedImage, ICachedVolume, CPUFallbackEnabledElement, CPUFallbackViewport, CPUFallbackTransform, CPUFallbackColormapData, CPUFallbackViewportDisplayedArea, CPUFallbackColormapsData, CPUFallbackColormap, TransformMatrix2D, CPUFallbackLookupTable, CPUFallbackLUT, CPUFallbackRenderingTools, CustomEventType, ActorSliceRange, ImageSliceData, IGeometry, IGeometryLoadObject, ICachedGeometry, PublicContourSetData, ContourSetData, ContourData, IContourSet, IContour, RGB, };
63
+ import { ColormapPublic, ColormapRegistration } from './Colormap';
64
+ import type { ViewportProperties } from './ViewportProperties';
65
+ export type { Cornerstone3DConfig, ICamera, IStackViewport, IVolumeViewport, IEnabledElement, ICache, IVolume, VolumeScalarData, IViewportId, IImageVolume, IDynamicImageVolume, IRenderingEngine, ScalingParameters, PTScaling, Scaling, IStreamingImageVolume, IImage, IImageData, CPUIImageData, CPUImageData, EventTypes, ImageLoaderFn, VolumeLoaderFn, IRegisterImageLoader, IStreamingVolumeProperties, IViewport, StackViewportProperties, VolumeViewportProperties, ViewportProperties, PublicViewportInput, VolumeActor, Actor, ActorEntry, IImageLoadObject, IVolumeLoadObject, IVolumeInput, VolumeInputCallback, ViewportPreset, Metadata, OrientationVectors, Point2, Point3, Point4, Mat3, Plane, ViewportInputOptions, VOIRange, VOI, DisplayArea, FlipDirection, ICachedImage, ICachedVolume, CPUFallbackEnabledElement, CPUFallbackViewport, CPUFallbackTransform, CPUFallbackColormapData, CPUFallbackViewportDisplayedArea, CPUFallbackColormapsData, CPUFallbackColormap, TransformMatrix2D, CPUFallbackLookupTable, CPUFallbackLUT, CPUFallbackRenderingTools, CustomEventType, ActorSliceRange, ImageSliceData, IGeometry, IGeometryLoadObject, ICachedGeometry, PublicContourSetData, ContourSetData, ContourData, IContourSet, IContour, RGB, ColormapPublic, ColormapRegistration, };
@@ -1 +1 @@
1
- {"version":3,"file":"applyPreset.js","sourceRoot":"","sources":["../../../src/utilities/applyPreset.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"applyPreset.js","sourceRoot":"","sources":["../../../src/utilities/applyPreset.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { ColormapRegistration } from '../types';
2
+ declare function registerColormap(colormap: ColormapRegistration): void;
3
+ declare function getColormap(name: any): any;
4
+ declare function getColormapNames(): any[];
5
+ export { getColormap, getColormapNames, registerColormap };
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.registerColormap = exports.getColormapNames = exports.getColormap = void 0;
4
+ const _colormaps = new Map();
5
+ function registerColormap(colormap) {
6
+ _colormaps.set(colormap.Name, colormap);
7
+ }
8
+ exports.registerColormap = registerColormap;
9
+ function getColormap(name) {
10
+ return _colormaps.get(name);
11
+ }
12
+ exports.getColormap = getColormap;
13
+ function getColormapNames() {
14
+ return Array.from(_colormaps.keys());
15
+ }
16
+ exports.getColormapNames = getColormapNames;
17
+ //# sourceMappingURL=colormap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"colormap.js","sourceRoot":"","sources":["../../../src/utilities/colormap.ts"],"names":[],"mappings":";;;AAEA,MAAM,UAAU,GAAG,IAAI,GAAG,EAAE,CAAC;AAO7B,SAAS,gBAAgB,CAAC,QAA8B;IACtD,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC1C,CAAC;AAoBuC,4CAAgB;AAbxD,SAAS,WAAW,CAAC,IAAI;IACvB,OAAO,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC;AAWQ,kCAAW;AAJpB,SAAS,gBAAgB;IACvB,OAAO,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;AACvC,CAAC;AAEqB,4CAAgB"}
@@ -46,4 +46,5 @@ import getScalingParameters from './getScalingParameters';
46
46
  import getScalarDataType from './getScalarDataType';
47
47
  import * as planar from './planar';
48
48
  import * as windowLevel from './windowLevel';
49
- export { csUtils as invertRgbTransferFunction, createSigmoidRGBTransferFunction, getVoiFromSigmoidRGBTransferFunction, createLinearRGBTransferFunction, scaleRgbTransferFunction, triggerEvent, imageIdToURI, calibratedPixelSpacingMetadataProvider, uuidv4, planar, getMinMax, getRuntimeId, isEqual, isOpposite, createFloat32SharedArray, createUint8SharedArray, createUint16SharedArray, createInt16SharedArray, windowLevel, getClosestImageId, getSpacingInNormalDirection, getTargetVolumeAndSpacingInNormalDir, getVolumeActorCorners, indexWithinDimensions, getVolumeViewportsContainingSameVolumes, getViewportsWithVolumeId, transformWorldToIndex, loadImageToCanvas, renderToCanvasCPU, renderToCanvasGPU, worldToImageCoords, imageToWorldCoords, getVolumeSliceRangeInfo, getVolumeViewportScrollInfo, getSliceRange, snapFocalPointToSlice, getImageSliceDataForVolumeViewport, isImageActor, actorIsA, getViewportsWithImageURI, getClosestStackImageIndexForPoint, calculateViewportsSpatialRegistration, spatialRegistrationMetadataProvider, getViewportImageCornersInWorld, hasNaNValues, applyPreset, deepMerge, getScalingParameters, getScalarDataType, };
49
+ import * as colormap from './colormap';
50
+ export { csUtils as invertRgbTransferFunction, createSigmoidRGBTransferFunction, getVoiFromSigmoidRGBTransferFunction, createLinearRGBTransferFunction, scaleRgbTransferFunction, triggerEvent, imageIdToURI, calibratedPixelSpacingMetadataProvider, uuidv4, planar, getMinMax, getRuntimeId, isEqual, isOpposite, createFloat32SharedArray, createUint8SharedArray, createUint16SharedArray, createInt16SharedArray, windowLevel, getClosestImageId, getSpacingInNormalDirection, getTargetVolumeAndSpacingInNormalDir, getVolumeActorCorners, indexWithinDimensions, getVolumeViewportsContainingSameVolumes, getViewportsWithVolumeId, transformWorldToIndex, loadImageToCanvas, renderToCanvasCPU, renderToCanvasGPU, worldToImageCoords, imageToWorldCoords, getVolumeSliceRangeInfo, getVolumeViewportScrollInfo, getSliceRange, snapFocalPointToSlice, getImageSliceDataForVolumeViewport, isImageActor, actorIsA, getViewportsWithImageURI, getClosestStackImageIndexForPoint, calculateViewportsSpatialRegistration, spatialRegistrationMetadataProvider, getViewportImageCornersInWorld, hasNaNValues, applyPreset, deepMerge, getScalingParameters, getScalarDataType, colormap, };
@@ -26,7 +26,7 @@ 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.getScalarDataType = exports.getScalingParameters = exports.deepMerge = exports.applyPreset = exports.hasNaNValues = exports.getViewportImageCornersInWorld = exports.spatialRegistrationMetadataProvider = exports.calculateViewportsSpatialRegistration = exports.getClosestStackImageIndexForPoint = exports.getViewportsWithImageURI = exports.actorIsA = 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.createInt16SharedArray = exports.createUint16SharedArray = exports.createUint8SharedArray = exports.createFloat32SharedArray = exports.isOpposite = exports.isEqual = exports.getRuntimeId = exports.getMinMax = exports.planar = exports.uuidv4 = exports.calibratedPixelSpacingMetadataProvider = exports.imageIdToURI = exports.triggerEvent = exports.scaleRgbTransferFunction = exports.createLinearRGBTransferFunction = exports.getVoiFromSigmoidRGBTransferFunction = exports.createSigmoidRGBTransferFunction = exports.invertRgbTransferFunction = void 0;
29
+ exports.colormap = exports.getScalarDataType = exports.getScalingParameters = exports.deepMerge = exports.applyPreset = exports.hasNaNValues = exports.getViewportImageCornersInWorld = exports.spatialRegistrationMetadataProvider = exports.calculateViewportsSpatialRegistration = exports.getClosestStackImageIndexForPoint = exports.getViewportsWithImageURI = exports.actorIsA = 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.createInt16SharedArray = exports.createUint16SharedArray = exports.createUint8SharedArray = exports.createFloat32SharedArray = exports.isOpposite = exports.isEqual = exports.getRuntimeId = exports.getMinMax = exports.planar = exports.uuidv4 = exports.calibratedPixelSpacingMetadataProvider = exports.imageIdToURI = exports.triggerEvent = exports.scaleRgbTransferFunction = exports.createLinearRGBTransferFunction = exports.getVoiFromSigmoidRGBTransferFunction = exports.createSigmoidRGBTransferFunction = exports.invertRgbTransferFunction = void 0;
30
30
  const invertRgbTransferFunction_1 = __importDefault(require("./invertRgbTransferFunction"));
31
31
  exports.invertRgbTransferFunction = invertRgbTransferFunction_1.default;
32
32
  const createSigmoidRGBTransferFunction_1 = __importDefault(require("./createSigmoidRGBTransferFunction"));
@@ -124,4 +124,6 @@ const planar = __importStar(require("./planar"));
124
124
  exports.planar = planar;
125
125
  const windowLevel = __importStar(require("./windowLevel"));
126
126
  exports.windowLevel = windowLevel;
127
+ const colormap = __importStar(require("./colormap"));
128
+ exports.colormap = colormap;
127
129
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utilities/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4FAAkD;AAoDrC,oCApDN,mCAAO,CAoDwB;AAnDtC,0GAAkF;AAoDhF,2CApDK,0CAAgC,CAoDL;AAnDlC,kHAA0F;AAoDxF,+CApDK,8CAAoC,CAoDL;AAnDtC,wGAAgF;AAoD9E,0CApDK,yCAA+B,CAoDL;AAnDjC,0FAAkE;AAoDhE,mCApDK,kCAAwB,CAoDL;AAnD1B,kEAA0C;AAoDxC,uBApDK,sBAAY,CAoDL;AAnDd,sDAA8B;AAsD5B,iBAtDK,gBAAM,CAsDL;AArDR,4DAAoC;AAuDlC,oBAvDK,mBAAS,CAuDL;AAtDX,kEAA0C;AAuDxC,uBAvDK,sBAAY,CAuDL;AAtDd,kEAA0C;AAiDxC,uBAjDK,sBAAY,CAiDL;AAhDd,sHAA8F;AAiD5F,iDAjDK,gDAAsC,CAiDL;AAhDxC,wDAAgC;AAqD9B,kBArDK,iBAAO,CAqDL;AApDT,8DAAsC;AAqDpC,qBArDK,oBAAU,CAqDL;AApDZ,sFAA8D;AAsD5D,iCAtDK,gCAAsB,CAsDL;AArDxB,0FAAkE;AAoDhE,mCApDK,kCAAwB,CAoDL;AAnD1B,wFAAgE;AAqD9D,kCArDK,iCAAuB,CAqDL;AApDzB,sFAA8D;AAqD5D,iCArDK,gCAAsB,CAqDL;AApDxB,4EAAoD;AAsDlD,4BAtDK,2BAAiB,CAsDL;AArDnB,gGAAwE;AAsDtE,sCAtDK,qCAA2B,CAsDL;AArD7B,kHAA0F;AAsDxF,+CAtDK,8CAAoC,CAsDL;AArDtC,oFAA4D;AAsD1D,gCAtDK,+BAAqB,CAsDL;AArDvB,oFAA4D;AAsD1D,gCAtDK,+BAAqB,CAsDL;AArDvB,wHAAgG;AAsD9F,kDAtDK,iDAAuC,CAsDL;AArDzC,0FAAkE;AAsDhE,mCAtDK,kCAAwB,CAsDL;AArD1B,oFAA4D;AAsD1D,gCAtDK,+BAAqB,CAsDL;AArDvB,4EAAoD;AAsDlD,4BAtDK,2BAAiB,CAsDL;AArDnB,4EAAoD;AAsDlD,4BAtDK,2BAAiB,CAsDL;AArDnB,4EAAoD;AAsDlD,4BAtDK,2BAAiB,CAsDL;AArDnB,8EAAsD;AAsDpD,6BAtDK,4BAAkB,CAsDL;AArDpB,8EAAsD;AAsDpD,6BAtDK,4BAAkB,CAsDL;AArDpB,wFAAgE;AAsD9D,kCAtDK,iCAAuB,CAsDL;AArDzB,gGAAwE;AAsDtE,sCAtDK,qCAA2B,CAsDL;AArD7B,oEAA4C;AAsD1C,wBAtDK,uBAAa,CAsDL;AArDf,oFAA4D;AAsD1D,gCAtDK,+BAAqB,CAsDL;AArDvB,8GAAsF;AAsDpF,6CAtDK,4CAAkC,CAsDL;AArDpC,6CAAsD;AAsDpD,6FAtDO,yBAAY,OAsDP;AACZ,yFAvDqB,qBAAQ,OAuDrB;AAtDV,0FAAkE;AAuDhE,mCAvDK,kCAAwB,CAuDL;AAtD1B,4GAAoF;AAuDlF,4CAvDK,2CAAiC,CAuDL;AAtDnC,oHAA4F;AAuD1F,gDAvDK,+CAAqC,CAuDL;AAtDvC,gHAAwF;AAuDtF,8CAvDK,6CAAmC,CAuDL;AAtDrC,sGAA8E;AAuD5E,yCAvDK,wCAA8B,CAuDL;AAtDhC,kEAA0C;AAuDxC,uBAvDK,sBAAY,CAuDL;AAtDd,gEAAwC;AAuDtC,sBAvDK,qBAAW,CAuDL;AAtDb,4DAAoC;AAuDlC,oBAvDK,mBAAS,CAuDL;AAtDX,kFAA0D;AAuDxD,+BAvDK,8BAAoB,CAuDL;AAtDtB,4EAAoD;AAuDlD,4BAvDK,2BAAiB,CAuDL;AApDnB,iDAAmC;AAajC,wBAAM;AAZR,2DAA6C;AAqB3C,kCAAW"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utilities/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4FAAkD;AAqDrC,oCArDN,mCAAO,CAqDwB;AApDtC,0GAAkF;AAqDhF,2CArDK,0CAAgC,CAqDL;AApDlC,kHAA0F;AAqDxF,+CArDK,8CAAoC,CAqDL;AApDtC,wGAAgF;AAqD9E,0CArDK,yCAA+B,CAqDL;AApDjC,0FAAkE;AAqDhE,mCArDK,kCAAwB,CAqDL;AApD1B,kEAA0C;AAqDxC,uBArDK,sBAAY,CAqDL;AApDd,sDAA8B;AAuD5B,iBAvDK,gBAAM,CAuDL;AAtDR,4DAAoC;AAwDlC,oBAxDK,mBAAS,CAwDL;AAvDX,kEAA0C;AAwDxC,uBAxDK,sBAAY,CAwDL;AAvDd,kEAA0C;AAkDxC,uBAlDK,sBAAY,CAkDL;AAjDd,sHAA8F;AAkD5F,iDAlDK,gDAAsC,CAkDL;AAjDxC,wDAAgC;AAsD9B,kBAtDK,iBAAO,CAsDL;AArDT,8DAAsC;AAsDpC,qBAtDK,oBAAU,CAsDL;AArDZ,sFAA8D;AAuD5D,iCAvDK,gCAAsB,CAuDL;AAtDxB,0FAAkE;AAqDhE,mCArDK,kCAAwB,CAqDL;AApD1B,wFAAgE;AAsD9D,kCAtDK,iCAAuB,CAsDL;AArDzB,sFAA8D;AAsD5D,iCAtDK,gCAAsB,CAsDL;AArDxB,4EAAoD;AAuDlD,4BAvDK,2BAAiB,CAuDL;AAtDnB,gGAAwE;AAuDtE,sCAvDK,qCAA2B,CAuDL;AAtD7B,kHAA0F;AAuDxF,+CAvDK,8CAAoC,CAuDL;AAtDtC,oFAA4D;AAuD1D,gCAvDK,+BAAqB,CAuDL;AAtDvB,oFAA4D;AAuD1D,gCAvDK,+BAAqB,CAuDL;AAtDvB,wHAAgG;AAuD9F,kDAvDK,iDAAuC,CAuDL;AAtDzC,0FAAkE;AAuDhE,mCAvDK,kCAAwB,CAuDL;AAtD1B,oFAA4D;AAuD1D,gCAvDK,+BAAqB,CAuDL;AAtDvB,4EAAoD;AAuDlD,4BAvDK,2BAAiB,CAuDL;AAtDnB,4EAAoD;AAuDlD,4BAvDK,2BAAiB,CAuDL;AAtDnB,4EAAoD;AAuDlD,4BAvDK,2BAAiB,CAuDL;AAtDnB,8EAAsD;AAuDpD,6BAvDK,4BAAkB,CAuDL;AAtDpB,8EAAsD;AAuDpD,6BAvDK,4BAAkB,CAuDL;AAtDpB,wFAAgE;AAuD9D,kCAvDK,iCAAuB,CAuDL;AAtDzB,gGAAwE;AAuDtE,sCAvDK,qCAA2B,CAuDL;AAtD7B,oEAA4C;AAuD1C,wBAvDK,uBAAa,CAuDL;AAtDf,oFAA4D;AAuD1D,gCAvDK,+BAAqB,CAuDL;AAtDvB,8GAAsF;AAuDpF,6CAvDK,4CAAkC,CAuDL;AAtDpC,6CAAsD;AAuDpD,6FAvDO,yBAAY,OAuDP;AACZ,yFAxDqB,qBAAQ,OAwDrB;AAvDV,0FAAkE;AAwDhE,mCAxDK,kCAAwB,CAwDL;AAvD1B,4GAAoF;AAwDlF,4CAxDK,2CAAiC,CAwDL;AAvDnC,oHAA4F;AAwD1F,gDAxDK,+CAAqC,CAwDL;AAvDvC,gHAAwF;AAwDtF,8CAxDK,6CAAmC,CAwDL;AAvDrC,sGAA8E;AAwD5E,yCAxDK,wCAA8B,CAwDL;AAvDhC,kEAA0C;AAwDxC,uBAxDK,sBAAY,CAwDL;AAvDd,gEAAwC;AAwDtC,sBAxDK,qBAAW,CAwDL;AAvDb,4DAAoC;AAwDlC,oBAxDK,mBAAS,CAwDL;AAvDX,kFAA0D;AAwDxD,+BAxDK,8BAAoB,CAwDL;AAvDtB,4EAAoD;AAwDlD,4BAxDK,2BAAiB,CAwDL;AArDnB,iDAAmC;AAcjC,wBAAM;AAbR,2DAA6C;AAsB3C,kCAAW;AArBb,qDAAuC;AAoDrC,4BAAQ"}
@@ -7,6 +7,7 @@ declare abstract class BaseVolumeViewport extends Viewport implements IVolumeVie
7
7
  useCPURendering: boolean;
8
8
  use16BitTexture: boolean;
9
9
  private _FrameOfReferenceUID;
10
+ private inverted;
10
11
  private VOILUTFunction;
11
12
  constructor(props: ViewportInput);
12
13
  static get useCustomRenderingPipeline(): boolean;
@@ -14,13 +15,18 @@ declare abstract class BaseVolumeViewport extends Viewport implements IVolumeVie
14
15
  private initializeVolumeNewImageEventDispatcher;
15
16
  protected resetVolumeViewportClippingRange(): void;
16
17
  private setVOILUTFunction;
18
+ private setColormap;
19
+ private setInvert;
20
+ private _getOrCreateColorTransferFunction;
17
21
  private setVOI;
18
- setProperties({ voiRange, VOILUTFunction }?: VolumeViewportProperties, volumeId?: string, suppressEvents?: boolean): void;
22
+ setProperties({ voiRange, VOILUTFunction, invert, colormap, preset, }?: VolumeViewportProperties, volumeId?: string, suppressEvents?: boolean): void;
23
+ private setPreset;
19
24
  getProperties: () => VolumeViewportProperties;
20
25
  setVolumes(volumeInputArray: Array<IVolumeInput>, immediate?: boolean, suppressEvents?: boolean): Promise<void>;
21
26
  addVolumes(volumeInputArray: Array<IVolumeInput>, immediate?: boolean, suppressEvents?: boolean): Promise<void>;
22
27
  removeVolumeActors(actorUIDs: Array<string>, immediate?: boolean): void;
23
28
  setOrientation(orientation: OrientationAxis, immediate?: boolean): void;
29
+ private _getApplicableVolumeActor;
24
30
  private _isValidVolumeInputArray;
25
31
  getBounds(): number[];
26
32
  flip(flipDirection: FlipDirection): void;
@@ -1,20 +1,24 @@
1
+ import vtkColorTransferFunction from '@kitware/vtk.js/Rendering/Core/ColorTransferFunction';
2
+ import vtkColorMaps from '@kitware/vtk.js/Rendering/Core/ColorTransferFunction/ColorMaps';
1
3
  import cache from '../cache';
2
- import { MPR_CAMERA_VALUES, RENDERING_DEFAULTS } from '../constants';
4
+ import { MPR_CAMERA_VALUES, RENDERING_DEFAULTS, VIEWPORT_PRESETS, } from '../constants';
3
5
  import { Events, VOILUTFunctionType, } from '../enums';
4
6
  import ViewportType from '../enums/ViewportType';
5
7
  import eventTarget from '../eventTarget';
6
8
  import { getShouldUseCPURendering } from '../init';
7
9
  import { loadVolume } from '../loaders/volumeLoader';
8
- import { actorIsA, createSigmoidRGBTransferFunction, getVoiFromSigmoidRGBTransferFunction, imageIdToURI, triggerEvent, } from '../utilities';
10
+ import { actorIsA, applyPreset, createSigmoidRGBTransferFunction, getVoiFromSigmoidRGBTransferFunction, imageIdToURI, invertRgbTransferFunction, triggerEvent, colormap as colormapUtils, } from '../utilities';
9
11
  import { createVolumeActor } from './helpers';
10
12
  import volumeNewImageEventDispatcher, { resetVolumeNewImageState, } from './helpers/volumeNewImageEventDispatcher';
11
13
  import Viewport from './Viewport';
12
14
  import vtkSlabCamera from './vtkClasses/vtkSlabCamera';
15
+ import vtkPiecewiseFunction from '@kitware/vtk.js/Common/DataModel/PiecewiseFunction';
13
16
  class BaseVolumeViewport extends Viewport {
14
17
  constructor(props) {
15
18
  super(props);
16
19
  this.useCPURendering = false;
17
20
  this.use16BitTexture = false;
21
+ this.inverted = false;
18
22
  this.getProperties = () => {
19
23
  const voiRanges = this.getActors()
20
24
  .map((actorEntry) => {
@@ -33,7 +37,7 @@ class BaseVolumeViewport extends Viewport {
33
37
  .filter(Boolean);
34
38
  const voiRange = voiRanges.length ? voiRanges[0].voiRange : null;
35
39
  const VOILUTFunction = this.VOILUTFunction;
36
- return { voiRange, VOILUTFunction };
40
+ return { voiRange, VOILUTFunction, invert: this.inverted };
37
41
  };
38
42
  this.getFrameOfReferenceUID = () => {
39
43
  return this._FrameOfReferenceUID;
@@ -174,22 +178,85 @@ class BaseVolumeViewport extends Viewport {
174
178
  this.VOILUTFunction = voiLUTFunction;
175
179
  this.setVOI(voiRange, volumeId, suppressEvents);
176
180
  }
177
- setVOI(voiRange, volumeId, suppressEvents = false) {
178
- if (volumeId !== undefined && !this.getActor(volumeId)) {
181
+ setColormap(colormap, volumeId, suppressEvents) {
182
+ const applicableVolumeActorInfo = this._getApplicableVolumeActor(volumeId);
183
+ if (!applicableVolumeActorInfo) {
179
184
  return;
180
185
  }
181
- const actorEntries = this.getActors();
182
- if (!actorEntries.length) {
186
+ const { volumeActor } = applicableVolumeActorInfo;
187
+ const mapper = volumeActor.getMapper();
188
+ mapper.setSampleDistance(1.0);
189
+ const cfun = vtkColorTransferFunction.newInstance();
190
+ let colormapObj = colormapUtils.getColormap(colormap);
191
+ const { name, opacityMapping } = colormap;
192
+ if (!colormapObj) {
193
+ colormapObj = vtkColorMaps.getPresetByName(name);
194
+ }
195
+ if (!colormapObj) {
196
+ throw new Error(`Colormap ${colormap} not found`);
197
+ }
198
+ const range = volumeActor
199
+ .getProperty()
200
+ .getRGBTransferFunction(0)
201
+ .getRange();
202
+ cfun.applyColorMap(colormapObj);
203
+ cfun.setMappingRange(range[0], range[1]);
204
+ volumeActor.getProperty().setRGBTransferFunction(0, cfun);
205
+ const ofun = vtkPiecewiseFunction.newInstance();
206
+ ofun.addPoint(range[0], 0.0);
207
+ ofun.addPoint(range[1], 1.0);
208
+ volumeActor.getProperty().setScalarOpacity(0, ofun);
209
+ if (!opacityMapping) {
183
210
  return;
184
211
  }
185
- let volumeActor;
186
- if (volumeId) {
187
- volumeActor = this.getActor(volumeId)?.actor;
212
+ opacityMapping.forEach(({ opacity, value }) => {
213
+ ofun.addPoint(value, opacity);
214
+ });
215
+ }
216
+ setInvert(invert, volumeId, suppressEvents) {
217
+ const applicableVolumeActorInfo = this._getApplicableVolumeActor(volumeId);
218
+ if (!applicableVolumeActorInfo) {
219
+ return;
188
220
  }
189
- if (!volumeActor) {
190
- volumeActor = actorEntries[0].actor;
191
- volumeId = actorEntries[0].uid;
221
+ const volumeIdToUse = applicableVolumeActorInfo.volumeId;
222
+ const cfun = this._getOrCreateColorTransferFunction(volumeIdToUse);
223
+ invertRgbTransferFunction(cfun);
224
+ this.inverted = invert;
225
+ const { voiRange } = this.getProperties();
226
+ if (!suppressEvents) {
227
+ const eventDetail = {
228
+ viewportId: this.id,
229
+ range: voiRange,
230
+ volumeId: volumeIdToUse,
231
+ VOILUTFunction: this.VOILUTFunction,
232
+ invert: this.inverted,
233
+ };
234
+ triggerEvent(this.element, Events.VOI_MODIFIED, eventDetail);
235
+ }
236
+ }
237
+ _getOrCreateColorTransferFunction(volumeId) {
238
+ const applicableVolumeActorInfo = this._getApplicableVolumeActor(volumeId);
239
+ if (!applicableVolumeActorInfo) {
240
+ return null;
192
241
  }
242
+ const { volumeActor } = applicableVolumeActorInfo;
243
+ const rgbTransferFunction = volumeActor
244
+ .getProperty()
245
+ .getRGBTransferFunction(0);
246
+ if (rgbTransferFunction) {
247
+ return rgbTransferFunction;
248
+ }
249
+ const newRGBTransferFunction = vtkColorTransferFunction.newInstance();
250
+ volumeActor.getProperty().setRGBTransferFunction(0, newRGBTransferFunction);
251
+ return newRGBTransferFunction;
252
+ }
253
+ setVOI(voiRange, volumeId, suppressEvents = false) {
254
+ const applicableVolumeActorInfo = this._getApplicableVolumeActor(volumeId);
255
+ if (!applicableVolumeActorInfo) {
256
+ return;
257
+ }
258
+ const { volumeActor } = applicableVolumeActorInfo;
259
+ const volumeIdToUse = applicableVolumeActorInfo.volumeId;
193
260
  let voiRangeToUse = voiRange;
194
261
  if (typeof voiRangeToUse === 'undefined') {
195
262
  const imageData = volumeActor.getMapper().getInputData();
@@ -212,19 +279,42 @@ class BaseVolumeViewport extends Viewport {
212
279
  const eventDetail = {
213
280
  viewportId: this.id,
214
281
  range: voiRange,
215
- volumeId: volumeId,
282
+ volumeId: volumeIdToUse,
216
283
  VOILUTFunction: this.VOILUTFunction,
217
284
  };
218
285
  triggerEvent(this.element, Events.VOI_MODIFIED, eventDetail);
219
286
  }
220
287
  }
221
- setProperties({ voiRange, VOILUTFunction } = {}, volumeId, suppressEvents = false) {
222
- if (voiRange) {
288
+ setProperties({ voiRange, VOILUTFunction, invert, colormap, preset, } = {}, volumeId, suppressEvents = false) {
289
+ if (colormap !== undefined) {
290
+ this.setColormap(colormap, volumeId, suppressEvents);
291
+ }
292
+ if (voiRange !== undefined) {
223
293
  this.setVOI(voiRange, volumeId, suppressEvents);
224
294
  }
225
- if (VOILUTFunction) {
295
+ if (VOILUTFunction !== undefined) {
226
296
  this.setVOILUTFunction(VOILUTFunction, volumeId, suppressEvents);
227
297
  }
298
+ if (invert !== undefined && this.inverted !== invert) {
299
+ this.setInvert(invert, volumeId, suppressEvents);
300
+ }
301
+ if (preset !== undefined) {
302
+ this.setPreset(preset, volumeId, suppressEvents);
303
+ }
304
+ }
305
+ setPreset(presetName, volumeId, suppressEvents) {
306
+ const applicableVolumeActorInfo = this._getApplicableVolumeActor(volumeId);
307
+ if (!applicableVolumeActorInfo) {
308
+ return;
309
+ }
310
+ const { volumeActor } = applicableVolumeActorInfo;
311
+ const preset = VIEWPORT_PRESETS.find((preset) => {
312
+ return preset.name === presetName;
313
+ });
314
+ if (!preset) {
315
+ return;
316
+ }
317
+ applyPreset(volumeActor, preset);
228
318
  }
229
319
  async setVolumes(volumeInputArray, immediate = false, suppressEvents = false) {
230
320
  const firstImageVolume = cache.getVolume(volumeInputArray[0].volumeId);
@@ -290,6 +380,24 @@ class BaseVolumeViewport extends Viewport {
290
380
  setOrientation(orientation, immediate = true) {
291
381
  console.warn('Method "setOrientation" needs implementation');
292
382
  }
383
+ _getApplicableVolumeActor(volumeId) {
384
+ if (volumeId !== undefined && !this.getActor(volumeId)) {
385
+ return;
386
+ }
387
+ const actorEntries = this.getActors();
388
+ if (!actorEntries.length) {
389
+ return;
390
+ }
391
+ let volumeActor;
392
+ if (volumeId) {
393
+ volumeActor = this.getActor(volumeId)?.actor;
394
+ }
395
+ if (!volumeActor) {
396
+ volumeActor = actorEntries[0].actor;
397
+ volumeId = actorEntries[0].uid;
398
+ }
399
+ return { volumeActor, volumeId };
400
+ }
293
401
  async _isValidVolumeInputArray(volumeInputArray, FrameOfReferenceUID) {
294
402
  const numVolumes = volumeInputArray.length;
295
403
  for (let i = 1; i < numVolumes; i++) {
@@ -1 +1 @@
1
- {"version":3,"file":"BaseVolumeViewport.js","sourceRoot":"","sources":["../../../src/RenderingEngine/BaseVolumeViewport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseVolumeViewport.js","sourceRoot":"","sources":["../../../src/RenderingEngine/BaseVolumeViewport.ts"],"names":[],"mappings":"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"}
@@ -792,7 +792,8 @@ class StackViewport extends Viewport {
792
792
  this.voiRange &&
793
793
  this.voiRange.lower === voiRange.lower &&
794
794
  this.voiRange.upper === voiRange.upper &&
795
- !forceRecreateLUTFunction) {
795
+ !forceRecreateLUTFunction &&
796
+ !this.stackInvalidated) {
796
797
  return;
797
798
  }
798
799
  const defaultActor = this.getDefaultActor();