@cornerstonejs/core 0.6.1 → 0.6.4

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 (67) hide show
  1. package/dist/cjs/RenderingEngine/StackViewport.d.ts +7 -7
  2. package/dist/cjs/RenderingEngine/StackViewport.js +99 -44
  3. package/dist/cjs/RenderingEngine/StackViewport.js.map +1 -1
  4. package/dist/cjs/RenderingEngine/Viewport.d.ts +1 -0
  5. package/dist/cjs/RenderingEngine/Viewport.js +11 -2
  6. package/dist/cjs/RenderingEngine/Viewport.js.map +1 -1
  7. package/dist/cjs/RenderingEngine/VolumeViewport.d.ts +0 -1
  8. package/dist/cjs/RenderingEngine/VolumeViewport.js +0 -6
  9. package/dist/cjs/RenderingEngine/VolumeViewport.js.map +1 -1
  10. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/getDefaultViewport.js +7 -7
  11. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/getDefaultViewport.js.map +1 -1
  12. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/renderGrayscaleImage.js +1 -1
  13. package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/renderGrayscaleImage.js.map +1 -1
  14. package/dist/cjs/enums/Events.d.ts +1 -0
  15. package/dist/cjs/enums/Events.js +1 -0
  16. package/dist/cjs/enums/Events.js.map +1 -1
  17. package/dist/cjs/requestPool/imageLoadPoolManager.js +1 -1
  18. package/dist/cjs/requestPool/imageLoadPoolManager.js.map +1 -1
  19. package/dist/cjs/requestPool/imageRetrievalPoolManager.js +1 -1
  20. package/dist/cjs/requestPool/imageRetrievalPoolManager.js.map +1 -1
  21. package/dist/cjs/requestPool/requestPoolManager.d.ts +5 -4
  22. package/dist/cjs/requestPool/requestPoolManager.js +42 -51
  23. package/dist/cjs/requestPool/requestPoolManager.js.map +1 -1
  24. package/dist/cjs/types/EventTypes.d.ts +11 -4
  25. package/dist/cjs/types/ICamera.d.ts +2 -0
  26. package/dist/cjs/types/IImage.d.ts +1 -0
  27. package/dist/cjs/types/IStackViewport.d.ts +2 -1
  28. package/dist/cjs/types/StackViewportProperties.d.ts +0 -2
  29. package/dist/cjs/utilities/loadImageToCanvas.js +17 -1
  30. package/dist/cjs/utilities/loadImageToCanvas.js.map +1 -1
  31. package/dist/cjs/utilities/prefetchStack.js +1 -0
  32. package/dist/cjs/utilities/prefetchStack.js.map +1 -1
  33. package/dist/esm/RenderingEngine/StackViewport.d.ts +7 -7
  34. package/dist/esm/RenderingEngine/StackViewport.js +99 -44
  35. package/dist/esm/RenderingEngine/StackViewport.js.map +1 -1
  36. package/dist/esm/RenderingEngine/Viewport.d.ts +1 -0
  37. package/dist/esm/RenderingEngine/Viewport.js +11 -2
  38. package/dist/esm/RenderingEngine/Viewport.js.map +1 -1
  39. package/dist/esm/RenderingEngine/VolumeViewport.d.ts +0 -1
  40. package/dist/esm/RenderingEngine/VolumeViewport.js +0 -6
  41. package/dist/esm/RenderingEngine/VolumeViewport.js.map +1 -1
  42. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/getDefaultViewport.js +7 -7
  43. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/getDefaultViewport.js.map +1 -1
  44. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/renderGrayscaleImage.js +1 -1
  45. package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/renderGrayscaleImage.js.map +1 -1
  46. package/dist/esm/enums/Events.d.ts +1 -0
  47. package/dist/esm/enums/Events.js +1 -0
  48. package/dist/esm/enums/Events.js.map +1 -1
  49. package/dist/esm/requestPool/imageLoadPoolManager.js +1 -1
  50. package/dist/esm/requestPool/imageLoadPoolManager.js.map +1 -1
  51. package/dist/esm/requestPool/imageRetrievalPoolManager.js +1 -1
  52. package/dist/esm/requestPool/imageRetrievalPoolManager.js.map +1 -1
  53. package/dist/esm/requestPool/requestPoolManager.d.ts +5 -4
  54. package/dist/esm/requestPool/requestPoolManager.js +39 -51
  55. package/dist/esm/requestPool/requestPoolManager.js.map +1 -1
  56. package/dist/esm/types/EventTypes.d.ts +11 -4
  57. package/dist/esm/types/ICamera.d.ts +2 -0
  58. package/dist/esm/types/IImage.d.ts +1 -0
  59. package/dist/esm/types/IStackViewport.d.ts +2 -1
  60. package/dist/esm/types/StackViewportProperties.d.ts +0 -2
  61. package/dist/esm/utilities/loadImageToCanvas.js +17 -1
  62. package/dist/esm/utilities/loadImageToCanvas.js.map +1 -1
  63. package/dist/esm/utilities/prefetchStack.js +1 -0
  64. package/dist/esm/utilities/prefetchStack.js.map +1 -1
  65. package/dist/umd/index.js +1 -1
  66. package/dist/umd/index.js.map +1 -1
  67. package/package.json +2 -2
@@ -3,10 +3,11 @@ import * as metaData from '../metaData';
3
3
  import { RequestType } from '../enums';
4
4
  import imageLoadPoolManager from '../requestPool/imageLoadPoolManager';
5
5
  import renderToCanvas from './renderToCanvas';
6
- export default function loadImageToCanvas(canvas, imageId, requestType = RequestType.Interaction, priority = -5) {
6
+ export default function loadImageToCanvas(canvas, imageId, requestType = RequestType.Thumbnail, priority = -5) {
7
7
  return new Promise((resolve, reject) => {
8
8
  function successCallback(image, imageId) {
9
9
  const { modality } = metaData.get('generalSeriesModule', imageId) || {};
10
+ image.isPreScaled = isImagePreScaled(image);
10
11
  renderToCanvas(canvas, image, modality);
11
12
  resolve(imageId);
12
13
  }
@@ -39,8 +40,23 @@ export default function loadImageToCanvas(canvas, imageId, requestType = Request
39
40
  preScale: {
40
41
  scalingParameters,
41
42
  },
43
+ requestType,
42
44
  };
43
45
  imageLoadPoolManager.addRequest(sendRequest.bind(null, imageId, null, options), requestType, { imageId }, priority);
44
46
  });
45
47
  }
48
+ function isImagePreScaled(image) {
49
+ const { imageId } = image;
50
+ const modalityLutModule = metaData.get('modalityLutModule', imageId) || {};
51
+ const suvFactor = metaData.get('scalingModule', imageId) || {};
52
+ const generalSeriesModule = metaData.get('generalSeriesModule', imageId) || {};
53
+ if (modalityLutModule.rescaleSlope !== undefined &&
54
+ modalityLutModule.rescaleIntercept !== undefined) {
55
+ if (generalSeriesModule.modality === 'PT') {
56
+ return suvFactor.suvbw !== undefined;
57
+ }
58
+ return true;
59
+ }
60
+ return false;
61
+ }
46
62
  //# sourceMappingURL=loadImageToCanvas.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"loadImageToCanvas.js","sourceRoot":"","sources":["../../../src/utilities/loadImageToCanvas.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,QAAQ,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,oBAAoB,MAAM,qCAAqC,CAAC;AACvE,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAoB9C,MAAM,CAAC,OAAO,UAAU,iBAAiB,CACvC,MAAyB,EACzB,OAAe,EACf,WAAW,GAAG,WAAW,CAAC,WAAW,EACrC,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;YACxE,cAAc,CAAC,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,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAC7C,CAAC,KAAK,EAAE,EAAE;gBACR,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;YAC3D,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;gBACR,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YAC3C,CAAC,CACF,CAAC;QACJ,CAAC;QAED,MAAM,iBAAiB,GAAG,QAAQ,CAAC,GAAG,CAAC,mBAAmB,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;QAC3E,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,eAAe,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;QAE/D,MAAM,mBAAmB,GACvB,QAAQ,CAAC,GAAG,CAAC,qBAAqB,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;QAErD,MAAM,iBAAiB,GAAG;YACxB,YAAY,EAAE,iBAAiB,CAAC,YAAY;YAC5C,gBAAgB,EAAE,iBAAiB,CAAC,gBAAgB;YACpD,QAAQ,EAAE,mBAAmB,CAAC,QAAQ;YACtC,KAAK,EAAE,SAAS,CAAC,KAAK;SACvB,CAAC;QAEF,MAAM,OAAO,GAAG;YACd,YAAY,EAAE;gBACZ,IAAI,EAAE,cAAc;gBACpB,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE,IAAI;aACb;YACD,QAAQ,EAAE;gBACR,iBAAiB;aAClB;SACF,CAAC;QAEF,oBAAoB,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"}
1
+ {"version":3,"file":"loadImageToCanvas.js","sourceRoot":"","sources":["../../../src/utilities/loadImageToCanvas.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,7 @@ function prefetchStack(imageIds, requestType = RequestType.Prefetch, priority =
17
17
  offset: null,
18
18
  length: null,
19
19
  },
20
+ requestType,
20
21
  };
21
22
  imageIds.forEach((imageId, imageIdIndex) => {
22
23
  const modalityLutModule = metaData.get('modalityLutModule', imageId) || {};
@@ -1 +1 @@
1
- {"version":3,"file":"prefetchStack.js","sourceRoot":"","sources":["../../../src/utilities/prefetchStack.ts"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAW9B,SAAS,aAAa,CACpB,QAAkB,EAClB,WAAW,GAAG,WAAW,CAAC,QAAQ,EAClC,QAAQ,GAAG,CAAC;IAEZ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;QACzB,OAAO;KACR;IAED,SAAS,WAAW,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO;QACjD,OAAO,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAE7C,CAAC,KAAK,EAAE,EAAE,GAAE,CAAC,EACb,CAAC,KAAK,EAAE,EAAE;YACR,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC,CACF,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG;QACd,YAAY,EAAE;YACZ,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,IAAI;SACb;KACF,CAAC;IAEF,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE;QACzC,MAAM,iBAAiB,GAAG,QAAQ,CAAC,GAAG,CAAC,mBAAmB,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;QAC3E,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,eAAe,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;QAE/D,MAAM,mBAAmB,GACvB,QAAQ,CAAC,GAAG,CAAC,qBAAqB,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;QAErD,MAAM,iBAAiB,GAAG;YACxB,YAAY,EAAE,iBAAiB,CAAC,YAAY;YAC5C,gBAAgB,EAAE,iBAAiB,CAAC,gBAAgB;YACpD,QAAQ,EAAE,mBAAmB,CAAC,QAAQ;YACtC,KAAK,EAAE,SAAS,CAAC,KAAK;SACvB,CAAC;QAEF,MAAM,iBAAiB,GAAG,EAAE,OAAO,EAAE,CAAC;QACtC,MAAM,YAAY,GAAG;YACnB,GAAG,OAAO;YACV,QAAQ,EAAE;gBACR,iBAAiB;aAClB;SACF,CAAC;QAEF,oBAAoB,CAAC,UAAU,CAC7B,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,CAAC,EAC3D,WAAW,EACX,iBAAiB,EACjB,QAAQ,CACT,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"prefetchStack.js","sourceRoot":"","sources":["../../../src/utilities/prefetchStack.ts"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAW9B,SAAS,aAAa,CACpB,QAAkB,EAClB,WAAW,GAAG,WAAW,CAAC,QAAQ,EAClC,QAAQ,GAAG,CAAC;IAEZ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;QACzB,OAAO;KACR;IAED,SAAS,WAAW,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO;QACjD,OAAO,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAE7C,CAAC,KAAK,EAAE,EAAE,GAAE,CAAC,EACb,CAAC,KAAK,EAAE,EAAE;YACR,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC,CACF,CAAC;IACJ,CAAC;IAID,MAAM,OAAO,GAAG;QACd,YAAY,EAAE;YACZ,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,IAAI;SACb;QACD,WAAW;KACZ,CAAC;IAEF,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE;QACzC,MAAM,iBAAiB,GAAG,QAAQ,CAAC,GAAG,CAAC,mBAAmB,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;QAC3E,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,eAAe,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;QAE/D,MAAM,mBAAmB,GACvB,QAAQ,CAAC,GAAG,CAAC,qBAAqB,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;QAErD,MAAM,iBAAiB,GAAG;YACxB,YAAY,EAAE,iBAAiB,CAAC,YAAY;YAC5C,gBAAgB,EAAE,iBAAiB,CAAC,gBAAgB;YACpD,QAAQ,EAAE,mBAAmB,CAAC,QAAQ;YACtC,KAAK,EAAE,SAAS,CAAC,KAAK;SACvB,CAAC;QAEF,MAAM,iBAAiB,GAAG,EAAE,OAAO,EAAE,CAAC;QACtC,MAAM,YAAY,GAAG;YACnB,GAAG,OAAO;YACV,QAAQ,EAAE;gBACR,iBAAiB;aAClB;SACF,CAAC;QAEF,oBAAoB,CAAC,UAAU,CAC7B,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,CAAC,EAC3D,WAAW,EACX,iBAAiB,EACjB,QAAQ,CACT,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,eAAe,aAAa,CAAC"}