@cornerstonejs/core 1.4.2 → 1.4.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/BaseVolumeViewport.d.ts +5 -6
- package/dist/cjs/RenderingEngine/BaseVolumeViewport.js +23 -18
- package/dist/cjs/RenderingEngine/BaseVolumeViewport.js.map +1 -1
- package/dist/cjs/RenderingEngine/Viewport.d.ts +1 -1
- package/dist/cjs/RenderingEngine/Viewport.js.map +1 -1
- package/dist/cjs/RenderingEngine/VolumeViewport.d.ts +1 -3
- package/dist/cjs/RenderingEngine/VolumeViewport.js +0 -26
- package/dist/cjs/RenderingEngine/VolumeViewport.js.map +1 -1
- package/dist/cjs/RenderingEngine/VolumeViewport3D.d.ts +3 -0
- package/dist/cjs/RenderingEngine/VolumeViewport3D.js +6 -0
- package/dist/cjs/RenderingEngine/VolumeViewport3D.js.map +1 -1
- package/dist/esm/RenderingEngine/BaseVolumeViewport.d.ts +5 -6
- package/dist/esm/RenderingEngine/BaseVolumeViewport.js +23 -18
- package/dist/esm/RenderingEngine/BaseVolumeViewport.js.map +1 -1
- package/dist/esm/RenderingEngine/Viewport.d.ts +1 -1
- package/dist/esm/RenderingEngine/Viewport.js.map +1 -1
- package/dist/esm/RenderingEngine/VolumeViewport.d.ts +1 -3
- package/dist/esm/RenderingEngine/VolumeViewport.js +0 -26
- package/dist/esm/RenderingEngine/VolumeViewport.js.map +1 -1
- package/dist/esm/RenderingEngine/VolumeViewport3D.d.ts +3 -0
- package/dist/esm/RenderingEngine/VolumeViewport3D.js +6 -0
- package/dist/esm/RenderingEngine/VolumeViewport3D.js.map +1 -1
- package/dist/umd/index.js +1 -1
- package/dist/umd/index.js.map +1 -1
- package/package.json +2 -2
- package/src/RenderingEngine/BaseVolumeViewport.ts +48 -28
- package/src/RenderingEngine/Viewport.ts +1 -1
- package/src/RenderingEngine/VolumeViewport.ts +0 -47
- package/src/RenderingEngine/VolumeViewport3D.ts +18 -3
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cornerstonejs/core",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.3",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/umd/index.js",
|
|
6
6
|
"types": "dist/esm/index.d.ts",
|
|
@@ -44,5 +44,5 @@
|
|
|
44
44
|
"type": "individual",
|
|
45
45
|
"url": "https://ohif.org/donate"
|
|
46
46
|
},
|
|
47
|
-
"gitHead": "
|
|
47
|
+
"gitHead": "41a6ff5abf9944db507ba2641b972fc5dd3e7a39"
|
|
48
48
|
}
|
|
@@ -51,6 +51,7 @@ import volumeNewImageEventDispatcher, {
|
|
|
51
51
|
import Viewport from './Viewport';
|
|
52
52
|
import type { vtkSlabCamera as vtkSlabCameraType } from './vtkClasses/vtkSlabCamera';
|
|
53
53
|
import vtkSlabCamera from './vtkClasses/vtkSlabCamera';
|
|
54
|
+
import transformWorldToIndex from '../utilities/transformWorldToIndex';
|
|
54
55
|
|
|
55
56
|
/**
|
|
56
57
|
* Abstract base class for volume viewports. VolumeViewports are used to render
|
|
@@ -1031,45 +1032,64 @@ abstract class BaseVolumeViewport extends Viewport implements IVolumeViewport {
|
|
|
1031
1032
|
);
|
|
1032
1033
|
}
|
|
1033
1034
|
}
|
|
1034
|
-
|
|
1035
1035
|
/**
|
|
1036
|
-
*
|
|
1036
|
+
* Gets the largest slab thickness from all actors in the viewport.
|
|
1037
|
+
*
|
|
1038
|
+
* @returns slabThickness - The slab thickness.
|
|
1037
1039
|
*/
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1040
|
+
public getSlabThickness(): number {
|
|
1041
|
+
const actors = this.getActors();
|
|
1042
|
+
let slabThickness = RENDERING_DEFAULTS.MINIMUM_SLAB_THICKNESS;
|
|
1043
|
+
actors.forEach((actor) => {
|
|
1044
|
+
if (actor.slabThickness > slabThickness) {
|
|
1045
|
+
slabThickness = actor.slabThickness;
|
|
1046
|
+
}
|
|
1047
|
+
});
|
|
1048
|
+
|
|
1049
|
+
return slabThickness;
|
|
1044
1050
|
}
|
|
1051
|
+
/**
|
|
1052
|
+
* Given a point in world coordinates, return the intensity at that point
|
|
1053
|
+
* @param point - The point in world coordinates to get the intensity
|
|
1054
|
+
* from.
|
|
1055
|
+
* @returns The intensity value of the voxel at the given point.
|
|
1056
|
+
*/
|
|
1057
|
+
public getIntensityFromWorld(point: Point3): number {
|
|
1058
|
+
const actorEntry = this.getDefaultActor();
|
|
1059
|
+
if (!actorIsA(actorEntry, 'vtkVolume')) {
|
|
1060
|
+
return;
|
|
1061
|
+
}
|
|
1045
1062
|
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
};
|
|
1063
|
+
const { actor, uid } = actorEntry;
|
|
1064
|
+
const imageData = actor.getMapper().getInputData();
|
|
1049
1065
|
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1066
|
+
const volume = cache.getVolume(uid);
|
|
1067
|
+
const { dimensions } = volume;
|
|
1068
|
+
|
|
1069
|
+
const index = transformWorldToIndex(imageData, point);
|
|
1070
|
+
|
|
1071
|
+
const voxelIndex =
|
|
1072
|
+
index[2] * dimensions[0] * dimensions[1] +
|
|
1073
|
+
index[1] * dimensions[0] +
|
|
1074
|
+
index[0];
|
|
1053
1075
|
|
|
1054
|
-
|
|
1055
|
-
throw new Error('Method not implemented.');
|
|
1076
|
+
return volume.getScalarData()[voxelIndex];
|
|
1056
1077
|
}
|
|
1057
1078
|
|
|
1058
|
-
|
|
1079
|
+
abstract getCurrentImageIdIndex(): number;
|
|
1080
|
+
|
|
1081
|
+
abstract getCurrentImageId(): string;
|
|
1082
|
+
|
|
1083
|
+
abstract setBlendMode(
|
|
1059
1084
|
blendMode: BlendModes,
|
|
1060
|
-
filterActorUIDs?: string
|
|
1085
|
+
filterActorUIDs?: Array<string>,
|
|
1061
1086
|
immediate?: boolean
|
|
1062
|
-
): void
|
|
1063
|
-
throw new Error('Method not implemented.');
|
|
1064
|
-
}
|
|
1087
|
+
): void;
|
|
1065
1088
|
|
|
1066
|
-
setSlabThickness(
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
getSlabThickness(): number {
|
|
1071
|
-
throw new Error('Method not implemented.');
|
|
1072
|
-
}
|
|
1089
|
+
abstract setSlabThickness(
|
|
1090
|
+
slabThickness: number,
|
|
1091
|
+
filterActorUIDs?: Array<string>
|
|
1092
|
+
): void;
|
|
1073
1093
|
}
|
|
1074
1094
|
|
|
1075
1095
|
export default BaseVolumeViewport;
|
|
@@ -13,7 +13,6 @@ import type {
|
|
|
13
13
|
} from '../types';
|
|
14
14
|
import type { ViewportInput } from '../types/IViewport';
|
|
15
15
|
import { actorIsA, getClosestImageId } from '../utilities';
|
|
16
|
-
import transformWorldToIndex from '../utilities/transformWorldToIndex';
|
|
17
16
|
import BaseVolumeViewport from './BaseVolumeViewport';
|
|
18
17
|
|
|
19
18
|
/**
|
|
@@ -182,34 +181,6 @@ class VolumeViewport extends BaseVolumeViewport {
|
|
|
182
181
|
this.resetCamera();
|
|
183
182
|
}
|
|
184
183
|
|
|
185
|
-
/**
|
|
186
|
-
* Given a point in world coordinates, return the intensity at that point
|
|
187
|
-
* @param point - The point in world coordinates to get the intensity
|
|
188
|
-
* from.
|
|
189
|
-
* @returns The intensity value of the voxel at the given point.
|
|
190
|
-
*/
|
|
191
|
-
public getIntensityFromWorld(point: Point3): number {
|
|
192
|
-
const actorEntry = this.getDefaultActor();
|
|
193
|
-
if (!actorIsA(actorEntry, 'vtkVolume')) {
|
|
194
|
-
return;
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
const { actor, uid } = actorEntry;
|
|
198
|
-
const imageData = actor.getMapper().getInputData();
|
|
199
|
-
|
|
200
|
-
const volume = cache.getVolume(uid);
|
|
201
|
-
const { dimensions } = volume;
|
|
202
|
-
|
|
203
|
-
const index = transformWorldToIndex(imageData, point);
|
|
204
|
-
|
|
205
|
-
const voxelIndex =
|
|
206
|
-
index[2] * dimensions[0] * dimensions[1] +
|
|
207
|
-
index[1] * dimensions[0] +
|
|
208
|
-
index[0];
|
|
209
|
-
|
|
210
|
-
return volume.getScalarData()[voxelIndex];
|
|
211
|
-
}
|
|
212
|
-
|
|
213
184
|
public setBlendMode(
|
|
214
185
|
blendMode: BlendModes,
|
|
215
186
|
filterActorUIDs = [],
|
|
@@ -294,7 +265,6 @@ class VolumeViewport extends BaseVolumeViewport {
|
|
|
294
265
|
* filterActorUIDs are provided, all actors will be affected.
|
|
295
266
|
*
|
|
296
267
|
* @param slabThickness - The slab thickness to set.
|
|
297
|
-
* @param blendMode - The blend mode to use when rendering the actors.
|
|
298
268
|
* @param filterActorUIDs - Optional argument to filter the actors to apply
|
|
299
269
|
* the slab thickness to (if not provided, all actors will be affected).
|
|
300
270
|
*/
|
|
@@ -318,23 +288,6 @@ class VolumeViewport extends BaseVolumeViewport {
|
|
|
318
288
|
this.triggerCameraModifiedEventIfNecessary(currentCamera, currentCamera);
|
|
319
289
|
}
|
|
320
290
|
|
|
321
|
-
/**
|
|
322
|
-
* Gets the largest slab thickness from all actors in the viewport.
|
|
323
|
-
*
|
|
324
|
-
* @returns slabThickness - The slab thickness.
|
|
325
|
-
*/
|
|
326
|
-
public getSlabThickness(): number {
|
|
327
|
-
const actors = this.getActors();
|
|
328
|
-
let slabThickness = RENDERING_DEFAULTS.MINIMUM_SLAB_THICKNESS;
|
|
329
|
-
actors.forEach((actor) => {
|
|
330
|
-
if (actor.slabThickness > slabThickness) {
|
|
331
|
-
slabThickness = actor.slabThickness;
|
|
332
|
-
}
|
|
333
|
-
});
|
|
334
|
-
|
|
335
|
-
return slabThickness;
|
|
336
|
-
}
|
|
337
|
-
|
|
338
291
|
/**
|
|
339
292
|
* Uses the origin and focalPoint to calculate the slice index.
|
|
340
293
|
* Todo: This only works if the imageIds are properly sorted
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { OrientationAxis } from '../enums';
|
|
1
|
+
import { BlendModes, OrientationAxis } from '../enums';
|
|
2
2
|
import type { ViewportInput } from '../types/IViewport';
|
|
3
3
|
import BaseVolumeViewport from './BaseVolumeViewport';
|
|
4
4
|
|
|
@@ -38,13 +38,28 @@ class VolumeViewport3D extends BaseVolumeViewport {
|
|
|
38
38
|
|
|
39
39
|
getRotation = (): number => 0;
|
|
40
40
|
|
|
41
|
-
|
|
41
|
+
getCurrentImageIdIndex = (): number | undefined => {
|
|
42
42
|
return undefined;
|
|
43
43
|
};
|
|
44
44
|
|
|
45
|
-
|
|
45
|
+
getCurrentImageId = (): string => {
|
|
46
46
|
return null;
|
|
47
47
|
};
|
|
48
|
+
|
|
49
|
+
setSlabThickness(
|
|
50
|
+
slabThickness: number,
|
|
51
|
+
filterActorUIDs?: Array<string>
|
|
52
|
+
): void {
|
|
53
|
+
return null;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
setBlendMode(
|
|
57
|
+
blendMode: BlendModes,
|
|
58
|
+
filterActorUIDs?: string[],
|
|
59
|
+
immediate?: boolean
|
|
60
|
+
): void {
|
|
61
|
+
return null;
|
|
62
|
+
}
|
|
48
63
|
}
|
|
49
64
|
|
|
50
65
|
export default VolumeViewport3D;
|