@cornerstonejs/core 4.14.6 → 4.15.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/esm/RenderingEngine/BaseVolumeViewport.js +1 -0
- package/dist/esm/cache/classes/BaseStreamingImageVolume.d.ts +4 -4
- package/dist/esm/cache/classes/BaseStreamingImageVolume.js +4 -4
- package/dist/esm/cache/classes/StreamingDynamicImageVolume.d.ts +2 -2
- package/dist/esm/index.d.ts +3 -1
- package/dist/esm/index.js +3 -1
- package/dist/esm/loaders/decimatedVolumeLoader.d.ts +14 -0
- package/dist/esm/loaders/decimatedVolumeLoader.js +110 -0
- package/dist/esm/loaders/decimatedVolumeModifiers/applyDecimatedVolumeModifiers.d.ts +3 -0
- package/dist/esm/loaders/decimatedVolumeModifiers/applyDecimatedVolumeModifiers.js +3 -0
- package/dist/esm/loaders/decimatedVolumeModifiers/inPlaneDecimationModifier.d.ts +2 -0
- package/dist/esm/loaders/decimatedVolumeModifiers/inPlaneDecimationModifier.js +36 -0
- package/dist/esm/loaders/decimatedVolumeModifiers/index.d.ts +4 -0
- package/dist/esm/loaders/decimatedVolumeModifiers/index.js +2 -0
- package/dist/esm/loaders/decimatedVolumeModifiers/types.d.ts +17 -0
- package/dist/esm/loaders/decimatedVolumeModifiers/types.js +0 -0
- package/dist/esm/loaders/index.d.ts +2 -1
- package/dist/esm/loaders/index.js +2 -1
- package/dist/esm/loaders/volumeLoader.d.ts +1 -0
- package/dist/esm/version.d.ts +1 -1
- package/dist/esm/version.js +1 -1
- package/package.json +2 -2
|
@@ -28,8 +28,8 @@ export declare class BaseStreamingImageVolume extends ImageVolume implements IIm
|
|
|
28
28
|
getLoaderImageOptions(imageId: string): {
|
|
29
29
|
targetBuffer: {
|
|
30
30
|
type: import("../../types").PixelDataTypedArrayString;
|
|
31
|
-
rows:
|
|
32
|
-
columns:
|
|
31
|
+
rows: number;
|
|
32
|
+
columns: number;
|
|
33
33
|
};
|
|
34
34
|
allowFloatRendering: boolean;
|
|
35
35
|
preScale: {
|
|
@@ -54,8 +54,8 @@ export declare class BaseStreamingImageVolume extends ImageVolume implements IIm
|
|
|
54
54
|
options: {
|
|
55
55
|
targetBuffer: {
|
|
56
56
|
type: import("../../types").PixelDataTypedArrayString;
|
|
57
|
-
rows:
|
|
58
|
-
columns:
|
|
57
|
+
rows: number;
|
|
58
|
+
columns: number;
|
|
59
59
|
};
|
|
60
60
|
allowFloatRendering: boolean;
|
|
61
61
|
preScale: {
|
|
@@ -196,8 +196,8 @@ export class BaseStreamingImageVolume extends ImageVolume {
|
|
|
196
196
|
}
|
|
197
197
|
getLoaderImageOptions(imageId) {
|
|
198
198
|
const { transferSyntaxUID: transferSyntaxUID } = metaData.get('transferSyntax', imageId) || {};
|
|
199
|
-
const
|
|
200
|
-
const
|
|
199
|
+
const targetRows = this.dimensions[1];
|
|
200
|
+
const targetCols = this.dimensions[0];
|
|
201
201
|
const imageIdIndex = this.getImageIdIndex(imageId);
|
|
202
202
|
const modalityLutModule = metaData.get('modalityLutModule', imageId) || {};
|
|
203
203
|
const generalSeriesModule = metaData.get('generalSeriesModule', imageId) || {};
|
|
@@ -230,8 +230,8 @@ export class BaseStreamingImageVolume extends ImageVolume {
|
|
|
230
230
|
}
|
|
231
231
|
const targetBuffer = {
|
|
232
232
|
type: this.dataType,
|
|
233
|
-
rows,
|
|
234
|
-
columns,
|
|
233
|
+
rows: targetRows,
|
|
234
|
+
columns: targetCols,
|
|
235
235
|
};
|
|
236
236
|
return {
|
|
237
237
|
targetBuffer,
|
|
@@ -27,8 +27,8 @@ export default class StreamingDynamicImageVolume extends BaseStreamingImageVolum
|
|
|
27
27
|
options: {
|
|
28
28
|
targetBuffer: {
|
|
29
29
|
type: import("../../types").PixelDataTypedArrayString;
|
|
30
|
-
rows:
|
|
31
|
-
columns:
|
|
30
|
+
rows: number;
|
|
31
|
+
columns: number;
|
|
32
32
|
};
|
|
33
33
|
allowFloatRendering: boolean;
|
|
34
34
|
preScale: {
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -27,6 +27,7 @@ import * as volumeLoader from './loaders/volumeLoader';
|
|
|
27
27
|
import * as imageLoader from './loaders/imageLoader';
|
|
28
28
|
import * as geometryLoader from './loaders/geometryLoader';
|
|
29
29
|
import ProgressiveRetrieveImages from './loaders/ProgressiveRetrieveImages';
|
|
30
|
+
import { decimatedVolumeLoader } from './loaders/decimatedVolumeLoader';
|
|
30
31
|
import type * as Types from './types';
|
|
31
32
|
import type { IRetrieveConfiguration, IImagesLoader, RetrieveOptions, RetrieveStage, ImageLoadListener } from './types';
|
|
32
33
|
import * as utilities from './utilities';
|
|
@@ -36,5 +37,6 @@ import { cornerstoneStreamingImageVolumeLoader } from './loaders/cornerstoneStre
|
|
|
36
37
|
import { cornerstoneStreamingDynamicImageVolumeLoader } from './loaders/cornerstoneStreamingDynamicImageVolumeLoader';
|
|
37
38
|
import { cornerstoneMeshLoader } from './loaders/cornerstoneMeshLoader';
|
|
38
39
|
import { setVolumesForViewports, addVolumesToViewports, addImageSlicesToViewports } from './RenderingEngine/helpers';
|
|
40
|
+
export * from './loaders/decimatedVolumeLoader';
|
|
39
41
|
export type { Types, IRetrieveConfiguration, RetrieveOptions, RetrieveStage, ImageLoadListener, IImagesLoader, };
|
|
40
|
-
export { init, isCornerstoneInitialized, peerImport, resetInitialization, getConfiguration, setConfiguration, getWebWorkerManager, canRenderFloatTextures, Enums, CONSTANTS, Events as EVENTS, Settings, BaseVolumeViewport, VolumeViewport, VolumeViewport3D, Viewport, StackViewport, VideoViewport, WSIViewport, RenderingEngine, BaseRenderingEngine, TiledRenderingEngine, ContextPoolRenderingEngine, ImageVolume, Surface, getRenderingEngine, getRenderingEngines, getEnabledElement, getEnabledElementByIds, getEnabledElements, getEnabledElementByViewportId, createVolumeActor, createVolumeMapper, cache, eventTarget, triggerEvent, imageLoader, registerImageLoader, volumeLoader, metaData, utilities, setVolumesForViewports, addVolumesToViewports, addImageSlicesToViewports, imageLoadPoolManager as requestPoolManager, imageRetrievalPoolManager, imageLoadPoolManager, getShouldUseCPURendering, setUseCPURendering, setPreferSizeOverAccuracy, resetUseCPURendering, geometryLoader, cornerstoneMeshLoader, ProgressiveRetrieveImages, cornerstoneStreamingImageVolumeLoader, cornerstoneStreamingDynamicImageVolumeLoader, StreamingDynamicImageVolume, StreamingImageVolume, convertMapperToNotSharedMapper, version, };
|
|
42
|
+
export { init, isCornerstoneInitialized, peerImport, resetInitialization, getConfiguration, setConfiguration, getWebWorkerManager, canRenderFloatTextures, Enums, CONSTANTS, Events as EVENTS, Settings, BaseVolumeViewport, VolumeViewport, VolumeViewport3D, Viewport, StackViewport, VideoViewport, WSIViewport, RenderingEngine, BaseRenderingEngine, TiledRenderingEngine, ContextPoolRenderingEngine, ImageVolume, Surface, getRenderingEngine, getRenderingEngines, getEnabledElement, getEnabledElementByIds, getEnabledElements, getEnabledElementByViewportId, createVolumeActor, createVolumeMapper, cache, eventTarget, triggerEvent, imageLoader, registerImageLoader, volumeLoader, metaData, utilities, setVolumesForViewports, addVolumesToViewports, addImageSlicesToViewports, imageLoadPoolManager as requestPoolManager, imageRetrievalPoolManager, imageLoadPoolManager, getShouldUseCPURendering, setUseCPURendering, setPreferSizeOverAccuracy, resetUseCPURendering, geometryLoader, cornerstoneMeshLoader, ProgressiveRetrieveImages, decimatedVolumeLoader, cornerstoneStreamingImageVolumeLoader, cornerstoneStreamingDynamicImageVolumeLoader, StreamingDynamicImageVolume, StreamingImageVolume, convertMapperToNotSharedMapper, version, };
|
package/dist/esm/index.js
CHANGED
|
@@ -27,6 +27,7 @@ import * as volumeLoader from './loaders/volumeLoader';
|
|
|
27
27
|
import * as imageLoader from './loaders/imageLoader';
|
|
28
28
|
import * as geometryLoader from './loaders/geometryLoader';
|
|
29
29
|
import ProgressiveRetrieveImages from './loaders/ProgressiveRetrieveImages';
|
|
30
|
+
import { decimatedVolumeLoader } from './loaders/decimatedVolumeLoader';
|
|
30
31
|
import * as utilities from './utilities';
|
|
31
32
|
import { registerImageLoader } from './loaders/imageLoader';
|
|
32
33
|
import triggerEvent from './utilities/triggerEvent';
|
|
@@ -34,4 +35,5 @@ import { cornerstoneStreamingImageVolumeLoader } from './loaders/cornerstoneStre
|
|
|
34
35
|
import { cornerstoneStreamingDynamicImageVolumeLoader } from './loaders/cornerstoneStreamingDynamicImageVolumeLoader';
|
|
35
36
|
import { cornerstoneMeshLoader } from './loaders/cornerstoneMeshLoader';
|
|
36
37
|
import { setVolumesForViewports, addVolumesToViewports, addImageSlicesToViewports, } from './RenderingEngine/helpers';
|
|
37
|
-
export
|
|
38
|
+
export * from './loaders/decimatedVolumeLoader';
|
|
39
|
+
export { init, isCornerstoneInitialized, peerImport, resetInitialization, getConfiguration, setConfiguration, getWebWorkerManager, canRenderFloatTextures, Enums, CONSTANTS, Events as EVENTS, Settings, BaseVolumeViewport, VolumeViewport, VolumeViewport3D, Viewport, StackViewport, VideoViewport, WSIViewport, RenderingEngine, BaseRenderingEngine, TiledRenderingEngine, ContextPoolRenderingEngine, ImageVolume, Surface, getRenderingEngine, getRenderingEngines, getEnabledElement, getEnabledElementByIds, getEnabledElements, getEnabledElementByViewportId, createVolumeActor, createVolumeMapper, cache, eventTarget, triggerEvent, imageLoader, registerImageLoader, volumeLoader, metaData, utilities, setVolumesForViewports, addVolumesToViewports, addImageSlicesToViewports, imageLoadPoolManager as requestPoolManager, imageRetrievalPoolManager, imageLoadPoolManager, getShouldUseCPURendering, setUseCPURendering, setPreferSizeOverAccuracy, resetUseCPURendering, geometryLoader, cornerstoneMeshLoader, ProgressiveRetrieveImages, decimatedVolumeLoader, cornerstoneStreamingImageVolumeLoader, cornerstoneStreamingDynamicImageVolumeLoader, StreamingDynamicImageVolume, StreamingImageVolume, convertMapperToNotSharedMapper, version, };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import StreamingImageVolume from '../cache/classes/StreamingImageVolume';
|
|
2
|
+
import type { IRetrieveConfiguration } from '../types';
|
|
3
|
+
import type { points } from './decimatedVolumeModifiers';
|
|
4
|
+
interface IVolumeLoader {
|
|
5
|
+
promise: Promise<StreamingImageVolume>;
|
|
6
|
+
cancel: () => void;
|
|
7
|
+
decache: () => void;
|
|
8
|
+
}
|
|
9
|
+
export declare function decimatedVolumeLoader(volumeId: string, options: {
|
|
10
|
+
imageIds: string[];
|
|
11
|
+
progressiveRendering?: boolean | IRetrieveConfiguration;
|
|
12
|
+
ijkDecimation?: points.points3;
|
|
13
|
+
}): IVolumeLoader;
|
|
14
|
+
export default decimatedVolumeLoader;
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import StreamingImageVolume from '../cache/classes/StreamingImageVolume';
|
|
2
|
+
import { generateVolumePropsFromImageIds } from '../utilities/generateVolumePropsFromImageIds';
|
|
3
|
+
import decimate from '../utilities/decimate';
|
|
4
|
+
import VoxelManager from '../utilities/VoxelManager';
|
|
5
|
+
import { applyDecimatedVolumeModifiers, inPlaneDecimationModifier, } from './decimatedVolumeModifiers';
|
|
6
|
+
export function decimatedVolumeLoader(volumeId, options) {
|
|
7
|
+
if (!options || !options.imageIds || !options.imageIds.length) {
|
|
8
|
+
throw new Error('ImageIds must be provided to create a streaming image volume ');
|
|
9
|
+
}
|
|
10
|
+
const [iDecimation = 1, jDecimation = iDecimation, kDecimation = 1] = options.ijkDecimation ?? [];
|
|
11
|
+
const columnDecimation = Math.max(1, Math.floor(iDecimation));
|
|
12
|
+
const rowDecimation = jDecimation > 1 ? Math.max(1, Math.floor(jDecimation)) : columnDecimation;
|
|
13
|
+
const kAxisDecimation = Math.max(1, Math.floor(kDecimation));
|
|
14
|
+
const hasInPlaneDecimation = columnDecimation > 1 || rowDecimation > 1;
|
|
15
|
+
const modifierOptions = {
|
|
16
|
+
ijkDecimation: [
|
|
17
|
+
columnDecimation,
|
|
18
|
+
rowDecimation,
|
|
19
|
+
kAxisDecimation,
|
|
20
|
+
],
|
|
21
|
+
};
|
|
22
|
+
const modifiers = [inPlaneDecimationModifier];
|
|
23
|
+
function addDecimationToImageId(imageId, factor) {
|
|
24
|
+
if (factor === 1) {
|
|
25
|
+
return imageId;
|
|
26
|
+
}
|
|
27
|
+
return `${imageId}#decimation=${factor}`;
|
|
28
|
+
}
|
|
29
|
+
const expectedDecimatedCount = Math.floor(options.imageIds.length / kAxisDecimation);
|
|
30
|
+
const isAlreadyDecimated = kAxisDecimation > 1 &&
|
|
31
|
+
options.imageIds.length <= expectedDecimatedCount + 1;
|
|
32
|
+
if (kAxisDecimation > 1 && !isAlreadyDecimated) {
|
|
33
|
+
const decimatedResult = decimate(options.imageIds, kAxisDecimation);
|
|
34
|
+
const decimatedImageIds = Array.isArray(decimatedResult) &&
|
|
35
|
+
decimatedResult.length &&
|
|
36
|
+
typeof decimatedResult[0] === 'number'
|
|
37
|
+
? decimatedResult.map((idx) => options.imageIds[idx])
|
|
38
|
+
: decimatedResult;
|
|
39
|
+
options.imageIds = decimatedImageIds;
|
|
40
|
+
}
|
|
41
|
+
if (columnDecimation > 1) {
|
|
42
|
+
options.imageIds = options.imageIds.map((imageId) => addDecimationToImageId(imageId, columnDecimation));
|
|
43
|
+
}
|
|
44
|
+
async function getStreamingImageVolume() {
|
|
45
|
+
const baseVolumeProps = generateVolumePropsFromImageIds(options.imageIds, volumeId);
|
|
46
|
+
const modifierContext = {
|
|
47
|
+
volumeId,
|
|
48
|
+
imageIds: options.imageIds,
|
|
49
|
+
options: modifierOptions,
|
|
50
|
+
};
|
|
51
|
+
const volumeProps = applyDecimatedVolumeModifiers(baseVolumeProps, modifiers, modifierContext);
|
|
52
|
+
const { dimensions, spacing, origin, direction, metadata, imageIds, dataType, numberOfComponents, } = volumeProps;
|
|
53
|
+
const streamingImageVolume = new StreamingImageVolume({
|
|
54
|
+
volumeId,
|
|
55
|
+
metadata,
|
|
56
|
+
dimensions,
|
|
57
|
+
spacing,
|
|
58
|
+
origin,
|
|
59
|
+
direction,
|
|
60
|
+
imageIds,
|
|
61
|
+
dataType,
|
|
62
|
+
numberOfComponents,
|
|
63
|
+
}, {
|
|
64
|
+
imageIds,
|
|
65
|
+
loadStatus: {
|
|
66
|
+
loaded: false,
|
|
67
|
+
loading: false,
|
|
68
|
+
cancelled: false,
|
|
69
|
+
cachedFrames: [],
|
|
70
|
+
callbacks: [],
|
|
71
|
+
},
|
|
72
|
+
});
|
|
73
|
+
if (hasInPlaneDecimation) {
|
|
74
|
+
const vtkImageData = streamingImageVolume.imageData;
|
|
75
|
+
if (vtkImageData) {
|
|
76
|
+
vtkImageData.setDimensions(streamingImageVolume.dimensions);
|
|
77
|
+
vtkImageData.setSpacing(streamingImageVolume.spacing);
|
|
78
|
+
vtkImageData.modified();
|
|
79
|
+
}
|
|
80
|
+
const newVoxelManager = VoxelManager.createImageVolumeVoxelManager({
|
|
81
|
+
dimensions: streamingImageVolume.dimensions,
|
|
82
|
+
imageIds: streamingImageVolume.imageIds,
|
|
83
|
+
numberOfComponents: numberOfComponents,
|
|
84
|
+
});
|
|
85
|
+
streamingImageVolume.voxelManager = newVoxelManager;
|
|
86
|
+
if (vtkImageData) {
|
|
87
|
+
vtkImageData.set({
|
|
88
|
+
voxelManager: newVoxelManager,
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
return streamingImageVolume;
|
|
93
|
+
}
|
|
94
|
+
const streamingImageVolumePromise = getStreamingImageVolume();
|
|
95
|
+
return {
|
|
96
|
+
promise: streamingImageVolumePromise,
|
|
97
|
+
decache: () => {
|
|
98
|
+
streamingImageVolumePromise.then((streamingImageVolume) => {
|
|
99
|
+
streamingImageVolume.destroy();
|
|
100
|
+
streamingImageVolume = null;
|
|
101
|
+
});
|
|
102
|
+
},
|
|
103
|
+
cancel: () => {
|
|
104
|
+
streamingImageVolumePromise.then((streamingImageVolume) => {
|
|
105
|
+
streamingImageVolume.cancelLoading();
|
|
106
|
+
});
|
|
107
|
+
},
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
export default decimatedVolumeLoader;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { ImageVolumeProps } from '../../types';
|
|
2
|
+
import type { DecimatedVolumeModifier, DecimatedVolumeModifierContext } from './types';
|
|
3
|
+
export declare function applyDecimatedVolumeModifiers(baseProps: ImageVolumeProps, modifiers: DecimatedVolumeModifier[], context: DecimatedVolumeModifierContext): ImageVolumeProps;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
export const inPlaneDecimationModifier = {
|
|
2
|
+
name: 'InPlaneDecimationModifier',
|
|
3
|
+
apply(volumeProps, context) {
|
|
4
|
+
const [iDecimation = 1, jDecimation = iDecimation] = context.options.ijkDecimation ?? [];
|
|
5
|
+
const columnFactor = Math.max(1, Math.floor(iDecimation));
|
|
6
|
+
const rowFactor = Math.max(1, Math.floor(jDecimation));
|
|
7
|
+
if (columnFactor === 1 && rowFactor === 1) {
|
|
8
|
+
return volumeProps;
|
|
9
|
+
}
|
|
10
|
+
const [columns, rows] = volumeProps.dimensions;
|
|
11
|
+
const newColumns = Math.max(1, Math.floor(columns / columnFactor));
|
|
12
|
+
const newRows = Math.max(1, Math.floor(rows / rowFactor));
|
|
13
|
+
const newDimensions = [
|
|
14
|
+
newColumns,
|
|
15
|
+
newRows,
|
|
16
|
+
volumeProps.dimensions[2],
|
|
17
|
+
];
|
|
18
|
+
const newSpacing = [
|
|
19
|
+
volumeProps.spacing[0] * columnFactor,
|
|
20
|
+
volumeProps.spacing[1] * rowFactor,
|
|
21
|
+
volumeProps.spacing[2],
|
|
22
|
+
];
|
|
23
|
+
const metadata = {
|
|
24
|
+
...volumeProps.metadata,
|
|
25
|
+
Columns: newColumns,
|
|
26
|
+
Rows: newRows,
|
|
27
|
+
PixelSpacing: [newSpacing[1], newSpacing[0]],
|
|
28
|
+
};
|
|
29
|
+
return {
|
|
30
|
+
...volumeProps,
|
|
31
|
+
dimensions: newDimensions,
|
|
32
|
+
spacing: newSpacing,
|
|
33
|
+
metadata,
|
|
34
|
+
};
|
|
35
|
+
},
|
|
36
|
+
};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { applyDecimatedVolumeModifiers } from './applyDecimatedVolumeModifiers';
|
|
2
|
+
export { inPlaneDecimationModifier } from './inPlaneDecimationModifier';
|
|
3
|
+
export type { DecimatedVolumeLoaderOptions, DecimatedVolumeModifier, DecimatedVolumeModifierContext, } from './types';
|
|
4
|
+
export type { points } from './types';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { ImageVolumeProps } from '../../types';
|
|
2
|
+
import type Point3 from '../../types/Point3';
|
|
3
|
+
export declare namespace points {
|
|
4
|
+
type points3 = Point3;
|
|
5
|
+
}
|
|
6
|
+
export interface DecimatedVolumeLoaderOptions {
|
|
7
|
+
ijkDecimation?: points.points3;
|
|
8
|
+
}
|
|
9
|
+
export interface DecimatedVolumeModifierContext {
|
|
10
|
+
volumeId: string;
|
|
11
|
+
imageIds: string[];
|
|
12
|
+
options: DecimatedVolumeLoaderOptions;
|
|
13
|
+
}
|
|
14
|
+
export interface DecimatedVolumeModifier {
|
|
15
|
+
name: string;
|
|
16
|
+
apply(volumeProps: ImageVolumeProps, context: DecimatedVolumeModifierContext): ImageVolumeProps;
|
|
17
|
+
}
|
|
File without changes
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { cornerstoneStreamingImageVolumeLoader } from './cornerstoneStreamingImageVolumeLoader';
|
|
2
2
|
import { cornerstoneStreamingDynamicImageVolumeLoader } from './cornerstoneStreamingDynamicImageVolumeLoader';
|
|
3
3
|
import { cornerstoneMeshLoader } from './cornerstoneMeshLoader';
|
|
4
|
+
import { decimatedVolumeLoader } from './decimatedVolumeLoader';
|
|
4
5
|
import * as geometryLoader from './geometryLoader';
|
|
5
6
|
import * as imageLoader from './imageLoader';
|
|
6
7
|
import * as volumeLoader from './volumeLoader';
|
|
7
|
-
export { cornerstoneStreamingImageVolumeLoader, cornerstoneStreamingDynamicImageVolumeLoader, cornerstoneMeshLoader, geometryLoader, imageLoader, volumeLoader, };
|
|
8
|
+
export { cornerstoneStreamingImageVolumeLoader, cornerstoneStreamingDynamicImageVolumeLoader, cornerstoneMeshLoader, decimatedVolumeLoader, geometryLoader, imageLoader, volumeLoader, };
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { cornerstoneStreamingImageVolumeLoader } from './cornerstoneStreamingImageVolumeLoader';
|
|
2
2
|
import { cornerstoneStreamingDynamicImageVolumeLoader } from './cornerstoneStreamingDynamicImageVolumeLoader';
|
|
3
3
|
import { cornerstoneMeshLoader } from './cornerstoneMeshLoader';
|
|
4
|
+
import { decimatedVolumeLoader } from './decimatedVolumeLoader';
|
|
4
5
|
import * as geometryLoader from './geometryLoader';
|
|
5
6
|
import * as imageLoader from './imageLoader';
|
|
6
7
|
import * as volumeLoader from './volumeLoader';
|
|
7
|
-
export { cornerstoneStreamingImageVolumeLoader, cornerstoneStreamingDynamicImageVolumeLoader, cornerstoneMeshLoader, geometryLoader, imageLoader, volumeLoader, };
|
|
8
|
+
export { cornerstoneStreamingImageVolumeLoader, cornerstoneStreamingDynamicImageVolumeLoader, cornerstoneMeshLoader, decimatedVolumeLoader, geometryLoader, imageLoader, volumeLoader, };
|
|
@@ -4,6 +4,7 @@ import type { Point3, Metadata, Mat3, IImageVolume, VolumeLoaderFn, PixelDataTyp
|
|
|
4
4
|
interface VolumeLoaderOptions {
|
|
5
5
|
imageIds: string[];
|
|
6
6
|
progressiveRendering?: boolean;
|
|
7
|
+
ijkDecimation?: [number, number, number];
|
|
7
8
|
}
|
|
8
9
|
interface DerivedVolumeOptions {
|
|
9
10
|
volumeId?: string;
|
package/dist/esm/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const version = "4.
|
|
1
|
+
export declare const version = "4.15.0";
|
package/dist/esm/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const version = '4.
|
|
1
|
+
export const version = '4.15.0';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cornerstonejs/core",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.15.0",
|
|
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": "e115fd3cf5e0fe7c0f1f216f3d1bda0d05e9ea14"
|
|
101
101
|
}
|