larvitar 2.0.5 → 2.0.7

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.
Files changed (77) hide show
  1. package/README.md +2 -2
  2. package/dist/imaging/imageRendering.d.ts +1 -71
  3. package/dist/imaging/imageStore.d.ts +5 -0
  4. package/dist/imaging/loaders/commonLoader.d.ts +4 -4
  5. package/dist/imaging/loaders/nrrdLoader.d.ts +1 -51
  6. package/dist/larvitar.js +13 -1
  7. package/dist/larvitar.js.map +1 -1
  8. package/imaging/tools/types.d.ts +19 -19
  9. package/imaging/types.d.ts +110 -2
  10. package/package.json +7 -2
  11. package/.github/workflows/build-docs.yml +0 -59
  12. package/.github/workflows/codeql-analysis.yml +0 -71
  13. package/.github/workflows/deploy.yml +0 -37
  14. package/.vscode/settings.json +0 -4
  15. package/CODE_OF_CONDUCT.md +0 -76
  16. package/MIGRATION.md +0 -25
  17. package/bundler/webpack.common.js +0 -27
  18. package/bundler/webpack.dev.js +0 -23
  19. package/bundler/webpack.prod.js +0 -19
  20. package/decs.d.ts +0 -12
  21. package/dist/imaging/MetaDataReadable.d.ts +0 -41
  22. package/dist/imaging/MetaDataTypes.d.ts +0 -3489
  23. package/imaging/dataDictionary.json +0 -21866
  24. package/imaging/imageAnonymization.ts +0 -135
  25. package/imaging/imageColormaps.ts +0 -217
  26. package/imaging/imageContours.ts +0 -196
  27. package/imaging/imageIo.ts +0 -251
  28. package/imaging/imageLayers.ts +0 -121
  29. package/imaging/imageLoading.ts +0 -299
  30. package/imaging/imageParsing.ts +0 -444
  31. package/imaging/imagePresets.ts +0 -156
  32. package/imaging/imageRendering.ts +0 -1091
  33. package/imaging/imageReslice.ts +0 -87
  34. package/imaging/imageStore.ts +0 -487
  35. package/imaging/imageTags.ts +0 -609
  36. package/imaging/imageTools.js +0 -708
  37. package/imaging/imageUtils.ts +0 -1079
  38. package/imaging/loaders/commonLoader.ts +0 -275
  39. package/imaging/loaders/dicomLoader.ts +0 -66
  40. package/imaging/loaders/fileLoader.ts +0 -71
  41. package/imaging/loaders/multiframeLoader.ts +0 -435
  42. package/imaging/loaders/nrrdLoader.ts +0 -630
  43. package/imaging/loaders/resliceLoader.ts +0 -205
  44. package/imaging/monitors/memory.ts +0 -151
  45. package/imaging/monitors/performance.ts +0 -34
  46. package/imaging/parsers/ecg.ts +0 -54
  47. package/imaging/parsers/nrrd.js +0 -485
  48. package/imaging/tools/custom/4dSliceScrollTool.js +0 -146
  49. package/imaging/tools/custom/BorderMagnifyTool.js +0 -99
  50. package/imaging/tools/custom/contourTool.js +0 -1884
  51. package/imaging/tools/custom/diameterTool.js +0 -141
  52. package/imaging/tools/custom/editMaskTool.js +0 -141
  53. package/imaging/tools/custom/ellipticalRoiOverlayTool.js +0 -534
  54. package/imaging/tools/custom/polygonSegmentationMixin.js +0 -245
  55. package/imaging/tools/custom/polylineScissorsTool.js +0 -59
  56. package/imaging/tools/custom/rectangleRoiOverlayTool.js +0 -564
  57. package/imaging/tools/custom/seedTool.js +0 -342
  58. package/imaging/tools/custom/setLabelMap3D.ts +0 -242
  59. package/imaging/tools/custom/thresholdsBrushTool.js +0 -161
  60. package/imaging/tools/default.ts +0 -594
  61. package/imaging/tools/interaction.ts +0 -266
  62. package/imaging/tools/io.ts +0 -229
  63. package/imaging/tools/main.ts +0 -427
  64. package/imaging/tools/segmentation.ts +0 -532
  65. package/imaging/tools/segmentations.md +0 -38
  66. package/imaging/tools/state.ts +0 -74
  67. package/imaging/tools/strategies/eraseFreehand.js +0 -76
  68. package/imaging/tools/strategies/fillFreehand.js +0 -79
  69. package/imaging/tools/strategies/index.js +0 -2
  70. package/imaging/waveforms/ecg.ts +0 -191
  71. package/index.ts +0 -431
  72. package/jsdoc.json +0 -52
  73. package/rollup.config.js +0 -51
  74. package/template/.gitkeep +0 -0
  75. package/tsconfig.json +0 -102
  76. /package/imaging/{MetaDataReadable.ts → MetaDataReadable.d.ts} +0 -0
  77. /package/imaging/{MetaDataTypes.ts → MetaDataTypes.d.ts} +0 -0
package/README.md CHANGED
@@ -8,8 +8,8 @@
8
8
 
9
9
  ## Dicom Image Toolkit for CornerstoneJS
10
10
 
11
- ### Current version: 2.0.5
12
- ### Latest Published Release: 2.0.5
11
+ ### Current version: 2.0.7
12
+ ### Latest Published Release: 2.0.7
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
 
@@ -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: ReturnType<typeof getSeriesData>) => void;
133
+ export declare const storeViewportData: (image: cornerstone.Image, elementId: string, viewport: Viewport, data: any) => void;
134
134
  /**
135
135
  * Invert pixels of an image
136
136
  * @instance
@@ -166,73 +166,3 @@ 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) => {
178
- loading: number;
179
- ready: boolean;
180
- minSliceId: number;
181
- maxSliceId: number;
182
- sliceId: number;
183
- pendingSliceId?: number | undefined;
184
- minTimeId: number;
185
- maxTimeId: number;
186
- timeId: number;
187
- timestamp: number;
188
- timestamps: number[];
189
- timeIds: number[];
190
- rows: number;
191
- cols: number;
192
- spacing_x: number;
193
- spacing_y: number;
194
- thickness: number;
195
- minPixelValue: number;
196
- maxPixelValue: number;
197
- isColor: boolean;
198
- isMultiframe: boolean;
199
- isTimeserie: boolean;
200
- isPDF: boolean;
201
- viewport: {
202
- scale: number;
203
- rotation: number;
204
- translation: {
205
- x: number;
206
- y: number;
207
- };
208
- voi: {
209
- windowCenter: number;
210
- windowWidth: number;
211
- };
212
- rows: number;
213
- cols: number;
214
- spacing_x: number;
215
- spacing_y: number;
216
- thickness: number;
217
- };
218
- default: {
219
- scale: number;
220
- rotation: number;
221
- translation: {
222
- x: number;
223
- y: number;
224
- };
225
- voi: {
226
- windowCenter: number;
227
- windowWidth: number;
228
- invert: boolean;
229
- };
230
- };
231
- } & {
232
- imageIndex: number;
233
- imageId: string;
234
- numberOfSlices: number;
235
- numberOfTemporalPositions: number;
236
- timeIndex?: number | undefined;
237
- };
238
- export {};
@@ -67,6 +67,11 @@ export declare const DEFAULT_VIEWPORT: {
67
67
  isMultiframe: boolean;
68
68
  isTimeserie: boolean;
69
69
  isPDF: boolean;
70
+ imageIndex?: number;
71
+ imageId?: string;
72
+ numberOfSlices?: number;
73
+ numberOfTemporalPositions?: number;
74
+ timeIndex?: number;
70
75
  viewport: {
71
76
  scale: number;
72
77
  rotation: number;
@@ -13,7 +13,7 @@ import type { ImageObject, MetaData, Series } from "../types";
13
13
  * @param {number} sliceIndex - Optional custom index to overwrite slice index as default one
14
14
  */
15
15
  export declare const updateLarvitarManager: (imageObject: ImageObject, customId?: string, sliceIndex?: number) => {
16
- [key: string]: Series | import("./nrrdLoader").NrrdSeries;
16
+ [key: string]: Series | import("../types").NrrdSeries;
17
17
  };
18
18
  /**
19
19
  * This function can be called in order to populate the Larvitar manager
@@ -24,7 +24,7 @@ export declare const updateLarvitarManager: (imageObject: ImageObject, customId?
24
24
  * @returns {manager} the Larvitar manager
25
25
  */
26
26
  export declare const populateLarvitarManager: (seriesId: string, seriesData: Series) => {
27
- [key: string]: Series | import("./nrrdLoader").NrrdSeries;
27
+ [key: string]: Series | import("../types").NrrdSeries;
28
28
  };
29
29
  /**
30
30
  * Return the common data loader manager
@@ -33,7 +33,7 @@ export declare const populateLarvitarManager: (seriesId: string, seriesData: Ser
33
33
  * @returns {Object} the loader manager
34
34
  */
35
35
  export declare const getLarvitarManager: () => {
36
- [key: string]: Series | import("./nrrdLoader").NrrdSeries;
36
+ [key: string]: Series | import("../types").NrrdSeries;
37
37
  };
38
38
  /**
39
39
  * Return the common image tracker
@@ -64,7 +64,7 @@ export declare const removeSeriesFromLarvitarManager: (seriesId: string) => void
64
64
  * @param {String} seriesId The Id of the series
65
65
  * @return {Object} larvitar manager data
66
66
  */
67
- export declare const getSeriesDataFromLarvitarManager: (seriesId: string) => Series | import("./nrrdLoader").NrrdSeries | null;
67
+ export declare const getSeriesDataFromLarvitarManager: (seriesId: string) => Series | import("../types").NrrdSeries | null;
68
68
  /**
69
69
  * Compute and return image frame
70
70
  * @instance
@@ -3,56 +3,7 @@
3
3
  * custom NRRD Loader
4
4
  */
5
5
  import { ImageLoader } from "cornerstone-core";
6
- import type { Instance, Volume, MetaData } from "../types";
7
- import { DataSet } from "dicom-parser";
8
- type NrrdInputVolume = {
9
- header: {
10
- sizes: number[];
11
- "space directions": number[][];
12
- "space origin": [number, number];
13
- kinds: string[];
14
- type: string;
15
- };
16
- data: Uint16Array;
17
- };
18
- export type NrrdSeries = {
19
- currentImageIdIndex: number;
20
- imageIds: string[];
21
- instances: {
22
- [key: string]: Instance;
23
- };
24
- instanceUIDs: {
25
- [key: string]: string;
26
- };
27
- numberOfImages: number;
28
- seriesDescription: string;
29
- seriesUID: string;
30
- customLoader: string;
31
- nrrdHeader: NrrdHeader;
32
- bytes: number;
33
- dataSet?: DataSet;
34
- metadata?: MetaData;
35
- ecgData?: number[];
36
- };
37
- type NrrdHeader = {
38
- volume: Volume;
39
- intercept: number;
40
- slope: number;
41
- repr: string;
42
- phase: string;
43
- study_description: string;
44
- series_description: string;
45
- acquisition_date: string;
46
- [imageId: string]: string | number | Volume | NrrdInstance;
47
- };
48
- type NrrdInstance = {
49
- instanceUID: string;
50
- seriesDescription: string;
51
- seriesModality: string;
52
- patientName: string;
53
- bitsAllocated: number;
54
- pixelRepresentation: string;
55
- };
6
+ import type { NrrdHeader, NrrdInputVolume, NrrdSeries } from "../types";
56
7
  /**
57
8
  * Build the data structure for the provided image orientation
58
9
  * @instance
@@ -110,4 +61,3 @@ export declare const getNrrdSerieDimensions: () => {
110
61
  coronal: number[];
111
62
  sagittal: number[];
112
63
  };
113
- export {};
package/dist/larvitar.js CHANGED
@@ -84918,6 +84918,15 @@ const imageUtils_1 = __webpack_require__(8345);
84918
84918
  const commonLoader_1 = __webpack_require__(326);
84919
84919
  // global module variables
84920
84920
  let customImageLoaderCounter = 0;
84921
+ /*
84922
+ * This module provides the following functions to be exported:
84923
+ * buildNrrdImage(volume, seriesId, custom_header)
84924
+ * getNrrdImageId(customLoaderName)
84925
+ * loadNrrdImage(imageId)
84926
+ * getImageIdFromSlice(sliceNumber, orientation)
84927
+ * getSliceNumberFromImageId(imageId, orientation)
84928
+ * getNrrdSerieDimensions()
84929
+ */
84921
84930
  // TODO-ts: why it's different from cornerstone type ?
84922
84931
  // type Image = {
84923
84932
  // imageId: string;
@@ -86799,6 +86808,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
86799
86808
  };
86800
86809
  Object.defineProperty(exports, "__esModule", ({ value: true }));
86801
86810
  exports.generateCSV = exports.exportAnnotations = exports.saveAnnotations = exports.loadAnnotations = void 0;
86811
+ // deprecated file, to be removed
86812
+ // TODO-ts remove this file @mronzoni
86813
+ // @ts-nocheck
86802
86814
  // external libraries
86803
86815
  const cornerstone_core_1 = __importDefault(__webpack_require__(7371));
86804
86816
  const cornerstone_tools_1 = __importDefault(__webpack_require__(4030));
@@ -88911,7 +88923,7 @@ module.exports = JSON.parse('{"x00000000":{"tag":"x00000000","vr":"UL","vm":"1",
88911
88923
  /***/ ((module) => {
88912
88924
 
88913
88925
  "use strict";
88914
- module.exports = JSON.parse('{"name":"larvitar","keywords":["DICOM","imaging","medical","cornerstone"],"version":"2.0.5","description":"typescript library for parsing, loading, rendering and interacting with DICOM images","repository":{"url":"https://github.com/dvisionlab/Larvitar.git","type":"git"},"main":"index.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"}}');
88926
+ module.exports = JSON.parse('{"name":"larvitar","keywords":["DICOM","imaging","medical","cornerstone"],"version":"2.0.7","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"}}');
88915
88927
 
88916
88928
  /***/ })
88917
88929