larvitar 2.0.7 → 2.0.9
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/README.md +2 -2
- package/dist/imaging/imageRendering.d.ts +12 -2
- package/dist/imaging/imageStore.d.ts +5 -64
- package/dist/imaging/waveforms/ecg.d.ts +9 -1
- package/dist/index.d.ts +2 -2
- package/dist/larvitar.js +56 -20
- package/dist/larvitar.js.map +1 -1
- package/imaging/types.d.ts +2 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
|
|
9
9
|
## Dicom Image Toolkit for CornerstoneJS
|
|
10
10
|
|
|
11
|
-
### Current version: 2.0.
|
|
12
|
-
### Latest Published Release: 2.0.
|
|
11
|
+
### Current version: 2.0.9
|
|
12
|
+
### Latest Published Release: 2.0.9
|
|
13
13
|
|
|
14
14
|
This library provides common DICOM functionalities to be used in web-applications: it's wrapper that simplifies the use of cornerstone-js environment.
|
|
15
15
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* rendering images in html canvas using cornerstone
|
|
4
4
|
*/
|
|
5
5
|
import cornerstone from "cornerstone-core";
|
|
6
|
-
import { Image, Series, StoreViewportOptions, Viewport } from "./types";
|
|
6
|
+
import { Image, Series, StoreViewport, StoreViewportOptions, Viewport } from "./types";
|
|
7
7
|
/**
|
|
8
8
|
* Purge the cornestone internal cache
|
|
9
9
|
* If seriesId is passed as argument only imageIds of the series are purged from internal cache
|
|
@@ -130,7 +130,7 @@ export declare const updateViewportData: (elementId: string, viewportData: Viewp
|
|
|
130
130
|
* @param {String} viewport - The viewport tag name
|
|
131
131
|
* @param {Object} data - The viewport data object
|
|
132
132
|
*/
|
|
133
|
-
export declare const storeViewportData: (image: cornerstone.Image, elementId: string, viewport: Viewport, data:
|
|
133
|
+
export declare const storeViewportData: (image: cornerstone.Image, elementId: string, viewport: Viewport, data: ReturnType<typeof getSeriesData>) => void;
|
|
134
134
|
/**
|
|
135
135
|
* Invert pixels of an image
|
|
136
136
|
* @instance
|
|
@@ -166,3 +166,13 @@ export declare const rotateImageLeft: (elementId: string | HTMLElement) => void;
|
|
|
166
166
|
* @param {Object} elementId - The html div id used for rendering or its DOM HTMLElement
|
|
167
167
|
*/
|
|
168
168
|
export declare const rotateImageRight: (elementId: string | HTMLElement) => void;
|
|
169
|
+
/**
|
|
170
|
+
* Get series metadata from default props and series' metadata
|
|
171
|
+
* @instance
|
|
172
|
+
* @function getSeriesData
|
|
173
|
+
* @param {Object} series - The parsed data series
|
|
174
|
+
* @param {Object} defaultProps - Optional default properties
|
|
175
|
+
* @return {Object} data - A data dictionary with parsed tags' values
|
|
176
|
+
*/
|
|
177
|
+
declare const getSeriesData: (series: Series, defaultProps: StoreViewportOptions) => StoreViewport;
|
|
178
|
+
export {};
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* @desc This file provides functionalities
|
|
3
3
|
* for data config store.
|
|
4
4
|
*/
|
|
5
|
+
import type { StoreViewport } from "./types.d";
|
|
5
6
|
type StoreSeries = {
|
|
6
7
|
imageIds: string[];
|
|
7
8
|
progress: number;
|
|
@@ -15,12 +16,12 @@ type Store = {
|
|
|
15
16
|
[seriesUID: string]: StoreSeries;
|
|
16
17
|
};
|
|
17
18
|
viewports: {
|
|
18
|
-
[key: string]:
|
|
19
|
+
[key: string]: StoreViewport;
|
|
19
20
|
};
|
|
20
21
|
[key: string]: any;
|
|
21
22
|
};
|
|
22
23
|
type SetPayload = ["errorLog" | "leftActiveTool" | "rightActiveTool", string] | [
|
|
23
|
-
"isColor" | "isMultiframe" | "isPDF" | "isTimeserie" | "ready",
|
|
24
|
+
("isColor" | "isMultiframe" | "isPDF" | "waveform" | "isTimeserie" | "ready"),
|
|
24
25
|
string,
|
|
25
26
|
boolean
|
|
26
27
|
] | [
|
|
@@ -43,67 +44,6 @@ type SetPayload = ["errorLog" | "leftActiveTool" | "rightActiveTool", string] |
|
|
|
43
44
|
number,
|
|
44
45
|
boolean
|
|
45
46
|
];
|
|
46
|
-
export declare const DEFAULT_VIEWPORT: {
|
|
47
|
-
loading: number;
|
|
48
|
-
ready: boolean;
|
|
49
|
-
minSliceId: number;
|
|
50
|
-
maxSliceId: number;
|
|
51
|
-
sliceId: number;
|
|
52
|
-
pendingSliceId?: number;
|
|
53
|
-
minTimeId: number;
|
|
54
|
-
maxTimeId: number;
|
|
55
|
-
timeId: number;
|
|
56
|
-
timestamp: number;
|
|
57
|
-
timestamps: number[];
|
|
58
|
-
timeIds: number[];
|
|
59
|
-
rows: number;
|
|
60
|
-
cols: number;
|
|
61
|
-
spacing_x: number;
|
|
62
|
-
spacing_y: number;
|
|
63
|
-
thickness: number;
|
|
64
|
-
minPixelValue: number;
|
|
65
|
-
maxPixelValue: number;
|
|
66
|
-
isColor: boolean;
|
|
67
|
-
isMultiframe: boolean;
|
|
68
|
-
isTimeserie: boolean;
|
|
69
|
-
isPDF: boolean;
|
|
70
|
-
imageIndex?: number;
|
|
71
|
-
imageId?: string;
|
|
72
|
-
numberOfSlices?: number;
|
|
73
|
-
numberOfTemporalPositions?: number;
|
|
74
|
-
timeIndex?: number;
|
|
75
|
-
viewport: {
|
|
76
|
-
scale: number;
|
|
77
|
-
rotation: number;
|
|
78
|
-
translation: {
|
|
79
|
-
x: number;
|
|
80
|
-
y: number;
|
|
81
|
-
};
|
|
82
|
-
voi: {
|
|
83
|
-
windowCenter: number;
|
|
84
|
-
windowWidth: number;
|
|
85
|
-
};
|
|
86
|
-
rows: number;
|
|
87
|
-
cols: number;
|
|
88
|
-
spacing_x: number;
|
|
89
|
-
spacing_y: number;
|
|
90
|
-
thickness: number;
|
|
91
|
-
};
|
|
92
|
-
default: {
|
|
93
|
-
scale: number;
|
|
94
|
-
rotation: number;
|
|
95
|
-
translation: {
|
|
96
|
-
x: number;
|
|
97
|
-
y: number;
|
|
98
|
-
};
|
|
99
|
-
voi: {
|
|
100
|
-
windowCenter: number;
|
|
101
|
-
windowWidth: number;
|
|
102
|
-
invert: boolean;
|
|
103
|
-
};
|
|
104
|
-
};
|
|
105
|
-
};
|
|
106
|
-
export type Viewport = typeof DEFAULT_VIEWPORT;
|
|
107
47
|
export declare const set: (payload: SetPayload) => void;
|
|
108
48
|
declare const _default: {
|
|
109
49
|
initialize: () => void;
|
|
@@ -115,10 +55,11 @@ declare const _default: {
|
|
|
115
55
|
setSliceId: (elementId: string, imageIndex: number) => void;
|
|
116
56
|
setPendingSliceId: (elementId: string, imageIndex: number) => void;
|
|
117
57
|
setMaxSliceId: (elementId: string, imageIndex: number) => void;
|
|
58
|
+
setTimeId: (elementId: string, timeIndex: number) => void;
|
|
118
59
|
get: (props: string | string[]) => any;
|
|
119
60
|
addStoreListener: (listener: (data: Store) => {}) => (data: Store) => {};
|
|
120
61
|
removeStoreListener: () => undefined;
|
|
121
|
-
addViewportListener: (elementId: string, listener: (data:
|
|
62
|
+
addViewportListener: (elementId: string, listener: (data: StoreViewport) => {}) => void;
|
|
122
63
|
removeViewportListener: (elementId: string) => void;
|
|
123
64
|
addSeriesListener: (seriesId: string, listener: (data: StoreSeries) => {}) => void;
|
|
124
65
|
removeSeriesListener: (seriesId: string) => void;
|
|
@@ -3,6 +3,13 @@
|
|
|
3
3
|
* rendering ecg waveforms using plotly.js
|
|
4
4
|
*/
|
|
5
5
|
import Plotly from "plotly.js-dist-min";
|
|
6
|
+
/**
|
|
7
|
+
* Get default layout for the plotly plot
|
|
8
|
+
* @instance
|
|
9
|
+
* @function getDefaultECGLayout
|
|
10
|
+
* @returns {Object} defaultECGLayout - Default layout for the plotly plot
|
|
11
|
+
*/
|
|
12
|
+
export declare const getDefaultECGLayout: () => Partial<Plotly.Layout>;
|
|
6
13
|
/**
|
|
7
14
|
* Render ECG waveform in a div
|
|
8
15
|
* @instance
|
|
@@ -13,9 +20,10 @@ import Plotly from "plotly.js-dist-min";
|
|
|
13
20
|
* @param {number} numberOfframes - Number of frames in the image
|
|
14
21
|
* @param {number} frameTime - Time interval of each frame in the image
|
|
15
22
|
* @param {number} frameId - FrameId of the image to be rendered
|
|
23
|
+
* @param {Object} customLayout - Custom layout for the plotly plot
|
|
16
24
|
* @returns {Object} traceData - Plotly trace data
|
|
17
25
|
*/
|
|
18
|
-
export declare const renderECG: (data: number[], divId: string, colorMarker: string, numberOfFrames: number, frameTime: number, frameId?:
|
|
26
|
+
export declare const renderECG: (data: number[], divId: string, colorMarker: string, numberOfFrames: number, frameTime: number, frameId: number, customLayout?: Partial<Plotly.Layout>) => Partial<Plotly.PlotData>[];
|
|
19
27
|
/**
|
|
20
28
|
* Sync ECG waveform with rendered image on click
|
|
21
29
|
* @instance
|
package/dist/index.d.ts
CHANGED
|
@@ -9,7 +9,7 @@ import { getPerformanceMonitor, activatePerformanceMonitor, deactivatePerformanc
|
|
|
9
9
|
import store from "./imaging/imageStore";
|
|
10
10
|
import { parseContours } from "./imaging/imageContours";
|
|
11
11
|
import { parseECG } from "./imaging/parsers/ecg";
|
|
12
|
-
import { renderECG, syncECGFrame, updateECGFrame } from "./imaging/waveforms/ecg";
|
|
12
|
+
import { renderECG, syncECGFrame, updateECGFrame, getDefaultECGLayout } from "./imaging/waveforms/ecg";
|
|
13
13
|
import { getImagePresets, setImagePreset, setImageCustomPreset } from "./imaging/imagePresets";
|
|
14
14
|
import { getNormalOrientation, getMinPixelValue, getMaxPixelValue, getPixelRepresentation, getTypedArrayFromDataType, getSortedStack, randomId, getMeanValue, getReslicedMetadata, getReslicedPixeldata, getDistanceBetweenSlices, getImageMetadata } from "./imaging/imageUtils";
|
|
15
15
|
import { buildHeader, getCachedPixelData, buildData, buildDataAsync, importNRRDImage } from "./imaging/imageIo";
|
|
@@ -32,4 +32,4 @@ import { fileManager, resetFileLoader, resetFileManager, populateFileManager, ge
|
|
|
32
32
|
import { getColormapsList, applyColorMap, addColorMap, fillPixelData, HSVToRGB } from "./imaging/imageColormaps";
|
|
33
33
|
import { saveAnnotations, loadAnnotations } from "./imaging/tools/io";
|
|
34
34
|
import { addMouseKeyHandlers, removeMouseKeyHandlers, toggleMouseToolsListeners } from "./imaging/tools/interaction";
|
|
35
|
-
export { VERSION, cornerstone, cornerstoneTools, parseDicom, segModule, cornerstoneDICOMImageLoader, checkAndClearMemory, checkMemoryAllocation, getUsedMemory, getAvailableMemory, getPerformanceMonitor, activatePerformanceMonitor, deactivatePerformanceMonitor, store, parseECG, syncECGFrame, updateECGFrame,
|
|
35
|
+
export { VERSION, cornerstone, cornerstoneTools, parseDicom, segModule, cornerstoneDICOMImageLoader, checkAndClearMemory, checkMemoryAllocation, getUsedMemory, getAvailableMemory, getPerformanceMonitor, activatePerformanceMonitor, deactivatePerformanceMonitor, store, parseECG, renderECG, syncECGFrame, updateECGFrame, getDefaultECGLayout, getImagePresets, setImagePreset, setImageCustomPreset, getNormalOrientation, getMinPixelValue, getMaxPixelValue, getPixelRepresentation, getTypedArrayFromDataType, getSortedStack, randomId, getMeanValue, getReslicedMetadata, getReslicedPixeldata, getDistanceBetweenSlices, getImageMetadata, buildHeader, getCachedPixelData, buildData, buildDataAsync, importNRRDImage, anonymize, buildLayer, updateLayer, getActiveLayer, setActiveLayer, initializeImageLoader, initializeWebImageLoader, initializeFileImageLoader, registerNRRDImageLoader, registerResliceLoader, registerMultiFrameImageLoader, updateLoadedStack, readFile, readFiles, parseDataSet, clearImageParsing, clearImageCache, loadAndCacheImages, renderFileImage, renderDICOMPDF, renderWebImage, disableViewport, unloadViewport, resizeViewport, renderImage, updateImage, resetViewports, updateViewportData, toggleMouseToolsListeners, storeViewportData, invertImage, flipImageHorizontal, flipImageVertical, rotateImageLeft, rotateImageRight, resliceSeries, getColormapsList, applyColorMap, addColorMap, fillPixelData, HSVToRGB, parseContours, updateLarvitarManager, populateLarvitarManager, getLarvitarManager, getLarvitarImageTracker, resetLarvitarManager, removeSeriesFromLarvitarManager, getSeriesDataFromLarvitarManager, getImageFrame, getSopInstanceUIDFromLarvitarManager, buildNrrdImage, getNrrdImageId, loadNrrdImage, getImageIdFromSlice, getSliceNumberFromImageId, getNrrdSerieDimensions, loadReslicedImage, getDicomImageId, cacheImage, cacheImages, loadMultiFrameImage, buildMultiFrameImage, getMultiFrameImageId, clearMultiFrameCache, fileManager, resetFileLoader, resetFileManager, populateFileManager, getFileImageId, addDiameterTool, addContoursTool, addMaskEditingTool, getCurrentMaskData, addStackStateToElement, addSeedsTool, clearMeasurements, getToolState, clearToolStateByName, updateDiameterTool, addToolStateSingleSlice, clearCornerstoneElements, syncToolStack, updateStackToolState, setSegmentationConfig, csToolsCreateStack, csToolsUpdateImageIds, csToolsUpdateImageIndex, initializeCSTools, setToolsStyle, addDefaultTools, addTool, setToolActive, setToolDisabled, setToolEnabled, setToolPassive, exportAnnotations, DEFAULT_TOOLS, dvTools, getDefaultToolsByType, setDefaultToolsProps, registerExternalTool, saveAnnotations, loadAnnotations, addMouseKeyHandlers, removeMouseKeyHandlers, initSegmentationModule, addSegmentationMask, setActiveLabelmap, setActiveSegment, undoLastStroke, redoLastStroke, setBrushProps, hexToRgb, rgbToHex, clearSegmentationState, deleteMask, enableBrushTool, disableBrushTool, toggleContourMode, toggleVisibility, getActiveLabelmapBuffer };
|