larvitar 2.0.11 → 2.0.13
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.
|
|
12
|
-
### Latest Published Release: 2.0.
|
|
11
|
+
### Current version: 2.0.13
|
|
12
|
+
### Latest Published Release: 2.0.13
|
|
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
|
|
|
@@ -19,11 +19,11 @@ export declare const updateLarvitarManager: (imageObject: ImageObject, customId?
|
|
|
19
19
|
* This function can be called in order to populate the Larvitar manager
|
|
20
20
|
* @instance
|
|
21
21
|
* @function populateLarvitarManager
|
|
22
|
-
* @param {String}
|
|
22
|
+
* @param {String} larvitarSeriesInstanceUID The Id of the manager stack
|
|
23
23
|
* @param {Object} seriesData The series data
|
|
24
24
|
* @returns {manager} the Larvitar manager
|
|
25
25
|
*/
|
|
26
|
-
export declare const populateLarvitarManager: (
|
|
26
|
+
export declare const populateLarvitarManager: (larvitarSeriesInstanceUID: string, seriesData: Series) => {
|
|
27
27
|
[key: string]: Series | import("../types").NrrdSeries;
|
|
28
28
|
};
|
|
29
29
|
/**
|
|
@@ -19,7 +19,7 @@ export declare const loadMultiFrameImage: (imageId: string) => {
|
|
|
19
19
|
* @param {String} seriesId - SeriesId tag
|
|
20
20
|
* @param {Object} serie - parsed serie object
|
|
21
21
|
*/
|
|
22
|
-
export declare const buildMultiFrameImage: (
|
|
22
|
+
export declare const buildMultiFrameImage: (larvitarSeriesInstanceUID: string, serie: Series) => void;
|
|
23
23
|
/**
|
|
24
24
|
* Get the custom imageId from custom loader
|
|
25
25
|
* @instance
|
package/dist/larvitar.js
CHANGED
|
@@ -80792,8 +80792,7 @@ const parseDataSet = function (dataSet, metadata, customFilter) {
|
|
|
80792
80792
|
// be named 'x0008103e'. Here we iterate over each property (element) so we can build a string describing its
|
|
80793
80793
|
// contents to add to the output array
|
|
80794
80794
|
try {
|
|
80795
|
-
let elements =
|
|
80796
|
-
customFilter && (0, lodash_1.has)(customFilter, "tags")
|
|
80795
|
+
let elements = customFilter && (0, lodash_1.has)(customFilter, "tags")
|
|
80797
80796
|
? (0, lodash_1.pick)(dataSet.elements, customFilter.tags)
|
|
80798
80797
|
: dataSet.elements;
|
|
80799
80798
|
for (let propertyName in elements) {
|
|
@@ -80804,18 +80803,28 @@ const parseDataSet = function (dataSet, metadata, customFilter) {
|
|
|
80804
80803
|
// sequences will are currently not parsed.
|
|
80805
80804
|
if (element.items) {
|
|
80806
80805
|
let nestedArray = [];
|
|
80807
|
-
|
|
80808
|
-
element.items.forEach(function (item) {
|
|
80806
|
+
function getNestedObject(item) {
|
|
80809
80807
|
let nestedObject = {};
|
|
80810
80808
|
for (let nestedPropertyName in item.dataSet.elements) {
|
|
80811
80809
|
let TAG_tagValue = nestedPropertyName;
|
|
80812
80810
|
let tagValue = (0, imageTags_1.parseTag)(item.dataSet, nestedPropertyName, item.dataSet.elements[nestedPropertyName]);
|
|
80813
80811
|
let TAG_nested = nestedPropertyName;
|
|
80814
80812
|
nestedObject[TAG_nested] = tagValue;
|
|
80815
|
-
//see MetaDataTypes.ts last property to understand how this dynamic value setting is possible
|
|
80816
80813
|
}
|
|
80817
80814
|
nestedArray.push(nestedObject);
|
|
80818
|
-
}
|
|
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
|
+
}
|
|
80819
80828
|
metadata[TAG] = nestedArray;
|
|
80820
80829
|
}
|
|
80821
80830
|
else {
|
|
@@ -84218,20 +84227,20 @@ exports.updateLarvitarManager = updateLarvitarManager;
|
|
|
84218
84227
|
* This function can be called in order to populate the Larvitar manager
|
|
84219
84228
|
* @instance
|
|
84220
84229
|
* @function populateLarvitarManager
|
|
84221
|
-
* @param {String}
|
|
84230
|
+
* @param {String} larvitarSeriesInstanceUID The Id of the manager stack
|
|
84222
84231
|
* @param {Object} seriesData The series data
|
|
84223
84232
|
* @returns {manager} the Larvitar manager
|
|
84224
84233
|
*/
|
|
84225
|
-
const populateLarvitarManager = function (
|
|
84234
|
+
const populateLarvitarManager = function (larvitarSeriesInstanceUID, seriesData) {
|
|
84226
84235
|
if (larvitarManager === null) {
|
|
84227
84236
|
larvitarManager = {};
|
|
84228
84237
|
}
|
|
84229
84238
|
let data = Object.assign({}, seriesData);
|
|
84230
84239
|
if (data.isMultiframe) {
|
|
84231
|
-
(0, multiframeLoader_1.buildMultiFrameImage)(
|
|
84240
|
+
(0, multiframeLoader_1.buildMultiFrameImage)(larvitarSeriesInstanceUID, data);
|
|
84232
84241
|
}
|
|
84233
84242
|
else {
|
|
84234
|
-
larvitarManager[
|
|
84243
|
+
larvitarManager[larvitarSeriesInstanceUID] = data;
|
|
84235
84244
|
}
|
|
84236
84245
|
return larvitarManager;
|
|
84237
84246
|
};
|
|
@@ -84635,7 +84644,7 @@ exports.loadMultiFrameImage = loadMultiFrameImage;
|
|
|
84635
84644
|
* @param {String} seriesId - SeriesId tag
|
|
84636
84645
|
* @param {Object} serie - parsed serie object
|
|
84637
84646
|
*/
|
|
84638
|
-
const buildMultiFrameImage = function (
|
|
84647
|
+
const buildMultiFrameImage = function (larvitarSeriesInstanceUID, serie) {
|
|
84639
84648
|
let t0 = performance.now();
|
|
84640
84649
|
let manager = (0, commonLoader_1.getLarvitarManager)();
|
|
84641
84650
|
let imageTracker = (0, commonLoader_1.getLarvitarImageTracker)();
|
|
@@ -84646,12 +84655,12 @@ const buildMultiFrameImage = function (seriesId, serie) {
|
|
|
84646
84655
|
let sopInstanceUID = serie.metadata["x00080018"];
|
|
84647
84656
|
let dataSet = serie.dataSet;
|
|
84648
84657
|
let imageId = (0, exports.getMultiFrameImageId)("multiFrameLoader");
|
|
84649
|
-
imageTracker[imageId] =
|
|
84658
|
+
imageTracker[imageId] = larvitarSeriesInstanceUID;
|
|
84650
84659
|
// check if manager exists for this seriesId
|
|
84651
|
-
if (!manager[
|
|
84652
|
-
manager[
|
|
84653
|
-
manager[
|
|
84654
|
-
manager[
|
|
84660
|
+
if (!manager[larvitarSeriesInstanceUID]) {
|
|
84661
|
+
manager[larvitarSeriesInstanceUID] = serie;
|
|
84662
|
+
manager[larvitarSeriesInstanceUID].imageIds = [];
|
|
84663
|
+
manager[larvitarSeriesInstanceUID].instances = {};
|
|
84655
84664
|
}
|
|
84656
84665
|
(0, lodash_1.each)((0, lodash_1.range)(numberOfFrames), function (frameNumber) {
|
|
84657
84666
|
let frameImageId = imageId + "?frame=" + frameNumber;
|
|
@@ -84661,10 +84670,9 @@ const buildMultiFrameImage = function (seriesId, serie) {
|
|
|
84661
84670
|
tags: ["x52009230"],
|
|
84662
84671
|
frameId: frameNumber
|
|
84663
84672
|
});
|
|
84664
|
-
// TODO-ts REMOVE "AS" WHEN METADATA VALUES ARE TYPED
|
|
84665
84673
|
// store file references
|
|
84666
|
-
const managerSeriesId = manager[
|
|
84667
|
-
managerSeriesId.seriesUID =
|
|
84674
|
+
const managerSeriesId = manager[larvitarSeriesInstanceUID];
|
|
84675
|
+
managerSeriesId.seriesUID = serie.metadata["x0020000e"];
|
|
84668
84676
|
managerSeriesId.studyUID = serie.metadata["x0020000d"];
|
|
84669
84677
|
managerSeriesId.modality = serie.metadata["x00080060"];
|
|
84670
84678
|
managerSeriesId.color = cornerstone_wado_image_loader_1.default.isColorImage(serie.metadata["x00280004"]);
|
|
@@ -88969,7 +88977,7 @@ module.exports = JSON.parse('{"x00000000":{"tag":"x00000000","vr":"UL","vm":"1",
|
|
|
88969
88977
|
/***/ ((module) => {
|
|
88970
88978
|
|
|
88971
88979
|
"use strict";
|
|
88972
|
-
module.exports = JSON.parse('{"name":"larvitar","keywords":["DICOM","imaging","medical","cornerstone"],"version":"2.0.
|
|
88980
|
+
module.exports = JSON.parse('{"name":"larvitar","keywords":["DICOM","imaging","medical","cornerstone"],"version":"2.0.13","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"}}');
|
|
88973
88981
|
|
|
88974
88982
|
/***/ })
|
|
88975
88983
|
|