hellfire 0.31.3 → 0.31.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/CHANGELOG.md CHANGED
@@ -2,6 +2,10 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ## [0.31.4](http://10.16.100.57/diffusion/115/paladin/compare/v0.31.3...v0.31.4) (2025-11-09)
6
+
7
+
8
+
5
9
  ## [0.31.3](http://10.16.100.57/diffusion/115/paladin/compare/v0.31.2...v0.31.3) (2025-11-04)
6
10
 
7
11
 
package/dist/index.js CHANGED
@@ -52385,13 +52385,26 @@ var formatInPlanePhaseEncodingDirection = function formatInPlanePhaseEncodingDir
52385
52385
  }
52386
52386
  };
52387
52387
 
52388
- var checkFloatFixed = function checkFloatFixed(value) {
52389
- var twoDecimalRegex = /^-?\d+\.\d{2}$/;
52388
+ var checkFloatFixed = function checkFloatFixed(num) {
52389
+ var decimalPart = num.toString().split('.')[1];
52390
52390
 
52391
- if (twoDecimalRegex.test(value.toString())) {
52392
- return value.toFixed(2);
52391
+ if (decimalPart && decimalPart.length > 2) {
52392
+ return num.toFixed(2);
52393
52393
  } else {
52394
- return value.toFixed(1);
52394
+ return num.toFixed(1);
52395
+ }
52396
+ };
52397
+
52398
+ var checkFloatFixed3 = function checkFloatFixed3(num) {
52399
+ var decimalPart = num.toString().split('.')[1] || '';
52400
+ var decimalLength = decimalPart.length;
52401
+
52402
+ if (decimalLength >= 3) {
52403
+ return num.toFixed(3);
52404
+ } else if (decimalLength === 2) {
52405
+ return num.toFixed(2);
52406
+ } else {
52407
+ return num.toFixed(1);
52395
52408
  }
52396
52409
  };
52397
52410
 
@@ -52410,6 +52423,28 @@ var formatThkText = function formatThkText(sliceThickness, spacingBetweenSlices)
52410
52423
  return actualSpacingBetweenSlices || sliceThickness ? "THK: ".concat(sliceThickness && checkFloatFixed(parseFloat(sliceThickness)), "/").concat(actualSpacingBetweenSlices) : '';
52411
52424
  };
52412
52425
 
52426
+ var formatDetText = function formatDetText(dicom) {
52427
+ var _dicom$TotalCollimati, _dicom$SingleCollimat, _dicom$SpiralPitchFac;
52428
+
52429
+ var totalCollimationWidth = (_dicom$TotalCollimati = dicom.TotalCollimationWidth) === null || _dicom$TotalCollimati === void 0 ? void 0 : _dicom$TotalCollimati.value;
52430
+ var singleCollimationWidth = (_dicom$SingleCollimat = dicom.SingleCollimationWidth) === null || _dicom$SingleCollimat === void 0 ? void 0 : _dicom$SingleCollimat.value;
52431
+ var spiralPitchFactor = (_dicom$SpiralPitchFac = dicom.SpiralPitchFactor) === null || _dicom$SpiralPitchFac === void 0 ? void 0 : _dicom$SpiralPitchFac.value;
52432
+
52433
+ if (!totalCollimationWidth || !totalCollimationWidth[0] || !singleCollimationWidth || !singleCollimationWidth[0] || !spiralPitchFactor || !spiralPitchFactor[0]) {
52434
+ return '';
52435
+ }
52436
+
52437
+ var detectorRows = Math.round(parseFloat(totalCollimationWidth[0]) / parseFloat(singleCollimationWidth[0]));
52438
+
52439
+ if (detectorRows > 10000) {
52440
+ return '';
52441
+ }
52442
+
52443
+ var collimationWidth = checkFloatFixed3(parseFloat(singleCollimationWidth[0]));
52444
+ var pitch = checkFloatFixed(parseFloat(spiralPitchFactor[0]));
52445
+ return "Det: ".concat(detectorRows, "x").concat(collimationWidth, "/p: ").concat(pitch);
52446
+ };
52447
+
52413
52448
  var getFov = function getFov(dicom, imageId) {
52414
52449
  var rows = dicom.Rows.value;
52415
52450
  var columns = dicom.Columns.value;
@@ -52790,12 +52825,14 @@ var ViewportOverlay = /*#__PURE__*/function (_PureComponent) {
52790
52825
 
52791
52826
  var diffusionBValue = dicom.DiffusionBValue.toString();
52792
52827
  var seriesDescription = dicom.SeriesDescription.toString();
52793
- var thk = formatThkText(sliceThickness, spacingBetweenSlices); // 当长度大于20时,不显示
52828
+ var thk = formatThkText(sliceThickness, spacingBetweenSlices);
52829
+ var det = formatDetText(dicom); // 当长度大于20时,不显示
52794
52830
 
52795
52831
  var imageComments = dicom.ImageComments.toString(); // DX DR CR专属属性
52796
52832
 
52797
52833
  var modality = dicom.Modality.toString();
52798
52834
  var showDXDRCR = modality === 'DX' || modality === 'DR' || modality === 'CR';
52835
+ var showCT = modality === 'CT';
52799
52836
  var kvp = dicom.KVP.toString();
52800
52837
  var exposureTime = dicom.ExposureTime.toString();
52801
52838
  var xRayTubeCurrent = dicom.XRayTubeCurrent.toString();
@@ -52835,7 +52872,7 @@ var ViewportOverlay = /*#__PURE__*/function (_PureComponent) {
52835
52872
  fontSize: "".concat(fontSize, "px"),
52836
52873
  display: "".concat(hide ? 'none' : 'block')
52837
52874
  }
52838
- }, showDXDRCR && /*#__PURE__*/React__default.createElement("div", null, /*#__PURE__*/React__default.createElement("div", null, formatDRDXInfo('kV', kvp)), /*#__PURE__*/React__default.createElement("div", null, formatDRDXInfo('mA', xRayTubeCurrent)), /*#__PURE__*/React__default.createElement("div", null, formatDRDXInfo('Time', exposureTime)), /*#__PURE__*/React__default.createElement("div", null, formatDRDXInfo('mAs', exposure))), /*#__PURE__*/React__default.createElement("div", null, patientOrientation), /*#__PURE__*/React__default.createElement("div", null, protocolName), /*#__PURE__*/React__default.createElement("div", null, sequenceName), /*#__PURE__*/React__default.createElement("div", null, getTRAndTE(repetitionTime, echoTime)), /*#__PURE__*/React__default.createElement("div", null, formatDicomInfo('TI', inversionTime)), /*#__PURE__*/React__default.createElement("div", null, formatDicomInfo('FA', flipAngle)), /*#__PURE__*/React__default.createElement("div", null, getADAndNEX(acquisitionDuration, numberOfAverages)), /*#__PURE__*/React__default.createElement("div", null, thk), /*#__PURE__*/React__default.createElement("div", null, formatDicomInfo('B', diffusionBValue, false)), seriesDescription && seriesDescription !== protocolName && /*#__PURE__*/React__default.createElement("div", null, seriesDescription), imageComments && imageComments.length < 20 && /*#__PURE__*/React__default.createElement("div", null, imageComments)), /*#__PURE__*/React__default.createElement("div", {
52875
+ }, showDXDRCR && /*#__PURE__*/React__default.createElement("div", null, /*#__PURE__*/React__default.createElement("div", null, formatDRDXInfo('kV', kvp)), /*#__PURE__*/React__default.createElement("div", null, formatDRDXInfo('mA', xRayTubeCurrent)), /*#__PURE__*/React__default.createElement("div", null, formatDRDXInfo('Time', exposureTime)), /*#__PURE__*/React__default.createElement("div", null, formatDRDXInfo('mAs', exposure))), /*#__PURE__*/React__default.createElement("div", null, patientOrientation), /*#__PURE__*/React__default.createElement("div", null, protocolName), /*#__PURE__*/React__default.createElement("div", null, sequenceName), /*#__PURE__*/React__default.createElement("div", null, getTRAndTE(repetitionTime, echoTime)), /*#__PURE__*/React__default.createElement("div", null, formatDicomInfo('TI', inversionTime)), /*#__PURE__*/React__default.createElement("div", null, formatDicomInfo('FA', flipAngle)), /*#__PURE__*/React__default.createElement("div", null, getADAndNEX(acquisitionDuration, numberOfAverages)), showCT && /*#__PURE__*/React__default.createElement("div", null, thk), /*#__PURE__*/React__default.createElement("div", null, det), /*#__PURE__*/React__default.createElement("div", null, formatDicomInfo('B', diffusionBValue, false)), seriesDescription && seriesDescription !== protocolName && /*#__PURE__*/React__default.createElement("div", null, seriesDescription), imageComments && imageComments.length < 20 && /*#__PURE__*/React__default.createElement("div", null, imageComments)), /*#__PURE__*/React__default.createElement("div", {
52839
52876
  style: {
52840
52877
  position: 'absolute',
52841
52878
  top: 4,