@cornerstonejs/core 4.21.5 → 4.21.7
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.
- package/dist/esm/RenderingEngine/BaseRenderingEngine.js +5 -0
- package/dist/esm/RenderingEngine/BaseVolumeViewport.d.ts +2 -1
- package/dist/esm/RenderingEngine/BaseVolumeViewport.js +17 -2
- package/dist/esm/RenderingEngine/ECGViewport.js +1 -0
- package/dist/esm/RenderingEngine/VideoViewport.js +1 -0
- package/dist/esm/RenderingEngine/Viewport.d.ts +1 -0
- package/dist/esm/RenderingEngine/Viewport.js +3 -0
- package/dist/esm/RenderingEngine/VolumeViewport.js +2 -8
- package/dist/esm/RenderingEngine/VolumeViewport3D.js +2 -8
- package/dist/esm/enums/ViewportStatus.d.ts +1 -0
- package/dist/esm/enums/ViewportStatus.js +1 -0
- package/dist/esm/version.d.ts +1 -1
- package/dist/esm/version.js +1 -1
- package/package.json +2 -2
|
@@ -10,6 +10,7 @@ import viewportTypeUsesCustomRenderingPipeline from './helpers/viewportTypeUsesC
|
|
|
10
10
|
import getOrCreateCanvas from './helpers/getOrCreateCanvas';
|
|
11
11
|
import { getShouldUseCPURendering, isCornerstoneInitialized, getConfiguration, } from '../init';
|
|
12
12
|
import viewportTypeToViewportClass from './helpers/viewportTypeToViewportClass';
|
|
13
|
+
import ViewportStatus from '../enums/ViewportStatus';
|
|
13
14
|
import { OrientationAxis } from '../enums';
|
|
14
15
|
import { StatsOverlay } from './helpers/stats';
|
|
15
16
|
import { convertColorArrayToRgbString } from '../utilities/convertColorArrayToRgbString';
|
|
@@ -304,6 +305,10 @@ class BaseRenderingEngine {
|
|
|
304
305
|
_setViewportsToBeRenderedNextFrame(viewportIds) {
|
|
305
306
|
viewportIds.forEach((viewportId) => {
|
|
306
307
|
this._needsRender.add(viewportId);
|
|
308
|
+
const viewport = this._viewports.get(viewportId);
|
|
309
|
+
if (viewport) {
|
|
310
|
+
viewport.viewportStatus = ViewportStatus.NEEDS_RENDER;
|
|
311
|
+
}
|
|
307
312
|
});
|
|
308
313
|
this._render();
|
|
309
314
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { mat4 } from 'gl-matrix';
|
|
2
2
|
import type { BlendModes, InterpolationType } from '../enums';
|
|
3
3
|
import { OrientationAxis } from '../enums';
|
|
4
|
-
import type { FlipDirection, IImageData, IVolumeInput, OrientationVectors, Point2, Point3, VolumeViewportProperties, ViewReferenceSpecifier, ReferenceCompatibleOptions, ViewReference, ICamera } from '../types';
|
|
4
|
+
import type { ActorEntry, FlipDirection, IImageData, IVolumeInput, OrientationVectors, Point2, Point3, VolumeViewportProperties, ViewReferenceSpecifier, ReferenceCompatibleOptions, ViewReference, ICamera } from '../types';
|
|
5
5
|
import type { VoiModifiedEventDetail } from '../types/EventTypes';
|
|
6
6
|
import type { PlaneRestriction, ViewportInput } from '../types/IViewport';
|
|
7
7
|
import type { TransferFunctionNodes } from '../types/ITransferFunctionNode';
|
|
@@ -56,6 +56,7 @@ declare abstract class BaseVolumeViewport extends Viewport {
|
|
|
56
56
|
private setSmoothing;
|
|
57
57
|
protected shouldUseCustomRenderPass(): boolean;
|
|
58
58
|
getRenderPasses: () => any[];
|
|
59
|
+
protected _restoreVolumeRenderingDefaults(volumeActor: ActorEntry, volumeId: string): void;
|
|
59
60
|
resetToDefaultProperties(volumeId: string): void;
|
|
60
61
|
private setPreset;
|
|
61
62
|
setSampleDistanceMultiplier(multiplier: number): void;
|
|
@@ -14,13 +14,13 @@ import invertRgbTransferFunction from '../utilities/invertRgbTransferFunction';
|
|
|
14
14
|
import createSigmoidRGBTransferFunction from '../utilities/createSigmoidRGBTransferFunction';
|
|
15
15
|
import transformWorldToIndex from '../utilities/transformWorldToIndex';
|
|
16
16
|
import { findMatchingColormap, updateOpacity as colormapUpdateOpacity, updateThreshold as colormapUpdateThreshold, getThresholdValue, getMaxOpacity, } from '../utilities/colormap';
|
|
17
|
-
import { getTransferFunctionNodes } from '../utilities/transferFunctionUtils';
|
|
17
|
+
import { getTransferFunctionNodes, setTransferFunctionNodes, } from '../utilities/transferFunctionUtils';
|
|
18
18
|
import createVolumeActor from './helpers/createVolumeActor';
|
|
19
19
|
import volumeNewImageEventDispatcher, { resetVolumeNewImageState, } from './helpers/volumeNewImageEventDispatcher';
|
|
20
20
|
import Viewport from './Viewport';
|
|
21
21
|
import vtkSlabCamera from './vtkClasses/vtkSlabCamera';
|
|
22
22
|
import getVolumeViewportScrollInfo from '../utilities/getVolumeViewportScrollInfo';
|
|
23
|
-
import { actorIsA } from '../utilities/actorCheck';
|
|
23
|
+
import { actorIsA, isImageActor } from '../utilities/actorCheck';
|
|
24
24
|
import snapFocalPointToSlice from '../utilities/snapFocalPointToSlice';
|
|
25
25
|
import getVoiFromSigmoidRGBTransferFunction from '../utilities/getVoiFromSigmoidRGBTransferFunction';
|
|
26
26
|
import isEqual, { isEqualAbs, isEqualNegative } from '../utilities/isEqual';
|
|
@@ -837,6 +837,21 @@ class BaseVolumeViewport extends Viewport {
|
|
|
837
837
|
shouldUseCustomRenderPass() {
|
|
838
838
|
return !this.useCPURendering;
|
|
839
839
|
}
|
|
840
|
+
_restoreVolumeRenderingDefaults(volumeActor, volumeId) {
|
|
841
|
+
if (!isImageActor(volumeActor)) {
|
|
842
|
+
return;
|
|
843
|
+
}
|
|
844
|
+
const properties = this.getDefaultProperties(volumeId);
|
|
845
|
+
if (properties?.preset || properties?.colormap) {
|
|
846
|
+
this.setProperties(properties, volumeId, true);
|
|
847
|
+
}
|
|
848
|
+
else {
|
|
849
|
+
const transferFunction = volumeActor.actor
|
|
850
|
+
.getProperty()
|
|
851
|
+
.getRGBTransferFunction(0);
|
|
852
|
+
setTransferFunctionNodes(transferFunction, this.initialTransferFunctionNodes);
|
|
853
|
+
}
|
|
854
|
+
}
|
|
840
855
|
resetToDefaultProperties(volumeId) {
|
|
841
856
|
const properties = this.globalDefaultProperties;
|
|
842
857
|
if (properties.colormap?.name) {
|
|
@@ -163,6 +163,7 @@ class ECGViewport extends Viewport {
|
|
|
163
163
|
this.drawTraces(ctx, layouts);
|
|
164
164
|
this.drawLabels(ctx, layouts);
|
|
165
165
|
ctx.resetTransform();
|
|
166
|
+
this.setRendered();
|
|
166
167
|
triggerEvent(this.element, EVENTS.IMAGE_RENDERED, {
|
|
167
168
|
element: this.element,
|
|
168
169
|
viewportId: this.id,
|
|
@@ -125,6 +125,7 @@ class VideoViewport extends Viewport {
|
|
|
125
125
|
actor.actor.render(this, this.canvasContext);
|
|
126
126
|
}
|
|
127
127
|
this.canvasContext.resetTransform();
|
|
128
|
+
this.setRendered();
|
|
128
129
|
triggerEvent(this.element, EVENTS.STACK_NEW_IMAGE, {
|
|
129
130
|
element: this.element,
|
|
130
131
|
viewportId: this.id,
|
|
@@ -55,6 +55,7 @@ declare class Viewport {
|
|
|
55
55
|
getRenderPasses: () => any;
|
|
56
56
|
removeWidgets: () => void;
|
|
57
57
|
setRendered(): void;
|
|
58
|
+
setNeedsRender(): void;
|
|
58
59
|
protected setColorTransform(voiRange: any, averageWhite: any): any;
|
|
59
60
|
getRenderingEngine(): IRenderingEngine;
|
|
60
61
|
getRenderer(): vtkRenderer;
|
|
@@ -101,6 +101,9 @@ class Viewport {
|
|
|
101
101
|
}
|
|
102
102
|
this.viewportStatus = ViewportStatus.RENDERED;
|
|
103
103
|
}
|
|
104
|
+
setNeedsRender() {
|
|
105
|
+
this.viewportStatus = ViewportStatus.NEEDS_RENDER;
|
|
106
|
+
}
|
|
104
107
|
setColorTransform(voiRange, averageWhite) {
|
|
105
108
|
let feFilter = null;
|
|
106
109
|
if (!voiRange && !averageWhite) {
|
|
@@ -3,7 +3,7 @@ import vtkPlane from '@kitware/vtk.js/Common/DataModel/Plane';
|
|
|
3
3
|
import cache from '../cache/cache';
|
|
4
4
|
import { EPSILON, MPR_CAMERA_VALUES, RENDERING_DEFAULTS } from '../constants';
|
|
5
5
|
import { OrientationAxis, Events } from '../enums';
|
|
6
|
-
import { actorIsA
|
|
6
|
+
import { actorIsA } from '../utilities/actorCheck';
|
|
7
7
|
import getClosestImageId from '../utilities/getClosestImageId';
|
|
8
8
|
import getSliceRange from '../utilities/getSliceRange';
|
|
9
9
|
import getSpacingInNormalDirection from '../utilities/getSpacingInNormalDirection';
|
|
@@ -11,7 +11,6 @@ import snapFocalPointToSlice from '../utilities/snapFocalPointToSlice';
|
|
|
11
11
|
import triggerEvent from '../utilities/triggerEvent';
|
|
12
12
|
import BaseVolumeViewport from './BaseVolumeViewport';
|
|
13
13
|
import setDefaultVolumeVOI from './helpers/setDefaultVolumeVOI';
|
|
14
|
-
import { setTransferFunctionNodes } from '../utilities/transferFunctionUtils';
|
|
15
14
|
import getImageSliceDataForVolumeViewport from '../utilities/getImageSliceDataForVolumeViewport';
|
|
16
15
|
import { transformCanvasToIJK } from '../utilities/transformCanvasToIJK';
|
|
17
16
|
import { transformIJKToCanvas } from '../utilities/transformIJKToCanvas';
|
|
@@ -466,12 +465,7 @@ class VolumeViewport extends BaseVolumeViewport {
|
|
|
466
465
|
throw new Error(`imageVolume with id: ${volumeId} does not exist in cache`);
|
|
467
466
|
}
|
|
468
467
|
setDefaultVolumeVOI(volumeActor.actor, imageVolume);
|
|
469
|
-
|
|
470
|
-
const transferFunction = volumeActor.actor
|
|
471
|
-
.getProperty()
|
|
472
|
-
.getRGBTransferFunction(0);
|
|
473
|
-
setTransferFunctionNodes(transferFunction, this.initialTransferFunctionNodes);
|
|
474
|
-
}
|
|
468
|
+
this._restoreVolumeRenderingDefaults(volumeActor, volumeId);
|
|
475
469
|
const eventDetails = {
|
|
476
470
|
...super.getVOIModifiedEventDetail(volumeId),
|
|
477
471
|
};
|
|
@@ -3,8 +3,7 @@ import { OrientationAxis, Events } from '../enums';
|
|
|
3
3
|
import cache from '../cache/cache';
|
|
4
4
|
import setDefaultVolumeVOI from './helpers/setDefaultVolumeVOI';
|
|
5
5
|
import triggerEvent from '../utilities/triggerEvent';
|
|
6
|
-
import { actorIsA
|
|
7
|
-
import { setTransferFunctionNodes } from '../utilities/transferFunctionUtils';
|
|
6
|
+
import { actorIsA } from '../utilities/actorCheck';
|
|
8
7
|
import BaseVolumeViewport from './BaseVolumeViewport';
|
|
9
8
|
class VolumeViewport3D extends BaseVolumeViewport {
|
|
10
9
|
constructor(props) {
|
|
@@ -98,12 +97,7 @@ class VolumeViewport3D extends BaseVolumeViewport {
|
|
|
98
97
|
throw new Error(`imageVolume with id: ${volumeId} does not exist in cache`);
|
|
99
98
|
}
|
|
100
99
|
setDefaultVolumeVOI(volumeActor.actor, imageVolume);
|
|
101
|
-
|
|
102
|
-
const transferFunction = volumeActor.actor
|
|
103
|
-
.getProperty()
|
|
104
|
-
.getRGBTransferFunction(0);
|
|
105
|
-
setTransferFunctionNodes(transferFunction, this.initialTransferFunctionNodes);
|
|
106
|
-
}
|
|
100
|
+
this._restoreVolumeRenderingDefaults(volumeActor, volumeId);
|
|
107
101
|
this.setCamera(this.initialCamera);
|
|
108
102
|
triggerEvent(this.element, Events.VOI_MODIFIED, super.getVOIModifiedEventDetail(volumeId));
|
|
109
103
|
}
|
|
@@ -3,6 +3,7 @@ var ViewportStatus;
|
|
|
3
3
|
ViewportStatus["NO_DATA"] = "noData";
|
|
4
4
|
ViewportStatus["LOADING"] = "loading";
|
|
5
5
|
ViewportStatus["PRE_RENDER"] = "preRender";
|
|
6
|
+
ViewportStatus["NEEDS_RENDER"] = "needsRender";
|
|
6
7
|
ViewportStatus["RESIZE"] = "resize";
|
|
7
8
|
ViewportStatus["RENDERED"] = "rendered";
|
|
8
9
|
})(ViewportStatus || (ViewportStatus = {}));
|
package/dist/esm/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const version = "4.21.
|
|
1
|
+
export declare const version = "4.21.7";
|
package/dist/esm/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const version = '4.21.
|
|
1
|
+
export const version = '4.21.7';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cornerstonejs/core",
|
|
3
|
-
"version": "4.21.
|
|
3
|
+
"version": "4.21.7",
|
|
4
4
|
"description": "Cornerstone3D Core",
|
|
5
5
|
"module": "./dist/esm/index.js",
|
|
6
6
|
"types": "./dist/esm/index.d.ts",
|
|
@@ -97,5 +97,5 @@
|
|
|
97
97
|
"type": "individual",
|
|
98
98
|
"url": "https://ohif.org/donate"
|
|
99
99
|
},
|
|
100
|
-
"gitHead": "
|
|
100
|
+
"gitHead": "3c694f884c03e2aa2f9563dc4fc8d6f7b8a73c5c"
|
|
101
101
|
}
|