dcmjs 0.29.2 → 0.29.4

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
@@ -78,7 +78,7 @@ Use the following "Commit Message Format" when drafting commit messages. If you'
78
78
 
79
79
  Note: Be wary of `BREAKING_CHANGE` in commit message descriptions, as this can force a major version bump.
80
80
 
81
- Be sure to use lower case for the first letter of your semantic commit message, so use `fix` not `Fix` or `feat` not `Feat`.
81
+ Be sure to use lower case for the first letter of your semantic commit message, so use `fix` not `Fix` or `feat` not `Feat`, have a space after the : and make the PR github review title follow the SAME rules. It is the PR review title that determins the final commit message and will be used for semantic detection.
82
82
 
83
83
  Note: a new package version will be published only if the commit comes from a PR.
84
84
 
package/build/dcmjs.es.js CHANGED
@@ -16465,6 +16465,19 @@ function nearlyEqual(a, b, epsilon) {
16465
16465
  }
16466
16466
  }
16467
16467
 
16468
+
16469
+
16470
+ var orientation = /*#__PURE__*/Object.freeze({
16471
+ __proto__: null,
16472
+ crossProduct3D: crossProduct3D,
16473
+ flipImageOrientationPatient: flipImageOrientationPatient,
16474
+ rotateDirectionCosinesInPlane: rotateDirectionCosinesInPlane,
16475
+ rotateVectorAroundUnitVector: rotateVectorAroundUnitVector,
16476
+ flipMatrix2D: flipMatrix2D,
16477
+ rotateMatrix902D: rotateMatrix902D,
16478
+ nearlyEqual: nearlyEqual
16479
+ });
16480
+
16468
16481
  var Segmentation$1 = {
16469
16482
  generateSegmentation: generateSegmentation,
16470
16483
  generateToolState: generateToolState
@@ -18419,6 +18432,12 @@ function decodeFrame(rleEncodedFrame, pixelData) {
18419
18432
  }
18420
18433
  }
18421
18434
 
18435
+ var compression = /*#__PURE__*/Object.freeze({
18436
+ __proto__: null,
18437
+ encode: encode,
18438
+ decode: decode
18439
+ });
18440
+
18422
18441
  var lodash_clonedeep = createCommonjsModule(function (module, exports) {
18423
18442
  /**
18424
18443
  * lodash (Custom Build) <https://lodash.com/>
@@ -20230,28 +20249,28 @@ function fillSegmentation(segmentation, inputLabelmaps3D) {
20230
20249
  metadata = labelmap3D.metadata;
20231
20250
  var referencedFramesPerSegment = [];
20232
20251
 
20233
- for (var _i = 1; _i < metadata.length; _i++) {
20234
- if (metadata[_i]) {
20235
- referencedFramesPerSegment[_i] = [];
20252
+ for (var i = 1; i < metadata.length; i++) {
20253
+ if (metadata[i]) {
20254
+ referencedFramesPerSegment[i] = [];
20236
20255
  }
20237
20256
  }
20238
20257
 
20239
- var _loop2 = function _loop2(_i2) {
20240
- var labelmap2D = labelmaps2D[_i2];
20258
+ var _loop2 = function _loop2(_i) {
20259
+ var labelmap2D = labelmaps2D[_i];
20241
20260
 
20242
- if (labelmaps2D[_i2]) {
20261
+ if (labelmaps2D[_i]) {
20243
20262
  var segmentsOnLabelmap = labelmap2D.segmentsOnLabelmap;
20244
20263
  segmentsOnLabelmap.forEach(function (segmentIndex) {
20245
20264
  if (segmentIndex !== 0) {
20246
- referencedFramesPerSegment[segmentIndex].push(_i2);
20265
+ referencedFramesPerSegment[segmentIndex].push(_i);
20247
20266
  numberOfFrames++;
20248
20267
  }
20249
20268
  });
20250
20269
  }
20251
20270
  };
20252
20271
 
20253
- for (var _i2 = 0; _i2 < labelmaps2D.length; _i2++) {
20254
- _loop2(_i2);
20272
+ for (var _i = 0; _i < labelmaps2D.length; _i++) {
20273
+ _loop2(_i);
20255
20274
  }
20256
20275
 
20257
20276
  referencedFramesPerLabelmap[labelmapIndex] = referencedFramesPerSegment;
@@ -20317,8 +20336,8 @@ function _getLabelmapsFromRefernecedFrameIndicies(labelmap3D, referencedFrameInd
20317
20336
  var labelmaps2D = labelmap3D.labelmaps2D;
20318
20337
  var labelmaps = [];
20319
20338
 
20320
- for (var _i3 = 0; _i3 < referencedFrameIndicies.length; _i3++) {
20321
- var frame = referencedFrameIndicies[_i3];
20339
+ for (var i = 0; i < referencedFrameIndicies.length; i++) {
20340
+ var frame = referencedFrameIndicies[i];
20322
20341
  labelmaps.push(labelmaps2D[frame].pixelData);
20323
20342
  }
20324
20343
 
@@ -20344,8 +20363,8 @@ function _createSegFromImages$1(images, isMultiframe, options) {
20344
20363
  dataset._meta = DicomMetaDictionary.namifyDataset(dicomData.meta);
20345
20364
  datasets.push(dataset);
20346
20365
  } else {
20347
- for (var _i4 = 0; _i4 < images.length; _i4++) {
20348
- var _image = images[_i4];
20366
+ for (var i = 0; i < images.length; i++) {
20367
+ var _image = images[i];
20349
20368
  var _arrayBuffer = _image.data.byteArray.buffer;
20350
20369
 
20351
20370
  var _dicomData = DicomMessage.readFile(_arrayBuffer);
@@ -20581,7 +20600,7 @@ function checkSEGsOverlapping(pixelData, multiframe, imageIds, validOrientations
20581
20600
  var imageId = findReferenceSourceImageId(multiframe, frameSegment, imageIds, metadataProvider, tolerance);
20582
20601
 
20583
20602
  if (!imageId) {
20584
- console.warn("Image not present in stack, can't import frame : " + i + ".");
20603
+ console.warn("Image not present in stack, can't import frame : " + frameSegment + ".");
20585
20604
  return "continue";
20586
20605
  }
20587
20606
 
@@ -20618,8 +20637,8 @@ function checkSEGsOverlapping(pixelData, multiframe, imageIds, validOrientations
20618
20637
 
20619
20638
  var temp2DArray = new Uint16Array(sliceLength).fill(0);
20620
20639
 
20621
- for (var _i5 = 0; _i5 < role.length; ++_i5) {
20622
- var _frameSegment = role[_i5];
20640
+ for (var i = 0; i < role.length; ++i) {
20641
+ var _frameSegment = role[i];
20623
20642
  var PerFrameFunctionalGroups = PerFrameFunctionalGroupsSequence[_frameSegment];
20624
20643
  var ImageOrientationPatientI = sharedImageOrientationPatient || PerFrameFunctionalGroups.PlaneOrientationSequence.ImageOrientationPatient;
20625
20644
  var pixelDataI2D = ndarray(new Uint8Array(pixelData.buffer, _frameSegment * sliceLength, sliceLength), [Rows, Columns]);
@@ -20679,32 +20698,32 @@ function insertOverlappingPixelDataPlanar(segmentsOnFrame, segmentsOnFrameArray,
20679
20698
  var numberOfSegs = multiframe.SegmentSequence.length;
20680
20699
 
20681
20700
  for (var segmentIndexToProcess = 1; segmentIndexToProcess <= numberOfSegs; ++segmentIndexToProcess) {
20682
- var _loop4 = function _loop4(groupsLen, _i7) {
20683
- var PerFrameFunctionalGroups = PerFrameFunctionalGroupsSequence[_i7];
20684
- var segmentIndex = getSegmentIndex(multiframe, _i7);
20701
+ var _loop4 = function _loop4(_i2, groupsLen) {
20702
+ var PerFrameFunctionalGroups = PerFrameFunctionalGroupsSequence[_i2];
20703
+ var segmentIndex = getSegmentIndex(multiframe, _i2);
20685
20704
 
20686
20705
  if (segmentIndex === undefined) {
20687
20706
  throw new Error("Could not retrieve the segment index. Aborting segmentation loading.");
20688
20707
  }
20689
20708
 
20690
20709
  if (segmentIndex !== segmentIndexToProcess) {
20691
- _i6 = _i7;
20710
+ i = _i2;
20692
20711
  return "continue";
20693
20712
  }
20694
20713
 
20695
20714
  var ImageOrientationPatientI = sharedImageOrientationPatient || PerFrameFunctionalGroups.PlaneOrientationSequence.ImageOrientationPatient;
20696
- var pixelDataI2D = ndarray(new Uint8Array(pixelData.buffer, _i7 * sliceLength, sliceLength), [Rows, Columns]);
20715
+ var pixelDataI2D = ndarray(new Uint8Array(pixelData.buffer, _i2 * sliceLength, sliceLength), [Rows, Columns]);
20697
20716
  var alignedPixelDataI = alignPixelDataWithSourceData$1(pixelDataI2D, ImageOrientationPatientI, validOrientations, tolerance);
20698
20717
 
20699
20718
  if (!alignedPixelDataI) {
20700
20719
  throw new Error("Individual SEG frames are out of plane with respect to the first SEG frame. " + "This is not yet supported. Aborting segmentation loading.");
20701
20720
  }
20702
20721
 
20703
- var imageId = findReferenceSourceImageId(multiframe, _i7, imageIds, metadataProvider, tolerance);
20722
+ var imageId = findReferenceSourceImageId(multiframe, _i2, imageIds, metadataProvider, tolerance);
20704
20723
 
20705
20724
  if (!imageId) {
20706
- console.warn("Image not present in stack, can't import frame : " + _i7 + ".");
20707
- _i6 = _i7;
20725
+ console.warn("Image not present in stack, can't import frame : " + _i2 + ".");
20726
+ i = _i2;
20708
20727
  return "continue";
20709
20728
  }
20710
20729
 
@@ -20736,7 +20755,7 @@ function insertOverlappingPixelDataPlanar(segmentsOnFrame, segmentsOnFrameArray,
20736
20755
 
20737
20756
  tempBuffer = labelmapBufferArray[m].slice(0);
20738
20757
  tempSegmentsOnFrame = lodash_clonedeep(segmentsOnFrameArray[m]);
20739
- _i7 = 0;
20758
+ _i2 = 0;
20740
20759
  break;
20741
20760
  } else {
20742
20761
  labelmap2DView[j] = segmentIndex;
@@ -20759,11 +20778,11 @@ function insertOverlappingPixelDataPlanar(segmentsOnFrame, segmentsOnFrameArray,
20759
20778
  segmentsOnFrame[imageIdIndex].push(segmentIndex);
20760
20779
  }
20761
20780
 
20762
- _i6 = _i7;
20781
+ i = _i2;
20763
20782
  };
20764
20783
 
20765
- for (var _i6 = 0, groupsLen = PerFrameFunctionalGroupsSequence.length; _i6 < groupsLen; ++_i6) {
20766
- var _ret2 = _loop4(groupsLen, _i6);
20784
+ for (var i = 0, groupsLen = PerFrameFunctionalGroupsSequence.length; i < groupsLen; ++i) {
20785
+ var _ret2 = _loop4(i, groupsLen);
20767
20786
 
20768
20787
  if (_ret2 === "continue") continue;
20769
20788
  }
@@ -20792,26 +20811,26 @@ function insertPixelDataPlanar(segmentsOnFrame, segmentsOnFrameArray, labelmapBu
20792
20811
  var sharedImageOrientationPatient = SharedFunctionalGroupsSequence.PlaneOrientationSequence ? SharedFunctionalGroupsSequence.PlaneOrientationSequence.ImageOrientationPatient : undefined;
20793
20812
  var sliceLength = Columns * Rows;
20794
20813
 
20795
- var _loop5 = function _loop5(groupsLen, _i8) {
20796
- var PerFrameFunctionalGroups = PerFrameFunctionalGroupsSequence[_i8];
20814
+ var _loop5 = function _loop5(groupsLen, _i3) {
20815
+ var PerFrameFunctionalGroups = PerFrameFunctionalGroupsSequence[_i3];
20797
20816
  var ImageOrientationPatientI = sharedImageOrientationPatient || PerFrameFunctionalGroups.PlaneOrientationSequence.ImageOrientationPatient;
20798
- var pixelDataI2D = ndarray(new Uint8Array(pixelData.buffer, _i8 * sliceLength, sliceLength), [Rows, Columns]);
20817
+ var pixelDataI2D = ndarray(new Uint8Array(pixelData.buffer, _i3 * sliceLength, sliceLength), [Rows, Columns]);
20799
20818
  var alignedPixelDataI = alignPixelDataWithSourceData$1(pixelDataI2D, ImageOrientationPatientI, validOrientations, tolerance);
20800
20819
 
20801
20820
  if (!alignedPixelDataI) {
20802
20821
  throw new Error("Individual SEG frames are out of plane with respect to the first SEG frame. " + "This is not yet supported. Aborting segmentation loading.");
20803
20822
  }
20804
20823
 
20805
- var segmentIndex = getSegmentIndex(multiframe, _i8);
20824
+ var segmentIndex = getSegmentIndex(multiframe, _i3);
20806
20825
 
20807
20826
  if (segmentIndex === undefined) {
20808
20827
  throw new Error("Could not retrieve the segment index. Aborting segmentation loading.");
20809
20828
  }
20810
20829
 
20811
- var imageId = findReferenceSourceImageId(multiframe, _i8, imageIds, metadataProvider, tolerance);
20830
+ var imageId = findReferenceSourceImageId(multiframe, _i3, imageIds, metadataProvider, tolerance);
20812
20831
 
20813
20832
  if (!imageId) {
20814
- console.warn("Image not present in stack, can't import frame : " + _i8 + ".");
20833
+ console.warn("Image not present in stack, can't import frame : " + _i3 + ".");
20815
20834
  return "continue";
20816
20835
  }
20817
20836
 
@@ -20847,8 +20866,8 @@ function insertPixelDataPlanar(segmentsOnFrame, segmentsOnFrameArray, labelmapBu
20847
20866
  }
20848
20867
  };
20849
20868
 
20850
- for (var _i8 = 0, groupsLen = PerFrameFunctionalGroupsSequence.length; _i8 < groupsLen; ++_i8) {
20851
- var _ret3 = _loop5(groupsLen, _i8);
20869
+ for (var _i3 = 0, groupsLen = PerFrameFunctionalGroupsSequence.length; _i3 < groupsLen; ++_i3) {
20870
+ var _ret3 = _loop5(groupsLen, _i3);
20852
20871
 
20853
20872
  if (_ret3 === "continue") continue;
20854
20873
  }
@@ -21113,8 +21132,8 @@ function compareArrays(array1, array2, tolerance) {
21113
21132
  return false;
21114
21133
  }
21115
21134
 
21116
- for (var _i9 = 0; _i9 < array1.length; ++_i9) {
21117
- if (!nearlyEqual(array1[_i9], array2[_i9], tolerance)) {
21135
+ for (var _i4 = 0; _i4 < array1.length; ++_i4) {
21136
+ if (!nearlyEqual(array1[_i4], array2[_i4], tolerance)) {
21118
21137
  return false;
21119
21138
  }
21120
21139
  }
@@ -23804,7 +23823,9 @@ var utilities = {
23804
23823
  TID1500: TID1500,
23805
23824
  TID300: TID300,
23806
23825
  message: message,
23807
- addAccessors: addAccessors
23826
+ addAccessors: addAccessors,
23827
+ orientation: orientation,
23828
+ compression: compression
23808
23829
  };
23809
23830
 
23810
23831
  var Code = /*#__PURE__*/function () {