larvitar 4.0.0-alpha.13 → 4.0.0-alpha.15
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/imaging/tools/default.d.ts +3 -26
- package/dist/imaging/tools/types.d.ts +24 -0
- package/dist/imaging3d/imageRendering.d.ts +9 -1
- package/dist/imaging3d/tools/main.d.ts +19 -3
- package/dist/imaging3d/types.d.ts +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/larvitar.js +179 -44
- package/package.json +1 -1
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @desc This file provides definitions
|
|
3
3
|
* for default tools
|
|
4
4
|
*/
|
|
5
|
-
import type { CursorOptions, ToolConfig, ToolMouseKeys, ToolSettings, ToolStyle } from "./types";
|
|
5
|
+
import type { CursorOptions, ToolConfig, ToolMouseKeys, ToolSettings, ToolStyle, ToolStyle3D } from "./types";
|
|
6
6
|
declare const DEFAULT_TOOLS_3D: {
|
|
7
7
|
[key: string]: ToolConfig;
|
|
8
8
|
};
|
|
@@ -41,30 +41,7 @@ declare const dvToolsMPR: {
|
|
|
41
41
|
* Arial, Lucida Grande, sans-serif;
|
|
42
42
|
*/
|
|
43
43
|
declare const DEFAULT_STYLE: ToolStyle;
|
|
44
|
-
declare const DEFAULT_STYLE_3D:
|
|
45
|
-
global: {
|
|
46
|
-
angleArcLineDash: string;
|
|
47
|
-
color: string;
|
|
48
|
-
colorHighlighted: string;
|
|
49
|
-
colorLocked: string;
|
|
50
|
-
colorSelected: string;
|
|
51
|
-
lineDash: string;
|
|
52
|
-
lineWidth: string;
|
|
53
|
-
markerSize: string;
|
|
54
|
-
shadow: boolean;
|
|
55
|
-
textBoxBackground: string;
|
|
56
|
-
textBoxColor: string;
|
|
57
|
-
textBoxColorHighlighted: string;
|
|
58
|
-
textBoxColorLocked: string;
|
|
59
|
-
textBoxColorSelected: string;
|
|
60
|
-
textBoxFontFamily: string;
|
|
61
|
-
textBoxFontSize: string;
|
|
62
|
-
textBoxLinkLineDash: string;
|
|
63
|
-
textBoxLinkLineWidth: string;
|
|
64
|
-
textBoxShadow: boolean;
|
|
65
|
-
textBoxVisibility: boolean;
|
|
66
|
-
};
|
|
67
|
-
};
|
|
44
|
+
declare const DEFAULT_STYLE_3D: ToolStyle3D;
|
|
68
45
|
/**
|
|
69
46
|
* Tools default settings
|
|
70
47
|
*/
|
|
@@ -114,5 +91,5 @@ declare const registerExternalTool: (toolName: string, toolClass: any, toolVersi
|
|
|
114
91
|
}
|
|
115
92
|
};
|
|
116
93
|
*/
|
|
117
|
-
export declare const registerCursor: (toolName: string, iconContent: string,
|
|
94
|
+
export declare const registerCursor: (toolName: string, iconContent: string, viewBox?: CursorOptions) => void;
|
|
118
95
|
export { DEFAULT_TOOLS, DEFAULT_TOOLS_3D, DEFAULT_TOOLS_MPR, DEFAULT_STYLE, DEFAULT_STYLE_3D, DEFAULT_SETTINGS, DEFAULT_MOUSE_KEYS, dvTools, dvTools3D, dvToolsMPR, getDefaultToolsByType, setDefaultToolsProps, registerExternalTool };
|
|
@@ -24,6 +24,30 @@ export type ToolConfig = {
|
|
|
24
24
|
currentMode?: string;
|
|
25
25
|
offset?: number;
|
|
26
26
|
};
|
|
27
|
+
export type ToolStyle3D = {
|
|
28
|
+
global: {
|
|
29
|
+
angleArcLineDash: string;
|
|
30
|
+
color: string;
|
|
31
|
+
colorHighlighted: string;
|
|
32
|
+
colorLocked: string;
|
|
33
|
+
colorSelected: string;
|
|
34
|
+
lineDash: string;
|
|
35
|
+
lineWidth: string;
|
|
36
|
+
markerSize: string;
|
|
37
|
+
shadow: boolean;
|
|
38
|
+
textBoxBackground: string;
|
|
39
|
+
textBoxColor: string;
|
|
40
|
+
textBoxColorHighlighted: string;
|
|
41
|
+
textBoxColorLocked: string;
|
|
42
|
+
textBoxColorSelected: string;
|
|
43
|
+
textBoxFontFamily: string;
|
|
44
|
+
textBoxFontSize: string;
|
|
45
|
+
textBoxLinkLineDash: string;
|
|
46
|
+
textBoxLinkLineWidth: string;
|
|
47
|
+
textBoxShadow: boolean;
|
|
48
|
+
textBoxVisibility: boolean;
|
|
49
|
+
};
|
|
50
|
+
};
|
|
27
51
|
export type ToolStyle = {
|
|
28
52
|
width: number;
|
|
29
53
|
color: string;
|
|
@@ -62,7 +62,7 @@ export declare const loadAndCacheVolume: (series: Series) => Promise<cornerstone
|
|
|
62
62
|
* @returns
|
|
63
63
|
*/
|
|
64
64
|
export declare const setVolumeForRenderingEngine: (volumeId: string, renderingEngineId: string) => void;
|
|
65
|
-
export declare const renderMpr: (series: Series, renderingEngineId: string, options?: RenderProps) => Promise<
|
|
65
|
+
export declare const renderMpr: (series: Series, renderingEngineId: string, options?: RenderProps) => Promise<cornerstone.RenderingEngine>;
|
|
66
66
|
/**
|
|
67
67
|
* Unload a MPR rendering engine
|
|
68
68
|
* @instance
|
|
@@ -79,3 +79,11 @@ export declare const unloadMpr: (renderingEngineId: string) => void;
|
|
|
79
79
|
* @returns {void}
|
|
80
80
|
*/
|
|
81
81
|
export declare const resizeRenderingEngine: (renderingEngineId: string) => void;
|
|
82
|
+
/**
|
|
83
|
+
* Reset viewport values (contrast, pan and zoom)
|
|
84
|
+
* @instance
|
|
85
|
+
* @function resetViewports
|
|
86
|
+
* @param {Array} elementIds - The array of hmtl div ids
|
|
87
|
+
* @param {Array} keys - The array of viewport sections to resets (default is all)
|
|
88
|
+
*/
|
|
89
|
+
export declare const resetViewports: (elementIds: string[], keys?: Array<"contrast" | "pan" | "zoom">) => void;
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import * as cornerstone from "@cornerstonejs/core";
|
|
6
6
|
import * as cornerstoneTools from "@cornerstonejs/tools";
|
|
7
|
-
import type { ToolConfig, ToolSettings,
|
|
7
|
+
import type { ToolConfig, ToolSettings, ToolStyle3D } from "../../imaging/tools/types";
|
|
8
8
|
import type { RenderingEngine } from "@cornerstonejs/core";
|
|
9
9
|
/**
|
|
10
10
|
* Initialize cornerstone tools with default configuration (extended with custom configuration)
|
|
@@ -13,13 +13,13 @@ import type { RenderingEngine } from "@cornerstonejs/core";
|
|
|
13
13
|
* @param {ToolStyle} style - the style object (see tools/default.js)
|
|
14
14
|
* @example larvitar.initializeCSTools({showSVGCursors:false}, {color: "0000FF"});
|
|
15
15
|
*/
|
|
16
|
-
export declare const initializeCSTools: (settings?: ToolSettings, style?:
|
|
16
|
+
export declare const initializeCSTools: (settings?: ToolSettings, style?: ToolStyle3D) => Promise<void>;
|
|
17
17
|
/**
|
|
18
18
|
* Set cornerstone tools custom configuration (extend default configuration)
|
|
19
19
|
* @function setToolsStyle
|
|
20
20
|
* @param {Object} style - the style object (see tools/defaults.js)
|
|
21
21
|
*/
|
|
22
|
-
export declare const setToolsStyle: (style?:
|
|
22
|
+
export declare const setToolsStyle: (style?: ToolStyle3D) => void;
|
|
23
23
|
/**
|
|
24
24
|
* Add a cornerstone 3D tool (grab it from original library or dvision custom 3D or MPR tools)
|
|
25
25
|
* @param {String} toolName
|
|
@@ -57,6 +57,22 @@ export declare const setToolDisabled: (toolName: string, groupId?: string, reset
|
|
|
57
57
|
* @param sourceViewportId - the id of the source viewport from where the camera position will be taken
|
|
58
58
|
*/
|
|
59
59
|
export declare const syncViewportsCamera: (id: string | undefined, targetViewportId: string, sourceViewportId: string) => void;
|
|
60
|
+
/**
|
|
61
|
+
* @function syncViewportsVOI
|
|
62
|
+
* @desc Synchronizes the contrast of two (volume) viewports
|
|
63
|
+
* @param id - unique id for the synchronizer @default "default"
|
|
64
|
+
* @param targetViewportId - the id of the target viewport where the camera will be synced
|
|
65
|
+
* @param sourceViewportId - the id of the source viewport from where the camera position will be taken
|
|
66
|
+
*/
|
|
67
|
+
export declare const syncViewportsVOI: (id: string | undefined, targetViewportId: string, sourceViewportId: string) => void;
|
|
68
|
+
/**
|
|
69
|
+
* @function syncViewports
|
|
70
|
+
* @desc Synchronizes the camera position and contrast of two (volume) viewports
|
|
71
|
+
* @param id - unique id for the synchronizer @default "default"
|
|
72
|
+
* @param targetViewportId - the id of the target viewport where the camera will be synced
|
|
73
|
+
* @param sourceViewportId - the id of the source viewport from where the camera position will be taken
|
|
74
|
+
*/
|
|
75
|
+
export declare const syncViewports: (id: string | undefined, targetViewportId: string, sourceViewportId: string) => void;
|
|
60
76
|
/**
|
|
61
77
|
* Create a tool group and add the specified viewports and tools to it.
|
|
62
78
|
* @function createToolGroup
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Enums } from "@cornerstonejs/core";
|
|
2
2
|
export type { Types, VolumeViewport, StackViewport, BaseVolumeViewport } from "@cornerstonejs/core";
|
|
3
|
-
export type { IEnabledElement, Point2, Point3 } from "@cornerstonejs/core/dist/esm/types";
|
|
3
|
+
export type { IEnabledElement, Point2, Point3, ICamera } from "@cornerstonejs/core/dist/esm/types";
|
|
4
4
|
export type { Annotation, CanvasCoordinates, EventTypes, InteractionTypes, PublicToolProps, SVGDrawingHelper, TextBoxHandle, ToolHandle, ToolProps } from "@cornerstonejs/tools/dist/esm/types";
|
|
5
5
|
export type { Handles } from "@cornerstonejs/tools/dist/esm/types/AnnotationTypes";
|
|
6
6
|
export type { ROICachedStats } from "@cornerstonejs/tools/dist/esm/types/ToolSpecificAnnotationTypes";
|
package/dist/index.d.ts
CHANGED
|
@@ -45,7 +45,7 @@ import { registerStreamingImageVolume as _registerStreamingImageVolume } from ".
|
|
|
45
45
|
import { loadAndCacheMetadata as _loadAndCacheMetadata } from "./imaging3d/imageLoading";
|
|
46
46
|
import { readFiles as _readFiles } from "./imaging3d/imageParsing";
|
|
47
47
|
import { convertMetadata as _convertMetadata } from "./imaging3d/imageParsing";
|
|
48
|
-
import { renderImage as _renderImage } from "./imaging3d/imageRendering";
|
|
48
|
+
import { renderImage as _renderImage, resetViewports as _resetViewports } from "./imaging3d/imageRendering";
|
|
49
49
|
import { initializeRenderingEngine as _initializeRenderingEngine } from "./imaging3d/imageRendering";
|
|
50
50
|
import { destroyRenderingEngine as _destroyRenderingEngine } from "./imaging3d/imageRendering";
|
|
51
51
|
import { initializeVolumeViewports as _initializeVolumeViewports } from "./imaging3d/imageRendering";
|
|
@@ -55,10 +55,10 @@ import { resizeRenderingEngine as _resizeRenderingEngine } from "./imaging3d/ima
|
|
|
55
55
|
import { renderMpr as _renderMpr } from "./imaging3d/imageRendering";
|
|
56
56
|
import { prefetchMetadataInformation as _prefetchMetadataInformation } from "./imaging3d/multiframe";
|
|
57
57
|
import { convertMultiframeImageIds as _convertMultiframeImageIds } from "./imaging3d/multiframe";
|
|
58
|
-
import { addDefaultTools as _addDefaultTools, initializeCSTools as _initializeCSTools, addTool as _addTool, setToolActive as _setToolActive, setToolPassive as _setToolPassive, setToolEnabled as _setToolEnabled, setToolDisabled as _setToolDisabled, syncViewportsCamera as _syncViewportsCamera, createToolGroup as _createToolGroup, destroyToolGroup as _destroyToolGroup, setSlab as _setSlab, setWWWL as _setWWWL } from "./imaging3d/tools/main";
|
|
58
|
+
import { addDefaultTools as _addDefaultTools, initializeCSTools as _initializeCSTools, addTool as _addTool, setToolActive as _setToolActive, setToolPassive as _setToolPassive, setToolEnabled as _setToolEnabled, setToolDisabled as _setToolDisabled, syncViewportsCamera as _syncViewportsCamera, syncViewportsVOI as _syncViewportsVOI, syncViewports as _syncViewports, createToolGroup as _createToolGroup, destroyToolGroup as _destroyToolGroup, setSlab as _setSlab, setWWWL as _setWWWL } from "./imaging3d/tools/main";
|
|
59
59
|
import _CustomWWWLTool from "./imaging3d/tools/custom/exampleCustomTool";
|
|
60
60
|
import { updateImageManager, populateImageManager, getImageManager, resetImageManager, removeDataFromImageManager, getDataFromImageManager, getSopInstanceUIDFromImageManager, getImageTracker, populateGSPSManager, getGSPSManager, resetGSPSManager, getFileManager, resetFileManager, populateFileManager, getDataFromFileManager } from "./imaging/imageManagers";
|
|
61
|
-
export { _cornerstone, _cornerstoneDICOMImageLoader, _cornerstoneTools, _initializeCSTools, _initializeImageLoader, _readFiles, _renderImage, _renderMpr, _initializeRenderingEngine, _destroyRenderingEngine, _resizeRenderingEngine, _initializeVolumeViewports, _loadAndCacheVolume, _setVolumeForRenderingEngine, _registerStreamingImageVolume, _convertMetadata, _loadAndCacheMetadata, _prefetchMetadataInformation, _convertMultiframeImageIds, _addDefaultTools, _addTool, _setToolActive, _setToolPassive, _setToolEnabled, _setToolDisabled, _syncViewportsCamera, _createToolGroup, _destroyToolGroup, _setWWWL, _setSlab, _CustomWWWLTool, VERSION, cornerstone, cornerstoneTools, parseDicom, cornerstoneFileImageLoader, segModule, cornerstoneDICOMImageLoader, checkAndClearMemory, checkMemoryAllocation, getUsedMemory, getAvailableMemory, getPerformanceMonitor, activatePerformanceMonitor, deactivatePerformanceMonitor, store, parseECG, renderECG, unrenderECG, syncECGFrame, updateECGMarker, updateECGTotalTime, getDefaultECGLayout, getImagePresets, setImagePreset, setImageCustomPreset, getNormalOrientation, getMinPixelValue, getMaxPixelValue, getPixelRepresentation, getTypedArrayFromDataType, getSortedStack, randomId, getMeanValue, getReslicedMetadata, getReslicedPixeldata, getDistanceBetweenSlices, getImageMetadata, buildHeader, getCachedPixelData, buildData, buildDataAsync, importNRRDImage, exportImageToBase64, exportImageToBase64OriginalSizes, anonymize, customizeByteArray, buildLayer, updateLayer, getActiveLayer, setActiveLayer, initializeImageLoader, initializeWebImageLoader, initializeFileImageLoader, registerNRRDImageLoader, registerResliceLoader, registerMultiFrameImageLoader, registerSingleFrameImageLoader, registerDsaImageLoader, updateLoadedStack, reset, readFile, readFiles, parseDataSet, clearImageParsing, convertQidoMetadata, clearImageCache, clearStandardImageCache, clearDSAImageCache, loadAndCacheImages, renderFileImage, renderDICOMPDF, renderWebImage, disableViewport, unloadViewport, resizeViewport, renderImage, redrawImage, resetViewports, updateViewportData, toggleMouseToolsListeners, storeViewportData, invertImage, flipImageHorizontal, flipImageVertical, rotateImageLeft, rotateImageRight, updateImageManager, populateImageManager, getImageManager, resetImageManager, removeDataFromImageManager, getDataFromImageManager, getSopInstanceUIDFromImageManager, getImageTracker, populateGSPSManager, getGSPSManager, resetGSPSManager, populateFileManager, getFileManager, resetFileManager, getDataFromFileManager, resliceSeries, getColormapsList, applyColorMap, addColorMap, fillPixelData, HSVToRGB, parseContours, getImageFrame, buildNrrdImage, getNrrdImageId, loadNrrdImage, getImageIdFromSlice, getSliceNumberFromImageId, getNrrdSerieDimensions, loadReslicedImage, getDicomImageId, cacheImage, cacheImages, loadAndCacheImageStack, loadAndCacheDsaImageStack, loadMultiFrameImage, buildMultiFrameImage, getMultiFrameImageId, clearMultiFrameCache, setSingleFrameCache, clearSingleFrameCache, loadSingleFrameImage, populateDsaImageIds, resetFileLoader, getFileCustomImageId, applyDSAShift, addDiameterTool, addContoursTool, addMaskEditingTool, getCurrentMaskData, addStackStateToElement, addSeedsTool, clearMeasurements, getToolState, clearToolStateByName, updateDiameterTool, addToolStateSingleSlice, clearCornerstoneElements, syncToolStack, updateStackToolState, setSegmentationConfig, csToolsUpdateStack, initializeCSTools, setToolsStyle, addDefaultTools, addTool, setToolActive, setToolDisabled, setToolEnabled, setToolPassive, DEFAULT_TOOLS, dvTools, getDefaultToolsByType, setDefaultToolsProps, registerExternalTool, registerCursor, addMouseKeyHandlers, removeMouseKeyHandlers, initSegmentationModule, addSegmentationMask, setActiveLabelmap, setActiveSegment, undoLastStroke, redoLastStroke, setBrushProps, hexToRgb, rgbToHex, clearSegmentationState, deleteMask, enableBrushTool, disableBrushTool, toggleContourMode, toggleVisibility, getActiveLabelmapBuffer, updateTemporalViewportData, logger, setLogLevel };
|
|
61
|
+
export { _cornerstone, _cornerstoneDICOMImageLoader, _cornerstoneTools, _initializeCSTools, _initializeImageLoader, _readFiles, _renderImage, _resetViewports, _renderMpr, _initializeRenderingEngine, _destroyRenderingEngine, _resizeRenderingEngine, _initializeVolumeViewports, _loadAndCacheVolume, _setVolumeForRenderingEngine, _registerStreamingImageVolume, _convertMetadata, _loadAndCacheMetadata, _prefetchMetadataInformation, _convertMultiframeImageIds, _addDefaultTools, _addTool, _setToolActive, _setToolPassive, _setToolEnabled, _setToolDisabled, _syncViewportsCamera, _syncViewportsVOI, _syncViewports, _createToolGroup, _destroyToolGroup, _setWWWL, _setSlab, _CustomWWWLTool, VERSION, cornerstone, cornerstoneTools, parseDicom, cornerstoneFileImageLoader, segModule, cornerstoneDICOMImageLoader, checkAndClearMemory, checkMemoryAllocation, getUsedMemory, getAvailableMemory, getPerformanceMonitor, activatePerformanceMonitor, deactivatePerformanceMonitor, store, parseECG, renderECG, unrenderECG, syncECGFrame, updateECGMarker, updateECGTotalTime, getDefaultECGLayout, getImagePresets, setImagePreset, setImageCustomPreset, getNormalOrientation, getMinPixelValue, getMaxPixelValue, getPixelRepresentation, getTypedArrayFromDataType, getSortedStack, randomId, getMeanValue, getReslicedMetadata, getReslicedPixeldata, getDistanceBetweenSlices, getImageMetadata, buildHeader, getCachedPixelData, buildData, buildDataAsync, importNRRDImage, exportImageToBase64, exportImageToBase64OriginalSizes, anonymize, customizeByteArray, buildLayer, updateLayer, getActiveLayer, setActiveLayer, initializeImageLoader, initializeWebImageLoader, initializeFileImageLoader, registerNRRDImageLoader, registerResliceLoader, registerMultiFrameImageLoader, registerSingleFrameImageLoader, registerDsaImageLoader, updateLoadedStack, reset, readFile, readFiles, parseDataSet, clearImageParsing, convertQidoMetadata, clearImageCache, clearStandardImageCache, clearDSAImageCache, loadAndCacheImages, renderFileImage, renderDICOMPDF, renderWebImage, disableViewport, unloadViewport, resizeViewport, renderImage, redrawImage, resetViewports, updateViewportData, toggleMouseToolsListeners, storeViewportData, invertImage, flipImageHorizontal, flipImageVertical, rotateImageLeft, rotateImageRight, updateImageManager, populateImageManager, getImageManager, resetImageManager, removeDataFromImageManager, getDataFromImageManager, getSopInstanceUIDFromImageManager, getImageTracker, populateGSPSManager, getGSPSManager, resetGSPSManager, populateFileManager, getFileManager, resetFileManager, getDataFromFileManager, resliceSeries, getColormapsList, applyColorMap, addColorMap, fillPixelData, HSVToRGB, parseContours, getImageFrame, buildNrrdImage, getNrrdImageId, loadNrrdImage, getImageIdFromSlice, getSliceNumberFromImageId, getNrrdSerieDimensions, loadReslicedImage, getDicomImageId, cacheImage, cacheImages, loadAndCacheImageStack, loadAndCacheDsaImageStack, loadMultiFrameImage, buildMultiFrameImage, getMultiFrameImageId, clearMultiFrameCache, setSingleFrameCache, clearSingleFrameCache, loadSingleFrameImage, populateDsaImageIds, resetFileLoader, getFileCustomImageId, applyDSAShift, addDiameterTool, addContoursTool, addMaskEditingTool, getCurrentMaskData, addStackStateToElement, addSeedsTool, clearMeasurements, getToolState, clearToolStateByName, updateDiameterTool, addToolStateSingleSlice, clearCornerstoneElements, syncToolStack, updateStackToolState, setSegmentationConfig, csToolsUpdateStack, initializeCSTools, setToolsStyle, addDefaultTools, addTool, setToolActive, setToolDisabled, setToolEnabled, setToolPassive, DEFAULT_TOOLS, dvTools, getDefaultToolsByType, setDefaultToolsProps, registerExternalTool, registerCursor, addMouseKeyHandlers, removeMouseKeyHandlers, initSegmentationModule, addSegmentationMask, setActiveLabelmap, setActiveSegment, undoLastStroke, redoLastStroke, setBrushProps, hexToRgb, rgbToHex, clearSegmentationState, deleteMask, enableBrushTool, disableBrushTool, toggleContourMode, toggleVisibility, getActiveLabelmapBuffer, updateTemporalViewportData, logger, setLogLevel };
|
|
62
62
|
export declare const updateLarvitarManager: (...args: any) => any;
|
|
63
63
|
export declare const populateLarvitarManager: (...args: any) => any;
|
|
64
64
|
export declare const getLarvitarManager: (...args: any) => any;
|
package/dist/larvitar.js
CHANGED
|
@@ -83625,6 +83625,7 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
83625
83625
|
_registerStreamingImageVolume: () => (/* reexport */ index_registerStreamingImageVolume),
|
|
83626
83626
|
_renderImage: () => (/* reexport */ index_imageRendering_renderImage),
|
|
83627
83627
|
_renderMpr: () => (/* reexport */ index_renderMpr),
|
|
83628
|
+
_resetViewports: () => (/* reexport */ index_imageRendering_resetViewports),
|
|
83628
83629
|
_resizeRenderingEngine: () => (/* reexport */ index_resizeRenderingEngine),
|
|
83629
83630
|
_setSlab: () => (/* reexport */ index_setSlab),
|
|
83630
83631
|
_setToolActive: () => (/* reexport */ index_main_setToolActive),
|
|
@@ -83633,7 +83634,9 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
83633
83634
|
_setToolPassive: () => (/* reexport */ index_main_setToolPassive),
|
|
83634
83635
|
_setVolumeForRenderingEngine: () => (/* reexport */ index_setVolumeForRenderingEngine),
|
|
83635
83636
|
_setWWWL: () => (/* reexport */ index_setWWWL),
|
|
83637
|
+
_syncViewports: () => (/* reexport */ index_syncViewports),
|
|
83636
83638
|
_syncViewportsCamera: () => (/* reexport */ index_syncViewportsCamera),
|
|
83639
|
+
_syncViewportsVOI: () => (/* reexport */ index_syncViewportsVOI),
|
|
83637
83640
|
activatePerformanceMonitor: () => (/* reexport */ index_activatePerformanceMonitor),
|
|
83638
83641
|
addColorMap: () => (/* reexport */ index_addColorMap),
|
|
83639
83642
|
addContoursTool: () => (/* reexport */ index_addContoursTool),
|
|
@@ -85560,7 +85563,7 @@ __webpack_require__.d(index_tools_dist_esm_namespaceObject, {
|
|
|
85560
85563
|
});
|
|
85561
85564
|
|
|
85562
85565
|
;// ./package.json
|
|
85563
|
-
const index_package_namespaceObject = /*#__PURE__*/JSON.parse('{"name":"larvitar","keywords":["DICOM","imaging","medical","cornerstone"],"version":"4.0.0-alpha.
|
|
85566
|
+
const index_package_namespaceObject = /*#__PURE__*/JSON.parse('{"name":"larvitar","keywords":["DICOM","imaging","medical","cornerstone"],"version":"4.0.0-alpha.15","description":"typescript library for parsing, loading, rendering and interacting with DICOM images","repository":{"url":"https://github.com/dvisionlab/Larvitar.git","type":"git"},"main":"dist/larvitar.js","types":"dist/index.d.ts","files":["dist","imaging/**/*.d.ts","imaging3d/**/*.d.ts"],"scripts":{"coverage":"typescript-coverage-report","format":"prettier --write \\"imaging/**/*.{js,ts,json,css,md}\\" \\"imaging3d/**/*.{js,ts,json,css,md}\\" \\"docs/examples/**/*.html\\"","format:check":"prettier --check \\"imaging/**/*.{js,ts,json,css,md}\\" \\"imaging3d/**/*.{js,ts,json,css,md}\\" \\"docs/examples/**/*.html\\"","postinstall":"patch-package","build":"webpack --config ./bundler/webpack.prod.debug.js","dev":"webpack --progress --config ./bundler/webpack.dev.js","docs:dev":"vuepress dev docs","docs:build":"vuepress build docs","cypress":"cypress open","cypress:run":"cypress run","cypress:run:headless":"cypress run --headless"},"author":"Simone Manini <simone.manini@dvisionlab.com> (https://www.dvisionlab.com)","contributors":["Mattia Ronzoni <mattia.ronzoni@dvisionlab.com> (https://www.dvisionlab.com)","Laura Borghesi <laura.borghesi@dvisionlab.com> (https://www.dvisionlab.com)","Sara Zanchi <sara.zanchi@dvisionlab.com> (https://www.dvisionlab.com)"],"license":"MIT","dependencies":{"@cornerstonejs/core":"^3.12.1","@cornerstonejs/dicom-image-loader":"^3.12.1","@cornerstonejs/nifti-volume-loader":"^3.12.1","@cornerstonejs/tools":"^3.12.1","@hyzyla/pdfium":"^2.1.2","@icr/polyseg-wasm":"^0.4.0","consola":"^3.4.0","cornerstone-core":"^2.6.1","cornerstone-file-image-loader":"^0.3.0","cornerstone-tools":"^6.0.7","cornerstone-wado-image-loader":"^4.13.2","cornerstone-web-image-loader":"^2.1.1","crypto-js":"^4.1.1","dcmjs":"^0.34.0","dicom-character-set":"^1.0.3","dicom-parser":"^1.8.13","hammerjs":"^2.0.8","jpeg-lossless-decoder-js":"^2.0.7","keycode-js":"^3.1.0","lodash":"^4.17.15","pako":"^1.0.10","plotly.js-dist-min":"^2.27.1","uuid":"^8.3.2"},"devDependencies":{"@babel/core":"^7.21.8","@rollup/plugin-commonjs":"^28.0.3","@types/cornerstone-core":"^2.3.0","@types/crypto-js":"^4.1.1","@types/hammerjs":"^2.0.41","@types/lodash":"^4.14.192","@types/papaparse":"^5.3.7","@types/plotly.js":"^2.12.30","@types/plotly.js-dist-min":"^2.3.4","@types/uuid":"^9.0.1","@vuepress/bundler-vite":"^2.0.0-rc.18","@vuepress/plugin-slimsearch":"^2.0.0-rc.68","@vuepress/theme-default":"^2.0.0-rc.60","babel-loader":"^9.1.2","clean-webpack-plugin":"^4.0.0","cypress":"^14.2.0","cypress-image-snapshot":"^4.0.1","cypress-mochawesome-reporter":"^3.8.2","cypress-multi-reporters":"^2.0.5","eslint":"^9.17.0","html-loader":"^4.2.0","html-webpack-plugin":"^5.6.0","jsdom":"^26.0.0","lodash-webpack-plugin":"^0.11.6","mocha-json-reporter":"^1.0.0-1","patch-package":"^8.0.0","prettier":"^3.5.3","sass-embedded":"^1.80.7","ts-loader":"^9.4.2","typescript":"^5.0.2","typescript-coverage-report":"^0.7.0","vuepress":"^2.0.0-rc.18","webpack":"^5.76.3","webpack-cli":"^5.0.1","webpack-dev-server":"^4.13.1"}}');
|
|
85564
85567
|
// EXTERNAL MODULE: ./node_modules/cornerstone-core/dist/cornerstone.js
|
|
85565
85568
|
var index_dist_cornerstone = __webpack_require__(1198);
|
|
85566
85569
|
var index_cornerstone_default = /*#__PURE__*/__webpack_require__.n(index_dist_cornerstone);
|
|
@@ -180701,6 +180704,9 @@ const index_registerExternalTool = function (toolName, toolClass, toolVersion =
|
|
|
180701
180704
|
index_default_registerCursor(toolName, toolCursor, cursorOptions);
|
|
180702
180705
|
}
|
|
180703
180706
|
};
|
|
180707
|
+
function index_default_extend(base, values) {
|
|
180708
|
+
return Object.assign(Object.create(base), Object.assign(Object.assign({}, values), { name: values.name || base.name }));
|
|
180709
|
+
}
|
|
180704
180710
|
/**
|
|
180705
180711
|
* Register a custom tool cursor
|
|
180706
180712
|
* @param {String} toolName - The name of the tool
|
|
@@ -180722,13 +180728,11 @@ const index_registerExternalTool = function (toolName, toolClass, toolVersion =
|
|
|
180722
180728
|
}
|
|
180723
180729
|
};
|
|
180724
180730
|
*/
|
|
180725
|
-
const index_default_registerCursor = function (toolName, iconContent,
|
|
180726
|
-
|
|
180731
|
+
const index_default_registerCursor = function (toolName, iconContent, viewBox) {
|
|
180732
|
+
index_CursorSVG[toolName] = index_default_extend(index_BASE_CURSOR, {
|
|
180727
180733
|
iconContent,
|
|
180728
|
-
|
|
180729
|
-
name: toolName
|
|
180734
|
+
viewBox
|
|
180730
180735
|
});
|
|
180731
|
-
index_CursorSVG[toolName] = descriptor;
|
|
180732
180736
|
};
|
|
180733
180737
|
|
|
180734
180738
|
|
|
@@ -283719,6 +283723,14 @@ const index_main_setToolPassive = function (toolName, groupId = "default", reset
|
|
|
283719
283723
|
}
|
|
283720
283724
|
toolGroup.setToolPassive(toolName);
|
|
283721
283725
|
index_logger_logger.debug(`Tool ${toolName} set enabled in group:`, groupId);
|
|
283726
|
+
if (resetCursor) {
|
|
283727
|
+
toolGroup.getViewportIds().forEach(id => {
|
|
283728
|
+
const element = document.getElementById(id);
|
|
283729
|
+
if (element) {
|
|
283730
|
+
index_cursors_setCursorForElement(element, "default");
|
|
283731
|
+
}
|
|
283732
|
+
});
|
|
283733
|
+
}
|
|
283722
283734
|
};
|
|
283723
283735
|
const index_main_setToolEnabled = function (toolName, groupId = "default", resetCursor = true // TODO manage this
|
|
283724
283736
|
) {
|
|
@@ -283729,6 +283741,14 @@ const index_main_setToolEnabled = function (toolName, groupId = "default", reset
|
|
|
283729
283741
|
}
|
|
283730
283742
|
toolGroup.setToolEnabled(toolName);
|
|
283731
283743
|
index_logger_logger.debug(`Tool ${toolName} set enabled in group:`, groupId);
|
|
283744
|
+
if (resetCursor) {
|
|
283745
|
+
toolGroup.getViewportIds().forEach(id => {
|
|
283746
|
+
const element = document.getElementById(id);
|
|
283747
|
+
if (element) {
|
|
283748
|
+
index_cursors_setCursorForElement(element, "default");
|
|
283749
|
+
}
|
|
283750
|
+
});
|
|
283751
|
+
}
|
|
283732
283752
|
};
|
|
283733
283753
|
const index_main_setToolDisabled = function (toolName, groupId = "default", resetCursor = true // TODO manage this
|
|
283734
283754
|
) {
|
|
@@ -283739,6 +283759,14 @@ const index_main_setToolDisabled = function (toolName, groupId = "default", rese
|
|
|
283739
283759
|
}
|
|
283740
283760
|
toolGroup.setToolDisabled(toolName);
|
|
283741
283761
|
index_logger_logger.debug(`Tool ${toolName} set enabled in group:`, groupId);
|
|
283762
|
+
if (resetCursor) {
|
|
283763
|
+
toolGroup.getViewportIds().forEach(id => {
|
|
283764
|
+
const element = document.getElementById(id);
|
|
283765
|
+
if (element) {
|
|
283766
|
+
index_cursors_setCursorForElement(element, "default");
|
|
283767
|
+
}
|
|
283768
|
+
});
|
|
283769
|
+
}
|
|
283742
283770
|
};
|
|
283743
283771
|
/**
|
|
283744
283772
|
* @function syncViewportsCamera
|
|
@@ -283798,6 +283826,75 @@ targetViewportId, sourceViewportId) {
|
|
|
283798
283826
|
index_logger_logger.debug(`Camera sync added from ${sourceViewportId} to ${targetViewportId}`);
|
|
283799
283827
|
// FIXME: how to force a refresh of the viewport?
|
|
283800
283828
|
};
|
|
283829
|
+
/**
|
|
283830
|
+
* @function syncViewportsVOI
|
|
283831
|
+
* @desc Synchronizes the contrast of two (volume) viewports
|
|
283832
|
+
* @param id - unique id for the synchronizer @default "default"
|
|
283833
|
+
* @param targetViewportId - the id of the target viewport where the camera will be synced
|
|
283834
|
+
* @param sourceViewportId - the id of the source viewport from where the camera position will be taken
|
|
283835
|
+
*/
|
|
283836
|
+
const index_syncViewportsVOI = function (id = "default", // unique id for the synchronizer
|
|
283837
|
+
targetViewportId, sourceViewportId) {
|
|
283838
|
+
var _a, _b, _c, _d;
|
|
283839
|
+
let voiSync = index_SynchronizerManager_getSynchronizer(id);
|
|
283840
|
+
const options = {
|
|
283841
|
+
syncInvertState: true,
|
|
283842
|
+
syncColormap: true
|
|
283843
|
+
};
|
|
283844
|
+
if (!voiSync) {
|
|
283845
|
+
voiSync = index_createVOISynchronizer(id, options);
|
|
283846
|
+
}
|
|
283847
|
+
else if (voiSync) {
|
|
283848
|
+
// cameraSync.getSourceViewports().forEach((viewportId) => {
|
|
283849
|
+
// cameraSync!.removeSource(viewportId);
|
|
283850
|
+
// });
|
|
283851
|
+
index_SynchronizerManager_destroySynchronizer(id);
|
|
283852
|
+
voiSync = index_createVOISynchronizer(id, options);
|
|
283853
|
+
}
|
|
283854
|
+
const targetRenderingEngineId = (_a = index_getEnabledElementByViewportId(targetViewportId)) === null || _a === void 0 ? void 0 : _a.renderingEngineId;
|
|
283855
|
+
const sourceRenderingEngineId = (_b = index_getEnabledElementByViewportId(sourceViewportId)) === null || _b === void 0 ? void 0 : _b.renderingEngineId;
|
|
283856
|
+
if (!targetRenderingEngineId || !sourceRenderingEngineId) {
|
|
283857
|
+
index_logger_logger.error("syncViewportsCamera: no rendering engine found for one of the viewports");
|
|
283858
|
+
return;
|
|
283859
|
+
}
|
|
283860
|
+
const sourceViewport = (_c = index_getEnabledElementByViewportId(sourceViewportId)) === null || _c === void 0 ? void 0 : _c.viewport;
|
|
283861
|
+
if (!sourceViewport) {
|
|
283862
|
+
index_logger_logger.error("syncViewportsCamera: source viewport not found");
|
|
283863
|
+
return;
|
|
283864
|
+
}
|
|
283865
|
+
const sourceViewRef = sourceViewport.getViewReference();
|
|
283866
|
+
const targetViewport = (_d = index_getEnabledElementByViewportId(targetViewportId)) === null || _d === void 0 ? void 0 : _d.viewport;
|
|
283867
|
+
if (!targetViewport) {
|
|
283868
|
+
index_logger_logger.error("syncViewportsCamera: target viewport not found");
|
|
283869
|
+
return;
|
|
283870
|
+
}
|
|
283871
|
+
targetViewport.setViewReference(sourceViewRef);
|
|
283872
|
+
voiSync.add({
|
|
283873
|
+
renderingEngineId: sourceRenderingEngineId,
|
|
283874
|
+
viewportId: sourceViewportId
|
|
283875
|
+
});
|
|
283876
|
+
voiSync.add({
|
|
283877
|
+
renderingEngineId: targetRenderingEngineId,
|
|
283878
|
+
viewportId: targetViewportId
|
|
283879
|
+
});
|
|
283880
|
+
const targetElement = index_getEnabledElementByViewportId(targetViewportId);
|
|
283881
|
+
targetElement.viewport.render();
|
|
283882
|
+
const sourceElement = index_getEnabledElementByViewportId(sourceViewportId);
|
|
283883
|
+
sourceElement.viewport.render();
|
|
283884
|
+
index_logger_logger.debug(`Camera sync added from ${sourceViewportId} to ${targetViewportId}`);
|
|
283885
|
+
};
|
|
283886
|
+
/**
|
|
283887
|
+
* @function syncViewports
|
|
283888
|
+
* @desc Synchronizes the camera position and contrast of two (volume) viewports
|
|
283889
|
+
* @param id - unique id for the synchronizer @default "default"
|
|
283890
|
+
* @param targetViewportId - the id of the target viewport where the camera will be synced
|
|
283891
|
+
* @param sourceViewportId - the id of the source viewport from where the camera position will be taken
|
|
283892
|
+
*/
|
|
283893
|
+
const index_syncViewports = function (id = "default", // unique id for the synchronizer
|
|
283894
|
+
targetViewportId, sourceViewportId) {
|
|
283895
|
+
index_syncViewportsCamera(id, targetViewportId, sourceViewportId);
|
|
283896
|
+
index_syncViewportsVOI(id, targetViewportId, sourceViewportId);
|
|
283897
|
+
};
|
|
283801
283898
|
/**
|
|
283802
283899
|
* Create a tool group and add the specified viewports and tools to it.
|
|
283803
283900
|
* @function createToolGroup
|
|
@@ -284131,44 +284228,58 @@ const index_setVolumeForRenderingEngine = function (volumeId, renderingEngineId)
|
|
|
284131
284228
|
], renderingEngine.getVolumeViewports().map(v => v.id));
|
|
284132
284229
|
};
|
|
284133
284230
|
const index_renderMpr = function (series, renderingEngineId, options) {
|
|
284134
|
-
|
|
284135
|
-
|
|
284136
|
-
|
|
284137
|
-
|
|
284138
|
-
|
|
284139
|
-
|
|
284140
|
-
|
|
284141
|
-
|
|
284142
|
-
|
|
284143
|
-
|
|
284144
|
-
|
|
284145
|
-
|
|
284146
|
-
|
|
284147
|
-
|
|
284148
|
-
|
|
284149
|
-
|
|
284150
|
-
|
|
284151
|
-
|
|
284152
|
-
|
|
284153
|
-
|
|
284154
|
-
|
|
284155
|
-
|
|
284156
|
-
|
|
284157
|
-
|
|
284158
|
-
|
|
284159
|
-
|
|
284160
|
-
|
|
284161
|
-
|
|
284162
|
-
|
|
284163
|
-
|
|
284164
|
-
|
|
284165
|
-
|
|
284166
|
-
|
|
284167
|
-
|
|
284168
|
-
|
|
284169
|
-
|
|
284170
|
-
|
|
284171
|
-
|
|
284231
|
+
return index_imaging3d_imageRendering_awaiter(this, void 0, void 0, function* () {
|
|
284232
|
+
const t0 = performance.now();
|
|
284233
|
+
const renderingEngine = index_getRenderingEngine(renderingEngineId);
|
|
284234
|
+
if (!renderingEngine) {
|
|
284235
|
+
index_logger_logger.error(`Rendering engine with id ${renderingEngineId} not found. Please initialize it first.`);
|
|
284236
|
+
throw new Error(`Rendering engine with id ${renderingEngineId} not found.`);
|
|
284237
|
+
}
|
|
284238
|
+
const viewports = renderingEngine.getVolumeViewports();
|
|
284239
|
+
if (viewports.length === 0) {
|
|
284240
|
+
index_logger_logger.error(`No volume viewports found for rendering engine ${renderingEngineId}. Please initialize them first.`);
|
|
284241
|
+
throw new Error(`No volume viewports found for rendering engine ${renderingEngineId}.`);
|
|
284242
|
+
}
|
|
284243
|
+
// const renderOptions = options ? options : {};
|
|
284244
|
+
// // TODO: CONTROLLA IMAGE ID NEL CASO DI MPR
|
|
284245
|
+
// //let data: StoreViewport = getSeriesData(series, renderOptions);
|
|
284246
|
+
const renderPromise = new Promise((resolve, _) => index_imaging3d_imageRendering_awaiter(this, void 0, void 0, function* () {
|
|
284247
|
+
// crea o prendi il volume dalla cache
|
|
284248
|
+
// const volume =
|
|
284249
|
+
// cornerstone.cache.getVolume(series.uniqueUID) ||
|
|
284250
|
+
// (await loadAndCacheVolume(series));
|
|
284251
|
+
// console.log("volume", volume);
|
|
284252
|
+
const volume = yield index_loadAndCacheVolume(series);
|
|
284253
|
+
index_setVolumeForRenderingEngine(volume.volumeId, renderingEngineId);
|
|
284254
|
+
renderingEngine.renderViewports(viewports.map(v => v.id));
|
|
284255
|
+
const t1 = performance.now();
|
|
284256
|
+
// TODO modificare lo store
|
|
284257
|
+
// storeViewportData(image, element.id, storedViewport as Viewport, data);
|
|
284258
|
+
(0,index_lodash.each)(viewports, function (viewport) {
|
|
284259
|
+
index_imageStore_set(["ready", viewport.id, true]);
|
|
284260
|
+
});
|
|
284261
|
+
const t2 = performance.now();
|
|
284262
|
+
index_logger_logger.debug(`Time to render volume: ${t2 - t1} milliseconds`);
|
|
284263
|
+
// @ts-ignore
|
|
284264
|
+
series = null;
|
|
284265
|
+
// @ts-ignore
|
|
284266
|
+
//data = null;
|
|
284267
|
+
resolve();
|
|
284268
|
+
}));
|
|
284269
|
+
// Wait for the render promise to complete
|
|
284270
|
+
yield renderPromise;
|
|
284271
|
+
// !!! setTimeout needed to et default viewport propertie to globalDefaultProperties
|
|
284272
|
+
setTimeout(() => {
|
|
284273
|
+
viewports.forEach(viewport => {
|
|
284274
|
+
var _a;
|
|
284275
|
+
const viewportElement = (_a = index_getEnabledElementByViewportId(viewport.id)) === null || _a === void 0 ? void 0 : _a.viewport;
|
|
284276
|
+
if (viewportElement) {
|
|
284277
|
+
viewportElement.setDefaultProperties(viewportElement.getProperties());
|
|
284278
|
+
}
|
|
284279
|
+
});
|
|
284280
|
+
}, 0);
|
|
284281
|
+
return renderingEngine;
|
|
284282
|
+
});
|
|
284172
284283
|
};
|
|
284173
284284
|
/**
|
|
284174
284285
|
* Unload a MPR rendering engine
|
|
@@ -284202,6 +284313,30 @@ const index_resizeRenderingEngine = function (renderingEngineId) {
|
|
|
284202
284313
|
}
|
|
284203
284314
|
renderingEngine.resize(true, true); // true flags for fitToWindow and forceResize
|
|
284204
284315
|
};
|
|
284316
|
+
/**
|
|
284317
|
+
* Reset viewport values (contrast, pan and zoom)
|
|
284318
|
+
* @instance
|
|
284319
|
+
* @function resetViewports
|
|
284320
|
+
* @param {Array} elementIds - The array of hmtl div ids
|
|
284321
|
+
* @param {Array} keys - The array of viewport sections to resets (default is all)
|
|
284322
|
+
*/
|
|
284323
|
+
const index_imageRendering_resetViewports = function (elementIds, keys) {
|
|
284324
|
+
(0,index_lodash.each)(elementIds, function (elementId) {
|
|
284325
|
+
const viewport = index_getEnabledElementByViewportId(elementId).viewport;
|
|
284326
|
+
if (!keys || (keys === null || keys === void 0 ? void 0 : keys.includes("zoom"))) {
|
|
284327
|
+
viewport.setZoom(1);
|
|
284328
|
+
}
|
|
284329
|
+
if (!keys || (keys === null || keys === void 0 ? void 0 : keys.includes("pan"))) {
|
|
284330
|
+
viewport.setPan([0, 0]);
|
|
284331
|
+
}
|
|
284332
|
+
if (!keys || (keys === null || keys === void 0 ? void 0 : keys.includes("contrast"))) {
|
|
284333
|
+
const defaultVoiRange = viewport.getDefaultProperties(viewport.getCurrentImageId()).voiRange;
|
|
284334
|
+
viewport.setProperties({ voiRange: defaultVoiRange });
|
|
284335
|
+
}
|
|
284336
|
+
//TODO - add reset rotation
|
|
284337
|
+
viewport.render();
|
|
284338
|
+
});
|
|
284339
|
+
};
|
|
284205
284340
|
// /**
|
|
284206
284341
|
// * Purge the cornestone internal cache
|
|
284207
284342
|
// * If seriesId is passed as argument only imageIds of the series are purged from internal cache
|
package/package.json
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
"medical",
|
|
7
7
|
"cornerstone"
|
|
8
8
|
],
|
|
9
|
-
"version": "4.0.0-alpha.
|
|
9
|
+
"version": "4.0.0-alpha.15",
|
|
10
10
|
"description": "typescript library for parsing, loading, rendering and interacting with DICOM images",
|
|
11
11
|
"repository": {
|
|
12
12
|
"url": "https://github.com/dvisionlab/Larvitar.git",
|