@cornerstonejs/core 0.33.2 → 0.35.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 (105) hide show
  1. package/dist/cjs/RenderingEngine/StackViewport.js +17 -18
  2. package/dist/cjs/RenderingEngine/StackViewport.js.map +1 -1
  3. package/dist/cjs/RenderingEngine/helpers/createVolumeMapper.js +4 -0
  4. package/dist/cjs/RenderingEngine/helpers/createVolumeMapper.js.map +1 -1
  5. package/dist/cjs/RenderingEngine/helpers/setDefaultVolumeVOI.js +0 -16
  6. package/dist/cjs/RenderingEngine/helpers/setDefaultVolumeVOI.js.map +1 -1
  7. package/dist/cjs/RenderingEngine/vtkClasses/vtkStreamingOpenGLTexture.js +23 -3
  8. package/dist/cjs/RenderingEngine/vtkClasses/vtkStreamingOpenGLTexture.js.map +1 -1
  9. package/dist/cjs/RenderingEngine/vtkClasses/vtkStreamingOpenGLVolumeMapper.js +1 -0
  10. package/dist/cjs/RenderingEngine/vtkClasses/vtkStreamingOpenGLVolumeMapper.js.map +1 -1
  11. package/dist/cjs/index.d.ts +2 -2
  12. package/dist/cjs/index.js +3 -1
  13. package/dist/cjs/index.js.map +1 -1
  14. package/dist/cjs/init.d.ts +5 -2
  15. package/dist/cjs/init.js +58 -13
  16. package/dist/cjs/init.js.map +1 -1
  17. package/dist/cjs/loaders/volumeLoader.d.ts +2 -2
  18. package/dist/cjs/loaders/volumeLoader.js +13 -2
  19. package/dist/cjs/loaders/volumeLoader.js.map +1 -1
  20. package/dist/cjs/types/Cornerstone3DConfig.d.ts +9 -0
  21. package/dist/cjs/types/Cornerstone3DConfig.js +3 -0
  22. package/dist/cjs/types/Cornerstone3DConfig.js.map +1 -0
  23. package/dist/cjs/types/IImageData.d.ts +1 -1
  24. package/dist/cjs/types/IVolume.d.ts +1 -1
  25. package/dist/cjs/types/index.d.ts +2 -1
  26. package/dist/cjs/utilities/createInt16SharedArray.d.ts +2 -0
  27. package/dist/cjs/utilities/createInt16SharedArray.js +14 -0
  28. package/dist/cjs/utilities/createInt16SharedArray.js.map +1 -0
  29. package/dist/cjs/utilities/createUInt16SharedArray.d.ts +2 -0
  30. package/dist/cjs/utilities/createUInt16SharedArray.js +14 -0
  31. package/dist/cjs/utilities/createUInt16SharedArray.js.map +1 -0
  32. package/dist/cjs/utilities/deepMerge.d.ts +2 -0
  33. package/dist/cjs/utilities/deepMerge.js +63 -0
  34. package/dist/cjs/utilities/deepMerge.js.map +1 -0
  35. package/dist/cjs/utilities/getScalarDataType.d.ts +2 -0
  36. package/dist/cjs/utilities/getScalarDataType.js +23 -0
  37. package/dist/cjs/utilities/getScalarDataType.js.map +1 -0
  38. package/dist/cjs/utilities/getScalingParameters.d.ts +2 -0
  39. package/dist/cjs/utilities/getScalingParameters.js +21 -0
  40. package/dist/cjs/utilities/getScalingParameters.js.map +1 -0
  41. package/dist/cjs/utilities/getVolumeSliceRangeInfo.d.ts +7 -0
  42. package/dist/cjs/utilities/getVolumeSliceRangeInfo.js +29 -0
  43. package/dist/cjs/utilities/getVolumeSliceRangeInfo.js.map +1 -0
  44. package/dist/cjs/utilities/getVolumeViewportScrollInfo.d.ts +6 -0
  45. package/dist/cjs/utilities/getVolumeViewportScrollInfo.js +17 -0
  46. package/dist/cjs/utilities/getVolumeViewportScrollInfo.js.map +1 -0
  47. package/dist/cjs/utilities/index.d.ts +8 -1
  48. package/dist/cjs/utilities/index.js +15 -1
  49. package/dist/cjs/utilities/index.js.map +1 -1
  50. package/dist/cjs/utilities/loadImageToCanvas.js +0 -5
  51. package/dist/cjs/utilities/loadImageToCanvas.js.map +1 -1
  52. package/dist/esm/RenderingEngine/StackViewport.js +14 -15
  53. package/dist/esm/RenderingEngine/StackViewport.js.map +1 -1
  54. package/dist/esm/RenderingEngine/helpers/createVolumeMapper.js +4 -0
  55. package/dist/esm/RenderingEngine/helpers/createVolumeMapper.js.map +1 -1
  56. package/dist/esm/RenderingEngine/helpers/setDefaultVolumeVOI.js +0 -16
  57. package/dist/esm/RenderingEngine/helpers/setDefaultVolumeVOI.js.map +1 -1
  58. package/dist/esm/RenderingEngine/vtkClasses/vtkStreamingOpenGLTexture.js +23 -3
  59. package/dist/esm/RenderingEngine/vtkClasses/vtkStreamingOpenGLTexture.js.map +1 -1
  60. package/dist/esm/RenderingEngine/vtkClasses/vtkStreamingOpenGLVolumeMapper.js +1 -0
  61. package/dist/esm/RenderingEngine/vtkClasses/vtkStreamingOpenGLVolumeMapper.js.map +1 -1
  62. package/dist/esm/index.d.ts +2 -2
  63. package/dist/esm/index.js +2 -2
  64. package/dist/esm/index.js.map +1 -1
  65. package/dist/esm/init.d.ts +5 -2
  66. package/dist/esm/init.js +56 -13
  67. package/dist/esm/init.js.map +1 -1
  68. package/dist/esm/loaders/volumeLoader.d.ts +2 -2
  69. package/dist/esm/loaders/volumeLoader.js +13 -2
  70. package/dist/esm/loaders/volumeLoader.js.map +1 -1
  71. package/dist/esm/types/Cornerstone3DConfig.d.ts +9 -0
  72. package/dist/esm/types/Cornerstone3DConfig.js +2 -0
  73. package/dist/esm/types/Cornerstone3DConfig.js.map +1 -0
  74. package/dist/esm/types/IImageData.d.ts +1 -1
  75. package/dist/esm/types/IVolume.d.ts +1 -1
  76. package/dist/esm/types/index.d.ts +2 -1
  77. package/dist/esm/utilities/createInt16SharedArray.d.ts +2 -0
  78. package/dist/esm/utilities/createInt16SharedArray.js +12 -0
  79. package/dist/esm/utilities/createInt16SharedArray.js.map +1 -0
  80. package/dist/esm/utilities/createUInt16SharedArray.d.ts +2 -0
  81. package/dist/esm/utilities/createUInt16SharedArray.js +12 -0
  82. package/dist/esm/utilities/createUInt16SharedArray.js.map +1 -0
  83. package/dist/esm/utilities/deepMerge.d.ts +2 -0
  84. package/dist/esm/utilities/deepMerge.js +61 -0
  85. package/dist/esm/utilities/deepMerge.js.map +1 -0
  86. package/dist/esm/utilities/getScalarDataType.d.ts +2 -0
  87. package/dist/esm/utilities/getScalarDataType.js +20 -0
  88. package/dist/esm/utilities/getScalarDataType.js.map +1 -0
  89. package/dist/esm/utilities/getScalingParameters.d.ts +2 -0
  90. package/dist/esm/utilities/getScalingParameters.js +21 -0
  91. package/dist/esm/utilities/getScalingParameters.js.map +1 -0
  92. package/dist/esm/utilities/getVolumeSliceRangeInfo.d.ts +7 -0
  93. package/dist/esm/utilities/getVolumeSliceRangeInfo.js +24 -0
  94. package/dist/esm/utilities/getVolumeSliceRangeInfo.js.map +1 -0
  95. package/dist/esm/utilities/getVolumeViewportScrollInfo.d.ts +6 -0
  96. package/dist/esm/utilities/getVolumeViewportScrollInfo.js +12 -0
  97. package/dist/esm/utilities/getVolumeViewportScrollInfo.js.map +1 -0
  98. package/dist/esm/utilities/index.d.ts +8 -1
  99. package/dist/esm/utilities/index.js +8 -1
  100. package/dist/esm/utilities/index.js.map +1 -1
  101. package/dist/esm/utilities/loadImageToCanvas.js +0 -5
  102. package/dist/esm/utilities/loadImageToCanvas.js.map +1 -1
  103. package/dist/umd/index.js +1 -1
  104. package/dist/umd/index.js.map +1 -1
  105. package/package.json +2 -2
@@ -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.applyPreset = exports.hasNaNValues = exports.getViewportImageCornersInWorld = exports.spatialRegistrationMetadataProvider = exports.calculateViewportsSpatialRegistration = exports.getClosestStackImageIndexForPoint = exports.getViewportsWithImageURI = exports.actorIsA = exports.isImageActor = exports.getImageSliceDataForVolumeViewport = exports.snapFocalPointToSlice = exports.getSliceRange = exports.imageToWorldCoords = exports.worldToImageCoords = exports.renderToCanvas = exports.loadImageToCanvas = exports.transformWorldToIndex = exports.getViewportsWithVolumeId = exports.getVolumeViewportsContainingSameVolumes = exports.indexWithinDimensions = exports.getVolumeActorCorners = exports.getTargetVolumeAndSpacingInNormalDir = exports.getSpacingInNormalDirection = exports.getClosestImageId = exports.windowLevel = 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.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.renderToCanvas = 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"));
@@ -57,6 +57,10 @@ const createUint8SharedArray_1 = __importDefault(require("./createUint8SharedArr
57
57
  exports.createUint8SharedArray = createUint8SharedArray_1.default;
58
58
  const createFloat32SharedArray_1 = __importDefault(require("./createFloat32SharedArray"));
59
59
  exports.createFloat32SharedArray = createFloat32SharedArray_1.default;
60
+ const createUInt16SharedArray_1 = __importDefault(require("./createUInt16SharedArray"));
61
+ exports.createUint16SharedArray = createUInt16SharedArray_1.default;
62
+ const createInt16SharedArray_1 = __importDefault(require("./createInt16SharedArray"));
63
+ exports.createInt16SharedArray = createInt16SharedArray_1.default;
60
64
  const getClosestImageId_1 = __importDefault(require("./getClosestImageId"));
61
65
  exports.getClosestImageId = getClosestImageId_1.default;
62
66
  const getSpacingInNormalDirection_1 = __importDefault(require("./getSpacingInNormalDirection"));
@@ -81,6 +85,10 @@ const worldToImageCoords_1 = __importDefault(require("./worldToImageCoords"));
81
85
  exports.worldToImageCoords = worldToImageCoords_1.default;
82
86
  const imageToWorldCoords_1 = __importDefault(require("./imageToWorldCoords"));
83
87
  exports.imageToWorldCoords = imageToWorldCoords_1.default;
88
+ const getVolumeSliceRangeInfo_1 = __importDefault(require("./getVolumeSliceRangeInfo"));
89
+ exports.getVolumeSliceRangeInfo = getVolumeSliceRangeInfo_1.default;
90
+ const getVolumeViewportScrollInfo_1 = __importDefault(require("./getVolumeViewportScrollInfo"));
91
+ exports.getVolumeViewportScrollInfo = getVolumeViewportScrollInfo_1.default;
84
92
  const getSliceRange_1 = __importDefault(require("./getSliceRange"));
85
93
  exports.getSliceRange = getSliceRange_1.default;
86
94
  const snapFocalPointToSlice_1 = __importDefault(require("./snapFocalPointToSlice"));
@@ -104,6 +112,12 @@ const hasNaNValues_1 = __importDefault(require("./hasNaNValues"));
104
112
  exports.hasNaNValues = hasNaNValues_1.default;
105
113
  const applyPreset_1 = __importDefault(require("./applyPreset"));
106
114
  exports.applyPreset = applyPreset_1.default;
115
+ const deepMerge_1 = __importDefault(require("./deepMerge"));
116
+ exports.deepMerge = deepMerge_1.default;
117
+ const getScalingParameters_1 = __importDefault(require("./getScalingParameters"));
118
+ exports.getScalingParameters = getScalingParameters_1.default;
119
+ const getScalarDataType_1 = __importDefault(require("./getScalarDataType"));
120
+ exports.getScalarDataType = getScalarDataType_1.default;
107
121
  const planar = __importStar(require("./planar"));
108
122
  exports.planar = planar;
109
123
  const windowLevel = __importStar(require("./windowLevel"));
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utilities/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4FAAkD;AA4CrC,oCA5CN,mCAAO,CA4CwB;AA3CtC,0GAAkF;AA4ChF,2CA5CK,0CAAgC,CA4CL;AA3ClC,kHAA0F;AA4CxF,+CA5CK,8CAAoC,CA4CL;AA3CtC,wGAAgF;AA4C9E,0CA5CK,yCAA+B,CA4CL;AA3CjC,0FAAkE;AA4ChE,mCA5CK,kCAAwB,CA4CL;AA3C1B,kEAA0C;AA4CxC,uBA5CK,sBAAY,CA4CL;AA3Cd,sDAA8B;AA8C5B,iBA9CK,gBAAM,CA8CL;AA7CR,4DAAoC;AA+ClC,oBA/CK,mBAAS,CA+CL;AA9CX,kEAA0C;AA+CxC,uBA/CK,sBAAY,CA+CL;AA9Cd,kEAA0C;AAyCxC,uBAzCK,sBAAY,CAyCL;AAxCd,sHAA8F;AAyC5F,iDAzCK,gDAAsC,CAyCL;AAxCxC,wDAAgC;AA6C9B,kBA7CK,iBAAO,CA6CL;AA5CT,8DAAsC;AA6CpC,qBA7CK,oBAAU,CA6CL;AA5CZ,sFAA8D;AA8C5D,iCA9CK,gCAAsB,CA8CL;AA7CxB,0FAAkE;AA4ChE,mCA5CK,kCAAwB,CA4CL;AA3C1B,4EAAoD;AA8ClD,4BA9CK,2BAAiB,CA8CL;AA7CnB,gGAAwE;AA8CtE,sCA9CK,qCAA2B,CA8CL;AA7C7B,kHAA0F;AA8CxF,+CA9CK,8CAAoC,CA8CL;AA7CtC,oFAA4D;AA8C1D,gCA9CK,+BAAqB,CA8CL;AA7CvB,oFAA4D;AA8C1D,gCA9CK,+BAAqB,CA8CL;AA7CvB,wHAAgG;AA8C9F,kDA9CK,iDAAuC,CA8CL;AA7CzC,0FAAkE;AA8ChE,mCA9CK,kCAAwB,CA8CL;AA7C1B,oFAA4D;AA8C1D,gCA9CK,+BAAqB,CA8CL;AA7CvB,4EAAoD;AA8ClD,4BA9CK,2BAAiB,CA8CL;AA7CnB,sEAA8C;AA8C5C,yBA9CK,wBAAc,CA8CL;AA7ChB,8EAAsD;AA8CpD,6BA9CK,4BAAkB,CA8CL;AA7CpB,8EAAsD;AA8CpD,6BA9CK,4BAAkB,CA8CL;AA7CpB,oEAA4C;AA8C1C,wBA9CK,uBAAa,CA8CL;AA7Cf,oFAA4D;AA8C1D,gCA9CK,+BAAqB,CA8CL;AA7CvB,8GAAsF;AA8CpF,6CA9CK,4CAAkC,CA8CL;AA7CpC,6CAAsD;AA8CpD,6FA9CO,yBAAY,OA8CP;AACZ,yFA/CqB,qBAAQ,OA+CrB;AA9CV,0FAAkE;AA+ChE,mCA/CK,kCAAwB,CA+CL;AA9C1B,4GAAoF;AA+ClF,4CA/CK,2CAAiC,CA+CL;AA9CnC,oHAA4F;AA+C1F,gDA/CK,+CAAqC,CA+CL;AA9CvC,gHAAwF;AA+CtF,8CA/CK,6CAAmC,CA+CL;AA9CrC,sGAA8E;AA+C5E,yCA/CK,wCAA8B,CA+CL;AA9ChC,kEAA0C;AA+CxC,uBA/CK,sBAAY,CA+CL;AA9Cd,gEAAwC;AA+CtC,sBA/CK,qBAAW,CA+CL;AA5Cb,iDAAmC;AAajC,wBAAM;AAZR,2DAA6C;AAmB3C,kCAAW"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utilities/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4FAAkD;AAmDrC,oCAnDN,mCAAO,CAmDwB;AAlDtC,0GAAkF;AAmDhF,2CAnDK,0CAAgC,CAmDL;AAlDlC,kHAA0F;AAmDxF,+CAnDK,8CAAoC,CAmDL;AAlDtC,wGAAgF;AAmD9E,0CAnDK,yCAA+B,CAmDL;AAlDjC,0FAAkE;AAmDhE,mCAnDK,kCAAwB,CAmDL;AAlD1B,kEAA0C;AAmDxC,uBAnDK,sBAAY,CAmDL;AAlDd,sDAA8B;AAqD5B,iBArDK,gBAAM,CAqDL;AApDR,4DAAoC;AAsDlC,oBAtDK,mBAAS,CAsDL;AArDX,kEAA0C;AAsDxC,uBAtDK,sBAAY,CAsDL;AArDd,kEAA0C;AAgDxC,uBAhDK,sBAAY,CAgDL;AA/Cd,sHAA8F;AAgD5F,iDAhDK,gDAAsC,CAgDL;AA/CxC,wDAAgC;AAoD9B,kBApDK,iBAAO,CAoDL;AAnDT,8DAAsC;AAoDpC,qBApDK,oBAAU,CAoDL;AAnDZ,sFAA8D;AAqD5D,iCArDK,gCAAsB,CAqDL;AApDxB,0FAAkE;AAmDhE,mCAnDK,kCAAwB,CAmDL;AAlD1B,wFAAgE;AAoD9D,kCApDK,iCAAuB,CAoDL;AAnDzB,sFAA8D;AAoD5D,iCApDK,gCAAsB,CAoDL;AAnDxB,4EAAoD;AAqDlD,4BArDK,2BAAiB,CAqDL;AApDnB,gGAAwE;AAqDtE,sCArDK,qCAA2B,CAqDL;AApD7B,kHAA0F;AAqDxF,+CArDK,8CAAoC,CAqDL;AApDtC,oFAA4D;AAqD1D,gCArDK,+BAAqB,CAqDL;AApDvB,oFAA4D;AAqD1D,gCArDK,+BAAqB,CAqDL;AApDvB,wHAAgG;AAqD9F,kDArDK,iDAAuC,CAqDL;AApDzC,0FAAkE;AAqDhE,mCArDK,kCAAwB,CAqDL;AApD1B,oFAA4D;AAqD1D,gCArDK,+BAAqB,CAqDL;AApDvB,4EAAoD;AAqDlD,4BArDK,2BAAiB,CAqDL;AApDnB,sEAA8C;AAqD5C,yBArDK,wBAAc,CAqDL;AApDhB,8EAAsD;AAqDpD,6BArDK,4BAAkB,CAqDL;AApDpB,8EAAsD;AAqDpD,6BArDK,4BAAkB,CAqDL;AApDpB,wFAAgE;AAqD9D,kCArDK,iCAAuB,CAqDL;AApDzB,gGAAwE;AAqDtE,sCArDK,qCAA2B,CAqDL;AApD7B,oEAA4C;AAqD1C,wBArDK,uBAAa,CAqDL;AApDf,oFAA4D;AAqD1D,gCArDK,+BAAqB,CAqDL;AApDvB,8GAAsF;AAqDpF,6CArDK,4CAAkC,CAqDL;AApDpC,6CAAsD;AAqDpD,6FArDO,yBAAY,OAqDP;AACZ,yFAtDqB,qBAAQ,OAsDrB;AArDV,0FAAkE;AAsDhE,mCAtDK,kCAAwB,CAsDL;AArD1B,4GAAoF;AAsDlF,4CAtDK,2CAAiC,CAsDL;AArDnC,oHAA4F;AAsD1F,gDAtDK,+CAAqC,CAsDL;AArDvC,gHAAwF;AAsDtF,8CAtDK,6CAAmC,CAsDL;AArDrC,sGAA8E;AAsD5E,yCAtDK,wCAA8B,CAsDL;AArDhC,kEAA0C;AAsDxC,uBAtDK,sBAAY,CAsDL;AArDd,gEAAwC;AAsDtC,sBAtDK,qBAAW,CAsDL;AArDb,4DAAoC;AAsDlC,oBAtDK,mBAAS,CAsDL;AArDX,kFAA0D;AAsDxD,+BAtDK,8BAAoB,CAsDL;AArDtB,4EAAoD;AAsDlD,4BAtDK,2BAAiB,CAsDL;AAnDnB,iDAAmC;AAajC,wBAAM;AAZR,2DAA6C;AAqB3C,kCAAW"}
@@ -52,11 +52,6 @@ function loadImageToCanvas(canvas, imageId, requestType = enums_1.RequestType.Th
52
52
  });
53
53
  }
54
54
  const options = {
55
- targetBuffer: {
56
- type: 'Float32Array',
57
- offset: null,
58
- length: null,
59
- },
60
55
  preScale: {
61
56
  enabled: true,
62
57
  },
@@ -1 +1 @@
1
- {"version":3,"file":"loadImageToCanvas.js","sourceRoot":"","sources":["../../../src/utilities/loadImageToCanvas.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,wDAA2D;AAC3D,sDAAwC;AACxC,oCAAuC;AACvC,+FAAuE;AACvE,sEAA8C;AAoB9C,SAAwB,iBAAiB,CACvC,MAAyB,EACzB,OAAe,EACf,WAAW,GAAG,mBAAW,CAAC,SAAS,EACnC,QAAQ,GAAG,CAAC,CAAC;IAEb,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,SAAS,eAAe,CAAC,KAAa,EAAE,OAAe;;YACrD,MAAM,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,qBAAqB,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;YAExE,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,KAAI,MAAA,KAAK,CAAC,QAAQ,0CAAE,MAAM,CAAA,CAAC;YAChE,IAAA,wBAAc,EAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;YACxC,OAAO,CAAC,OAAO,CAAC,CAAC;QACnB,CAAC;QAED,SAAS,aAAa,CAAC,KAAY,EAAE,OAAe;YAClD,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAC9B,MAAM,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC;QAED,SAAS,WAAW,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO;YACjD,OAAO,IAAA,+BAAiB,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAC7C,CAAC,KAAK,EAAE,EAAE;gBACR,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YAC7C,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;gBACR,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YAC3C,CAAC,CACF,CAAC;QACJ,CAAC;QAID,MAAM,OAAO,GAAG;YACd,YAAY,EAAE;gBACZ,IAAI,EAAE,cAAc;gBACpB,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE,IAAI;aACb;YACD,QAAQ,EAAE;gBACR,OAAO,EAAE,IAAI;aACd;YACD,WAAW;SACZ,CAAC;QAEF,8BAAoB,CAAC,UAAU,CAC7B,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,EAC9C,WAAW,EACX,EAAE,OAAO,EAAE,EACX,QAAQ,CACT,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AApDD,oCAoDC"}
1
+ {"version":3,"file":"loadImageToCanvas.js","sourceRoot":"","sources":["../../../src/utilities/loadImageToCanvas.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,wDAA2D;AAC3D,sDAAwC;AACxC,oCAAuC;AACvC,+FAAuE;AACvE,sEAA8C;AAoB9C,SAAwB,iBAAiB,CACvC,MAAyB,EACzB,OAAe,EACf,WAAW,GAAG,mBAAW,CAAC,SAAS,EACnC,QAAQ,GAAG,CAAC,CAAC;IAEb,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,SAAS,eAAe,CAAC,KAAa,EAAE,OAAe;;YACrD,MAAM,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,qBAAqB,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;YAExE,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,KAAI,MAAA,KAAK,CAAC,QAAQ,0CAAE,MAAM,CAAA,CAAC;YAChE,IAAA,wBAAc,EAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;YACxC,OAAO,CAAC,OAAO,CAAC,CAAC;QACnB,CAAC;QAED,SAAS,aAAa,CAAC,KAAY,EAAE,OAAe;YAClD,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAC9B,MAAM,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC;QAED,SAAS,WAAW,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO;YACjD,OAAO,IAAA,+BAAiB,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAC7C,CAAC,KAAK,EAAE,EAAE;gBACR,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YAC7C,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;gBACR,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YAC3C,CAAC,CACF,CAAC;QACJ,CAAC;QAID,MAAM,OAAO,GAAG;YACd,QAAQ,EAAE;gBACR,OAAO,EAAE,IAAI;aACd;YACD,WAAW;SACZ,CAAC;QAEF,8BAAoB,CAAC,UAAU,CAC7B,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,EAC9C,WAAW,EACX,EAAE,OAAO,EAAE,EACX,QAAQ,CACT,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AA/CD,oCA+CC"}
@@ -5,6 +5,7 @@ import vtkCamera from '@kitware/vtk.js/Rendering/Core/Camera';
5
5
  import { vec2, vec3, mat4 } from 'gl-matrix';
6
6
  import vtkImageMapper from '@kitware/vtk.js/Rendering/Core/ImageMapper';
7
7
  import vtkImageSlice from '@kitware/vtk.js/Rendering/Core/ImageSlice';
8
+ import { getConfiguration } from '../init';
8
9
  import * as metaData from '../metaData';
9
10
  import Viewport from './Viewport';
10
11
  import eventTarget from '../eventTarget';
@@ -885,14 +886,21 @@ class StackViewport extends Viewport {
885
886
  viewUp: [viewUp[0], viewUp[1], viewUp[2]],
886
887
  };
887
888
  }
888
- _createVTKImageData({ origin, direction, dimensions, spacing, bitsAllocated, numComps, numVoxels, }) {
889
+ _createVTKImageData({ origin, direction, dimensions, spacing, bitsAllocated, numComps, numVoxels, TypedArray, }) {
889
890
  let pixelArray;
891
+ const { useNorm16Texture, preferSizeOverAccuracy } = getConfiguration().rendering;
892
+ const use16BitDataType = useNorm16Texture || preferSizeOverAccuracy;
890
893
  switch (bitsAllocated) {
891
894
  case 8:
892
895
  pixelArray = new Uint8Array(numVoxels * numComps);
893
896
  break;
894
897
  case 16:
895
- pixelArray = new Float32Array(numVoxels * numComps);
898
+ if (use16BitDataType) {
899
+ pixelArray = new TypedArray(numVoxels * numComps);
900
+ }
901
+ else {
902
+ pixelArray = new Float32Array(numVoxels * numComps);
903
+ }
896
904
  break;
897
905
  case 24:
898
906
  pixelArray = new Uint8Array(numVoxels * 3 * numComps);
@@ -947,6 +955,7 @@ class StackViewport extends Viewport {
947
955
  const direction = imageData.getDirection();
948
956
  const rowCosines = direction.slice(0, 3);
949
957
  const columnCosines = direction.slice(3, 6);
958
+ const dataType = imageData.getPointData().getScalars().getDataType();
950
959
  return ((xSpacing === image.rowPixelSpacing ||
951
960
  (image.rowPixelSpacing === null && xSpacing === 1.0)) &&
952
961
  (ySpacing === image.columnPixelSpacing ||
@@ -954,7 +963,8 @@ class StackViewport extends Viewport {
954
963
  xVoxels === image.columns &&
955
964
  yVoxels === image.rows &&
956
965
  isEqual(imagePlaneModule.rowCosines, rowCosines) &&
957
- isEqual(imagePlaneModule.columnCosines, columnCosines));
966
+ isEqual(imagePlaneModule.columnCosines, columnCosines) &&
967
+ dataType === image.getPixelData().constructor.name);
958
968
  }
959
969
  _updateVTKImageDataFromCornerstoneImage(image) {
960
970
  const imagePlaneModule = this._getImagePlaneModule(image.imageId);
@@ -1043,16 +1053,10 @@ class StackViewport extends Viewport {
1043
1053
  errorCallback.call(this, error, imageIdIndex, imageId);
1044
1054
  });
1045
1055
  }
1046
- const type = 'Float32Array';
1047
1056
  const priority = -5;
1048
1057
  const requestType = RequestType.Interaction;
1049
1058
  const additionalDetails = { imageId };
1050
1059
  const options = {
1051
- targetBuffer: {
1052
- type,
1053
- offset: null,
1054
- length: null,
1055
- },
1056
1060
  preScale: {
1057
1061
  enabled: true,
1058
1062
  },
@@ -1098,16 +1102,10 @@ class StackViewport extends Viewport {
1098
1102
  errorCallback.call(this, error, imageIdIndex, imageId);
1099
1103
  });
1100
1104
  }
1101
- const type = 'Float32Array';
1102
1105
  const priority = -5;
1103
1106
  const requestType = RequestType.Interaction;
1104
1107
  const additionalDetails = { imageId };
1105
1108
  const options = {
1106
- targetBuffer: {
1107
- type,
1108
- offset: null,
1109
- length: null,
1110
- },
1111
1109
  preScale: {
1112
1110
  enabled: true,
1113
1111
  },
@@ -1153,6 +1151,7 @@ class StackViewport extends Viewport {
1153
1151
  bitsAllocated,
1154
1152
  numComps,
1155
1153
  numVoxels,
1154
+ TypedArray: image.getPixelData().constructor,
1156
1155
  });
1157
1156
  this._updateVTKImageDataFromCornerstoneImage(image);
1158
1157
  const actor = this.createActorMapper(this._imageData);
@@ -1 +1 @@
1
- {"version":3,"file":"StackViewport.js","sourceRoot":"","sources":["../../../src/RenderingEngine/StackViewport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StackViewport.js","sourceRoot":"","sources":["../../../src/RenderingEngine/StackViewport.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,10 @@
1
1
  import { vtkSharedVolumeMapper } from '../vtkClasses';
2
+ import { getConfiguration } from '../../init';
2
3
  export default function createVolumeMapper(imageData, vtkOpenGLTexture) {
3
4
  const volumeMapper = vtkSharedVolumeMapper.newInstance();
5
+ if (getConfiguration().rendering.preferSizeOverAccuracy) {
6
+ volumeMapper.setPreferSizeOverAccuracy(true);
7
+ }
4
8
  volumeMapper.setInputData(imageData);
5
9
  const spacing = imageData.getSpacing();
6
10
  const sampleDistance = (spacing[0] + spacing[1] + spacing[2]) / 6;
@@ -1 +1 @@
1
- {"version":3,"file":"createVolumeMapper.js","sourceRoot":"","sources":["../../../../src/RenderingEngine/helpers/createVolumeMapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAYtD,MAAM,CAAC,OAAO,UAAU,kBAAkB,CACxC,SAAc,EACd,gBAAqB;IAErB,MAAM,YAAY,GAAG,qBAAqB,CAAC,WAAW,EAAE,CAAC;IAEzD,YAAY,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IAErC,MAAM,OAAO,GAAG,SAAS,CAAC,UAAU,EAAE,CAAC;IAGvC,MAAM,cAAc,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAGlE,YAAY,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAE3C,YAAY,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;IAE/C,YAAY,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;IAEhD,OAAO,YAAY,CAAC;AACtB,CAAC"}
1
+ {"version":3,"file":"createVolumeMapper.js","sourceRoot":"","sources":["../../../../src/RenderingEngine/helpers/createVolumeMapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAW9C,MAAM,CAAC,OAAO,UAAU,kBAAkB,CACxC,SAAc,EACd,gBAAqB;IAErB,MAAM,YAAY,GAAG,qBAAqB,CAAC,WAAW,EAAE,CAAC;IAEzD,IAAI,gBAAgB,EAAE,CAAC,SAAS,CAAC,sBAAsB,EAAE;QACvD,YAAY,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;KAC9C;IAED,YAAY,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IAErC,MAAM,OAAO,GAAG,SAAS,CAAC,UAAU,EAAE,CAAC;IAGvC,MAAM,cAAc,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAIlE,YAAY,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAC3C,YAAY,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;IAC/C,YAAY,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;IAEhD,OAAO,YAAY,CAAC;AACtB,CAAC"}
@@ -64,16 +64,6 @@ async function getVOIFromMinMax(imageVolume) {
64
64
  const bytesPerImage = scalarData.byteLength / numImages;
65
65
  const voxelsPerImage = scalarData.length / numImages;
66
66
  const bytePerPixel = scalarData.BYTES_PER_ELEMENT;
67
- let type;
68
- if (scalarData instanceof Uint8Array) {
69
- type = 'Uint8Array';
70
- }
71
- else if (scalarData instanceof Float32Array) {
72
- type = 'Float32Array';
73
- }
74
- else {
75
- throw new Error('Unsupported array type');
76
- }
77
67
  const scalingParameters = {
78
68
  rescaleSlope: modalityLutModule.rescaleSlope,
79
69
  rescaleIntercept: modalityLutModule.rescaleIntercept,
@@ -91,12 +81,6 @@ async function getVOIFromMinMax(imageVolume) {
91
81
  }
92
82
  const byteOffset = imageIdIndex * bytesPerImage;
93
83
  const options = {
94
- targetBuffer: {
95
- arrayBuffer: scalarData.buffer,
96
- offset: byteOffset,
97
- length: voxelsPerImage,
98
- type,
99
- },
100
84
  priority: PRIORITY,
101
85
  requestType: REQUEST_TYPE,
102
86
  preScale: {
@@ -1 +1 @@
1
- {"version":3,"file":"setDefaultVolumeVOI.js","sourceRoot":"","sources":["../../../../src/RenderingEngine/helpers/setDefaultVolumeVOI.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setDefaultVolumeVOI.js","sourceRoot":"","sources":["../../../../src/RenderingEngine/helpers/setDefaultVolumeVOI.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,QAAQ,GAAG,CAAC,CAAC;AACnB,MAAM,YAAY,GAAG,WAAW,CAAC,QAAQ,CAAC;AAW1C,KAAK,UAAU,mBAAmB,CAChC,WAAwB,EACxB,WAAyB;IAEzB,IAAI,GAAG,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAE1C,IAAI,CAAC,GAAG,EAAE;QACR,GAAG,GAAG,MAAM,gBAAgB,CAAC,WAAW,CAAC,CAAC;KAC3C;IAED,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS,EAAE;QAC9D,MAAM,IAAI,KAAK,CACb,iFAAiF,CAClF,CAAC;KACH;IAED,GAAG,GAAG,qBAAqB,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IAC9C,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC;IAE7B,WAAW;SACR,WAAW,EAAE;SACb,sBAAsB,CAAC,CAAC,CAAC;SACzB,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,qBAAqB,CAAC,WAAyB,EAAE,GAAa;IACrE,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;IACtC,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;IAEvC,MAAM,mBAAmB,GACvB,QAAQ,CAAC,GAAG,CAAC,qBAAqB,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;IAQrD,IAAI,mBAAmB,CAAC,QAAQ,KAAK,IAAI,IAAI,WAAW,CAAC,WAAW,EAAE;QACpE,OAAO;YACL,KAAK,EAAE,CAAC;YACR,KAAK,EAAE,CAAC;SACT,CAAC;KACH;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AASD,SAAS,kBAAkB,CAAC,WAAyB;IACnD,MAAM,EAAE,QAAQ,EAAE,GAAG,WAAW,CAAC;IAEjC,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;IAEvC,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IAE3D,IAAI,YAAY,IAAI,YAAY,CAAC,WAAW,IAAI,YAAY,CAAC,YAAY,EAAE;QACzE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,YAAY,CAAC;QAEnD,MAAM,GAAG,GAAG;YACV,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW;YACtE,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC;gBACvC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;gBACjB,CAAC,CAAC,YAAY;SACjB,CAAC;QAEF,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC,cAAc,CACjD,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,EACvB,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CACzB,CAAC;QAEF,OAAO;YACL,KAAK;YACL,KAAK;SACN,CAAC;KACH;AACH,CAAC;AASD,KAAK,UAAU,gBAAgB,CAAC,WAAyB;IACvD,MAAM,EAAE,QAAQ,EAAE,GAAG,WAAW,CAAC;IACjC,MAAM,UAAU,GAAG,WAAW,CAAC,aAAa,EAAE,CAAC;IAG/C,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IACnD,MAAM,mBAAmB,GACvB,QAAQ,CAAC,GAAG,CAAC,qBAAqB,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;IACrD,MAAM,EAAE,QAAQ,EAAE,GAAG,mBAAmB,CAAC;IACzC,MAAM,iBAAiB,GAAG,QAAQ,CAAC,GAAG,CAAC,mBAAmB,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;IAE3E,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC;IAClC,MAAM,aAAa,GAAG,UAAU,CAAC,UAAU,GAAG,SAAS,CAAC;IACxD,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,GAAG,SAAS,CAAC;IACrD,MAAM,YAAY,GAAG,UAAU,CAAC,iBAAiB,CAAC;IAElD,MAAM,iBAAiB,GAAsB;QAC3C,YAAY,EAAE,iBAAiB,CAAC,YAAY;QAC5C,gBAAgB,EAAE,iBAAiB,CAAC,gBAAgB;QACpD,QAAQ;KACT,CAAC;IAEF,IAAI,sBAAsB,CAAC;IAC3B,IAAI,QAAQ,KAAK,IAAI,EAAE;QACrB,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAEzD,IAAI,SAAS,EAAE;YACb,sBAAsB,GAAG;gBACvB,GAAG,iBAAiB;gBACpB,KAAK,EAAE,SAAS,CAAC,KAAK;aACvB,CAAC;SACH;KACF;IAED,MAAM,UAAU,GAAG,YAAY,GAAG,aAAa,CAAC;IAEhD,MAAM,OAAO,GAAG;QACd,QAAQ,EAAE,QAAQ;QAClB,WAAW,EAAE,YAAY;QACzB,QAAQ,EAAE;YACR,OAAO,EAAE,IAAI;YACb,iBAAiB,EAAE,sBAAsB;SAC1C;KACF,CAAC;IAUF,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAExD,IAAI,eAAe,CAAC;IACpB,IAAI,CAAC,KAAK,EAAE;QACV,eAAe,GAAG,kCAAkC,CAClD,WAAW,EACX,UAAU,EACV,YAAY,EACZ,cAAc,CACf,CAAC;KACH;SAAM;QACL,eAAe,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;KACxC;IAGD,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,SAAS,CAAC,eAAe,CAAC,CAAC;IAEhD,OAAO;QACL,KAAK,EAAE,GAAG;QACV,KAAK,EAAE,GAAG;KACX,CAAC;AACJ,CAAC;AAED,SAAS,kCAAkC,CACzC,WAAW,EACX,UAAU,EACV,YAAY,EACZ,cAAc;IAEd,MAAM,EAAE,UAAU,EAAE,GAAG,WAAW,CAAC;IACnC,MAAM,EAAE,YAAY,EAAE,GAAG,UAAU,CAAC;IACpC,IAAI,UAAU,CAAC,iBAAiB,KAAK,YAAY,EAAE;QACjD,UAAU,IAAI,UAAU,CAAC,iBAAiB,GAAG,YAAY,CAAC;KAC3D;IAED,MAAM,UAAU,GAAG,UAAU,CAAC,WAAW,CAAC;IAC1C,MAAM,eAAe,GAAG,IAAI,UAAU,CAAC,cAAc,CAAC,CAAC;IAEvD,MAAM,gBAAgB,GAAG,IAAI,UAAU,CACrC,YAAY,EACZ,UAAU,EACV,cAAc,CACf,CAAC;IAEF,eAAe,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAEtC,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,eAAe,mBAAmB,CAAC"}
@@ -1,12 +1,14 @@
1
1
  import macro from '@kitware/vtk.js/macros';
2
2
  import vtkOpenGLTexture from '@kitware/vtk.js/Rendering/OpenGL/Texture';
3
+ import HalfFloat from '@kitware/vtk.js/Common/Core/HalfFloat';
4
+ import { getConfiguration } from '../../init';
3
5
  function vtkStreamingOpenGLTexture(publicAPI, model) {
4
6
  model.classHierarchy.push('vtkStreamingOpenGLTexture');
5
7
  const superCreate3DFilterableFromRaw = publicAPI.create3DFilterableFromRaw;
6
- publicAPI.create3DFilterableFromRaw = (width, height, depth, numComps, dataType, data) => {
8
+ publicAPI.create3DFilterableFromRaw = (width, height, depth, numComps, dataType, data, preferSizeOverAccuracy) => {
7
9
  model.inputDataType = dataType;
8
10
  model.inputNumComps = numComps;
9
- superCreate3DFilterableFromRaw(width, height, depth, numComps, dataType, data);
11
+ superCreate3DFilterableFromRaw(width, height, depth, numComps, dataType, data, preferSizeOverAccuracy);
10
12
  };
11
13
  publicAPI.update3DFromRaw = (data) => {
12
14
  const { updatedFrames } = model;
@@ -26,6 +28,10 @@ function vtkStreamingOpenGLTexture(publicAPI, model) {
26
28
  bytesPerVoxel = 2;
27
29
  TypedArrayConstructor = Int16Array;
28
30
  }
31
+ else if (data instanceof Uint16Array) {
32
+ bytesPerVoxel = 2;
33
+ TypedArrayConstructor = Uint16Array;
34
+ }
29
35
  else if (data instanceof Float32Array) {
30
36
  bytesPerVoxel = 4;
31
37
  TypedArrayConstructor = Float32Array;
@@ -55,6 +61,10 @@ function vtkStreamingOpenGLTexture(publicAPI, model) {
55
61
  const MAX_TEXTURE_SIZE = gl.getParameter(gl.MAX_TEXTURE_SIZE);
56
62
  let blockHeight = Math.floor((bytesPerVoxel * MAX_TEXTURE_SIZE) / model.width);
57
63
  blockHeight = Math.min(blockHeight, model.height);
64
+ const { useNorm16Texture, preferSizeOverAccuracy } = getConfiguration().rendering;
65
+ if (useNorm16Texture && !preferSizeOverAccuracy) {
66
+ blockHeight = 1;
67
+ }
58
68
  const multiRowBlockLength = rowLength * blockHeight;
59
69
  const multiRowBlockLengthInBytes = multiRowBlockLength * bytesPerVoxel;
60
70
  const normalBlocks = Math.floor(model.height / blockHeight);
@@ -62,7 +72,17 @@ function vtkStreamingOpenGLTexture(publicAPI, model) {
62
72
  const multiRowLastBlockLength = rowLength * lastBlockHeight;
63
73
  for (let block = 0; block < normalBlocks; block++) {
64
74
  const yOffset = block * blockHeight;
65
- const dataView = new TypedArrayConstructor(buffer, zOffset + block * multiRowBlockLengthInBytes, multiRowBlockLength);
75
+ let dataView = new TypedArrayConstructor(buffer, zOffset + block * multiRowBlockLengthInBytes, multiRowBlockLength);
76
+ if (model.useHalfFloat &&
77
+ (TypedArrayConstructor === Uint16Array ||
78
+ TypedArrayConstructor === Int16Array)) {
79
+ for (let idx = 0; idx < dataView.length; idx++) {
80
+ dataView[idx] = HalfFloat.toHalf(dataView[idx]);
81
+ }
82
+ if (TypedArrayConstructor === Int16Array) {
83
+ dataView = new Uint16Array(dataView);
84
+ }
85
+ }
66
86
  gl.texSubImage3D(model.target, 0, 0, yOffset, frameIndex, model.width, blockHeight, 1, model.format, model.openGLDataType, dataView);
67
87
  }
68
88
  if (lastBlockHeight !== 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"vtkStreamingOpenGLTexture.js","sourceRoot":"","sources":["../../../../src/RenderingEngine/vtkClasses/vtkStreamingOpenGLTexture.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vtkStreamingOpenGLTexture.js","sourceRoot":"","sources":["../../../../src/RenderingEngine/vtkClasses/vtkStreamingOpenGLTexture.js"],"names":[],"mappings":"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"}
@@ -103,6 +103,7 @@ function vtkStreamingOpenGLVolumeMapper(publicAPI, model) {
103
103
  }
104
104
  }
105
105
  if (shouldReset) {
106
+ model.scalarTexture.setOglNorm16Ext(model.context.getExtension('EXT_texture_norm16'));
106
107
  model.scalarTexture.releaseGraphicsResources(model._openGLRenderWindow);
107
108
  model.scalarTexture.resetFormatAndType();
108
109
  model.scalarTexture.create3DFilterableFromRaw(dims[0], dims[1], dims[2], numComp, scalars.getDataType(), scalars.getData(), model.renderable.getPreferSizeOverAccuracy());