larvitar 2.0.10 → 2.0.12

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 CHANGED
@@ -8,8 +8,8 @@
8
8
 
9
9
  ## Dicom Image Toolkit for CornerstoneJS
10
10
 
11
- ### Current version: 2.0.10
12
- ### Latest Published Release: 2.0.10
11
+ ### Current version: 2.0.12
12
+ ### Latest Published Release: 2.0.12
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
 
@@ -40,3 +40,10 @@ export declare const buildDataAsync: (series: Series, time: number, resolve: (re
40
40
  * @returns {Array} Parsed pixel data array
41
41
  */
42
42
  export declare const importNRRDImage: (bufferArray: ArrayBuffer) => Object;
43
+ /**
44
+ * Export image rendered in a canvas to base64
45
+ * @function exportImageToBase64
46
+ * @param elementId - Id of the div element containing the canvas
47
+ * @returns {String | null} base64 image (png full quality) or null if canvas does not exist
48
+ */
49
+ export declare const exportImageToBase64: (elementId: string) => string | null;
@@ -150,11 +150,11 @@ export declare const getDistanceBetweenSlices: (seriesData: Series, sliceIndex1:
150
150
  * @param {String} instanceUID - The SOPInstanceUID
151
151
  * @return {Array} - List of metadata objects: tag, name and value
152
152
  */
153
- export declare const getImageMetadata: (seriesId: string, instanceUID: string) => {
153
+ export declare const getImageMetadata: (seriesId: string, instanceUID: string) => ({
154
154
  tag: string;
155
155
  name: string;
156
156
  value: string | number | number[] | MetaDataTypes[] | null | undefined;
157
- }[];
157
+ } | undefined)[];
158
158
  /**
159
159
  * Check if a div tag is a valid DOM HTMLElement
160
160
  * @instance
package/dist/index.d.ts CHANGED
@@ -12,7 +12,7 @@ import { parseECG } from "./imaging/parsers/ecg";
12
12
  import { renderECG, unrenderECG, 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
- import { buildHeader, getCachedPixelData, buildData, buildDataAsync, importNRRDImage } from "./imaging/imageIo";
15
+ import { buildHeader, getCachedPixelData, buildData, buildDataAsync, importNRRDImage, exportImageToBase64 } from "./imaging/imageIo";
16
16
  import { anonymize } from "./imaging/imageAnonymization";
17
17
  import { buildLayer, updateLayer, getActiveLayer, setActiveLayer } from "./imaging/imageLayers";
18
18
  import { initializeImageLoader, initializeWebImageLoader, initializeFileImageLoader, registerNRRDImageLoader, registerResliceLoader, registerMultiFrameImageLoader, updateLoadedStack } from "./imaging/imageLoading";
@@ -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, renderECG, unrenderECG, 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 };
35
+ export { VERSION, cornerstone, cornerstoneTools, parseDicom, segModule, cornerstoneDICOMImageLoader, checkAndClearMemory, checkMemoryAllocation, getUsedMemory, getAvailableMemory, getPerformanceMonitor, activatePerformanceMonitor, deactivatePerformanceMonitor, store, parseECG, renderECG, unrenderECG, syncECGFrame, updateECGFrame, getDefaultECGLayout, getImagePresets, setImagePreset, setImageCustomPreset, getNormalOrientation, getMinPixelValue, getMaxPixelValue, getPixelRepresentation, getTypedArrayFromDataType, getSortedStack, randomId, getMeanValue, getReslicedMetadata, getReslicedPixeldata, getDistanceBetweenSlices, getImageMetadata, buildHeader, getCachedPixelData, buildData, buildDataAsync, importNRRDImage, exportImageToBase64, 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 };
package/dist/larvitar.js CHANGED
@@ -80075,7 +80075,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
80075
80075
  return (mod && mod.__esModule) ? mod : { "default": mod };
80076
80076
  };
80077
80077
  Object.defineProperty(exports, "__esModule", ({ value: true }));
80078
- exports.importNRRDImage = exports.buildDataAsync = exports.buildData = exports.getCachedPixelData = exports.buildHeader = void 0;
80078
+ exports.exportImageToBase64 = exports.importNRRDImage = exports.buildDataAsync = exports.buildData = exports.getCachedPixelData = exports.buildHeader = void 0;
80079
80079
  // external libraries
80080
80080
  const cornerstone_core_1 = __importDefault(__webpack_require__(7371));
80081
80081
  const lodash_1 = __webpack_require__(6486);
@@ -80090,6 +80090,7 @@ const memory_1 = __webpack_require__(3862);
80090
80090
  * getCachedPixelData(imageId)
80091
80091
  * buildData(series)
80092
80092
  * importNRRDImage(bufferArray)
80093
+ * exportImageToBase64(canvasId)
80093
80094
  */
80094
80095
  /**
80095
80096
  * Build the image header from slices' metadata
@@ -80286,6 +80287,24 @@ const importNRRDImage = function (bufferArray) {
80286
80287
  return volume;
80287
80288
  };
80288
80289
  exports.importNRRDImage = importNRRDImage;
80290
+ /**
80291
+ * Export image rendered in a canvas to base64
80292
+ * @function exportImageToBase64
80293
+ * @param elementId - Id of the div element containing the canvas
80294
+ * @returns {String | null} base64 image (png full quality) or null if canvas does not exist
80295
+ */
80296
+ const exportImageToBase64 = function (elementId) {
80297
+ const element = document.getElementById(elementId);
80298
+ if (element) {
80299
+ const canvas = element.querySelector("canvas");
80300
+ return canvas ? canvas.toDataURL("image/png", 1.0) : null;
80301
+ }
80302
+ else {
80303
+ console.warn("Canvas not found, invalid elementId");
80304
+ return null;
80305
+ }
80306
+ };
80307
+ exports.exportImageToBase64 = exportImageToBase64;
80289
80308
 
80290
80309
 
80291
80310
  /***/ }),
@@ -80773,8 +80792,7 @@ const parseDataSet = function (dataSet, metadata, customFilter) {
80773
80792
  // be named 'x0008103e'. Here we iterate over each property (element) so we can build a string describing its
80774
80793
  // contents to add to the output array
80775
80794
  try {
80776
- let elements = dataSet.elements;
80777
- customFilter && (0, lodash_1.has)(customFilter, "tags")
80795
+ let elements = customFilter && (0, lodash_1.has)(customFilter, "tags")
80778
80796
  ? (0, lodash_1.pick)(dataSet.elements, customFilter.tags)
80779
80797
  : dataSet.elements;
80780
80798
  for (let propertyName in elements) {
@@ -80785,18 +80803,28 @@ const parseDataSet = function (dataSet, metadata, customFilter) {
80785
80803
  // sequences will are currently not parsed.
80786
80804
  if (element.items) {
80787
80805
  let nestedArray = [];
80788
- // iterates over nested elements (nested metadata)
80789
- element.items.forEach(function (item) {
80806
+ function getNestedObject(item) {
80790
80807
  let nestedObject = {};
80791
80808
  for (let nestedPropertyName in item.dataSet.elements) {
80792
80809
  let TAG_tagValue = nestedPropertyName;
80793
80810
  let tagValue = (0, imageTags_1.parseTag)(item.dataSet, nestedPropertyName, item.dataSet.elements[nestedPropertyName]);
80794
80811
  let TAG_nested = nestedPropertyName;
80795
80812
  nestedObject[TAG_nested] = tagValue;
80796
- //see MetaDataTypes.ts last property to understand how this dynamic value setting is possible
80797
80813
  }
80798
80814
  nestedArray.push(nestedObject);
80799
- });
80815
+ }
80816
+ if (customFilter && (0, lodash_1.has)(customFilter, "frameId")) {
80817
+ let item = element.items[customFilter.frameId];
80818
+ if (item && Object.keys(item).length !== 0) {
80819
+ getNestedObject(item);
80820
+ }
80821
+ }
80822
+ else {
80823
+ // iterates over nested elements (nested metadata)
80824
+ element.items.forEach(function (item) {
80825
+ getNestedObject(item);
80826
+ });
80827
+ }
80800
80828
  metadata[TAG] = nestedArray;
80801
80829
  }
80802
80830
  else {
@@ -83266,7 +83294,7 @@ const resliceTable = {
83266
83294
  * getReslicedPixeldata(imageId, originalData, reslicedData)
83267
83295
  * getDistanceBetweenSlices(seriesData, sliceIndex1, sliceIndex2)
83268
83296
  * isElement(o)
83269
- * getImageMetadata(dataSet, imageId)
83297
+ * getImageMetadata(seriesUID, instanceUID)
83270
83298
  */
83271
83299
  /**
83272
83300
  * @typedef {Object} CornerstoneSeries
@@ -83793,29 +83821,31 @@ const getImageMetadata = function (seriesId, instanceUID) {
83793
83821
  let metadata_keys = Object.keys(metadata);
83794
83822
  // loop metadata using metadata_keys and return list of key value pairs
83795
83823
  let metadata_list = (0, lodash_1.map)(metadata_keys, function (key) {
83796
- // if value is a dictionary return empty string
83797
- let KEY = key;
83798
- const value = metadata[KEY] && metadata[KEY].constructor == Object
83799
- ? ""
83800
- : metadata[KEY];
83801
- // convert key removing x and adding comma at position 4
83802
- const tagKey = ("(" +
83803
- key.slice(1, 5) +
83804
- "," +
83805
- key.slice(5) +
83806
- ")").toUpperCase();
83807
- if (!Object.keys(dataDictionary_json_1.default).includes(tagKey)) {
83808
- console.debug(`Invalid tag key: ${tagKey}`);
83809
- }
83810
- // force type to keyof typeof TAG_DICT after having checked that it is a valid key
83811
- const name = dataDictionary_json_1.default[tagKey]
83812
- ? dataDictionary_json_1.default[tagKey].name
83813
- : "";
83814
- return {
83815
- tag: tagKey,
83816
- name: name,
83817
- value: value
83818
- };
83824
+ // force uppercase to check in TAG_DICT
83825
+ const keyName = (key.charAt(0) +
83826
+ key.slice(1).toUpperCase());
83827
+ // force type KEY to keyof typeof MetaDataTypes
83828
+ const KEY = key;
83829
+ if (Object.keys(dataDictionary_json_1.default).includes(keyName)) {
83830
+ const name = dataDictionary_json_1.default[keyName] ? dataDictionary_json_1.default[keyName].name : "";
83831
+ const value = metadata[KEY] && metadata[KEY].constructor == Object
83832
+ ? ""
83833
+ : metadata[KEY];
83834
+ const tag = ("(" +
83835
+ keyName.slice(1, 5) +
83836
+ "," +
83837
+ keyName.slice(5) +
83838
+ ")").toUpperCase();
83839
+ return {
83840
+ tag: tag,
83841
+ name: name,
83842
+ value: value
83843
+ };
83844
+ }
83845
+ });
83846
+ // remove undefined values
83847
+ metadata_list = (0, lodash_1.filter)(metadata_list, function (item) {
83848
+ return item !== undefined;
83819
83849
  });
83820
83850
  return metadata_list;
83821
83851
  };
@@ -84941,31 +84971,6 @@ let customImageLoaderCounter = 0;
84941
84971
  * getSliceNumberFromImageId(imageId, orientation)
84942
84972
  * getNrrdSerieDimensions()
84943
84973
  */
84944
- // TODO-ts: why it's different from cornerstone type ?
84945
- // type Image = {
84946
- // imageId: string;
84947
- // rows: number;
84948
- // columns: number;
84949
- // minPixelValue: number;
84950
- // maxPixelValue: number;
84951
- // slope: number;
84952
- // intercept: number;
84953
- // windowCenter: number;
84954
- // windowWidth: number;
84955
- // render?: Function;
84956
- // getPixelData?: Function;
84957
- // getCanvas?: Function;
84958
- // color: boolean;
84959
- // columnPixelSpacing: number;
84960
- // rowPixelSpacing: number;
84961
- // invert: boolean;
84962
- // sizeInBytes: number;
84963
- // height: number;
84964
- // width: number;
84965
- // decodeTimeInMS?: number;
84966
- // webWorkerTimeInMS?: number;
84967
- // metadata: {[key: string]: MetadataValue};
84968
- // }
84969
84974
  /**
84970
84975
  * Build the data structure for the provided image orientation
84971
84976
  * @instance
@@ -88092,10 +88097,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
88092
88097
  return (mod && mod.__esModule) ? mod : { "default": mod };
88093
88098
  };
88094
88099
  Object.defineProperty(exports, "__esModule", ({ value: true }));
88095
- exports.registerResliceLoader = exports.registerNRRDImageLoader = exports.initializeFileImageLoader = exports.initializeWebImageLoader = exports.initializeImageLoader = exports.setActiveLayer = exports.getActiveLayer = exports.updateLayer = exports.buildLayer = exports.anonymize = exports.importNRRDImage = exports.buildDataAsync = exports.buildData = exports.getCachedPixelData = exports.buildHeader = exports.getImageMetadata = exports.getDistanceBetweenSlices = exports.getReslicedPixeldata = exports.getReslicedMetadata = exports.getMeanValue = exports.randomId = exports.getSortedStack = exports.getTypedArrayFromDataType = exports.getPixelRepresentation = exports.getMaxPixelValue = exports.getMinPixelValue = exports.getNormalOrientation = exports.setImageCustomPreset = exports.setImagePreset = exports.getImagePresets = exports.getDefaultECGLayout = exports.updateECGFrame = exports.syncECGFrame = exports.unrenderECG = exports.renderECG = exports.parseECG = exports.store = exports.deactivatePerformanceMonitor = exports.activatePerformanceMonitor = exports.getPerformanceMonitor = exports.getAvailableMemory = exports.getUsedMemory = exports.checkMemoryAllocation = exports.checkAndClearMemory = exports.cornerstoneDICOMImageLoader = exports.segModule = exports.parseDicom = exports.cornerstoneTools = exports.cornerstone = exports.VERSION = void 0;
88096
- exports.cacheImage = exports.getDicomImageId = exports.loadReslicedImage = exports.getNrrdSerieDimensions = exports.getSliceNumberFromImageId = exports.getImageIdFromSlice = exports.loadNrrdImage = exports.getNrrdImageId = exports.buildNrrdImage = exports.getSopInstanceUIDFromLarvitarManager = exports.getImageFrame = exports.getSeriesDataFromLarvitarManager = exports.removeSeriesFromLarvitarManager = exports.resetLarvitarManager = exports.getLarvitarImageTracker = exports.getLarvitarManager = exports.populateLarvitarManager = exports.updateLarvitarManager = exports.parseContours = exports.HSVToRGB = exports.fillPixelData = exports.addColorMap = exports.applyColorMap = exports.getColormapsList = exports.resliceSeries = exports.rotateImageRight = exports.rotateImageLeft = exports.flipImageVertical = exports.flipImageHorizontal = exports.invertImage = exports.storeViewportData = exports.toggleMouseToolsListeners = exports.updateViewportData = exports.resetViewports = exports.updateImage = exports.renderImage = exports.resizeViewport = exports.unloadViewport = exports.disableViewport = exports.renderWebImage = exports.renderDICOMPDF = exports.renderFileImage = exports.loadAndCacheImages = exports.clearImageCache = exports.clearImageParsing = exports.parseDataSet = exports.readFiles = exports.readFile = exports.updateLoadedStack = exports.registerMultiFrameImageLoader = void 0;
88097
- exports.setActiveSegment = exports.setActiveLabelmap = exports.addSegmentationMask = exports.initSegmentationModule = exports.removeMouseKeyHandlers = exports.addMouseKeyHandlers = exports.loadAnnotations = exports.saveAnnotations = exports.registerExternalTool = exports.setDefaultToolsProps = exports.getDefaultToolsByType = exports.dvTools = exports.DEFAULT_TOOLS = exports.exportAnnotations = exports.setToolPassive = exports.setToolEnabled = exports.setToolDisabled = exports.setToolActive = exports.addTool = exports.addDefaultTools = exports.setToolsStyle = exports.initializeCSTools = exports.csToolsUpdateImageIndex = exports.csToolsUpdateImageIds = exports.csToolsCreateStack = exports.setSegmentationConfig = exports.updateStackToolState = exports.syncToolStack = exports.clearCornerstoneElements = exports.addToolStateSingleSlice = exports.updateDiameterTool = exports.clearToolStateByName = exports.getToolState = exports.clearMeasurements = exports.addSeedsTool = exports.addStackStateToElement = exports.getCurrentMaskData = exports.addMaskEditingTool = exports.addContoursTool = exports.addDiameterTool = exports.getFileImageId = exports.populateFileManager = exports.resetFileManager = exports.resetFileLoader = exports.fileManager = exports.clearMultiFrameCache = exports.getMultiFrameImageId = exports.buildMultiFrameImage = exports.loadMultiFrameImage = exports.cacheImages = void 0;
88098
- exports.getActiveLabelmapBuffer = exports.toggleVisibility = exports.toggleContourMode = exports.disableBrushTool = exports.enableBrushTool = exports.deleteMask = exports.clearSegmentationState = exports.rgbToHex = exports.hexToRgb = exports.setBrushProps = exports.redoLastStroke = exports.undoLastStroke = void 0;
88100
+ exports.registerNRRDImageLoader = exports.initializeFileImageLoader = exports.initializeWebImageLoader = exports.initializeImageLoader = exports.setActiveLayer = exports.getActiveLayer = exports.updateLayer = exports.buildLayer = exports.anonymize = exports.exportImageToBase64 = exports.importNRRDImage = exports.buildDataAsync = exports.buildData = exports.getCachedPixelData = exports.buildHeader = exports.getImageMetadata = exports.getDistanceBetweenSlices = exports.getReslicedPixeldata = exports.getReslicedMetadata = exports.getMeanValue = exports.randomId = exports.getSortedStack = exports.getTypedArrayFromDataType = exports.getPixelRepresentation = exports.getMaxPixelValue = exports.getMinPixelValue = exports.getNormalOrientation = exports.setImageCustomPreset = exports.setImagePreset = exports.getImagePresets = exports.getDefaultECGLayout = exports.updateECGFrame = exports.syncECGFrame = exports.unrenderECG = exports.renderECG = exports.parseECG = exports.store = exports.deactivatePerformanceMonitor = exports.activatePerformanceMonitor = exports.getPerformanceMonitor = exports.getAvailableMemory = exports.getUsedMemory = exports.checkMemoryAllocation = exports.checkAndClearMemory = exports.cornerstoneDICOMImageLoader = exports.segModule = exports.parseDicom = exports.cornerstoneTools = exports.cornerstone = exports.VERSION = void 0;
88101
+ exports.getDicomImageId = exports.loadReslicedImage = exports.getNrrdSerieDimensions = exports.getSliceNumberFromImageId = exports.getImageIdFromSlice = exports.loadNrrdImage = exports.getNrrdImageId = exports.buildNrrdImage = exports.getSopInstanceUIDFromLarvitarManager = exports.getImageFrame = exports.getSeriesDataFromLarvitarManager = exports.removeSeriesFromLarvitarManager = exports.resetLarvitarManager = exports.getLarvitarImageTracker = exports.getLarvitarManager = exports.populateLarvitarManager = exports.updateLarvitarManager = exports.parseContours = exports.HSVToRGB = exports.fillPixelData = exports.addColorMap = exports.applyColorMap = exports.getColormapsList = exports.resliceSeries = exports.rotateImageRight = exports.rotateImageLeft = exports.flipImageVertical = exports.flipImageHorizontal = exports.invertImage = exports.storeViewportData = exports.toggleMouseToolsListeners = exports.updateViewportData = exports.resetViewports = exports.updateImage = exports.renderImage = exports.resizeViewport = exports.unloadViewport = exports.disableViewport = exports.renderWebImage = exports.renderDICOMPDF = exports.renderFileImage = exports.loadAndCacheImages = exports.clearImageCache = exports.clearImageParsing = exports.parseDataSet = exports.readFiles = exports.readFile = exports.updateLoadedStack = exports.registerMultiFrameImageLoader = exports.registerResliceLoader = void 0;
88102
+ exports.setActiveLabelmap = exports.addSegmentationMask = exports.initSegmentationModule = exports.removeMouseKeyHandlers = exports.addMouseKeyHandlers = exports.loadAnnotations = exports.saveAnnotations = exports.registerExternalTool = exports.setDefaultToolsProps = exports.getDefaultToolsByType = exports.dvTools = exports.DEFAULT_TOOLS = exports.exportAnnotations = exports.setToolPassive = exports.setToolEnabled = exports.setToolDisabled = exports.setToolActive = exports.addTool = exports.addDefaultTools = exports.setToolsStyle = exports.initializeCSTools = exports.csToolsUpdateImageIndex = exports.csToolsUpdateImageIds = exports.csToolsCreateStack = exports.setSegmentationConfig = exports.updateStackToolState = exports.syncToolStack = exports.clearCornerstoneElements = exports.addToolStateSingleSlice = exports.updateDiameterTool = exports.clearToolStateByName = exports.getToolState = exports.clearMeasurements = exports.addSeedsTool = exports.addStackStateToElement = exports.getCurrentMaskData = exports.addMaskEditingTool = exports.addContoursTool = exports.addDiameterTool = exports.getFileImageId = exports.populateFileManager = exports.resetFileManager = exports.resetFileLoader = exports.fileManager = exports.clearMultiFrameCache = exports.getMultiFrameImageId = exports.buildMultiFrameImage = exports.loadMultiFrameImage = exports.cacheImages = exports.cacheImage = void 0;
88103
+ exports.getActiveLabelmapBuffer = exports.toggleVisibility = exports.toggleContourMode = exports.disableBrushTool = exports.enableBrushTool = exports.deleteMask = exports.clearSegmentationState = exports.rgbToHex = exports.hexToRgb = exports.setBrushProps = exports.redoLastStroke = exports.undoLastStroke = exports.setActiveSegment = void 0;
88099
88104
  const package_json_1 = __importDefault(__webpack_require__(4147));
88100
88105
  const VERSION = package_json_1.default.version;
88101
88106
  exports.VERSION = VERSION;
@@ -88156,6 +88161,7 @@ Object.defineProperty(exports, "getCachedPixelData", ({ enumerable: true, get: f
88156
88161
  Object.defineProperty(exports, "buildData", ({ enumerable: true, get: function () { return imageIo_1.buildData; } }));
88157
88162
  Object.defineProperty(exports, "buildDataAsync", ({ enumerable: true, get: function () { return imageIo_1.buildDataAsync; } }));
88158
88163
  Object.defineProperty(exports, "importNRRDImage", ({ enumerable: true, get: function () { return imageIo_1.importNRRDImage; } }));
88164
+ Object.defineProperty(exports, "exportImageToBase64", ({ enumerable: true, get: function () { return imageIo_1.exportImageToBase64; } }));
88159
88165
  const imageAnonymization_1 = __webpack_require__(32);
88160
88166
  Object.defineProperty(exports, "anonymize", ({ enumerable: true, get: function () { return imageAnonymization_1.anonymize; } }));
88161
88167
  const imageLayers_1 = __webpack_require__(9826);
@@ -88972,7 +88978,7 @@ module.exports = JSON.parse('{"x00000000":{"tag":"x00000000","vr":"UL","vm":"1",
88972
88978
  /***/ ((module) => {
88973
88979
 
88974
88980
  "use strict";
88975
- module.exports = JSON.parse('{"name":"larvitar","keywords":["DICOM","imaging","medical","cornerstone"],"version":"2.0.10","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"],"scripts":{"coverage":"typescript-coverage-report","generate-docs":"node_modules/.bin/jsdoc -c jsdoc.json","build":"webpack --config ./bundler/webpack.prod.js && cp ./dist/larvitar.js ./docs/examples/larvitar.js","dev":"webpack --progress --config ./bundler/webpack.dev.js && cp ./dist/larvitar.js ./docs/examples/larvitar.js","dev-wip":"webpack serve --config ./bundler/webpack.dev-wip.js"},"author":"Simone Manini <simone.manini@dvisionlab.com> (https://www.dvisionlab.com)","contributors":["Mattia Ronzoni <mattia.ronzoni@dvisionlab.com> (https://www.dvisionlab.com)","Sara Zanchi <sara.zanchi@dvisionlab.com> (https://www.dvisionlab.com)","Ale Re <ale.re@dvisionlab.com> (https://www.dvisionlab.com)","Laura Borghesi Re <laura.borghesi@dvisionlab.com> (https://www.dvisionlab.com)"],"license":"MIT","dependencies":{"@rollup/plugin-commonjs":"^17.1.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","dicom-character-set":"^1.0.3","dicom-parser":"^1.8.13","docdash":"^1.2.0","hammerjs":"^2.0.8","jpeg-lossless-decoder-js":"^2.0.7","keycode-js":"^3.1.0","lodash":"^4.17.15","pako":"^1.0.10","papaparse":"^5.3.0","plotly.js-dist-min":"^2.27.1","uuid":"^8.3.2"},"devDependencies":{"@babel/core":"^7.21.8","@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","babel-loader":"^9.1.2","clean-webpack-plugin":"^4.0.0","copy-webpack-plugin":"^11.0.0","fs":"^0.0.1-security","html-loader":"^4.2.0","html-webpack-plugin":"^5.5.0","ip":"^1.1.8","jsdoc":"^3.6.4","portfinder-sync":"^0.0.2","ts-loader":"^9.4.2","typescript":"^5.0.2","typescript-coverage-report":"^0.7.0","webpack":"^5.76.3","webpack-bundle-analyzer":"^4.8.0","webpack-cli":"^5.0.1","webpack-dev-server":"^4.13.1"}}');
88981
+ module.exports = JSON.parse('{"name":"larvitar","keywords":["DICOM","imaging","medical","cornerstone"],"version":"2.0.12","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"],"scripts":{"coverage":"typescript-coverage-report","generate-docs":"node_modules/.bin/jsdoc -c jsdoc.json","build":"webpack --config ./bundler/webpack.prod.js && cp ./dist/larvitar.js ./docs/examples/larvitar.js","dev":"webpack --progress --config ./bundler/webpack.dev.js && cp ./dist/larvitar.js ./docs/examples/larvitar.js","dev-wip":"webpack serve --config ./bundler/webpack.dev-wip.js"},"author":"Simone Manini <simone.manini@dvisionlab.com> (https://www.dvisionlab.com)","contributors":["Mattia Ronzoni <mattia.ronzoni@dvisionlab.com> (https://www.dvisionlab.com)","Sara Zanchi <sara.zanchi@dvisionlab.com> (https://www.dvisionlab.com)","Ale Re <ale.re@dvisionlab.com> (https://www.dvisionlab.com)","Laura Borghesi Re <laura.borghesi@dvisionlab.com> (https://www.dvisionlab.com)"],"license":"MIT","dependencies":{"@rollup/plugin-commonjs":"^17.1.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","dicom-character-set":"^1.0.3","dicom-parser":"^1.8.13","docdash":"^1.2.0","hammerjs":"^2.0.8","jpeg-lossless-decoder-js":"^2.0.7","keycode-js":"^3.1.0","lodash":"^4.17.15","pako":"^1.0.10","papaparse":"^5.3.0","plotly.js-dist-min":"^2.27.1","uuid":"^8.3.2"},"devDependencies":{"@babel/core":"^7.21.8","@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","babel-loader":"^9.1.2","clean-webpack-plugin":"^4.0.0","copy-webpack-plugin":"^11.0.0","fs":"^0.0.1-security","html-loader":"^4.2.0","html-webpack-plugin":"^5.5.0","ip":"^1.1.8","jsdoc":"^3.6.4","portfinder-sync":"^0.0.2","ts-loader":"^9.4.2","typescript":"^5.0.2","typescript-coverage-report":"^0.7.0","webpack":"^5.76.3","webpack-bundle-analyzer":"^4.8.0","webpack-cli":"^5.0.1","webpack-dev-server":"^4.13.1"}}');
88976
88982
 
88977
88983
  /***/ })
88978
88984