@cornerstonejs/core 1.32.2 → 1.33.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 (163) hide show
  1. package/dist/cjs/RenderingEngine/StackViewport.d.ts +24 -3
  2. package/dist/cjs/RenderingEngine/StackViewport.js +47 -31
  3. package/dist/cjs/RenderingEngine/StackViewport.js.map +1 -1
  4. package/dist/cjs/RenderingEngine/helpers/addImageSlicesToViewports.d.ts +3 -0
  5. package/dist/cjs/RenderingEngine/helpers/addImageSlicesToViewports.js +33 -0
  6. package/dist/cjs/RenderingEngine/helpers/addImageSlicesToViewports.js.map +1 -0
  7. package/dist/cjs/RenderingEngine/helpers/index.d.ts +2 -1
  8. package/dist/cjs/RenderingEngine/helpers/index.js +3 -1
  9. package/dist/cjs/RenderingEngine/helpers/index.js.map +1 -1
  10. package/dist/cjs/cache/cache.d.ts +2 -1
  11. package/dist/cjs/cache/cache.js +11 -0
  12. package/dist/cjs/cache/cache.js.map +1 -1
  13. package/dist/cjs/index.d.ts +2 -2
  14. package/dist/cjs/index.js +2 -1
  15. package/dist/cjs/index.js.map +1 -1
  16. package/dist/cjs/loaders/imageLoader.d.ts +21 -1
  17. package/dist/cjs/loaders/imageLoader.js +97 -1
  18. package/dist/cjs/loaders/imageLoader.js.map +1 -1
  19. package/dist/cjs/loaders/volumeLoader.d.ts +2 -2
  20. package/dist/cjs/loaders/volumeLoader.js +6 -28
  21. package/dist/cjs/loaders/volumeLoader.js.map +1 -1
  22. package/dist/cjs/types/IImage.d.ts +1 -0
  23. package/dist/cjs/types/IStackInput.d.ts +12 -0
  24. package/dist/cjs/types/IStackInput.js +3 -0
  25. package/dist/cjs/types/IStackInput.js.map +1 -0
  26. package/dist/cjs/types/IStackViewport.d.ts +3 -0
  27. package/dist/cjs/types/PixelDataTypedArray.d.ts +1 -0
  28. package/dist/cjs/types/index.d.ts +3 -2
  29. package/dist/cjs/utilities/genericMetadataProvider.d.ts +6 -0
  30. package/dist/cjs/utilities/genericMetadataProvider.js +23 -0
  31. package/dist/cjs/utilities/genericMetadataProvider.js.map +1 -0
  32. package/dist/cjs/utilities/getBufferConfiguration.d.ts +9 -0
  33. package/dist/cjs/utilities/getBufferConfiguration.js +47 -0
  34. package/dist/cjs/utilities/getBufferConfiguration.js.map +1 -0
  35. package/dist/cjs/utilities/getTargetVolumeAndSpacingInNormalDir.d.ts +1 -1
  36. package/dist/cjs/utilities/getTargetVolumeAndSpacingInNormalDir.js +4 -4
  37. package/dist/cjs/utilities/getTargetVolumeAndSpacingInNormalDir.js.map +1 -1
  38. package/dist/cjs/utilities/getVolumeSliceRangeInfo.d.ts +1 -1
  39. package/dist/cjs/utilities/getVolumeSliceRangeInfo.js +2 -2
  40. package/dist/cjs/utilities/getVolumeSliceRangeInfo.js.map +1 -1
  41. package/dist/cjs/utilities/getVolumeViewportScrollInfo.d.ts +1 -1
  42. package/dist/cjs/utilities/getVolumeViewportScrollInfo.js +2 -2
  43. package/dist/cjs/utilities/getVolumeViewportScrollInfo.js.map +1 -1
  44. package/dist/cjs/utilities/index.d.ts +7 -1
  45. package/dist/cjs/utilities/index.js +13 -1
  46. package/dist/cjs/utilities/index.js.map +1 -1
  47. package/dist/cjs/utilities/isValidVolume.d.ts +2 -0
  48. package/dist/cjs/utilities/isValidVolume.js +35 -0
  49. package/dist/cjs/utilities/isValidVolume.js.map +1 -0
  50. package/dist/cjs/utilities/makeVolumeMetadata.d.ts +2 -0
  51. package/dist/cjs/utilities/makeVolumeMetadata.js +55 -0
  52. package/dist/cjs/utilities/makeVolumeMetadata.js.map +1 -0
  53. package/dist/cjs/utilities/sortImageIdsAndGetSpacing.d.ts +9 -0
  54. package/dist/cjs/utilities/sortImageIdsAndGetSpacing.js +82 -0
  55. package/dist/cjs/utilities/sortImageIdsAndGetSpacing.js.map +1 -0
  56. package/dist/cjs/utilities/updateVTKImageDataWithCornerstoneImage.d.ts +4 -0
  57. package/dist/cjs/utilities/updateVTKImageDataWithCornerstoneImage.js +27 -0
  58. package/dist/cjs/utilities/updateVTKImageDataWithCornerstoneImage.js.map +1 -0
  59. package/dist/esm/RenderingEngine/StackViewport.js +46 -32
  60. package/dist/esm/RenderingEngine/StackViewport.js.map +1 -1
  61. package/dist/esm/RenderingEngine/helpers/addImageSlicesToViewports.js +20 -0
  62. package/dist/esm/RenderingEngine/helpers/addImageSlicesToViewports.js.map +1 -0
  63. package/dist/esm/RenderingEngine/helpers/index.js +2 -1
  64. package/dist/esm/RenderingEngine/helpers/index.js.map +1 -1
  65. package/dist/esm/cache/cache.js +11 -0
  66. package/dist/esm/cache/cache.js.map +1 -1
  67. package/dist/esm/index.js +2 -2
  68. package/dist/esm/index.js.map +1 -1
  69. package/dist/esm/loaders/imageLoader.js +94 -1
  70. package/dist/esm/loaders/imageLoader.js.map +1 -1
  71. package/dist/esm/loaders/volumeLoader.js +7 -29
  72. package/dist/esm/loaders/volumeLoader.js.map +1 -1
  73. package/dist/esm/types/IStackInput.js +2 -0
  74. package/dist/esm/types/IStackInput.js.map +1 -0
  75. package/dist/esm/utilities/genericMetadataProvider.js +20 -0
  76. package/dist/esm/utilities/genericMetadataProvider.js.map +1 -0
  77. package/dist/esm/utilities/getBufferConfiguration.js +44 -0
  78. package/dist/esm/utilities/getBufferConfiguration.js.map +1 -0
  79. package/dist/esm/utilities/getTargetVolumeAndSpacingInNormalDir.js +4 -4
  80. package/dist/esm/utilities/getTargetVolumeAndSpacingInNormalDir.js.map +1 -1
  81. package/dist/esm/utilities/getVolumeSliceRangeInfo.js +2 -2
  82. package/dist/esm/utilities/getVolumeSliceRangeInfo.js.map +1 -1
  83. package/dist/esm/utilities/getVolumeViewportScrollInfo.js +2 -2
  84. package/dist/esm/utilities/getVolumeViewportScrollInfo.js.map +1 -1
  85. package/dist/esm/utilities/index.js +7 -1
  86. package/dist/esm/utilities/index.js.map +1 -1
  87. package/dist/esm/utilities/isValidVolume.js +29 -0
  88. package/dist/esm/utilities/isValidVolume.js.map +1 -0
  89. package/dist/esm/utilities/makeVolumeMetadata.js +52 -0
  90. package/dist/esm/utilities/makeVolumeMetadata.js.map +1 -0
  91. package/dist/esm/utilities/sortImageIdsAndGetSpacing.js +79 -0
  92. package/dist/esm/utilities/sortImageIdsAndGetSpacing.js.map +1 -0
  93. package/dist/esm/utilities/updateVTKImageDataWithCornerstoneImage.js +24 -0
  94. package/dist/esm/utilities/updateVTKImageDataWithCornerstoneImage.js.map +1 -0
  95. package/dist/types/RenderingEngine/StackViewport.d.ts +24 -3
  96. package/dist/types/RenderingEngine/StackViewport.d.ts.map +1 -1
  97. package/dist/types/RenderingEngine/helpers/addImageSlicesToViewports.d.ts +4 -0
  98. package/dist/types/RenderingEngine/helpers/addImageSlicesToViewports.d.ts.map +1 -0
  99. package/dist/types/RenderingEngine/helpers/index.d.ts +2 -1
  100. package/dist/types/RenderingEngine/helpers/index.d.ts.map +1 -1
  101. package/dist/types/cache/cache.d.ts +2 -1
  102. package/dist/types/cache/cache.d.ts.map +1 -1
  103. package/dist/types/index.d.ts +2 -2
  104. package/dist/types/index.d.ts.map +1 -1
  105. package/dist/types/loaders/imageLoader.d.ts +21 -1
  106. package/dist/types/loaders/imageLoader.d.ts.map +1 -1
  107. package/dist/types/loaders/volumeLoader.d.ts +2 -2
  108. package/dist/types/loaders/volumeLoader.d.ts.map +1 -1
  109. package/dist/types/types/IImage.d.ts +1 -0
  110. package/dist/types/types/IImage.d.ts.map +1 -1
  111. package/dist/types/types/IStackInput.d.ts +13 -0
  112. package/dist/types/types/IStackInput.d.ts.map +1 -0
  113. package/dist/types/types/IStackViewport.d.ts +3 -0
  114. package/dist/types/types/IStackViewport.d.ts.map +1 -1
  115. package/dist/types/types/PixelDataTypedArray.d.ts +1 -0
  116. package/dist/types/types/PixelDataTypedArray.d.ts.map +1 -1
  117. package/dist/types/types/index.d.ts +3 -2
  118. package/dist/types/types/index.d.ts.map +1 -1
  119. package/dist/types/utilities/genericMetadataProvider.d.ts +7 -0
  120. package/dist/types/utilities/genericMetadataProvider.d.ts.map +1 -0
  121. package/dist/types/utilities/getBufferConfiguration.d.ts +10 -0
  122. package/dist/types/utilities/getBufferConfiguration.d.ts.map +1 -0
  123. package/dist/types/utilities/getTargetVolumeAndSpacingInNormalDir.d.ts +1 -1
  124. package/dist/types/utilities/getTargetVolumeAndSpacingInNormalDir.d.ts.map +1 -1
  125. package/dist/types/utilities/getVolumeSliceRangeInfo.d.ts +1 -1
  126. package/dist/types/utilities/getVolumeSliceRangeInfo.d.ts.map +1 -1
  127. package/dist/types/utilities/getVolumeViewportScrollInfo.d.ts +1 -1
  128. package/dist/types/utilities/getVolumeViewportScrollInfo.d.ts.map +1 -1
  129. package/dist/types/utilities/index.d.ts +7 -1
  130. package/dist/types/utilities/index.d.ts.map +1 -1
  131. package/dist/types/utilities/isValidVolume.d.ts +3 -0
  132. package/dist/types/utilities/isValidVolume.d.ts.map +1 -0
  133. package/dist/types/utilities/makeVolumeMetadata.d.ts +3 -0
  134. package/dist/types/utilities/makeVolumeMetadata.d.ts.map +1 -0
  135. package/dist/types/utilities/sortImageIdsAndGetSpacing.d.ts +10 -0
  136. package/dist/types/utilities/sortImageIdsAndGetSpacing.d.ts.map +1 -0
  137. package/dist/types/utilities/updateVTKImageDataWithCornerstoneImage.d.ts +5 -0
  138. package/dist/types/utilities/updateVTKImageDataWithCornerstoneImage.d.ts.map +1 -0
  139. package/dist/umd/index.js +1 -1
  140. package/dist/umd/index.js.map +1 -1
  141. package/package.json +2 -2
  142. package/src/RenderingEngine/StackViewport.ts +77 -52
  143. package/src/RenderingEngine/helpers/addImageSlicesToViewports.ts +54 -0
  144. package/src/RenderingEngine/helpers/index.ts +2 -0
  145. package/src/cache/cache.ts +22 -0
  146. package/src/index.ts +2 -0
  147. package/src/loaders/imageLoader.ts +202 -2
  148. package/src/loaders/volumeLoader.ts +18 -27
  149. package/src/types/IImage.ts +2 -0
  150. package/src/types/IStackInput.ts +30 -0
  151. package/src/types/IStackViewport.ts +10 -3
  152. package/src/types/PixelDataTypedArray.ts +8 -0
  153. package/src/types/index.ts +8 -1
  154. package/src/utilities/genericMetadataProvider.ts +43 -0
  155. package/src/utilities/getBufferConfiguration.ts +69 -0
  156. package/src/utilities/getTargetVolumeAndSpacingInNormalDir.ts +9 -5
  157. package/src/utilities/getVolumeSliceRangeInfo.ts +10 -2
  158. package/src/utilities/getVolumeViewportScrollInfo.ts +5 -2
  159. package/src/utilities/index.ts +12 -0
  160. package/src/utilities/isValidVolume.ts +59 -0
  161. package/src/utilities/makeVolumeMetadata.ts +87 -0
  162. package/src/utilities/sortImageIdsAndGetSpacing.ts +174 -0
  163. package/src/utilities/updateVTKImageDataWithCornerstoneImage.ts +38 -0
@@ -7,7 +7,7 @@ import cache from '../cache/cache';
7
7
  import Events from '../enums/Events';
8
8
  import eventTarget from '../eventTarget';
9
9
  import triggerEvent from '../utilities/triggerEvent';
10
- import { uuidv4 } from '../utilities';
10
+ import { getBufferConfiguration, uuidv4 } from '../utilities';
11
11
  import { getConfiguration } from '../init';
12
12
  function addScalarDataToImageData(imageData, scalarData, dataArrayAttrs) {
13
13
  const scalarArray = vtkDataArray.newInstance({
@@ -119,33 +119,11 @@ export async function createAndCacheDerivedVolume(referencedVolumeId, options) {
119
119
  const { metadata, dimensions, spacing, origin, direction } = referencedVolume;
120
120
  const scalarData = referencedVolume.getScalarData();
121
121
  const scalarLength = scalarData.length;
122
- let numBytes, TypedArray;
123
122
  const { useNorm16Texture } = getConfiguration().rendering;
124
- if (targetBuffer) {
125
- if (targetBuffer.type === 'Float32Array') {
126
- numBytes = scalarLength * 4;
127
- TypedArray = Float32Array;
128
- }
129
- else if (targetBuffer.type === 'Uint8Array') {
130
- numBytes = scalarLength;
131
- TypedArray = Uint8Array;
132
- }
133
- else if (useNorm16Texture && targetBuffer.type === 'Uint16Array') {
134
- numBytes = scalarLength * 2;
135
- TypedArray = Uint16Array;
136
- }
137
- else if (useNorm16Texture && targetBuffer.type === 'Int16Array') {
138
- numBytes = scalarLength * 2;
139
- TypedArray = Uint16Array;
140
- }
141
- else {
142
- throw new Error('TargetBuffer should be Float32Array or Uint8Array');
143
- }
144
- }
145
- else {
146
- numBytes = scalarLength * 4;
147
- TypedArray = Float32Array;
148
- }
123
+ const { TypedArrayConstructor, numBytes } = getBufferConfiguration(targetBuffer?.type, scalarLength, {
124
+ use16BitTexture: useNorm16Texture,
125
+ isVolumeBuffer: true,
126
+ });
149
127
  const isCacheable = cache.isCacheable(numBytes);
150
128
  if (!isCacheable) {
151
129
  throw new Error(Events.CACHE_SIZE_EXCEEDED);
@@ -153,10 +131,10 @@ export async function createAndCacheDerivedVolume(referencedVolumeId, options) {
153
131
  let volumeScalarData;
154
132
  if (targetBuffer?.sharedArrayBuffer) {
155
133
  const buffer = new SharedArrayBuffer(numBytes);
156
- volumeScalarData = new TypedArray(buffer);
134
+ volumeScalarData = new TypedArrayConstructor(buffer);
157
135
  }
158
136
  else {
159
- volumeScalarData = new TypedArray(scalarLength);
137
+ volumeScalarData = new TypedArrayConstructor(scalarLength);
160
138
  }
161
139
  const scalarArray = vtkDataArray.newInstance({
162
140
  name: 'Pixels',
@@ -1 +1 @@
1
- {"version":3,"file":"volumeLoader.js","sourceRoot":"","sources":["../../../src/loaders/volumeLoader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"volumeLoader.js","sourceRoot":"","sources":["../../../src/loaders/volumeLoader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IStackInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IStackInput.js","sourceRoot":"","sources":["../../../src/types/IStackInput.ts"],"names":[],"mappings":""}
@@ -0,0 +1,20 @@
1
+ import { metaData } from '..';
2
+ let state = {};
3
+ const metadataProvider = {
4
+ add: (imageId, payload) => {
5
+ const type = payload.type;
6
+ if (!state[imageId]) {
7
+ state[imageId] = {};
8
+ }
9
+ state[imageId][type] = JSON.parse(JSON.stringify(payload.metadata));
10
+ },
11
+ get: (type, imageId) => {
12
+ return state[imageId]?.[type];
13
+ },
14
+ clear: () => {
15
+ state = {};
16
+ },
17
+ };
18
+ metaData.addProvider(metadataProvider.get);
19
+ export default metadataProvider;
20
+ //# sourceMappingURL=genericMetadataProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"genericMetadataProvider.js","sourceRoot":"","sources":["../../../src/utilities/genericMetadataProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAE9B,IAAI,KAAK,GAAwB,EAAE,CAAC;AAIpC,MAAM,gBAAgB,GAAG;IAMvB,GAAG,EAAE,CAAC,OAAe,EAAE,OAAY,EAAQ,EAAE;QAC3C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAE1B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;YACnB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;SACrB;QAGD,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IACtE,CAAC;IAOD,GAAG,EAAE,CAAC,IAAY,EAAE,OAAe,EAAO,EAAE;QAC1C,OAAO,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAKD,KAAK,EAAE,GAAS,EAAE;QAChB,KAAK,GAAG,EAAE,CAAC;IACb,CAAC;CACF,CAAC;AAEF,QAAQ,CAAC,WAAW,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;AAE3C,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1,44 @@
1
+ function getBufferConfiguration(targetBufferType, length, options = {}) {
2
+ const { use16BitTexture = false, isVolumeBuffer = false } = options;
3
+ switch (targetBufferType) {
4
+ case 'Float32Array':
5
+ return { numBytes: length * 4, TypedArrayConstructor: Float32Array };
6
+ case 'Uint8Array':
7
+ return { numBytes: length, TypedArrayConstructor: Uint8Array };
8
+ case 'Uint16Array':
9
+ if (!isVolumeBuffer) {
10
+ return { numBytes: length * 2, TypedArrayConstructor: Uint16Array };
11
+ }
12
+ else {
13
+ if (use16BitTexture) {
14
+ return { numBytes: length * 2, TypedArrayConstructor: Uint16Array };
15
+ }
16
+ else {
17
+ console.warn('Uint16Array is not supported for volume rendering, switching back to Float32Array');
18
+ return { numBytes: length * 4, TypedArrayConstructor: Float32Array };
19
+ }
20
+ }
21
+ case 'Int16Array':
22
+ if (!isVolumeBuffer) {
23
+ return { numBytes: length * 2, TypedArrayConstructor: Int16Array };
24
+ }
25
+ else {
26
+ if (use16BitTexture) {
27
+ return { numBytes: length * 2, TypedArrayConstructor: Int16Array };
28
+ }
29
+ else {
30
+ console.warn('Int16Array is not supported for volume rendering, switching back to Float32Array');
31
+ return { numBytes: length * 4, TypedArrayConstructor: Float32Array };
32
+ }
33
+ }
34
+ default:
35
+ if (targetBufferType) {
36
+ throw new Error('TargetBuffer should be Float32Array, Uint8Array, Uint16Array, or Int16Array');
37
+ }
38
+ else {
39
+ return { numBytes: length * 4, TypedArrayConstructor: Float32Array };
40
+ }
41
+ }
42
+ }
43
+ export { getBufferConfiguration };
44
+ //# sourceMappingURL=getBufferConfiguration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getBufferConfiguration.js","sourceRoot":"","sources":["../../../src/utilities/getBufferConfiguration.ts"],"names":[],"mappings":"AAaA,SAAS,sBAAsB,CAC7B,gBAA2C,EAC3C,MAAc,EACd,UAAmE,EAAE;IAOrE,MAAM,EAAE,eAAe,GAAG,KAAK,EAAE,cAAc,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;IAEpE,QAAQ,gBAAgB,EAAE;QACxB,KAAK,cAAc;YACjB,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,EAAE,qBAAqB,EAAE,YAAY,EAAE,CAAC;QACvE,KAAK,YAAY;YACf,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,qBAAqB,EAAE,UAAU,EAAE,CAAC;QACjE,KAAK,aAAa;YAChB,IAAI,CAAC,cAAc,EAAE;gBACnB,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,EAAE,qBAAqB,EAAE,WAAW,EAAE,CAAC;aACrE;iBAAM;gBACL,IAAI,eAAe,EAAE;oBACnB,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,EAAE,qBAAqB,EAAE,WAAW,EAAE,CAAC;iBACrE;qBAAM;oBACL,OAAO,CAAC,IAAI,CACV,mFAAmF,CACpF,CAAC;oBACF,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,EAAE,qBAAqB,EAAE,YAAY,EAAE,CAAC;iBACtE;aACF;QACH,KAAK,YAAY;YACf,IAAI,CAAC,cAAc,EAAE;gBACnB,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,EAAE,qBAAqB,EAAE,UAAU,EAAE,CAAC;aACpE;iBAAM;gBACL,IAAI,eAAe,EAAE;oBACnB,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,EAAE,qBAAqB,EAAE,UAAU,EAAE,CAAC;iBACpE;qBAAM;oBACL,OAAO,CAAC,IAAI,CACV,kFAAkF,CACnF,CAAC;oBACF,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,EAAE,qBAAqB,EAAE,YAAY,EAAE,CAAC;iBACtE;aACF;QACH;YACE,IAAI,gBAAgB,EAAE;gBACpB,MAAM,IAAI,KAAK,CACb,6EAA6E,CAC9E,CAAC;aACH;iBAAM;gBAEL,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,EAAE,qBAAqB,EAAE,YAAY,EAAE,CAAC;aACtE;KACJ;AACH,CAAC;AAED,OAAO,EAAE,sBAAsB,EAAE,CAAC"}
@@ -5,7 +5,7 @@ import { getVolumeLoaderSchemes } from '../loaders/volumeLoader';
5
5
  const EPSILON_PART = 1 + EPSILON;
6
6
  const startsWith = (str, starts) => starts === str.substring(0, Math.min(str.length, starts.length));
7
7
  const isPrimaryVolume = (volume) => !!getVolumeLoaderSchemes().find((scheme) => startsWith(volume.volumeId, scheme));
8
- export default function getTargetVolumeAndSpacingInNormalDir(viewport, camera, targetVolumeId) {
8
+ export default function getTargetVolumeAndSpacingInNormalDir(viewport, camera, targetVolumeId, useSlabThickness = false) {
9
9
  const { viewPlaneNormal } = camera;
10
10
  const volumeActors = viewport.getActors();
11
11
  if (!volumeActors || !volumeActors.length) {
@@ -25,7 +25,7 @@ export default function getTargetVolumeAndSpacingInNormalDir(viewport, camera, t
25
25
  const imageVolumeIndex = imageVolumes.findIndex((iv) => iv.volumeId === targetVolumeId);
26
26
  const imageVolume = imageVolumes[imageVolumeIndex];
27
27
  const { uid: actorUID } = volumeActors[imageVolumeIndex];
28
- const spacingInNormalDirection = getSpacingInNormal(imageVolume, viewPlaneNormal, viewport);
28
+ const spacingInNormalDirection = getSpacingInNormal(imageVolume, viewPlaneNormal, viewport, useSlabThickness);
29
29
  return { imageVolume, spacingInNormalDirection, actorUID };
30
30
  }
31
31
  if (!imageVolumes.length) {
@@ -56,10 +56,10 @@ export default function getTargetVolumeAndSpacingInNormalDir(viewport, camera, t
56
56
  }
57
57
  return smallest;
58
58
  }
59
- function getSpacingInNormal(imageVolume, viewPlaneNormal, viewport) {
59
+ function getSpacingInNormal(imageVolume, viewPlaneNormal, viewport, useSlabThickness = false) {
60
60
  const { slabThickness } = viewport.getProperties();
61
61
  let spacingInNormalDirection = slabThickness;
62
- if (!slabThickness) {
62
+ if (!slabThickness || useSlabThickness === false) {
63
63
  spacingInNormalDirection = getSpacingInNormalDirection(imageVolume, viewPlaneNormal);
64
64
  }
65
65
  return spacingInNormalDirection;
@@ -1 +1 @@
1
- {"version":3,"file":"getTargetVolumeAndSpacingInNormalDir.js","sourceRoot":"","sources":["../../../src/utilities/getTargetVolumeAndSpacingInNormalDir.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getTargetVolumeAndSpacingInNormalDir.js","sourceRoot":"","sources":["../../../src/utilities/getTargetVolumeAndSpacingInNormalDir.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import getSliceRange from './getSliceRange';
2
2
  import getTargetVolumeAndSpacingInNormalDir from './getTargetVolumeAndSpacingInNormalDir';
3
- function getVolumeSliceRangeInfo(viewport, volumeId) {
3
+ function getVolumeSliceRangeInfo(viewport, volumeId, useSlabThickness = false) {
4
4
  const camera = viewport.getCamera();
5
5
  const { focalPoint, viewPlaneNormal } = camera;
6
- const { spacingInNormalDirection, actorUID } = getTargetVolumeAndSpacingInNormalDir(viewport, camera, volumeId);
6
+ const { spacingInNormalDirection, actorUID } = getTargetVolumeAndSpacingInNormalDir(viewport, camera, volumeId, useSlabThickness);
7
7
  if (!actorUID) {
8
8
  throw new Error(`Could not find image volume with id ${volumeId} in the viewport`);
9
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"getVolumeSliceRangeInfo.js","sourceRoot":"","sources":["../../../src/utilities/getVolumeSliceRangeInfo.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,oCAAoC,MAAM,wCAAwC,CAAC;AAc1F,SAAS,uBAAuB,CAC9B,QAAyB,EACzB,QAAgB;IAMhB,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;IACpC,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,MAAM,CAAC;IAC/C,MAAM,EAAE,wBAAwB,EAAE,QAAQ,EAAE,GAC1C,oCAAoC,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAEnE,IAAI,CAAC,QAAQ,EAAE;QACb,MAAM,IAAI,KAAK,CACb,uCAAuC,QAAQ,kBAAkB,CAClE,CAAC;KACH;IAED,MAAM,UAAU,GAAG,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAE/C,IAAI,CAAC,UAAU,EAAE;QACf,OAAO,CAAC,IAAI,CAAC,qCAAqC,EAAE,QAAQ,CAAC,CAAC;QAC9D,OAAO,IAAI,CAAC;KACb;IAED,MAAM,WAAW,GAAG,UAAU,CAAC,KAAoB,CAAC;IACpD,MAAM,UAAU,GAAG,aAAa,CAAC,WAAW,EAAE,eAAe,EAAE,UAAU,CAAC,CAAC;IAE3E,OAAO;QACL,UAAU;QACV,wBAAwB;QACxB,MAAM;KACP,CAAC;AACJ,CAAC;AAED,eAAe,uBAAuB,CAAC"}
1
+ {"version":3,"file":"getVolumeSliceRangeInfo.js","sourceRoot":"","sources":["../../../src/utilities/getVolumeSliceRangeInfo.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,oCAAoC,MAAM,wCAAwC,CAAC;AAgB1F,SAAS,uBAAuB,CAC9B,QAAyB,EACzB,QAAgB,EAChB,gBAAgB,GAAG,KAAK;IAMxB,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;IACpC,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,MAAM,CAAC;IAC/C,MAAM,EAAE,wBAAwB,EAAE,QAAQ,EAAE,GAC1C,oCAAoC,CAClC,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,gBAAgB,CACjB,CAAC;IAEJ,IAAI,CAAC,QAAQ,EAAE;QACb,MAAM,IAAI,KAAK,CACb,uCAAuC,QAAQ,kBAAkB,CAClE,CAAC;KACH;IAED,MAAM,UAAU,GAAG,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAE/C,IAAI,CAAC,UAAU,EAAE;QACf,OAAO,CAAC,IAAI,CAAC,qCAAqC,EAAE,QAAQ,CAAC,CAAC;QAC9D,OAAO,IAAI,CAAC;KACb;IAED,MAAM,WAAW,GAAG,UAAU,CAAC,KAAoB,CAAC;IACpD,MAAM,UAAU,GAAG,aAAa,CAAC,WAAW,EAAE,eAAe,EAAE,UAAU,CAAC,CAAC;IAE3E,OAAO;QACL,UAAU;QACV,wBAAwB;QACxB,MAAM;KACP,CAAC;AACJ,CAAC;AAED,eAAe,uBAAuB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import getVolumeSliceRangeInfo from './getVolumeSliceRangeInfo';
2
- function getVolumeViewportScrollInfo(viewport, volumeId) {
3
- const { sliceRange, spacingInNormalDirection, camera } = getVolumeSliceRangeInfo(viewport, volumeId);
2
+ function getVolumeViewportScrollInfo(viewport, volumeId, useSlabThickness = false) {
3
+ const { sliceRange, spacingInNormalDirection, camera } = getVolumeSliceRangeInfo(viewport, volumeId, useSlabThickness);
4
4
  const { min, max, current } = sliceRange;
5
5
  const numScrollSteps = Math.round((max - min) / spacingInNormalDirection);
6
6
  const fraction = (current - min) / (max - min);
@@ -1 +1 @@
1
- {"version":3,"file":"getVolumeViewportScrollInfo.js","sourceRoot":"","sources":["../../../src/utilities/getVolumeViewportScrollInfo.ts"],"names":[],"mappings":"AACA,OAAO,uBAAuB,MAAM,2BAA2B,CAAC;AAQhE,SAAS,2BAA2B,CAClC,QAAyB,EACzB,QAAgB;IAEhB,MAAM,EAAE,UAAU,EAAE,wBAAwB,EAAE,MAAM,EAAE,GACpD,uBAAuB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAE9C,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC;IAGzC,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,wBAAwB,CAAC,CAAC;IAG1E,MAAM,QAAQ,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;IAC/C,MAAM,kBAAkB,GAAG,QAAQ,GAAG,cAAc,CAAC;IACrD,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAExD,OAAO;QACL,cAAc;QACd,gBAAgB;QAChB,cAAc,EAAE;YACd,UAAU;YACV,wBAAwB;YACxB,MAAM;SACP;KACF,CAAC;AACJ,CAAC;AAED,eAAe,2BAA2B,CAAC"}
1
+ {"version":3,"file":"getVolumeViewportScrollInfo.js","sourceRoot":"","sources":["../../../src/utilities/getVolumeViewportScrollInfo.ts"],"names":[],"mappings":"AACA,OAAO,uBAAuB,MAAM,2BAA2B,CAAC;AAUhE,SAAS,2BAA2B,CAClC,QAAyB,EACzB,QAAgB,EAChB,gBAAgB,GAAG,KAAK;IAExB,MAAM,EAAE,UAAU,EAAE,wBAAwB,EAAE,MAAM,EAAE,GACpD,uBAAuB,CAAC,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC;IAEhE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC;IAGzC,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,wBAAwB,CAAC,CAAC;IAG1E,MAAM,QAAQ,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;IAC/C,MAAM,kBAAkB,GAAG,QAAQ,GAAG,cAAc,CAAC;IACrD,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAExD,OAAO;QACL,cAAc;QACd,gBAAgB;QAChB,cAAc,EAAE;YACd,UAAU;YACV,wBAAwB;YACxB,MAAM;SACP;KACF,CAAC;AACJ,CAAC;AAED,eAAe,2BAA2B,CAAC"}
@@ -49,13 +49,19 @@ import getScalingParameters from './getScalingParameters';
49
49
  import getScalarDataType from './getScalarDataType';
50
50
  import isPTPrescaledWithSUV from './isPTPrescaledWithSUV';
51
51
  import getImageLegacy from './getImageLegacy';
52
+ import sortImageIdsAndGetSpacing from './sortImageIdsAndGetSpacing';
53
+ import makeVolumeMetadata from './makeVolumeMetadata';
54
+ import genericMetadataProvider from './genericMetadataProvider';
55
+ import { isValidVolume } from './isValidVolume';
56
+ import { updateVTKImageDataWithCornerstoneImage } from './updateVTKImageDataWithCornerstoneImage';
52
57
  import ProgressiveIterator from './ProgressiveIterator';
53
58
  import decimate from './decimate';
54
59
  import imageRetrieveMetadataProvider from './imageRetrieveMetadataProvider';
55
60
  import isVideoTransferSyntax from './isVideoTransferSyntax';
61
+ import { getBufferConfiguration } from './getBufferConfiguration';
56
62
  import * as planar from './planar';
57
63
  import * as windowLevel from './windowLevel';
58
64
  import * as colormap from './colormap';
59
65
  import * as transferFunctionUtils from './transferFunctionUtils';
60
- export { eventListener, csUtils as invertRgbTransferFunction, createSigmoidRGBTransferFunction, getVoiFromSigmoidRGBTransferFunction, createLinearRGBTransferFunction, scaleRgbTransferFunction, triggerEvent, imageIdToURI, calibratedPixelSpacingMetadataProvider, clamp, uuidv4, planar, getMinMax, getRuntimeId, isEqual, isOpposite, createFloat32SharedArray, createUint8SharedArray, createUint16SharedArray, createInt16SharedArray, getViewportModality, windowLevel, getClosestImageId, getSpacingInNormalDirection, getTargetVolumeAndSpacingInNormalDir, getVolumeActorCorners, indexWithinDimensions, getVolumeViewportsContainingSameVolumes, getViewportsWithVolumeId, transformWorldToIndex, loadImageToCanvas, renderToCanvasCPU, renderToCanvasGPU, worldToImageCoords, imageToWorldCoords, getVolumeSliceRangeInfo, getVolumeViewportScrollInfo, getSliceRange, snapFocalPointToSlice, getImageSliceDataForVolumeViewport, isImageActor, isPTPrescaledWithSUV, actorIsA, getViewportsWithImageURI, getClosestStackImageIndexForPoint, calculateViewportsSpatialRegistration, spatialRegistrationMetadataProvider, getViewportImageCornersInWorld, hasNaNValues, applyPreset, deepMerge, getScalingParameters, getScalarDataType, colormap, getImageLegacy, ProgressiveIterator, decimate, imageRetrieveMetadataProvider, transferFunctionUtils, isVideoTransferSyntax, };
66
+ export { eventListener, csUtils as invertRgbTransferFunction, createSigmoidRGBTransferFunction, getVoiFromSigmoidRGBTransferFunction, createLinearRGBTransferFunction, scaleRgbTransferFunction, triggerEvent, imageIdToURI, calibratedPixelSpacingMetadataProvider, clamp, uuidv4, planar, getMinMax, getRuntimeId, isEqual, isOpposite, createFloat32SharedArray, createUint8SharedArray, createUint16SharedArray, createInt16SharedArray, getViewportModality, windowLevel, getClosestImageId, getSpacingInNormalDirection, getTargetVolumeAndSpacingInNormalDir, getVolumeActorCorners, indexWithinDimensions, getVolumeViewportsContainingSameVolumes, getViewportsWithVolumeId, transformWorldToIndex, loadImageToCanvas, renderToCanvasCPU, renderToCanvasGPU, worldToImageCoords, imageToWorldCoords, getVolumeSliceRangeInfo, getVolumeViewportScrollInfo, getSliceRange, snapFocalPointToSlice, getImageSliceDataForVolumeViewport, isImageActor, isPTPrescaledWithSUV, actorIsA, getViewportsWithImageURI, getClosestStackImageIndexForPoint, calculateViewportsSpatialRegistration, spatialRegistrationMetadataProvider, getViewportImageCornersInWorld, hasNaNValues, applyPreset, deepMerge, getScalingParameters, getScalarDataType, colormap, getImageLegacy, ProgressiveIterator, decimate, imageRetrieveMetadataProvider, transferFunctionUtils, updateVTKImageDataWithCornerstoneImage, sortImageIdsAndGetSpacing, makeVolumeMetadata, isValidVolume, genericMetadataProvider, isVideoTransferSyntax, getBufferConfiguration, };
61
67
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utilities/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utilities/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import { metaData } from '..';
2
+ import isEqual from './isEqual';
3
+ function isValidVolume(imageIds) {
4
+ const imageId0 = imageIds[0];
5
+ const { modality, seriesInstanceUID } = metaData.get('generalSeriesModule', imageId0);
6
+ const { imageOrientationPatient, pixelSpacing, frameOfReferenceUID, columns, rows, } = metaData.get('imagePlaneModule', imageId0);
7
+ const baseMetadata = {
8
+ modality,
9
+ imageOrientationPatient,
10
+ pixelSpacing,
11
+ frameOfReferenceUID,
12
+ columns,
13
+ rows,
14
+ seriesInstanceUID,
15
+ };
16
+ const validVolume = imageIds.every((imageId) => {
17
+ const { modality, seriesInstanceUID } = metaData.get('generalSeriesModule', imageId);
18
+ const { imageOrientationPatient, pixelSpacing, columns, rows } = metaData.get('imagePlaneModule', imageId);
19
+ return (seriesInstanceUID === baseMetadata.seriesInstanceUID &&
20
+ modality === baseMetadata.modality &&
21
+ columns === baseMetadata.columns &&
22
+ rows === baseMetadata.rows &&
23
+ isEqual(imageOrientationPatient, baseMetadata.imageOrientationPatient) &&
24
+ isEqual(pixelSpacing, baseMetadata.pixelSpacing));
25
+ });
26
+ return validVolume;
27
+ }
28
+ export { isValidVolume };
29
+ //# sourceMappingURL=isValidVolume.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isValidVolume.js","sourceRoot":"","sources":["../../../src/utilities/isValidVolume.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAC9B,OAAO,OAAO,MAAM,WAAW,CAAC;AAUhC,SAAS,aAAa,CAAC,QAAkB;IACvC,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAE7B,MAAM,EAAE,QAAQ,EAAE,iBAAiB,EAAE,GAAG,QAAQ,CAAC,GAAG,CAClD,qBAAqB,EACrB,QAAQ,CACT,CAAC;IAEF,MAAM,EACJ,uBAAuB,EACvB,YAAY,EACZ,mBAAmB,EACnB,OAAO,EACP,IAAI,GACL,GAAG,QAAQ,CAAC,GAAG,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;IAE/C,MAAM,YAAY,GAAG;QACnB,QAAQ;QACR,uBAAuB;QACvB,YAAY;QACZ,mBAAmB;QACnB,OAAO;QACP,IAAI;QACJ,iBAAiB;KAClB,CAAC;IAEF,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7C,MAAM,EAAE,QAAQ,EAAE,iBAAiB,EAAE,GAAG,QAAQ,CAAC,GAAG,CAClD,qBAAqB,EACrB,OAAO,CACR,CAAC;QACF,MAAM,EAAE,uBAAuB,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,GAC5D,QAAQ,CAAC,GAAG,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;QAE5C,OAAO,CACL,iBAAiB,KAAK,YAAY,CAAC,iBAAiB;YACpD,QAAQ,KAAK,YAAY,CAAC,QAAQ;YAClC,OAAO,KAAK,YAAY,CAAC,OAAO;YAChC,IAAI,KAAK,YAAY,CAAC,IAAI;YAC1B,OAAO,CAAC,uBAAuB,EAAE,YAAY,CAAC,uBAAuB,CAAC;YACtE,OAAO,CAAC,YAAY,EAAE,YAAY,CAAC,YAAY,CAAC,CACjD,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,OAAO,EAAE,aAAa,EAAE,CAAC"}
@@ -0,0 +1,52 @@
1
+ import { metaData } from '../';
2
+ export default function makeVolumeMetadata(imageIds) {
3
+ const imageId0 = imageIds[0];
4
+ const { pixelRepresentation, bitsAllocated, bitsStored, highBit, photometricInterpretation, samplesPerPixel, } = metaData.get('imagePixelModule', imageId0);
5
+ const voiLut = [];
6
+ const voiLutModule = metaData.get('voiLutModule', imageId0);
7
+ let voiLUTFunction;
8
+ if (voiLutModule) {
9
+ const { windowWidth, windowCenter } = voiLutModule;
10
+ voiLUTFunction = voiLutModule?.voiLUTFunction;
11
+ if (Array.isArray(windowWidth)) {
12
+ for (let i = 0; i < windowWidth.length; i++) {
13
+ voiLut.push({
14
+ windowWidth: windowWidth[i],
15
+ windowCenter: windowCenter[i],
16
+ });
17
+ }
18
+ }
19
+ else {
20
+ voiLut.push({
21
+ windowWidth: windowWidth,
22
+ windowCenter: windowCenter,
23
+ });
24
+ }
25
+ }
26
+ else {
27
+ voiLut.push({
28
+ windowWidth: undefined,
29
+ windowCenter: undefined,
30
+ });
31
+ }
32
+ const { modality, seriesInstanceUID } = metaData.get('generalSeriesModule', imageId0);
33
+ const { imageOrientationPatient, pixelSpacing, frameOfReferenceUID, columns, rows, } = metaData.get('imagePlaneModule', imageId0);
34
+ return {
35
+ BitsAllocated: bitsAllocated,
36
+ BitsStored: bitsStored,
37
+ SamplesPerPixel: samplesPerPixel,
38
+ HighBit: highBit,
39
+ PhotometricInterpretation: photometricInterpretation,
40
+ PixelRepresentation: pixelRepresentation,
41
+ Modality: modality,
42
+ ImageOrientationPatient: imageOrientationPatient,
43
+ PixelSpacing: pixelSpacing,
44
+ FrameOfReferenceUID: frameOfReferenceUID,
45
+ Columns: columns,
46
+ Rows: rows,
47
+ voiLut,
48
+ VOILUTFunction: voiLUTFunction,
49
+ SeriesInstanceUID: seriesInstanceUID,
50
+ };
51
+ }
52
+ //# sourceMappingURL=makeVolumeMetadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"makeVolumeMetadata.js","sourceRoot":"","sources":["../../../src/utilities/makeVolumeMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAU/B,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,QAAuB;IAChE,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAE7B,MAAM,EACJ,mBAAmB,EACnB,aAAa,EACb,UAAU,EACV,OAAO,EACP,yBAAyB,EACzB,eAAe,GAChB,GAAG,QAAQ,CAAC,GAAG,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;IAG/C,MAAM,MAAM,GAAG,EAAE,CAAC;IAElB,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;IAG5D,IAAI,cAAc,CAAC;IACnB,IAAI,YAAY,EAAE;QAChB,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,YAAY,CAAC;QACnD,cAAc,GAAG,YAAY,EAAE,cAAc,CAAC;QAE9C,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;YAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC3C,MAAM,CAAC,IAAI,CAAC;oBACV,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;oBAC3B,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC;iBAC9B,CAAC,CAAC;aACJ;SACF;aAAM;YACL,MAAM,CAAC,IAAI,CAAC;gBACV,WAAW,EAAE,WAAW;gBACxB,YAAY,EAAE,YAAY;aAC3B,CAAC,CAAC;SACJ;KACF;SAAM;QACL,MAAM,CAAC,IAAI,CAAC;YACV,WAAW,EAAE,SAAS;YACtB,YAAY,EAAE,SAAS;SACxB,CAAC,CAAC;KACJ;IAED,MAAM,EAAE,QAAQ,EAAE,iBAAiB,EAAE,GAAG,QAAQ,CAAC,GAAG,CAClD,qBAAqB,EACrB,QAAQ,CACT,CAAC;IAEF,MAAM,EACJ,uBAAuB,EACvB,YAAY,EACZ,mBAAmB,EACnB,OAAO,EACP,IAAI,GACL,GAAG,QAAQ,CAAC,GAAG,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;IAI/C,OAAO;QACL,aAAa,EAAE,aAAa;QAC5B,UAAU,EAAE,UAAU;QACtB,eAAe,EAAE,eAAe;QAChC,OAAO,EAAE,OAAO;QAChB,yBAAyB,EAAE,yBAAyB;QACpD,mBAAmB,EAAE,mBAAmB;QACxC,QAAQ,EAAE,QAAQ;QAClB,uBAAuB,EAAE,uBAAuB;QAChD,YAAY,EAAE,YAAY;QAC1B,mBAAmB,EAAE,mBAAmB;QACxC,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,IAAI;QAEV,MAAM;QACN,cAAc,EAAE,cAAc;QAC9B,iBAAiB,EAAE,iBAAiB;KACrC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,79 @@
1
+ import { vec3 } from 'gl-matrix';
2
+ import { metaData, getConfiguration } from '../';
3
+ export default function sortImageIdsAndGetSpacing(imageIds, scanAxisNormal) {
4
+ const { imagePositionPatient: referenceImagePositionPatient, imageOrientationPatient, } = metaData.get('imagePlaneModule', imageIds[0]);
5
+ if (!scanAxisNormal) {
6
+ const rowCosineVec = vec3.fromValues(imageOrientationPatient[0], imageOrientationPatient[1], imageOrientationPatient[2]);
7
+ const colCosineVec = vec3.fromValues(imageOrientationPatient[3], imageOrientationPatient[4], imageOrientationPatient[5]);
8
+ scanAxisNormal = vec3.create();
9
+ vec3.cross(scanAxisNormal, rowCosineVec, colCosineVec);
10
+ }
11
+ const refIppVec = vec3.create();
12
+ const usingWadoUri = imageIds[0].split(':')[0] === 'wadouri';
13
+ vec3.set(refIppVec, referenceImagePositionPatient[0], referenceImagePositionPatient[1], referenceImagePositionPatient[2]);
14
+ let sortedImageIds;
15
+ let zSpacing;
16
+ function getDistance(imageId) {
17
+ const { imagePositionPatient } = metaData.get('imagePlaneModule', imageId);
18
+ const positionVector = vec3.create();
19
+ vec3.sub(positionVector, referenceImagePositionPatient, imagePositionPatient);
20
+ return vec3.dot(positionVector, scanAxisNormal);
21
+ }
22
+ if (!usingWadoUri) {
23
+ const distanceImagePairs = imageIds.map((imageId) => {
24
+ const distance = getDistance(imageId);
25
+ return {
26
+ distance,
27
+ imageId,
28
+ };
29
+ });
30
+ distanceImagePairs.sort((a, b) => b.distance - a.distance);
31
+ sortedImageIds = distanceImagePairs.map((a) => a.imageId);
32
+ const numImages = distanceImagePairs.length;
33
+ zSpacing =
34
+ Math.abs(distanceImagePairs[numImages - 1].distance -
35
+ distanceImagePairs[0].distance) /
36
+ (numImages - 1);
37
+ }
38
+ else {
39
+ const prefetchedImageIds = [
40
+ imageIds[0],
41
+ imageIds[Math.floor(imageIds.length / 2)],
42
+ ];
43
+ sortedImageIds = imageIds;
44
+ const firstImageDistance = getDistance(prefetchedImageIds[0]);
45
+ const middleImageDistance = getDistance(prefetchedImageIds[1]);
46
+ if (firstImageDistance - middleImageDistance < 0) {
47
+ sortedImageIds.reverse();
48
+ }
49
+ const metadataForMiddleImage = metaData.get('imagePlaneModule', prefetchedImageIds[1]);
50
+ if (!metadataForMiddleImage) {
51
+ throw new Error('Incomplete metadata required for volume construction.');
52
+ }
53
+ const positionVector = vec3.create();
54
+ vec3.sub(positionVector, referenceImagePositionPatient, metadataForMiddleImage.imagePositionPatient);
55
+ const distanceBetweenFirstAndMiddleImages = vec3.dot(positionVector, scanAxisNormal);
56
+ zSpacing =
57
+ Math.abs(distanceBetweenFirstAndMiddleImages) /
58
+ Math.floor(imageIds.length / 2);
59
+ }
60
+ const { imagePositionPatient: origin, sliceThickness } = metaData.get('imagePlaneModule', sortedImageIds[0]);
61
+ const { strictZSpacingForVolumeViewport } = getConfiguration().rendering;
62
+ if (zSpacing === 0 && !strictZSpacingForVolumeViewport) {
63
+ if (sliceThickness) {
64
+ console.log('Could not calculate zSpacing. Using sliceThickness');
65
+ zSpacing = sliceThickness;
66
+ }
67
+ else {
68
+ console.log('Could not calculate zSpacing. The VolumeViewport visualization is compromised. Setting zSpacing to 1 to render');
69
+ zSpacing = 1;
70
+ }
71
+ }
72
+ const result = {
73
+ zSpacing,
74
+ origin,
75
+ sortedImageIds,
76
+ };
77
+ return result;
78
+ }
79
+ //# sourceMappingURL=sortImageIdsAndGetSpacing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sortImageIdsAndGetSpacing.js","sourceRoot":"","sources":["../../../src/utilities/sortImageIdsAndGetSpacing.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ function updateVTKImageDataWithCornerstoneImage(sourceImageData, image) {
2
+ const pixelData = image.getPixelData();
3
+ const scalarData = sourceImageData
4
+ .getPointData()
5
+ .getScalars()
6
+ .getData();
7
+ if (image.color && image.rgba) {
8
+ const newPixelData = new Uint8Array(image.columns * image.rows * 3);
9
+ for (let i = 0; i < image.columns * image.rows; i++) {
10
+ newPixelData[i * 3] = pixelData[i * 4];
11
+ newPixelData[i * 3 + 1] = pixelData[i * 4 + 1];
12
+ newPixelData[i * 3 + 2] = pixelData[i * 4 + 2];
13
+ }
14
+ image.rgba = false;
15
+ image.getPixelData = () => newPixelData;
16
+ scalarData.set(newPixelData);
17
+ }
18
+ else {
19
+ scalarData.set(pixelData);
20
+ }
21
+ sourceImageData.modified();
22
+ }
23
+ export { updateVTKImageDataWithCornerstoneImage };
24
+ //# sourceMappingURL=updateVTKImageDataWithCornerstoneImage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateVTKImageDataWithCornerstoneImage.js","sourceRoot":"","sources":["../../../src/utilities/updateVTKImageDataWithCornerstoneImage.ts"],"names":[],"mappings":"AAGA,SAAS,sCAAsC,CAC7C,eAA6B,EAC7B,KAAa;IAEb,MAAM,SAAS,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;IACvC,MAAM,UAAU,GAAG,eAAe;SAC/B,YAAY,EAAE;SACd,UAAU,EAAE;SACZ,OAAO,EAAyB,CAAC;IAKpC,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE;QAC7B,MAAM,YAAY,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;QACpE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;YACnD,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACvC,YAAY,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YAC/C,YAAY,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;SAChD;QAGD,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC;QACnB,KAAK,CAAC,YAAY,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC;QACxC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;KAC9B;SAAM;QACL,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;KAC3B;IAID,eAAe,CAAC,QAAQ,EAAE,CAAC;AAC7B,CAAC;AAED,OAAO,EAAE,sCAAsC,EAAE,CAAC"}
@@ -1,7 +1,20 @@
1
+ import vtkImageData from '@kitware/vtk.js/Common/DataModel/ImageData';
1
2
  import Viewport from './Viewport';
2
- import type { Point2, Point3, ICamera, IImage, IImageData, CPUIImageData, Scaling, StackViewportProperties, ActorEntry, IStackViewport, IImagesLoader, ImageLoadListener } from '../types';
3
+ import type { Point2, Point3, ICamera, IImage, IImageData, CPUIImageData, Scaling, StackViewportProperties, ActorEntry, IStackViewport, Mat3, IStackInput, IImagesLoader, ImageLoadListener } from '../types';
3
4
  import { ViewportInput } from '../types/IViewport';
4
5
  import { RequestType, ViewportStatus } from '../enums';
6
+ import { ImagePixelModule, ImagePlaneModule } from '../types';
7
+ interface ImageDataMetaData {
8
+ bitsAllocated: number;
9
+ numComps: number;
10
+ origin: Point3;
11
+ direction: Mat3;
12
+ dimensions: Point3;
13
+ spacing: Point3;
14
+ numVoxels: number;
15
+ imagePlaneModule: ImagePlaneModule;
16
+ imagePixelModule: ImagePixelModule;
17
+ }
5
18
  declare class StackViewport extends Viewport implements IStackViewport, IImagesLoader {
6
19
  private imageIds;
7
20
  private currentImageIdIndex;
@@ -101,14 +114,21 @@ declare class StackViewport extends Viewport implements IStackViewport, IImagesL
101
114
  private setVOIGPU;
102
115
  private _addScalingToViewport;
103
116
  private _getNumCompsFromPhotometricInterpretation;
104
- private _getImageDataMetadata;
117
+ getImageDataMetadata(image: IImage): ImageDataMetaData;
105
118
  private _getCameraOrientation;
119
+ createVTKImageData({ origin, direction, dimensions, spacing, numComps, pixelArray, }: {
120
+ origin: any;
121
+ direction: any;
122
+ dimensions: any;
123
+ spacing: any;
124
+ numComps: any;
125
+ pixelArray: any;
126
+ }): vtkImageData;
106
127
  private _createVTKImageData;
107
128
  setStack(imageIds: Array<string>, currentImageIdIndex?: number): Promise<string>;
108
129
  private _throwIfDestroyed;
109
130
  private _checkVTKImageDataMatchesCornerstoneImage;
110
131
  private _updateVTKImageDataFromCornerstoneImage;
111
- private _updatePixelData;
112
132
  private _loadAndDisplayImage;
113
133
  private _loadAndDisplayImageCPU;
114
134
  successCallback(imageId: any, image: any): void;
@@ -134,6 +154,7 @@ declare class StackViewport extends Viewport implements IStackViewport, IImagesL
134
154
  renderImageObject: (image: any) => void;
135
155
  private _setCSImage;
136
156
  private _updateToDisplayImageCPU;
157
+ addImages(stackInputs: Array<IStackInput>): Promise<void>;
137
158
  private _updateActorToDisplayImageId;
138
159
  private _getInitialVOIRange;
139
160
  private _getPTPreScaledRange;
@@ -1 +1 @@
1
- {"version":3,"file":"StackViewport.d.ts","sourceRoot":"","sources":["../../../src/RenderingEngine/StackViewport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StackViewport.d.ts","sourceRoot":"","sources":["../../../src/RenderingEngine/StackViewport.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { IStackInput, IRenderingEngine } from '../../types';
2
+ declare function addImageSlicesToViewports(renderingEngine: IRenderingEngine, stackInputs: Array<IStackInput>, viewportIds: Array<string>, immediateRender?: boolean, suppressEvents?: boolean): Promise<void>;
3
+ export default addImageSlicesToViewports;
4
+ //# sourceMappingURL=addImageSlicesToViewports.d.ts.map