@cornerstonejs/core 0.6.0 → 0.6.3
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/cjs/RenderingEngine/RenderingEngine.d.ts +1 -1
- package/dist/cjs/RenderingEngine/RenderingEngine.js +7 -7
- package/dist/cjs/RenderingEngine/RenderingEngine.js.map +1 -1
- package/dist/cjs/RenderingEngine/StackViewport.d.ts +7 -4
- package/dist/cjs/RenderingEngine/StackViewport.js +76 -25
- package/dist/cjs/RenderingEngine/StackViewport.js.map +1 -1
- package/dist/cjs/RenderingEngine/Viewport.d.ts +1 -1
- package/dist/cjs/RenderingEngine/Viewport.js +5 -3
- package/dist/cjs/RenderingEngine/Viewport.js.map +1 -1
- package/dist/cjs/RenderingEngine/VolumeViewport.d.ts +1 -1
- package/dist/cjs/RenderingEngine/VolumeViewport.js +2 -2
- package/dist/cjs/RenderingEngine/VolumeViewport.js.map +1 -1
- package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/getDefaultViewport.js +7 -7
- package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/getDefaultViewport.js.map +1 -1
- package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/resetCamera.d.ts +1 -1
- package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/resetCamera.js +4 -2
- package/dist/cjs/RenderingEngine/helpers/cpuFallback/rendering/resetCamera.js.map +1 -1
- package/dist/cjs/enums/Events.d.ts +1 -0
- package/dist/cjs/enums/Events.js +1 -0
- package/dist/cjs/enums/Events.js.map +1 -1
- package/dist/cjs/requestPool/imageLoadPoolManager.js +1 -1
- package/dist/cjs/requestPool/imageLoadPoolManager.js.map +1 -1
- package/dist/cjs/requestPool/imageRetrievalPoolManager.js +1 -1
- package/dist/cjs/requestPool/imageRetrievalPoolManager.js.map +1 -1
- package/dist/cjs/requestPool/requestPoolManager.d.ts +5 -4
- package/dist/cjs/requestPool/requestPoolManager.js +42 -51
- package/dist/cjs/requestPool/requestPoolManager.js.map +1 -1
- package/dist/cjs/types/EventTypes.d.ts +8 -2
- package/dist/cjs/types/IImage.d.ts +1 -0
- package/dist/cjs/types/IRenderingEngine.d.ts +1 -1
- package/dist/cjs/types/IStackViewport.d.ts +1 -1
- package/dist/cjs/types/IVolumeViewport.d.ts +1 -1
- package/dist/cjs/utilities/loadImageToCanvas.js +22 -5
- package/dist/cjs/utilities/loadImageToCanvas.js.map +1 -1
- package/dist/cjs/utilities/prefetchStack.js +1 -0
- package/dist/cjs/utilities/prefetchStack.js.map +1 -1
- package/dist/cjs/utilities/renderToCanvas.d.ts +1 -1
- package/dist/cjs/utilities/renderToCanvas.js +2 -2
- package/dist/cjs/utilities/renderToCanvas.js.map +1 -1
- package/dist/esm/RenderingEngine/RenderingEngine.d.ts +1 -1
- package/dist/esm/RenderingEngine/RenderingEngine.js +7 -7
- package/dist/esm/RenderingEngine/RenderingEngine.js.map +1 -1
- package/dist/esm/RenderingEngine/StackViewport.d.ts +7 -4
- package/dist/esm/RenderingEngine/StackViewport.js +76 -25
- package/dist/esm/RenderingEngine/StackViewport.js.map +1 -1
- package/dist/esm/RenderingEngine/Viewport.d.ts +1 -1
- package/dist/esm/RenderingEngine/Viewport.js +5 -3
- package/dist/esm/RenderingEngine/Viewport.js.map +1 -1
- package/dist/esm/RenderingEngine/VolumeViewport.d.ts +1 -1
- package/dist/esm/RenderingEngine/VolumeViewport.js +2 -2
- package/dist/esm/RenderingEngine/VolumeViewport.js.map +1 -1
- package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/getDefaultViewport.js +7 -7
- package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/getDefaultViewport.js.map +1 -1
- package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/resetCamera.d.ts +1 -1
- package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/resetCamera.js +4 -2
- package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/resetCamera.js.map +1 -1
- package/dist/esm/enums/Events.d.ts +1 -0
- package/dist/esm/enums/Events.js +1 -0
- package/dist/esm/enums/Events.js.map +1 -1
- package/dist/esm/requestPool/imageLoadPoolManager.js +1 -1
- package/dist/esm/requestPool/imageLoadPoolManager.js.map +1 -1
- package/dist/esm/requestPool/imageRetrievalPoolManager.js +1 -1
- package/dist/esm/requestPool/imageRetrievalPoolManager.js.map +1 -1
- package/dist/esm/requestPool/requestPoolManager.d.ts +5 -4
- package/dist/esm/requestPool/requestPoolManager.js +39 -51
- package/dist/esm/requestPool/requestPoolManager.js.map +1 -1
- package/dist/esm/types/EventTypes.d.ts +8 -2
- package/dist/esm/types/IImage.d.ts +1 -0
- package/dist/esm/types/IRenderingEngine.d.ts +1 -1
- package/dist/esm/types/IStackViewport.d.ts +1 -1
- package/dist/esm/types/IVolumeViewport.d.ts +1 -1
- package/dist/esm/utilities/loadImageToCanvas.js +22 -5
- package/dist/esm/utilities/loadImageToCanvas.js.map +1 -1
- package/dist/esm/utilities/prefetchStack.js +1 -0
- package/dist/esm/utilities/prefetchStack.js.map +1 -1
- package/dist/esm/utilities/renderToCanvas.d.ts +1 -1
- package/dist/esm/utilities/renderToCanvas.js +2 -2
- package/dist/esm/utilities/renderToCanvas.js.map +1 -1
- package/dist/umd/index.js +1 -1
- package/dist/umd/index.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,17 +1,20 @@
|
|
|
1
|
+
import RequestType from '../enums/RequestType';
|
|
2
|
+
import { uuidv4 } from '../utilities';
|
|
1
3
|
class RequestPoolManager {
|
|
2
|
-
constructor() {
|
|
4
|
+
constructor(id) {
|
|
3
5
|
this.numRequests = {
|
|
4
6
|
interaction: 0,
|
|
5
7
|
thumbnail: 0,
|
|
6
8
|
prefetch: 0,
|
|
7
9
|
};
|
|
10
|
+
this.id = id ? id : uuidv4();
|
|
8
11
|
this.requestPool = {
|
|
9
12
|
interaction: { 0: [] },
|
|
10
13
|
thumbnail: { 0: [] },
|
|
11
14
|
prefetch: { 0: [] },
|
|
12
15
|
};
|
|
13
|
-
this.awake = false;
|
|
14
16
|
this.grabDelay = 5;
|
|
17
|
+
this.awake = false;
|
|
15
18
|
this.numRequests = {
|
|
16
19
|
interaction: 0,
|
|
17
20
|
thumbnail: 0,
|
|
@@ -42,6 +45,9 @@ class RequestPoolManager {
|
|
|
42
45
|
this.awake = true;
|
|
43
46
|
this.startGrabbing();
|
|
44
47
|
}
|
|
48
|
+
else if (type === RequestType.Interaction) {
|
|
49
|
+
this.startGrabbing();
|
|
50
|
+
}
|
|
45
51
|
}
|
|
46
52
|
filterRequests(filterFunction) {
|
|
47
53
|
Object.keys(this.requestPool).forEach((type) => {
|
|
@@ -59,31 +65,42 @@ class RequestPoolManager {
|
|
|
59
65
|
}
|
|
60
66
|
this.requestPool[type] = { 0: [] };
|
|
61
67
|
}
|
|
62
|
-
|
|
63
|
-
this.numRequests[type]
|
|
64
|
-
this.awake = true;
|
|
65
|
-
requestFn().finally(() => {
|
|
66
|
-
this.numRequests[type]--;
|
|
67
|
-
this.startAgain();
|
|
68
|
-
});
|
|
69
|
-
}
|
|
70
|
-
startGrabbing() {
|
|
71
|
-
const maxRequests = this.maxNumRequests.interaction +
|
|
72
|
-
this.maxNumRequests.thumbnail +
|
|
73
|
-
this.maxNumRequests.prefetch;
|
|
74
|
-
const currentRequests = this.numRequests.interaction +
|
|
75
|
-
this.numRequests.thumbnail +
|
|
76
|
-
this.numRequests.prefetch;
|
|
77
|
-
const requestsToSend = maxRequests - currentRequests;
|
|
68
|
+
sendRequests(type) {
|
|
69
|
+
const requestsToSend = this.maxNumRequests[type] - this.numRequests[type];
|
|
78
70
|
for (let i = 0; i < requestsToSend; i++) {
|
|
79
|
-
const requestDetails = this.getNextRequest();
|
|
80
|
-
if (requestDetails ===
|
|
81
|
-
|
|
71
|
+
const requestDetails = this.getNextRequest(type);
|
|
72
|
+
if (requestDetails === null) {
|
|
73
|
+
return false;
|
|
82
74
|
}
|
|
83
75
|
else if (requestDetails) {
|
|
84
|
-
this.
|
|
76
|
+
this.numRequests[type]++;
|
|
77
|
+
this.awake = true;
|
|
78
|
+
requestDetails.requestFn().finally(() => {
|
|
79
|
+
this.numRequests[type]--;
|
|
80
|
+
this.startAgain();
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
return true;
|
|
85
|
+
}
|
|
86
|
+
getNextRequest(type) {
|
|
87
|
+
const interactionPriorities = this.getSortedPriorityGroups(type);
|
|
88
|
+
for (const priority of interactionPriorities) {
|
|
89
|
+
if (this.requestPool[type][priority].length) {
|
|
90
|
+
return this.requestPool[type][priority].shift();
|
|
85
91
|
}
|
|
86
92
|
}
|
|
93
|
+
return null;
|
|
94
|
+
}
|
|
95
|
+
startGrabbing() {
|
|
96
|
+
const hasRemainingInteractionRequests = this.sendRequests(RequestType.Interaction);
|
|
97
|
+
const hasRemainingThumbnailRequests = this.sendRequests(RequestType.Thumbnail);
|
|
98
|
+
const hasRemainingPrefetchRequests = this.sendRequests(RequestType.Prefetch);
|
|
99
|
+
if (!hasRemainingInteractionRequests &&
|
|
100
|
+
!hasRemainingThumbnailRequests &&
|
|
101
|
+
!hasRemainingPrefetchRequests) {
|
|
102
|
+
this.awake = false;
|
|
103
|
+
}
|
|
87
104
|
}
|
|
88
105
|
startAgain() {
|
|
89
106
|
if (!this.awake) {
|
|
@@ -105,35 +122,6 @@ class RequestPoolManager {
|
|
|
105
122
|
.sort();
|
|
106
123
|
return priorities;
|
|
107
124
|
}
|
|
108
|
-
getNextRequest() {
|
|
109
|
-
const interactionPriorities = this.getSortedPriorityGroups('interaction');
|
|
110
|
-
for (const priority of interactionPriorities) {
|
|
111
|
-
if (this.requestPool.interaction[priority].length &&
|
|
112
|
-
this.numRequests.interaction < this.maxNumRequests.interaction) {
|
|
113
|
-
return this.requestPool.interaction[priority].shift();
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
const thumbnailPriorities = this.getSortedPriorityGroups('thumbnail');
|
|
117
|
-
for (const priority of thumbnailPriorities) {
|
|
118
|
-
if (this.requestPool.thumbnail[priority].length &&
|
|
119
|
-
this.numRequests.thumbnail < this.maxNumRequests.thumbnail) {
|
|
120
|
-
return this.requestPool.thumbnail[priority].shift();
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
const prefetchPriorities = this.getSortedPriorityGroups('prefetch');
|
|
124
|
-
for (const priority of prefetchPriorities) {
|
|
125
|
-
if (this.requestPool.prefetch[priority].length &&
|
|
126
|
-
this.numRequests.prefetch < this.maxNumRequests.prefetch) {
|
|
127
|
-
return this.requestPool.prefetch[priority].shift();
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
if (!interactionPriorities.length &&
|
|
131
|
-
!thumbnailPriorities.length &&
|
|
132
|
-
!prefetchPriorities.length) {
|
|
133
|
-
this.awake = false;
|
|
134
|
-
}
|
|
135
|
-
return false;
|
|
136
|
-
}
|
|
137
125
|
getRequestPool() {
|
|
138
126
|
return this.requestPool;
|
|
139
127
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requestPoolManager.js","sourceRoot":"","sources":["../../../src/requestPool/requestPoolManager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"requestPoolManager.js","sourceRoot":"","sources":["../../../src/requestPool/requestPoolManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,8 +16,8 @@ declare type CameraModifiedEventDetail = {
|
|
|
16
16
|
};
|
|
17
17
|
declare type VoiModifiedEventDetail = {
|
|
18
18
|
viewportId: string;
|
|
19
|
-
volumeId: string;
|
|
20
19
|
range: VOIRange;
|
|
20
|
+
volumeId?: string;
|
|
21
21
|
};
|
|
22
22
|
declare type ElementDisabledEventDetail = {
|
|
23
23
|
element: HTMLDivElement;
|
|
@@ -65,6 +65,11 @@ declare type VolumeCacheVolumeRemovedEventDetail = {
|
|
|
65
65
|
declare type VolumeCacheVolumeAddedEventDetail = {
|
|
66
66
|
volume: ICachedVolume;
|
|
67
67
|
};
|
|
68
|
+
declare type PreStackNewImageEventDetail = {
|
|
69
|
+
imageId: string;
|
|
70
|
+
viewportId: string;
|
|
71
|
+
renderingEngineId: string;
|
|
72
|
+
};
|
|
68
73
|
declare type StackNewImageEventDetail = {
|
|
69
74
|
image: IImage;
|
|
70
75
|
imageId: string;
|
|
@@ -103,6 +108,7 @@ declare type ImageCacheImageRemovedEvent = CustomEventType<ImageCacheImageRemove
|
|
|
103
108
|
declare type VolumeCacheVolumeAddedEvent = CustomEventType<VolumeCacheVolumeAddedEventDetail>;
|
|
104
109
|
declare type VolumeCacheVolumeRemovedEvent = CustomEventType<VolumeCacheVolumeRemovedEventDetail>;
|
|
105
110
|
declare type StackNewImageEvent = CustomEventType<StackNewImageEventDetail>;
|
|
111
|
+
declare type PreStackNewImageEvent = CustomEventType<PreStackNewImageEventDetail>;
|
|
106
112
|
declare type ImageSpacingCalibratedEvent = CustomEventType<ImageSpacingCalibratedEventDetail>;
|
|
107
113
|
declare type ImageLoadProgressEvent = CustomEventType<ImageLoadProgressEventDetail>;
|
|
108
|
-
export type { CameraModifiedEventDetail, CameraModifiedEvent, VoiModifiedEvent, VoiModifiedEventDetail, ElementDisabledEvent, ElementDisabledEventDetail, ElementEnabledEvent, ElementEnabledEventDetail, ImageRenderedEventDetail, ImageRenderedEvent, ImageVolumeModifiedEvent, ImageVolumeModifiedEventDetail, ImageLoadedEvent, ImageLoadedEventDetail, ImageLoadedFailedEventDetail, ImageLoadedFailedEvent, VolumeLoadedEvent, VolumeLoadedEventDetail, VolumeLoadedFailedEvent, VolumeLoadedFailedEventDetail, ImageCacheImageAddedEvent, ImageCacheImageAddedEventDetail, ImageCacheImageRemovedEvent, ImageCacheImageRemovedEventDetail, VolumeCacheVolumeAddedEvent, VolumeCacheVolumeAddedEventDetail, VolumeCacheVolumeRemovedEvent, VolumeCacheVolumeRemovedEventDetail, StackNewImageEvent, StackNewImageEventDetail, ImageSpacingCalibratedEvent, ImageSpacingCalibratedEventDetail, ImageLoadProgressEvent, ImageLoadProgressEventDetail, };
|
|
114
|
+
export type { CameraModifiedEventDetail, CameraModifiedEvent, VoiModifiedEvent, VoiModifiedEventDetail, ElementDisabledEvent, ElementDisabledEventDetail, ElementEnabledEvent, ElementEnabledEventDetail, ImageRenderedEventDetail, ImageRenderedEvent, ImageVolumeModifiedEvent, ImageVolumeModifiedEventDetail, ImageLoadedEvent, ImageLoadedEventDetail, ImageLoadedFailedEventDetail, ImageLoadedFailedEvent, VolumeLoadedEvent, VolumeLoadedEventDetail, VolumeLoadedFailedEvent, VolumeLoadedFailedEventDetail, ImageCacheImageAddedEvent, ImageCacheImageAddedEventDetail, ImageCacheImageRemovedEvent, ImageCacheImageRemovedEventDetail, VolumeCacheVolumeAddedEvent, VolumeCacheVolumeAddedEventDetail, VolumeCacheVolumeRemovedEvent, VolumeCacheVolumeRemovedEventDetail, StackNewImageEvent, StackNewImageEventDetail, PreStackNewImageEvent, PreStackNewImageEventDetail, ImageSpacingCalibratedEvent, ImageSpacingCalibratedEventDetail, ImageLoadProgressEvent, ImageLoadProgressEventDetail, };
|
|
@@ -7,7 +7,7 @@ export default interface IRenderingEngine {
|
|
|
7
7
|
offscreenMultiRenderWindow: any;
|
|
8
8
|
offScreenCanvasContainer: any;
|
|
9
9
|
setViewports(viewports: Array<PublicViewportInput>): void;
|
|
10
|
-
resize(immediate?: boolean,
|
|
10
|
+
resize(immediate?: boolean, resetPan?: boolean, resetZoom?: boolean): void;
|
|
11
11
|
getViewport(id: string): IStackViewport | IVolumeViewport;
|
|
12
12
|
getViewports(): Array<IStackViewport | IVolumeViewport>;
|
|
13
13
|
render(): void;
|
|
@@ -32,7 +32,7 @@ export default interface IStackViewport extends IViewport {
|
|
|
32
32
|
getCamera(): ICamera;
|
|
33
33
|
setCamera(cameraInterface: ICamera): void;
|
|
34
34
|
setStack(imageIds: Array<string>, currentImageIdIndex?: number): Promise<string>;
|
|
35
|
-
resetCamera(
|
|
35
|
+
resetCamera(resetPan?: boolean, resetZoom?: boolean): boolean;
|
|
36
36
|
setImageIdIndex(imageIdIndex: number): Promise<string>;
|
|
37
37
|
calibrateSpacing(imageId: string): void;
|
|
38
38
|
getRenderer(): any;
|
|
@@ -18,7 +18,7 @@ export default interface IVolumeViewport extends IViewport {
|
|
|
18
18
|
getIntensityFromWorld(point: Point3): number;
|
|
19
19
|
getBounds(): any;
|
|
20
20
|
flip(flipDirection: FlipDirection): void;
|
|
21
|
-
resetCamera(
|
|
21
|
+
resetCamera(resetPan?: boolean, resetZoom?: boolean): boolean;
|
|
22
22
|
setSlabThickness(slabThickness: number): void;
|
|
23
23
|
getSlabThickness(): number;
|
|
24
24
|
getImageData(): IImageData | undefined;
|
|
@@ -3,10 +3,12 @@ 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.
|
|
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);
|
|
11
|
+
renderToCanvas(canvas, image, modality);
|
|
10
12
|
resolve(imageId);
|
|
11
13
|
}
|
|
12
14
|
function errorCallback(error, imageId) {
|
|
@@ -15,9 +17,9 @@ export default function loadImageToCanvas(canvas, imageId, requestType = Request
|
|
|
15
17
|
}
|
|
16
18
|
function sendRequest(imageId, imageIdIndex, options) {
|
|
17
19
|
return loadAndCacheImage(imageId, options).then((image) => {
|
|
18
|
-
successCallback.call(this, image,
|
|
20
|
+
successCallback.call(this, image, imageId, imageIdIndex);
|
|
19
21
|
}, (error) => {
|
|
20
|
-
errorCallback.call(this, error,
|
|
22
|
+
errorCallback.call(this, error, imageId);
|
|
21
23
|
});
|
|
22
24
|
}
|
|
23
25
|
const modalityLutModule = metaData.get('modalityLutModule', imageId) || {};
|
|
@@ -38,8 +40,23 @@ export default function loadImageToCanvas(canvas, imageId, requestType = Request
|
|
|
38
40
|
preScale: {
|
|
39
41
|
scalingParameters,
|
|
40
42
|
},
|
|
43
|
+
requestType,
|
|
41
44
|
};
|
|
42
|
-
imageLoadPoolManager.addRequest(sendRequest.bind(null, imageId, options), requestType, { imageId }, priority);
|
|
45
|
+
imageLoadPoolManager.addRequest(sendRequest.bind(null, imageId, null, options), requestType, { imageId }, priority);
|
|
43
46
|
});
|
|
44
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
|
+
}
|
|
45
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,
|
|
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;
|
|
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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { IImage } from '../types';
|
|
2
|
-
export default function renderToCanvas(canvas: HTMLCanvasElement, image: IImage): void;
|
|
2
|
+
export default function renderToCanvas(canvas: HTMLCanvasElement, image: IImage, modality?: string): void;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import getDefaultViewport from '../RenderingEngine/helpers/cpuFallback/rendering/getDefaultViewport';
|
|
2
2
|
import calculateTransform from '../RenderingEngine/helpers/cpuFallback/rendering/calculateTransform';
|
|
3
3
|
import drawImageSync from '../RenderingEngine/helpers/cpuFallback/drawImageSync';
|
|
4
|
-
export default function renderToCanvas(canvas, image) {
|
|
5
|
-
const viewport = getDefaultViewport(canvas, image);
|
|
4
|
+
export default function renderToCanvas(canvas, image, modality) {
|
|
5
|
+
const viewport = getDefaultViewport(canvas, image, modality);
|
|
6
6
|
const enabledElement = {
|
|
7
7
|
canvas,
|
|
8
8
|
viewport,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderToCanvas.js","sourceRoot":"","sources":["../../../src/utilities/renderToCanvas.ts"],"names":[],"mappings":"AAEA,OAAO,kBAAkB,MAAM,qEAAqE,CAAC;AACrG,OAAO,kBAAkB,MAAM,qEAAqE,CAAC;AACrG,OAAO,aAAa,MAAM,sDAAsD,CAAC;AASjF,MAAM,CAAC,OAAO,UAAU,cAAc,CACpC,MAAyB,EACzB,KAAa;
|
|
1
|
+
{"version":3,"file":"renderToCanvas.js","sourceRoot":"","sources":["../../../src/utilities/renderToCanvas.ts"],"names":[],"mappings":"AAEA,OAAO,kBAAkB,MAAM,qEAAqE,CAAC;AACrG,OAAO,kBAAkB,MAAM,qEAAqE,CAAC;AACrG,OAAO,aAAa,MAAM,sDAAsD,CAAC;AASjF,MAAM,CAAC,OAAO,UAAU,cAAc,CACpC,MAAyB,EACzB,KAAa,EACb,QAAiB;IAEjB,MAAM,QAAQ,GAAG,kBAAkB,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IAE7D,MAAM,cAAc,GAA8B;QAChD,MAAM;QACN,QAAQ;QACR,KAAK;QACL,cAAc,EAAE,EAAE;KACnB,CAAC;IAEF,cAAc,CAAC,SAAS,GAAG,kBAAkB,CAAC,cAAc,CAAC,CAAC;IAE9D,MAAM,WAAW,GAAG,IAAI,CAAC;IACzB,aAAa,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;AAC7C,CAAC"}
|