@cornerstonejs/core 1.82.2 → 1.82.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 (30) hide show
  1. package/dist/cjs/RenderingEngine/VideoViewport.js +1 -1
  2. package/dist/cjs/RenderingEngine/VideoViewport.js.map +1 -1
  3. package/dist/cjs/RenderingEngine/WSIViewport.js +2 -2
  4. package/dist/cjs/RenderingEngine/WSIViewport.js.map +1 -1
  5. package/dist/cjs/enums/MetadataModules.d.ts +1 -1
  6. package/dist/cjs/enums/MetadataModules.js +1 -1
  7. package/dist/cjs/enums/MetadataModules.js.map +1 -1
  8. package/dist/cjs/utilities/genericMetadataProvider.d.ts +8 -1
  9. package/dist/cjs/utilities/genericMetadataProvider.js +4 -3
  10. package/dist/cjs/utilities/genericMetadataProvider.js.map +1 -1
  11. package/dist/esm/RenderingEngine/VideoViewport.js +1 -1
  12. package/dist/esm/RenderingEngine/VideoViewport.js.map +1 -1
  13. package/dist/esm/RenderingEngine/WSIViewport.js +2 -2
  14. package/dist/esm/RenderingEngine/WSIViewport.js.map +1 -1
  15. package/dist/esm/enums/MetadataModules.js +1 -1
  16. package/dist/esm/enums/MetadataModules.js.map +1 -1
  17. package/dist/esm/utilities/genericMetadataProvider.js +7 -2
  18. package/dist/esm/utilities/genericMetadataProvider.js.map +1 -1
  19. package/dist/types/RenderingEngine/WSIViewport.d.ts.map +1 -1
  20. package/dist/types/enums/MetadataModules.d.ts +1 -1
  21. package/dist/types/enums/MetadataModules.d.ts.map +1 -1
  22. package/dist/types/utilities/genericMetadataProvider.d.ts +8 -1
  23. package/dist/types/utilities/genericMetadataProvider.d.ts.map +1 -1
  24. package/dist/umd/index.js +1 -1
  25. package/dist/umd/index.js.map +1 -1
  26. package/package.json +2 -2
  27. package/src/RenderingEngine/VideoViewport.ts +1 -1
  28. package/src/RenderingEngine/WSIViewport.ts +5 -2
  29. package/src/enums/MetadataModules.ts +7 -3
  30. package/src/utilities/genericMetadataProvider.ts +18 -5
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cornerstonejs/core",
3
- "version": "1.82.2",
3
+ "version": "1.82.4",
4
4
  "description": "",
5
5
  "main": "src/index.ts",
6
6
  "types": "dist/types/index.d.ts",
@@ -47,5 +47,5 @@
47
47
  "type": "individual",
48
48
  "url": "https://ohif.org/donate"
49
49
  },
50
- "gitHead": "82b018e701d6634a5206866c6b8b22cdabc8e758"
50
+ "gitHead": "979c403d57223b2fbf33bf66c48612bb57990c80"
51
51
  }
@@ -224,7 +224,7 @@ class VideoViewport extends Viewport implements IVideoViewport {
224
224
  public setDataIds(imageIds: string[], options?: ImageSetOptions) {
225
225
  this.setVideo(
226
226
  imageIds[0],
227
- (options?.viewReference?.sliceIndex as number) || 1
227
+ ((options?.viewReference?.sliceIndex as number) || 0) + 1
228
228
  );
229
229
  }
230
230
 
@@ -442,7 +442,10 @@ class WSIViewport extends Viewport implements IWSIViewport {
442
442
  * This is a wrapper for setWSI to allow generic behaviour
443
443
  */
444
444
  public setDataIds(imageIds: string[]) {
445
- const webClient = metaData.get(MetadataModules.WEB_CLIENT, imageIds[0]);
445
+ const webClient = metaData.get(
446
+ MetadataModules.WADO_WEB_CLIENT,
447
+ imageIds[0]
448
+ );
446
449
  if (!webClient) {
447
450
  throw new Error(
448
451
  `To use setDataIds on WSI data, you must provide metaData.webClient for ${imageIds[0]}`
@@ -454,7 +457,7 @@ class WSIViewport extends Viewport implements IWSIViewport {
454
457
  }
455
458
 
456
459
  public async setWSI(imageIds: string[], client) {
457
- this.microscopyElement.style.background = 'red';
460
+ this.microscopyElement.style.background = 'black';
458
461
  this.microscopyElement.innerText = 'Loading';
459
462
  this.imageIds = imageIds;
460
463
  const DicomMicroscopyViewer = await WSIViewport.getDicomMicroscopyViewer();
@@ -28,10 +28,14 @@ enum MetadataModules {
28
28
  ULTRASOUND_ENHANCED_REGION = 'ultrasoundEnhancedRegionModule',
29
29
  VOI_LUT = 'voiLutModule',
30
30
  /**
31
- * Some modules need direct access to a web client. This allows getting
32
- * it as metadata in order to get it generically.
31
+ * Some modules need direct access to a data services (WADO) web client.
32
+ * This allows getting images and metadata as raw results for display.
33
+ * This is DICOMweb WADO, not base WADO, and should support:
34
+ * * Series level metadata retrieve
35
+ * * Bulkdata retrieve
36
+ * * Image retrieve
33
37
  */
34
- WEB_CLIENT = 'webClient',
38
+ WADO_WEB_CLIENT = 'wadoWebClient',
35
39
  }
36
40
 
37
41
  export default MetadataModules;
@@ -6,20 +6,33 @@ let state: Record<string, any> = {}; // Calibrated pixel spacing per imageId
6
6
  */
7
7
  const metadataProvider = {
8
8
  /**
9
- * Adds metadata for an imageId.
9
+ * Adds a cloned copy of the metadata for an imageId as the given type.
10
+ * Note that this will strip out any functions or other non-cloneables.
11
+ *
10
12
  * @param imageId - the imageId for the metadata to store
11
13
  * @param payload - the payload
12
14
  */
13
- add: (imageId: string, payload: any): void => {
15
+ add: (imageId: string, payload: { metadata: any; type: string }): void => {
16
+ metadataProvider.addRaw(imageId, {
17
+ ...payload,
18
+ metadata: structuredClone(payload.metadata),
19
+ });
20
+ },
21
+
22
+ /**
23
+ * Adds a raw metadata instances for an imageId. This allows preserving
24
+ * class inheritance values and member functions/proxy instances, but runs
25
+ * the risk that the raw object can be modified through side affects.
26
+ */
27
+ addRaw: (imageId: string, payload: { metadata: any; type: string }) => {
14
28
  const type = payload.type;
15
29
 
16
30
  if (!state[imageId]) {
17
31
  state[imageId] = {};
18
32
  }
19
33
 
20
- // Use the raw metadata, or create a deep copy of payload.metadata
21
- state[imageId][type] =
22
- payload.rawMetadata ?? structuredClone(payload.metadata);
34
+ // Use the raw metadata here
35
+ state[imageId][type] = payload.metadata;
23
36
  },
24
37
 
25
38
  /**