@cornerstonejs/core 1.36.3 → 1.37.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.
- package/dist/cjs/types/BoundsIJK.d.ts +3 -0
- package/dist/cjs/types/BoundsIJK.js +3 -0
- package/dist/cjs/types/BoundsIJK.js.map +1 -0
- package/dist/cjs/types/index.d.ts +2 -1
- package/dist/cjs/utilities/VoxelManager.d.ts +36 -0
- package/dist/cjs/utilities/VoxelManager.js +161 -0
- package/dist/cjs/utilities/VoxelManager.js.map +1 -0
- package/dist/cjs/utilities/index.d.ts +2 -1
- package/dist/cjs/utilities/index.js +3 -1
- package/dist/cjs/utilities/index.js.map +1 -1
- package/dist/esm/types/BoundsIJK.js +2 -0
- package/dist/esm/types/BoundsIJK.js.map +1 -0
- package/dist/esm/utilities/VoxelManager.js +157 -0
- package/dist/esm/utilities/VoxelManager.js.map +1 -0
- package/dist/esm/utilities/index.js +2 -1
- package/dist/esm/utilities/index.js.map +1 -1
- package/dist/types/types/BoundsIJK.d.ts +4 -0
- package/dist/types/types/BoundsIJK.d.ts.map +1 -0
- package/dist/types/types/index.d.ts +2 -1
- package/dist/types/types/index.d.ts.map +1 -1
- package/dist/types/utilities/VoxelManager.d.ts +37 -0
- package/dist/types/utilities/VoxelManager.d.ts.map +1 -0
- package/dist/types/utilities/index.d.ts +2 -1
- package/dist/types/utilities/index.d.ts.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/types/BoundsIJK.ts +5 -0
- package/src/types/index.ts +2 -0
- package/src/utilities/VoxelManager.ts +296 -0
- package/src/utilities/index.ts +2 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BoundsIJK.js","sourceRoot":"","sources":["../../../src/types/BoundsIJK.ts"],"names":[],"mappings":""}
|
|
@@ -76,4 +76,5 @@ import type { Color, ColorLUT } from './Color';
|
|
|
76
76
|
import type VideoViewportProperties from './VideoViewportProperties';
|
|
77
77
|
import type IVideoViewport from './IVideoViewport';
|
|
78
78
|
import type { InternalVideoCamera, VideoViewportInput } from './VideoViewportTypes';
|
|
79
|
-
|
|
79
|
+
import type BoundsIJK from './BoundsIJK';
|
|
80
|
+
export type { Cornerstone3DConfig, ICamera, IStackViewport, IVideoViewport, IVolumeViewport, IEnabledElement, ICache, IVolume, VolumeScalarData, IViewportId, IImageVolume, IDynamicImageVolume, IRenderingEngine, ScalingParameters, PTScaling, Scaling, IStreamingImageVolume, IImage, IImageData, IImageCalibration, CPUIImageData, CPUImageData, EventTypes, ImageLoaderFn, VolumeLoaderFn, IRegisterImageLoader, IStreamingVolumeProperties, IViewport, StackViewportProperties, VolumeViewportProperties, ViewportProperties, PublicViewportInput, VolumeActor, Actor, ActorEntry, ImageActor, IImageLoadObject, IVolumeLoadObject, IVolumeInput, VolumeInputCallback, IStackInput, StackInputCallback, ViewportPreset, Metadata, OrientationVectors, AABB2, Point2, Point3, Point4, Mat3, Plane, ViewportInputOptions, VideoViewportProperties, VOIRange, VOI, DisplayArea, FlipDirection, ICachedImage, ICachedVolume, CPUFallbackEnabledElement, CPUFallbackViewport, CPUFallbackTransform, CPUFallbackColormapData, CPUFallbackViewportDisplayedArea, CPUFallbackColormapsData, CPUFallbackColormap, TransformMatrix2D, CPUFallbackLookupTable, CPUFallbackLUT, CPUFallbackRenderingTools, CustomEventType, ActorSliceRange, ImageSliceData, IGeometry, IGeometryLoadObject, ICachedGeometry, PublicContourSetData, ContourSetData, ContourData, IContourSet, IContour, PublicSurfaceData, SurfaceData, RGB, ColormapPublic, ColormapRegistration, PixelDataTypedArray, PixelDataTypedArrayString, ImagePixelModule, ImagePlaneModule, AffineMatrix, ImageLoadListener, InternalVideoCamera, VideoViewportInput, BoundsIJK, Color, ColorLUT, };
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { BoundsIJK, Point3, VolumeScalarData } from '../types';
|
|
2
|
+
export default class VoxelManager<T> {
|
|
3
|
+
modifiedSlices: Set<number>;
|
|
4
|
+
boundsIJK: BoundsIJK;
|
|
5
|
+
scalarData: VolumeScalarData;
|
|
6
|
+
map: Map<number, T>;
|
|
7
|
+
sourceVoxelManager: VoxelManager<T>;
|
|
8
|
+
isInObject: (pointIPS: any, pointIJK: any) => boolean;
|
|
9
|
+
readonly dimensions: Point3;
|
|
10
|
+
points: Set<number>;
|
|
11
|
+
width: number;
|
|
12
|
+
frameSize: number;
|
|
13
|
+
_get: (index: number) => T;
|
|
14
|
+
_set: (index: number, v: T) => boolean | void;
|
|
15
|
+
constructor(dimensions: any, _get: (index: number) => T, _set?: (index: number, v: T) => boolean | void);
|
|
16
|
+
getAtIJK: (i: any, j: any, k: any) => T;
|
|
17
|
+
setAtIJK: (i: number, j: number, k: number, v: any) => void;
|
|
18
|
+
addPoint(point: Point3 | number): void;
|
|
19
|
+
getPoints(): Point3[];
|
|
20
|
+
getPointIndices(): number[];
|
|
21
|
+
getAtIJKPoint: ([i, j, k]: [any, any, any]) => T;
|
|
22
|
+
setAtIJKPoint: ([i, j, k]: [any, any, any], v: any) => void;
|
|
23
|
+
getAtIndex: (index: any) => T;
|
|
24
|
+
setAtIndex: (index: any, v: any) => void;
|
|
25
|
+
toIJK(index: number): Point3;
|
|
26
|
+
toIndex(ijk: Point3): number;
|
|
27
|
+
getBoundsIJK(): BoundsIJK;
|
|
28
|
+
forEach: (callback: any, options?: any) => void;
|
|
29
|
+
clear(): void;
|
|
30
|
+
getArrayOfSlices(): number[];
|
|
31
|
+
static addBounds(bounds: BoundsIJK, point: Point3): void;
|
|
32
|
+
static createVolumeVoxelManager(dimensions: Point3, scalarData: any): VoxelManager<number>;
|
|
33
|
+
static createMapVoxelManager<T>(dimension: Point3): VoxelManager<T>;
|
|
34
|
+
static createHistoryVoxelManager<T>(sourceVoxelManager: VoxelManager<T>): VoxelManager<T>;
|
|
35
|
+
}
|
|
36
|
+
export type { VoxelManager };
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
class VoxelManager {
|
|
4
|
+
constructor(dimensions, _get, _set) {
|
|
5
|
+
this.modifiedSlices = new Set();
|
|
6
|
+
this.boundsIJK = [
|
|
7
|
+
[Infinity, -Infinity],
|
|
8
|
+
[Infinity, -Infinity],
|
|
9
|
+
[Infinity, -Infinity],
|
|
10
|
+
];
|
|
11
|
+
this.getAtIJK = (i, j, k) => {
|
|
12
|
+
const index = i + j * this.width + k * this.frameSize;
|
|
13
|
+
return this._get(index);
|
|
14
|
+
};
|
|
15
|
+
this.setAtIJK = (i, j, k, v) => {
|
|
16
|
+
const index = i + j * this.width + k * this.frameSize;
|
|
17
|
+
if (this._set(index, v) !== false) {
|
|
18
|
+
this.modifiedSlices.add(k);
|
|
19
|
+
VoxelManager.addBounds(this.boundsIJK, [i, j, k]);
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
this.getAtIJKPoint = ([i, j, k]) => this.getAtIJK(i, j, k);
|
|
23
|
+
this.setAtIJKPoint = ([i, j, k], v) => this.setAtIJK(i, j, k, v);
|
|
24
|
+
this.getAtIndex = (index) => this._get(index);
|
|
25
|
+
this.setAtIndex = (index, v) => {
|
|
26
|
+
if (this._set(index, v) !== false) {
|
|
27
|
+
const pointIJK = this.toIJK(index);
|
|
28
|
+
this.modifiedSlices.add(pointIJK[2]);
|
|
29
|
+
VoxelManager.addBounds(this.boundsIJK, pointIJK);
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
this.forEach = (callback, options) => {
|
|
33
|
+
const boundsIJK = (options === null || options === void 0 ? void 0 : options.boundsIJK) || this.getBoundsIJK();
|
|
34
|
+
const { isWithinObject } = options || {};
|
|
35
|
+
if (this.map) {
|
|
36
|
+
for (const index of this.map.keys()) {
|
|
37
|
+
const pointIJK = this.toIJK(index);
|
|
38
|
+
const value = this._get(index);
|
|
39
|
+
const callbackArguments = { value, index, pointIJK };
|
|
40
|
+
if ((isWithinObject === null || isWithinObject === void 0 ? void 0 : isWithinObject(callbackArguments)) === false) {
|
|
41
|
+
continue;
|
|
42
|
+
}
|
|
43
|
+
callback(callbackArguments);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
for (let k = boundsIJK[2][0]; k <= boundsIJK[2][1]; k++) {
|
|
48
|
+
const kIndex = k * this.frameSize;
|
|
49
|
+
for (let j = boundsIJK[1][0]; j <= boundsIJK[1][1]; j++) {
|
|
50
|
+
const jIndex = kIndex + j * this.width;
|
|
51
|
+
for (let i = boundsIJK[0][0], index = jIndex + i; i <= boundsIJK[0][1]; i++, index++) {
|
|
52
|
+
const value = this.getAtIndex(index);
|
|
53
|
+
const callbackArguments = { value, index, pointIJK: [i, j, k] };
|
|
54
|
+
if ((isWithinObject === null || isWithinObject === void 0 ? void 0 : isWithinObject(callbackArguments)) === false) {
|
|
55
|
+
continue;
|
|
56
|
+
}
|
|
57
|
+
callback(callbackArguments);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
this.dimensions = dimensions;
|
|
64
|
+
this.width = dimensions[0];
|
|
65
|
+
this.frameSize = this.width * dimensions[1];
|
|
66
|
+
this._get = _get;
|
|
67
|
+
this._set = _set;
|
|
68
|
+
}
|
|
69
|
+
addPoint(point) {
|
|
70
|
+
const index = Array.isArray(point)
|
|
71
|
+
? point[0] + this.width * point[1] + this.frameSize * point[2]
|
|
72
|
+
: point;
|
|
73
|
+
if (!this.points) {
|
|
74
|
+
this.points = new Set();
|
|
75
|
+
}
|
|
76
|
+
this.points.add(index);
|
|
77
|
+
}
|
|
78
|
+
getPoints() {
|
|
79
|
+
return this.points
|
|
80
|
+
? [...this.points].map((index) => this.toIJK(index))
|
|
81
|
+
: [];
|
|
82
|
+
}
|
|
83
|
+
getPointIndices() {
|
|
84
|
+
return this.points ? [...this.points] : [];
|
|
85
|
+
}
|
|
86
|
+
toIJK(index) {
|
|
87
|
+
return [
|
|
88
|
+
index % this.width,
|
|
89
|
+
Math.floor((index % this.frameSize) / this.width),
|
|
90
|
+
Math.floor(index / this.frameSize),
|
|
91
|
+
];
|
|
92
|
+
}
|
|
93
|
+
toIndex(ijk) {
|
|
94
|
+
return ijk[0] + ijk[1] * this.width + ijk[2] * this.frameSize;
|
|
95
|
+
}
|
|
96
|
+
getBoundsIJK() {
|
|
97
|
+
if (this.boundsIJK[0][0] < this.dimensions[0]) {
|
|
98
|
+
return this.boundsIJK;
|
|
99
|
+
}
|
|
100
|
+
return this.dimensions.map((dimension) => [0, dimension - 1]);
|
|
101
|
+
}
|
|
102
|
+
clear() {
|
|
103
|
+
var _a;
|
|
104
|
+
if (this.map) {
|
|
105
|
+
this.map.clear();
|
|
106
|
+
}
|
|
107
|
+
this.boundsIJK.map((bound) => {
|
|
108
|
+
bound[0] = Infinity;
|
|
109
|
+
bound[1] = -Infinity;
|
|
110
|
+
});
|
|
111
|
+
this.modifiedSlices.clear();
|
|
112
|
+
(_a = this.points) === null || _a === void 0 ? void 0 : _a.clear();
|
|
113
|
+
}
|
|
114
|
+
getArrayOfSlices() {
|
|
115
|
+
return Array.from(this.modifiedSlices);
|
|
116
|
+
}
|
|
117
|
+
static addBounds(bounds, point) {
|
|
118
|
+
bounds.forEach((bound, index) => {
|
|
119
|
+
bound[0] = Math.min(point[index], bound[0]);
|
|
120
|
+
bound[1] = Math.max(point[index], bound[1]);
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
static createVolumeVoxelManager(dimensions, scalarData) {
|
|
124
|
+
const voxels = new VoxelManager(dimensions, (index) => scalarData[index], (index, v) => {
|
|
125
|
+
const isChanged = scalarData[index] !== v;
|
|
126
|
+
scalarData[index] = v;
|
|
127
|
+
return isChanged;
|
|
128
|
+
});
|
|
129
|
+
voxels.scalarData = scalarData;
|
|
130
|
+
return voxels;
|
|
131
|
+
}
|
|
132
|
+
static createMapVoxelManager(dimension) {
|
|
133
|
+
const map = new Map();
|
|
134
|
+
const voxelManager = new VoxelManager(dimension, map.get.bind(map), (index, v) => map.set(index, v) && true);
|
|
135
|
+
voxelManager.map = map;
|
|
136
|
+
return voxelManager;
|
|
137
|
+
}
|
|
138
|
+
static createHistoryVoxelManager(sourceVoxelManager) {
|
|
139
|
+
const map = new Map();
|
|
140
|
+
const { dimensions } = sourceVoxelManager;
|
|
141
|
+
const voxelManager = new VoxelManager(dimensions, (index) => map.get(index), function (index, v) {
|
|
142
|
+
if (!map.has(index)) {
|
|
143
|
+
const oldV = this.sourceVoxelManager.getAtIndex(index);
|
|
144
|
+
if (oldV === v) {
|
|
145
|
+
return false;
|
|
146
|
+
}
|
|
147
|
+
map.set(index, oldV);
|
|
148
|
+
}
|
|
149
|
+
else if (v === map.get(index)) {
|
|
150
|
+
map.delete(index);
|
|
151
|
+
}
|
|
152
|
+
this.sourceVoxelManager.setAtIndex(index, v);
|
|
153
|
+
});
|
|
154
|
+
voxelManager.map = map;
|
|
155
|
+
voxelManager.scalarData = sourceVoxelManager.scalarData;
|
|
156
|
+
voxelManager.sourceVoxelManager = sourceVoxelManager;
|
|
157
|
+
return voxelManager;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
exports.default = VoxelManager;
|
|
161
|
+
//# sourceMappingURL=VoxelManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VoxelManager.js","sourceRoot":"","sources":["../../../src/utilities/VoxelManager.ts"],"names":[],"mappings":";;AAKA,MAAqB,YAAY;IA4B/B,YACE,UAAU,EACV,IAA0B,EAC1B,IAA8C;QA9BzC,mBAAc,GAAG,IAAI,GAAG,EAAU,CAAC;QACnC,cAAS,GAAG;YACjB,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC;YACrB,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC;YACrB,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC;SACT,CAAC;QAqCR,aAAQ,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;YAC5B,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;YACtD,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC,CAAC;QAMK,aAAQ,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,CAAC,EAAE,EAAE;YACvD,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;YACtD,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,KAAK,EAAE;gBACjC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC3B,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;aACnD;QACH,CAAC,CAAC;QAoCK,kBAAa,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAOtD,kBAAa,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAK5D,eAAU,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAKzC,eAAU,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;YAC/B,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,KAAK,EAAE;gBACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACnC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;gBACrC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;aAClD;QACH,CAAC,CAAC;QAiCK,YAAO,GAAG,CAAC,QAAQ,EAAE,OAAQ,EAAE,EAAE;YACtC,MAAM,SAAS,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,KAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YAC5D,MAAM,EAAE,cAAc,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;YACzC,IAAI,IAAI,CAAC,GAAG,EAAE;gBAEZ,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE;oBACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBACnC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC/B,MAAM,iBAAiB,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;oBACrD,IAAI,CAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAG,iBAAiB,CAAC,MAAK,KAAK,EAAE;wBACjD,SAAS;qBACV;oBACD,QAAQ,CAAC,iBAAiB,CAAC,CAAC;iBAC7B;aACF;iBAAM;gBACL,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;oBACvD,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;oBAClC,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;wBACvD,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;wBACvC,KACE,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,CAAC,EAC3C,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACpB,CAAC,EAAE,EAAE,KAAK,EAAE,EACZ;4BACA,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;4BACrC,MAAM,iBAAiB,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;4BAChE,IAAI,CAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAG,iBAAiB,CAAC,MAAK,KAAK,EAAE;gCACjD,SAAS;6BACV;4BACD,QAAQ,CAAC,iBAAiB,CAAC,CAAC;yBAC7B;qBACF;iBACF;aACF;QACH,CAAC,CAAC;QAvJA,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAC5C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IA2BM,QAAQ,CAAC,KAAsB;QACpC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAChC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC;YAC9D,CAAC,CAAC,KAAK,CAAC;QACV,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;SACjC;QACD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAKM,SAAS;QACd,OAAO,IAAI,CAAC,MAAM;YAChB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACpD,CAAC,CAAC,EAAE,CAAC;IACT,CAAC;IAKM,eAAe;QACpB,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7C,CAAC;IAiCM,KAAK,CAAC,KAAa;QACxB,OAAO;YACL,KAAK,GAAG,IAAI,CAAC,KAAK;YAClB,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;YACjD,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC;SACnC,CAAC;IACJ,CAAC;IAKM,OAAO,CAAC,GAAW;QACxB,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;IAChE,CAAC;IAKM,YAAY;QACjB,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;YAC7C,OAAO,IAAI,CAAC,SAAS,CAAC;SACvB;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,CAAc,CAAC;IAC7E,CAAC;IA6CM,KAAK;;QACV,IAAI,IAAI,CAAC,GAAG,EAAE;YACZ,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;SAClB;QACD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YAC3B,KAAK,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC;YACpB,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC;QACvB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAC5B,MAAA,IAAI,CAAC,MAAM,0CAAE,KAAK,EAAE,CAAC;IACvB,CAAC;IAKM,gBAAgB;QACrB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACzC,CAAC;IAKM,MAAM,CAAC,SAAS,CAAC,MAAiB,EAAE,KAAa;QACtD,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAC9B,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5C,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;IACL,CAAC;IAMM,MAAM,CAAC,wBAAwB,CACpC,UAAkB,EAClB,UAAU;QAEV,MAAM,MAAM,GAAG,IAAI,YAAY,CAC7B,UAAU,EACV,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAC5B,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;YACX,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC1C,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACtB,OAAO,SAAS,CAAC;QACnB,CAAC,CACF,CAAC;QACF,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;QAC/B,OAAO,MAAM,CAAC;IAChB,CAAC;IAOM,MAAM,CAAC,qBAAqB,CAAI,SAAiB;QACtD,MAAM,GAAG,GAAG,IAAI,GAAG,EAAa,CAAC;QACjC,MAAM,YAAY,GAAG,IAAI,YAAY,CACnC,SAAS,EACT,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EACjB,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,IAAI,CACxC,CAAC;QACF,YAAY,CAAC,GAAG,GAAG,GAAG,CAAC;QACvB,OAAO,YAAY,CAAC;IACtB,CAAC;IAOM,MAAM,CAAC,yBAAyB,CACrC,kBAAmC;QAEnC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAa,CAAC;QACjC,MAAM,EAAE,UAAU,EAAE,GAAG,kBAAkB,CAAC;QAC1C,MAAM,YAAY,GAAG,IAAI,YAAY,CACnC,UAAU,EACV,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EACzB,UAAU,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;gBACnB,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBACvD,IAAI,IAAI,KAAK,CAAC,EAAE;oBAEd,OAAO,KAAK,CAAC;iBACd;gBACD,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;aACtB;iBAAM,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;gBAC/B,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;aACnB;YACD,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC/C,CAAC,CACF,CAAC;QACF,YAAY,CAAC,GAAG,GAAG,GAAG,CAAC;QACvB,YAAY,CAAC,UAAU,GAAG,kBAAkB,CAAC,UAAU,CAAC;QACxD,YAAY,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;QACrD,OAAO,YAAY,CAAC;IACtB,CAAC;CACF;AAhSD,+BAgSC"}
|
|
@@ -59,8 +59,9 @@ import decimate from './decimate';
|
|
|
59
59
|
import imageRetrieveMetadataProvider from './imageRetrieveMetadataProvider';
|
|
60
60
|
import isVideoTransferSyntax from './isVideoTransferSyntax';
|
|
61
61
|
import { getBufferConfiguration } from './getBufferConfiguration';
|
|
62
|
+
import VoxelManager from './VoxelManager';
|
|
62
63
|
import * as planar from './planar';
|
|
63
64
|
import * as windowLevel from './windowLevel';
|
|
64
65
|
import * as colormap from './colormap';
|
|
65
66
|
import * as transferFunctionUtils from './transferFunctionUtils';
|
|
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, };
|
|
67
|
+
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, VoxelManager, };
|
|
@@ -27,7 +27,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
29
|
exports.applyPreset = exports.hasNaNValues = exports.getViewportImageCornersInWorld = exports.spatialRegistrationMetadataProvider = exports.calculateViewportsSpatialRegistration = exports.getClosestStackImageIndexForPoint = exports.getViewportsWithImageURI = exports.actorIsA = exports.isPTPrescaledWithSUV = exports.isImageActor = exports.getImageSliceDataForVolumeViewport = exports.snapFocalPointToSlice = exports.getSliceRange = exports.getVolumeViewportScrollInfo = exports.getVolumeSliceRangeInfo = exports.imageToWorldCoords = exports.worldToImageCoords = exports.renderToCanvasGPU = exports.renderToCanvasCPU = exports.loadImageToCanvas = exports.transformWorldToIndex = exports.getViewportsWithVolumeId = exports.getVolumeViewportsContainingSameVolumes = exports.indexWithinDimensions = exports.getVolumeActorCorners = exports.getTargetVolumeAndSpacingInNormalDir = exports.getSpacingInNormalDirection = exports.getClosestImageId = exports.windowLevel = exports.getViewportModality = exports.createInt16SharedArray = exports.createUint16SharedArray = exports.createUint8SharedArray = exports.createFloat32SharedArray = exports.isOpposite = exports.isEqual = exports.getRuntimeId = exports.getMinMax = exports.planar = exports.uuidv4 = exports.clamp = exports.calibratedPixelSpacingMetadataProvider = exports.imageIdToURI = exports.triggerEvent = exports.scaleRgbTransferFunction = exports.createLinearRGBTransferFunction = exports.getVoiFromSigmoidRGBTransferFunction = exports.createSigmoidRGBTransferFunction = exports.invertRgbTransferFunction = exports.eventListener = void 0;
|
|
30
|
-
exports.getBufferConfiguration = exports.isVideoTransferSyntax = exports.genericMetadataProvider = exports.isValidVolume = exports.makeVolumeMetadata = exports.sortImageIdsAndGetSpacing = exports.updateVTKImageDataWithCornerstoneImage = exports.transferFunctionUtils = exports.imageRetrieveMetadataProvider = exports.decimate = exports.ProgressiveIterator = exports.getImageLegacy = exports.colormap = exports.getScalarDataType = exports.getScalingParameters = exports.deepMerge = void 0;
|
|
30
|
+
exports.VoxelManager = exports.getBufferConfiguration = exports.isVideoTransferSyntax = exports.genericMetadataProvider = exports.isValidVolume = exports.makeVolumeMetadata = exports.sortImageIdsAndGetSpacing = exports.updateVTKImageDataWithCornerstoneImage = exports.transferFunctionUtils = exports.imageRetrieveMetadataProvider = exports.decimate = exports.ProgressiveIterator = exports.getImageLegacy = exports.colormap = exports.getScalarDataType = exports.getScalingParameters = exports.deepMerge = void 0;
|
|
31
31
|
const eventListener = __importStar(require("./eventListener"));
|
|
32
32
|
exports.eventListener = eventListener;
|
|
33
33
|
const invertRgbTransferFunction_1 = __importDefault(require("./invertRgbTransferFunction"));
|
|
@@ -151,6 +151,8 @@ const isVideoTransferSyntax_1 = __importDefault(require("./isVideoTransferSyntax
|
|
|
151
151
|
exports.isVideoTransferSyntax = isVideoTransferSyntax_1.default;
|
|
152
152
|
const getBufferConfiguration_1 = require("./getBufferConfiguration");
|
|
153
153
|
Object.defineProperty(exports, "getBufferConfiguration", { enumerable: true, get: function () { return getBufferConfiguration_1.getBufferConfiguration; } });
|
|
154
|
+
const VoxelManager_1 = __importDefault(require("./VoxelManager"));
|
|
155
|
+
exports.VoxelManager = VoxelManager_1.default;
|
|
154
156
|
const planar = __importStar(require("./planar"));
|
|
155
157
|
exports.planar = planar;
|
|
156
158
|
const windowLevel = __importStar(require("./windowLevel"));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utilities/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+DAAiD;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utilities/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BoundsIJK.js","sourceRoot":"","sources":["../../../src/types/BoundsIJK.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
export default class VoxelManager {
|
|
2
|
+
constructor(dimensions, _get, _set) {
|
|
3
|
+
this.modifiedSlices = new Set();
|
|
4
|
+
this.boundsIJK = [
|
|
5
|
+
[Infinity, -Infinity],
|
|
6
|
+
[Infinity, -Infinity],
|
|
7
|
+
[Infinity, -Infinity],
|
|
8
|
+
];
|
|
9
|
+
this.getAtIJK = (i, j, k) => {
|
|
10
|
+
const index = i + j * this.width + k * this.frameSize;
|
|
11
|
+
return this._get(index);
|
|
12
|
+
};
|
|
13
|
+
this.setAtIJK = (i, j, k, v) => {
|
|
14
|
+
const index = i + j * this.width + k * this.frameSize;
|
|
15
|
+
if (this._set(index, v) !== false) {
|
|
16
|
+
this.modifiedSlices.add(k);
|
|
17
|
+
VoxelManager.addBounds(this.boundsIJK, [i, j, k]);
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
this.getAtIJKPoint = ([i, j, k]) => this.getAtIJK(i, j, k);
|
|
21
|
+
this.setAtIJKPoint = ([i, j, k], v) => this.setAtIJK(i, j, k, v);
|
|
22
|
+
this.getAtIndex = (index) => this._get(index);
|
|
23
|
+
this.setAtIndex = (index, v) => {
|
|
24
|
+
if (this._set(index, v) !== false) {
|
|
25
|
+
const pointIJK = this.toIJK(index);
|
|
26
|
+
this.modifiedSlices.add(pointIJK[2]);
|
|
27
|
+
VoxelManager.addBounds(this.boundsIJK, pointIJK);
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
this.forEach = (callback, options) => {
|
|
31
|
+
const boundsIJK = options?.boundsIJK || this.getBoundsIJK();
|
|
32
|
+
const { isWithinObject } = options || {};
|
|
33
|
+
if (this.map) {
|
|
34
|
+
for (const index of this.map.keys()) {
|
|
35
|
+
const pointIJK = this.toIJK(index);
|
|
36
|
+
const value = this._get(index);
|
|
37
|
+
const callbackArguments = { value, index, pointIJK };
|
|
38
|
+
if (isWithinObject?.(callbackArguments) === false) {
|
|
39
|
+
continue;
|
|
40
|
+
}
|
|
41
|
+
callback(callbackArguments);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
for (let k = boundsIJK[2][0]; k <= boundsIJK[2][1]; k++) {
|
|
46
|
+
const kIndex = k * this.frameSize;
|
|
47
|
+
for (let j = boundsIJK[1][0]; j <= boundsIJK[1][1]; j++) {
|
|
48
|
+
const jIndex = kIndex + j * this.width;
|
|
49
|
+
for (let i = boundsIJK[0][0], index = jIndex + i; i <= boundsIJK[0][1]; i++, index++) {
|
|
50
|
+
const value = this.getAtIndex(index);
|
|
51
|
+
const callbackArguments = { value, index, pointIJK: [i, j, k] };
|
|
52
|
+
if (isWithinObject?.(callbackArguments) === false) {
|
|
53
|
+
continue;
|
|
54
|
+
}
|
|
55
|
+
callback(callbackArguments);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
this.dimensions = dimensions;
|
|
62
|
+
this.width = dimensions[0];
|
|
63
|
+
this.frameSize = this.width * dimensions[1];
|
|
64
|
+
this._get = _get;
|
|
65
|
+
this._set = _set;
|
|
66
|
+
}
|
|
67
|
+
addPoint(point) {
|
|
68
|
+
const index = Array.isArray(point)
|
|
69
|
+
? point[0] + this.width * point[1] + this.frameSize * point[2]
|
|
70
|
+
: point;
|
|
71
|
+
if (!this.points) {
|
|
72
|
+
this.points = new Set();
|
|
73
|
+
}
|
|
74
|
+
this.points.add(index);
|
|
75
|
+
}
|
|
76
|
+
getPoints() {
|
|
77
|
+
return this.points
|
|
78
|
+
? [...this.points].map((index) => this.toIJK(index))
|
|
79
|
+
: [];
|
|
80
|
+
}
|
|
81
|
+
getPointIndices() {
|
|
82
|
+
return this.points ? [...this.points] : [];
|
|
83
|
+
}
|
|
84
|
+
toIJK(index) {
|
|
85
|
+
return [
|
|
86
|
+
index % this.width,
|
|
87
|
+
Math.floor((index % this.frameSize) / this.width),
|
|
88
|
+
Math.floor(index / this.frameSize),
|
|
89
|
+
];
|
|
90
|
+
}
|
|
91
|
+
toIndex(ijk) {
|
|
92
|
+
return ijk[0] + ijk[1] * this.width + ijk[2] * this.frameSize;
|
|
93
|
+
}
|
|
94
|
+
getBoundsIJK() {
|
|
95
|
+
if (this.boundsIJK[0][0] < this.dimensions[0]) {
|
|
96
|
+
return this.boundsIJK;
|
|
97
|
+
}
|
|
98
|
+
return this.dimensions.map((dimension) => [0, dimension - 1]);
|
|
99
|
+
}
|
|
100
|
+
clear() {
|
|
101
|
+
if (this.map) {
|
|
102
|
+
this.map.clear();
|
|
103
|
+
}
|
|
104
|
+
this.boundsIJK.map((bound) => {
|
|
105
|
+
bound[0] = Infinity;
|
|
106
|
+
bound[1] = -Infinity;
|
|
107
|
+
});
|
|
108
|
+
this.modifiedSlices.clear();
|
|
109
|
+
this.points?.clear();
|
|
110
|
+
}
|
|
111
|
+
getArrayOfSlices() {
|
|
112
|
+
return Array.from(this.modifiedSlices);
|
|
113
|
+
}
|
|
114
|
+
static addBounds(bounds, point) {
|
|
115
|
+
bounds.forEach((bound, index) => {
|
|
116
|
+
bound[0] = Math.min(point[index], bound[0]);
|
|
117
|
+
bound[1] = Math.max(point[index], bound[1]);
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
static createVolumeVoxelManager(dimensions, scalarData) {
|
|
121
|
+
const voxels = new VoxelManager(dimensions, (index) => scalarData[index], (index, v) => {
|
|
122
|
+
const isChanged = scalarData[index] !== v;
|
|
123
|
+
scalarData[index] = v;
|
|
124
|
+
return isChanged;
|
|
125
|
+
});
|
|
126
|
+
voxels.scalarData = scalarData;
|
|
127
|
+
return voxels;
|
|
128
|
+
}
|
|
129
|
+
static createMapVoxelManager(dimension) {
|
|
130
|
+
const map = new Map();
|
|
131
|
+
const voxelManager = new VoxelManager(dimension, map.get.bind(map), (index, v) => map.set(index, v) && true);
|
|
132
|
+
voxelManager.map = map;
|
|
133
|
+
return voxelManager;
|
|
134
|
+
}
|
|
135
|
+
static createHistoryVoxelManager(sourceVoxelManager) {
|
|
136
|
+
const map = new Map();
|
|
137
|
+
const { dimensions } = sourceVoxelManager;
|
|
138
|
+
const voxelManager = new VoxelManager(dimensions, (index) => map.get(index), function (index, v) {
|
|
139
|
+
if (!map.has(index)) {
|
|
140
|
+
const oldV = this.sourceVoxelManager.getAtIndex(index);
|
|
141
|
+
if (oldV === v) {
|
|
142
|
+
return false;
|
|
143
|
+
}
|
|
144
|
+
map.set(index, oldV);
|
|
145
|
+
}
|
|
146
|
+
else if (v === map.get(index)) {
|
|
147
|
+
map.delete(index);
|
|
148
|
+
}
|
|
149
|
+
this.sourceVoxelManager.setAtIndex(index, v);
|
|
150
|
+
});
|
|
151
|
+
voxelManager.map = map;
|
|
152
|
+
voxelManager.scalarData = sourceVoxelManager.scalarData;
|
|
153
|
+
voxelManager.sourceVoxelManager = sourceVoxelManager;
|
|
154
|
+
return voxelManager;
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
//# sourceMappingURL=VoxelManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VoxelManager.js","sourceRoot":"","sources":["../../../src/utilities/VoxelManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -59,9 +59,10 @@ import decimate from './decimate';
|
|
|
59
59
|
import imageRetrieveMetadataProvider from './imageRetrieveMetadataProvider';
|
|
60
60
|
import isVideoTransferSyntax from './isVideoTransferSyntax';
|
|
61
61
|
import { getBufferConfiguration } from './getBufferConfiguration';
|
|
62
|
+
import VoxelManager from './VoxelManager';
|
|
62
63
|
import * as planar from './planar';
|
|
63
64
|
import * as windowLevel from './windowLevel';
|
|
64
65
|
import * as colormap from './colormap';
|
|
65
66
|
import * as transferFunctionUtils from './transferFunctionUtils';
|
|
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, };
|
|
67
|
+
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, VoxelManager, };
|
|
67
68
|
//# 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 @@
|
|
|
1
|
+
{"version":3,"file":"BoundsIJK.d.ts","sourceRoot":"","sources":["../../../src/types/BoundsIJK.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AAEnC,aAAK,SAAS,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAE1C,eAAe,SAAS,CAAC"}
|
|
@@ -76,5 +76,6 @@ import type { Color, ColorLUT } from './Color';
|
|
|
76
76
|
import type VideoViewportProperties from './VideoViewportProperties';
|
|
77
77
|
import type IVideoViewport from './IVideoViewport';
|
|
78
78
|
import type { InternalVideoCamera, VideoViewportInput } from './VideoViewportTypes';
|
|
79
|
-
|
|
79
|
+
import type BoundsIJK from './BoundsIJK';
|
|
80
|
+
export type { Cornerstone3DConfig, ICamera, IStackViewport, IVideoViewport, IVolumeViewport, IEnabledElement, ICache, IVolume, VolumeScalarData, IViewportId, IImageVolume, IDynamicImageVolume, IRenderingEngine, ScalingParameters, PTScaling, Scaling, IStreamingImageVolume, IImage, IImageData, IImageCalibration, CPUIImageData, CPUImageData, EventTypes, ImageLoaderFn, VolumeLoaderFn, IRegisterImageLoader, IStreamingVolumeProperties, IViewport, StackViewportProperties, VolumeViewportProperties, ViewportProperties, PublicViewportInput, VolumeActor, Actor, ActorEntry, ImageActor, IImageLoadObject, IVolumeLoadObject, IVolumeInput, VolumeInputCallback, IStackInput, StackInputCallback, ViewportPreset, Metadata, OrientationVectors, AABB2, Point2, Point3, Point4, Mat3, Plane, ViewportInputOptions, VideoViewportProperties, VOIRange, VOI, DisplayArea, FlipDirection, ICachedImage, ICachedVolume, CPUFallbackEnabledElement, CPUFallbackViewport, CPUFallbackTransform, CPUFallbackColormapData, CPUFallbackViewportDisplayedArea, CPUFallbackColormapsData, CPUFallbackColormap, TransformMatrix2D, CPUFallbackLookupTable, CPUFallbackLUT, CPUFallbackRenderingTools, CustomEventType, ActorSliceRange, ImageSliceData, IGeometry, IGeometryLoadObject, ICachedGeometry, PublicContourSetData, ContourSetData, ContourData, IContourSet, IContour, PublicSurfaceData, SurfaceData, RGB, ColormapPublic, ColormapRegistration, PixelDataTypedArray, PixelDataTypedArrayString, ImagePixelModule, ImagePlaneModule, AffineMatrix, ImageLoadListener, InternalVideoCamera, VideoViewportInput, BoundsIJK, Color, ColorLUT, };
|
|
80
81
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { BoundsIJK, Point3, VolumeScalarData } from '../types';
|
|
2
|
+
export default class VoxelManager<T> {
|
|
3
|
+
modifiedSlices: Set<number>;
|
|
4
|
+
boundsIJK: BoundsIJK;
|
|
5
|
+
scalarData: VolumeScalarData;
|
|
6
|
+
map: Map<number, T>;
|
|
7
|
+
sourceVoxelManager: VoxelManager<T>;
|
|
8
|
+
isInObject: (pointIPS: any, pointIJK: any) => boolean;
|
|
9
|
+
readonly dimensions: Point3;
|
|
10
|
+
points: Set<number>;
|
|
11
|
+
width: number;
|
|
12
|
+
frameSize: number;
|
|
13
|
+
_get: (index: number) => T;
|
|
14
|
+
_set: (index: number, v: T) => boolean | void;
|
|
15
|
+
constructor(dimensions: any, _get: (index: number) => T, _set?: (index: number, v: T) => boolean | void);
|
|
16
|
+
getAtIJK: (i: any, j: any, k: any) => T;
|
|
17
|
+
setAtIJK: (i: number, j: number, k: number, v: any) => void;
|
|
18
|
+
addPoint(point: Point3 | number): void;
|
|
19
|
+
getPoints(): Point3[];
|
|
20
|
+
getPointIndices(): number[];
|
|
21
|
+
getAtIJKPoint: ([i, j, k]: [any, any, any]) => T;
|
|
22
|
+
setAtIJKPoint: ([i, j, k]: [any, any, any], v: any) => void;
|
|
23
|
+
getAtIndex: (index: any) => T;
|
|
24
|
+
setAtIndex: (index: any, v: any) => void;
|
|
25
|
+
toIJK(index: number): Point3;
|
|
26
|
+
toIndex(ijk: Point3): number;
|
|
27
|
+
getBoundsIJK(): BoundsIJK;
|
|
28
|
+
forEach: (callback: any, options?: any) => void;
|
|
29
|
+
clear(): void;
|
|
30
|
+
getArrayOfSlices(): number[];
|
|
31
|
+
static addBounds(bounds: BoundsIJK, point: Point3): void;
|
|
32
|
+
static createVolumeVoxelManager(dimensions: Point3, scalarData: any): VoxelManager<number>;
|
|
33
|
+
static createMapVoxelManager<T>(dimension: Point3): VoxelManager<T>;
|
|
34
|
+
static createHistoryVoxelManager<T>(sourceVoxelManager: VoxelManager<T>): VoxelManager<T>;
|
|
35
|
+
}
|
|
36
|
+
export type { VoxelManager };
|
|
37
|
+
//# sourceMappingURL=VoxelManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VoxelManager.d.ts","sourceRoot":"","sources":["../../../src/utilities/VoxelManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAKpE,MAAM,CAAC,OAAO,OAAO,YAAY,CAAC,CAAC;IAC1B,cAAc,cAAqB;IACnC,SAAS,YAID;IAGR,UAAU,EAAE,gBAAgB,CAAC;IAC7B,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACpB,kBAAkB,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IACpC,UAAU,EAAE,CAAC,QAAQ,KAAA,EAAE,QAAQ,KAAA,KAAK,OAAO,CAAC;IACnD,SAAgB,UAAU,EAAE,MAAM,CAAC;IAEnC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,CAAC,CAAC;IAC3B,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,KAAK,OAAO,GAAG,IAAI,CAAC;gBAU5C,UAAU,KAAA,EACV,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,CAAC,EAC1B,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,KAAK,OAAO,GAAG,IAAI;IAYzC,QAAQ,gCAGb;IAMK,QAAQ,MAAO,MAAM,KAAK,MAAM,KAAK,MAAM,kBAMhD;IAOK,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAa/B,SAAS,IAAI,MAAM,EAAE;IASrB,eAAe,IAAI,MAAM,EAAE;IAO3B,aAAa,oCAAyC;IAOtD,aAAa,+CAA+C;IAK5D,UAAU,oBAA+B;IAKzC,UAAU,+BAMf;IAKK,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAW5B,OAAO,CAAC,GAAG,EAAE,MAAM;IAOnB,YAAY,IAAI,SAAS;IAUzB,OAAO,yCAkCZ;IAMK,KAAK;IAeL,gBAAgB,IAAI,MAAM,EAAE;WAOrB,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM;WAW1C,wBAAwB,CACpC,UAAU,EAAE,MAAM,EAClB,UAAU,KAAA,GACT,YAAY,CAAC,MAAM,CAAC;WAmBT,qBAAqB,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC;WAgB5D,yBAAyB,CAAC,CAAC,EACvC,kBAAkB,EAAE,YAAY,CAAC,CAAC,CAAC,GAClC,YAAY,CAAC,CAAC,CAAC;CAyBnB;AAED,YAAY,EAAE,YAAY,EAAE,CAAC"}
|