larvitar 3.5.6 → 3.6.1

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.
@@ -1835,9 +1835,9 @@ export type MetaDataTypes = {
1835
1835
  x00281080?: string;
1836
1836
  x00281090?: string;
1837
1837
  x00281100?: number;
1838
- x00281101?: number;
1839
- x00281102?: number;
1840
- x00281103?: number;
1838
+ x00281101?: number[];
1839
+ x00281102?: number[];
1840
+ x00281103?: number[];
1841
1841
  x00281104?: number;
1842
1842
  x00281111?: number;
1843
1843
  x00281112?: number;
@@ -3492,4 +3492,5 @@ export type MetaDataTypes = {
3492
3492
  x300e0005?: string;
3493
3493
  x300e0008?: string;
3494
3494
  x50003000?: MetaDataTypes[];
3495
+ x7fe00010?: number;
3495
3496
  };
@@ -2,7 +2,7 @@
2
2
  * @desc This file provides utility functions for
3
3
  * manipulating image pixels and image metadata
4
4
  */
5
- import type { CustomDataSet, MetaData, ReslicedInstance, Series } from "./types";
5
+ import type { CustomDataSet, MetaData, ReslicedInstance, Series, TypedArray } from "./types";
6
6
  /**
7
7
  * @typedef {Object} CornerstoneSeries
8
8
  * @property {Array} imageIds Array of the instances imageIds
@@ -16,20 +16,30 @@ import type { CustomDataSet, MetaData, ReslicedInstance, Series } from "./types"
16
16
  * @param {Array} el - The image_orientation dicom tag
17
17
  */
18
18
  export declare const getNormalOrientation: (el: [number, number, number, number, number, number]) => number[];
19
+ /**
20
+ * Get the min and max pixel value from pixelData
21
+ * @instance
22
+ * @function getMinPixelValue
23
+ * @param {Array} pixelData - Pixel data array
24
+ */
25
+ export declare const getMinMaxPixelValue: (pixelData: number[] | TypedArray) => {
26
+ minPixelValue: number;
27
+ maxPixelValue: number;
28
+ };
19
29
  /**
20
30
  * Get the min pixel value from pixelData
21
31
  * @instance
22
32
  * @function getMinPixelValue
23
33
  * @param {Array} pixelData - Pixel data array
24
34
  */
25
- export declare const getMinPixelValue: (pixelData: number[]) => number;
35
+ export declare const getMinPixelValue: (pixelData: number[] | TypedArray) => number;
26
36
  /**
27
37
  * Get the max pixel value from pixelData
28
38
  * @instance
29
39
  * @function getMaxPixelValue
30
40
  * @param {Array} pixelData - Pixel data array
31
41
  */
32
- export declare const getMaxPixelValue: (pixelData: number[]) => number;
42
+ export declare const getMaxPixelValue: (pixelData: number[] | TypedArray) => number;
33
43
  /**
34
44
  * Create the pixel representation string (type and length) from dicom tags
35
45
  * @instance
@@ -3,31 +3,13 @@
3
3
  * custom DICOMImageLoaders
4
4
  */
5
5
  import { DataSet } from "dicom-parser";
6
- import type { MetaData } from "../types";
6
+ import type { ImageFrame, MetaData } from "../types";
7
7
  /**
8
8
  * Compute and return image frame
9
9
  * @instance
10
10
  * @function getImageFrame
11
- * @param {Object} metadata metadata object
12
- * @param {Object} dataSet dicom dataset
11
+ * @param {MetaData} metadata metadata object
12
+ * @param {DataSet} dataSet dicom dataset
13
13
  * @returns {Object} specific image frame
14
14
  */
15
- export declare const getImageFrame: (metadata: MetaData, dataSet: DataSet) => {
16
- samplesPerPixel: any;
17
- photometricInterpretation: any;
18
- planarConfiguration: any;
19
- rows: any;
20
- columns: any;
21
- bitsAllocated: any;
22
- pixelRepresentation: any;
23
- smallestPixelValue: any;
24
- largestPixelValue: any;
25
- redPaletteColorLookupTableDescriptor: any;
26
- greenPaletteColorLookupTableDescriptor: any;
27
- bluePaletteColorLookupTableDescriptor: any;
28
- redPaletteColorLookupTableData: any;
29
- greenPaletteColorLookupTableData: any;
30
- bluePaletteColorLookupTableData: any;
31
- pixelData: undefined;
32
- ImageData: undefined;
33
- };
15
+ export declare const getImageFrame: (metadata: MetaData, dataSet?: DataSet) => ImageFrame;
@@ -7,11 +7,11 @@ import type { ImageObject, MetaData } from "../types";
7
7
  * Set the single frame cache
8
8
  * @export
9
9
  * @function setSingleFrameCache
10
- * @param {Array} data - Pixel data array
10
+ * @param {Array} pixelData - Pixel data array
11
11
  * @param {MetaData} metadata - Metadata object
12
12
  * @returns {ImageObject} - Image object
13
13
  */
14
- export declare const setSingleFrameCache: (data: Uint8ClampedArray, metadata: MetaData) => Promise<ImageObject>;
14
+ export declare const setSingleFrameCache: (pixelData: Uint8ClampedArray, metadata: MetaData) => Promise<ImageObject>;
15
15
  /**
16
16
  * Clear single frame cache
17
17
  * @export
@@ -0,0 +1,29 @@
1
+ import { Image, TypedArray, KernelConfig } from "../types";
2
+ /**
3
+ * Apply convolution filter to DICOM image
4
+ * @param {Object} loadedImage - The DICOM image object
5
+ * @param {string} filterName - Name of the filter to apply
6
+ * @param {number} multiplier - Optional multiplier for kernel values (default: 1)
7
+ * @returns {TypedArray} - Convolved pixel data
8
+ */
9
+ export declare function applyConvolutionFilter(loadedImage: Image, filterName: string, generateImage?: boolean, multiplier?: number): Partial<Image> | TypedArray;
10
+ /**
11
+ * Create the filtered image
12
+ * @param {string} name - Name for the new kernel
13
+ * @param {Object} config - Kernel configuration (modality, label, size, kernel)
14
+ * @returns {Partial<Image>} - Convolved pixel data
15
+ */
16
+ export declare function createFilteredImage(loadedImage: Image, filteredPixelArray: number[]): Partial<Image>;
17
+ /**
18
+ * Add custom kernel to the global object
19
+ * @param {string} name - Name for the new kernel
20
+ * @param {Object} config - Kernel configuration (modality, label, size, kernel)
21
+ */
22
+ export declare function addCustomKernel(name: string, config: KernelConfig): void;
23
+ /**
24
+ * Get kernels
25
+ * @returns {Object} - CONVOLUTION_KERNELS object
26
+ */
27
+ export declare function getKernels(): {
28
+ [x: string]: KernelConfig;
29
+ };
@@ -239,16 +239,23 @@ export type FileManager = {
239
239
  [key: string]: string;
240
240
  } | null;
241
241
  export type ImageFrame = {
242
+ samplesPerPixel?: number;
243
+ photometricInterpretation?: string;
244
+ planarConfiguration?: number;
245
+ rows?: number;
246
+ columns?: number;
247
+ bitsAllocated?: number;
248
+ pixelRepresentation?: number;
249
+ smallestPixelValue?: number;
250
+ largestPixelValue?: number;
251
+ redPaletteColorLookupTableDescriptor?: number[];
252
+ greenPaletteColorLookupTableDescriptor?: number[];
253
+ bluePaletteColorLookupTableDescriptor?: number[];
254
+ redPaletteColorLookupTableData?: Uint8Array;
255
+ greenPaletteColorLookupTableData?: Uint8Array;
256
+ bluePaletteColorLookupTableData?: Uint8Array;
242
257
  pixelData?: Uint8ClampedArray | Uint16Array | Int16Array | Uint8Array;
243
- bitsAllocated: number;
244
- rows: number;
245
- columns: number;
246
- photometricInterpretation: string;
247
- samplesPerPixel: number;
248
- smallestPixelValue: number;
249
- largestPixelValue: number;
250
258
  imageData?: ImageData;
251
- pixelRepresentation: number;
252
259
  };
253
260
  export type ImageTracker = {
254
261
  [key: string]: string;
@@ -332,7 +339,13 @@ type translation = {
332
339
  x: number;
333
340
  y: number;
334
341
  };
342
+ export type KernelConfig = {
343
+ label: string;
344
+ size: number;
345
+ kernel: number[][];
346
+ };
335
347
  export type RenderProps = {
348
+ filterName?: string;
336
349
  cached?: boolean;
337
350
  imageIndex?: number;
338
351
  scale?: number;
package/dist/index.d.ts CHANGED
@@ -13,7 +13,7 @@ import { parseContours } from "./imaging/imageContours";
13
13
  import { parseECG } from "./imaging/parsers/ecg";
14
14
  import { renderECG, unrenderECG, syncECGFrame, updateECGMarker, updateECGTotalTime, getDefaultECGLayout } from "./imaging/waveforms/ecg";
15
15
  import { getImagePresets, setImagePreset, setImageCustomPreset } from "./imaging/imagePresets";
16
- import { getNormalOrientation, getMinPixelValue, getMaxPixelValue, getPixelRepresentation, getTypedArrayFromDataType, getSortedStack, randomId, getMeanValue, getReslicedMetadata, getReslicedPixeldata, getDistanceBetweenSlices, getImageMetadata } from "./imaging/imageUtils";
16
+ import { getNormalOrientation, getMinPixelValue, getMaxPixelValue, getMinMaxPixelValue, getPixelRepresentation, getTypedArrayFromDataType, getSortedStack, randomId, getMeanValue, getReslicedMetadata, getReslicedPixeldata, getDistanceBetweenSlices, getImageMetadata } from "./imaging/imageUtils";
17
17
  import { buildHeader, getCachedPixelData, buildData, buildDataAsync, importNRRDImage, exportImageToBase64, exportImageToBase64OriginalSizes } from "./imaging/imageIo";
18
18
  import { anonymize } from "./imaging/imageAnonymization";
19
19
  import { customizeByteArray } from "./imaging/imageCustomization";
@@ -36,9 +36,10 @@ import { populateDsaImageIds } from "./imaging/loaders/dsaImageLoader";
36
36
  import { resetFileLoader, getFileCustomImageId } from "./imaging/loaders/fileLoader";
37
37
  import { getColormapsList, applyColorMap, addColorMap, fillPixelData, HSVToRGB } from "./imaging/imageColormaps";
38
38
  import { applyDSAShift } from "./imaging/postProcessing/applyDSA";
39
+ import { applyConvolutionFilter, addCustomKernel, getKernels } from "./imaging/postProcessing/applyKernel";
39
40
  import { addMouseKeyHandlers, removeMouseKeyHandlers, toggleMouseToolsListeners } from "./imaging/tools/interaction";
40
41
  import { updateImageManager, populateImageManager, getImageManager, resetImageManager, removeDataFromImageManager, getDataFromImageManager, getSopInstanceUIDFromImageManager, getImageTracker, populateGSPSManager, getGSPSManager, resetGSPSManager, getFileManager, resetFileManager, populateFileManager, getDataFromFileManager } from "./imaging/imageManagers";
41
- export { 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, addMouseKeyHandlers, removeMouseKeyHandlers, initSegmentationModule, addSegmentationMask, setActiveLabelmap, setActiveSegment, undoLastStroke, redoLastStroke, setBrushProps, hexToRgb, rgbToHex, clearSegmentationState, deleteMask, enableBrushTool, disableBrushTool, toggleContourMode, toggleVisibility, getActiveLabelmapBuffer, updateTemporalViewportData, logger, setLogLevel };
42
+ export { 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, getMinMaxPixelValue, 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, applyConvolutionFilter, addCustomKernel, getKernels, 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, addMouseKeyHandlers, removeMouseKeyHandlers, initSegmentationModule, addSegmentationMask, setActiveLabelmap, setActiveSegment, undoLastStroke, redoLastStroke, setBrushProps, hexToRgb, rgbToHex, clearSegmentationState, deleteMask, enableBrushTool, disableBrushTool, toggleContourMode, toggleVisibility, getActiveLabelmapBuffer, updateTemporalViewportData, logger, setLogLevel };
42
43
  export declare const updateLarvitarManager: (...args: any) => any;
43
44
  export declare const populateLarvitarManager: (...args: any) => any;
44
45
  export declare const getLarvitarManager: (...args: any) => any;