@ohif/app 3.12.0-beta.77 → 3.12.0-beta.78
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/dist/{147.bundle.23cc8fbbd94c0b65d337.js → 147.bundle.53fe889b205dd91c245b.js} +2 -2
- package/dist/{1604.bundle.5d95724cde8a8c23f7d7.js → 1604.bundle.0d3b54b754c97de7aa88.js} +5 -5
- package/dist/{1919.bundle.9abab6d9c380f9ef6f0b.js → 1919.bundle.099a3ad4025e527284b0.js} +6 -6
- package/dist/{2701.bundle.4c715c1d9bb7828886d8.js → 2701.bundle.6418ae6e9e372ccae322.js} +4 -4
- package/dist/{9856.bundle.31827ec7e09a8978744c.js → 306.bundle.a2380c4b23436c127faf.js} +110 -1
- package/dist/{9892.bundle.a09d4f672f8a784971a2.js → 3190.bundle.cd955568fe4d80ab2e4b.js} +114 -1
- package/dist/{3613.bundle.4a3b2f819e9698e9b7b3.js → 3613.bundle.f5fceb4697407a89921b.js} +60 -105
- package/dist/{4019.bundle.ddfa6fc4ccf74563cd40.js → 4019.bundle.6505ff57ca48af03da8a.js} +2 -2
- package/dist/{7197.bundle.f3676c560bf394aafd45.js → 4092.bundle.48390d480273857e794e.js} +338 -7
- package/dist/{7197.css → 4092.css} +1 -0
- package/dist/{4113.bundle.87c1437c5d1452a0c08b.js → 4113.bundle.8e8cca0c8fbf690e7b93.js} +2 -2
- package/dist/{414.bundle.2f752ae2409c02c49f10.js → 414.bundle.597500ee9c214b0a7212.js} +8 -8
- package/dist/{4202.bundle.1cef28d8aec1155d35d1.js → 4202.bundle.1c5271f1cacf5794aba7.js} +2 -2
- package/dist/{5349.bundle.14d76a9cb0f587c90614.js → 5349.bundle.6bf58c3e9e9571fa8a7d.js} +4 -4
- package/dist/{5457.bundle.635f651e4719be983799.js → 5457.bundle.9758280deb7db83edb99.js} +0 -8
- package/dist/{5485.bundle.919876def56a45d73ab2.js → 5485.bundle.aafe4c0e2e9e2afd878d.js} +0 -8
- package/dist/{5802.bundle.48e7f1324fc9e4486603.js → 5802.bundle.8922caf16c088b10cdb0.js} +2 -2
- package/dist/{6201.bundle.9f04a5cc79aec668f347.js → 6201.bundle.b0a52e8b23e83d7820d6.js} +2 -2
- package/dist/{8815.bundle.75f4d45eedb9c28c2181.js → 6725.bundle.75f59fc21a7fbecb9bce.js} +468 -37
- package/dist/{6991.bundle.594d1a749b0e67bbedf9.js → 6991.bundle.500dbaf5bec95a3d49d2.js} +2 -2
- package/dist/{3409.bundle.0e1e8c8a894cea8bc17b.js → 7948.bundle.8c0bd83ffaacabc3dcbd.js} +889 -238
- package/dist/{810.bundle.fd0a60e4edaeff3cc7ff.js → 810.bundle.d31e9fd894cac5ec768a.js} +6 -6
- package/dist/{8558.bundle.ad2f1dac0b4b583d75db.js → 8558.bundle.83d96d728f9f186ea5ad.js} +1 -1
- package/dist/{934.bundle.a3ba7abd77061cfa2d32.js → 934.bundle.a25daa6ed5038a83faf8.js} +2 -2
- package/dist/{1447.bundle.0e0f2e950690447bfda1.js → 9548.bundle.9e723f4ad09b9c1b431a.js} +69 -43
- package/dist/{8740.bundle.39b40ee21a873e824ce8.js → 9845.bundle.6ee5ca8fe9f68cefd56d.js} +5 -5
- package/dist/{9862.bundle.dc627e5f01fc4698a00f.js → 9862.bundle.e2c4c129f7907500b840.js} +2 -2
- package/dist/{app.bundle.c1735280b1ffec7296cf.js → app.bundle.0cf7e86910258d22401b.js} +483 -146
- package/dist/app.bundle.css +1 -1
- package/dist/{compute.bundle.08b8136bed028bf71f58.js → compute.bundle.f6f1236073e2a486ddfb.js} +3 -3
- package/dist/index.html +1 -1
- package/dist/{polySeg.bundle.a9790a5891bb286e7d4f.js → polySeg.bundle.d0ed88f3bfea700c211b.js} +3 -3
- package/dist/sw.js +1 -1
- package/package.json +20 -20
- package/dist/8740.css +0 -1
- /package/dist/{1459.bundle.84812caf93825d54325d.js → 1459.bundle.c878b794be71883de852.js} +0 -0
- /package/dist/{1807.bundle.48ef151b1f5c3a5e7e63.js → 1807.bundle.ade363b62ad3a0442a9c.js} +0 -0
- /package/dist/{213.bundle.9f5dbdcc51ecade9796c.js → 213.bundle.1cc1975ae90ca2eadfd5.js} +0 -0
- /package/dist/{2243.bundle.d485d2f4c40244af3599.js → 2243.bundle.a4c417be34f113e1fbc6.js} +0 -0
- /package/dist/{2424.bundle.dc021a7edf7f3a35176a.js → 2424.bundle.22082b8a1483bc47cbb1.js} +0 -0
- /package/dist/{2518.bundle.bdbd870da5355fdf502a.js → 2518.bundle.b21d8c66dc8deb8ba922.js} +0 -0
- /package/dist/{319.bundle.cd9383a345b9da2ba840.js → 319.bundle.f5adcbbef5767dedc45d.js} +0 -0
- /package/dist/{6027.bundle.5a2c33fa1eb3d810e7c1.js → 6027.bundle.5649e4e1fde732251102.js} +0 -0
- /package/dist/{7159.bundle.a472333e58e930b53e22.js → 7159.bundle.a5991a5d4f0dd8f1c95f.js} +0 -0
- /package/dist/{7412.bundle.0764ad3a00b3e9a044d9.js → 7412.bundle.94802a6a629f62daab88.js} +0 -0
- /package/dist/{7431.bundle.6dee1ec831da974a7433.js → 7431.bundle.ad1982d7c54a5931d409.js} +0 -0
- /package/dist/{7639.bundle.12fe44f68f57a135f9d8.js → 7639.bundle.c6ee8cf4672716943e89.js} +0 -0
- /package/dist/{85.bundle.38a0d049316b0e71f7d0.js → 85.bundle.b1586702f9300c017632.js} +0 -0
|
@@ -5313,8 +5313,8 @@ const isPlaneIntersectingAABB = (origin, normal, minX, minY, minZ, maxX, maxY, m
|
|
|
5313
5313
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
5314
5314
|
/* harmony export */ H: () => (/* binding */ interpolatePoints)
|
|
5315
5315
|
/* harmony export */ });
|
|
5316
|
-
/* harmony import */ var d3_interpolate__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
|
|
5317
|
-
/* harmony import */ var d3_array__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
|
|
5316
|
+
/* harmony import */ var d3_interpolate__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(51167);
|
|
5317
|
+
/* harmony import */ var d3_array__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(50647);
|
|
5318
5318
|
|
|
5319
5319
|
|
|
5320
5320
|
function isPoints3D(points) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
(globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[
|
|
2
|
+
(globalThis["webpackChunk"] = globalThis["webpackChunk"] || []).push([[4092,8402],{
|
|
3
3
|
|
|
4
|
-
/***/
|
|
4
|
+
/***/ 9099:
|
|
5
5
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
6
6
|
|
|
7
7
|
// ESM COMPAT FLAG
|
|
@@ -345,8 +345,8 @@ function getHangingProtocolModule() {
|
|
|
345
345
|
}
|
|
346
346
|
/* harmony default export */ const src_getHangingProtocolModule = (getHangingProtocolModule);
|
|
347
347
|
|
|
348
|
-
// EXTERNAL MODULE: ../../../extensions/default/src/index.ts +
|
|
349
|
-
var default_src = __webpack_require__(
|
|
348
|
+
// EXTERNAL MODULE: ../../../extensions/default/src/index.ts + 141 modules
|
|
349
|
+
var default_src = __webpack_require__(39548);
|
|
350
350
|
// EXTERNAL MODULE: ../../../extensions/default/src/utils/_shared/PROMPT_RESPONSES.ts
|
|
351
351
|
var PROMPT_RESPONSES = __webpack_require__(96357);
|
|
352
352
|
;// ../../../extensions/cornerstone-dicom-seg/src/commandsModule.ts
|
|
@@ -397,8 +397,7 @@ const commandsModule = ({
|
|
|
397
397
|
const {
|
|
398
398
|
segmentationService,
|
|
399
399
|
displaySetService,
|
|
400
|
-
viewportGridService
|
|
401
|
-
toolGroupService
|
|
400
|
+
viewportGridService
|
|
402
401
|
} = servicesManager.services;
|
|
403
402
|
const actions = {
|
|
404
403
|
/**
|
|
@@ -636,6 +635,22 @@ const commandsModule = ({
|
|
|
636
635
|
} catch (e) {
|
|
637
636
|
console.warn(e);
|
|
638
637
|
}
|
|
638
|
+
},
|
|
639
|
+
toggleActiveSegmentationUtility: ({
|
|
640
|
+
itemId: buttonId
|
|
641
|
+
}) => {
|
|
642
|
+
const {
|
|
643
|
+
uiState,
|
|
644
|
+
setUIState
|
|
645
|
+
} = default_src.useUIStateStore.getState();
|
|
646
|
+
const isButtonActive = uiState['activeSegmentationUtility'] === buttonId;
|
|
647
|
+
console.log('toggleActiveSegmentationUtility', isButtonActive, buttonId);
|
|
648
|
+
// if the button is active, clear the active segmentation utility
|
|
649
|
+
if (isButtonActive) {
|
|
650
|
+
setUIState('activeSegmentationUtility', null);
|
|
651
|
+
} else {
|
|
652
|
+
setUIState('activeSegmentationUtility', buttonId);
|
|
653
|
+
}
|
|
639
654
|
}
|
|
640
655
|
};
|
|
641
656
|
const definitions = {
|
|
@@ -653,6 +668,9 @@ const commandsModule = ({
|
|
|
653
668
|
},
|
|
654
669
|
downloadRTSS: {
|
|
655
670
|
commandFn: actions.downloadRTSS
|
|
671
|
+
},
|
|
672
|
+
toggleActiveSegmentationUtility: {
|
|
673
|
+
commandFn: actions.toggleActiveSegmentationUtility
|
|
656
674
|
}
|
|
657
675
|
};
|
|
658
676
|
return {
|
|
@@ -662,7 +680,279 @@ const commandsModule = ({
|
|
|
662
680
|
};
|
|
663
681
|
};
|
|
664
682
|
/* harmony default export */ const src_commandsModule = (commandsModule);
|
|
683
|
+
// EXTERNAL MODULE: ../../../extensions/cornerstone/src/index.tsx + 192 modules
|
|
684
|
+
var cornerstone_src = __webpack_require__(37948);
|
|
685
|
+
// EXTERNAL MODULE: ../../ui-next/src/index.ts + 3073 modules
|
|
686
|
+
var ui_next_src = __webpack_require__(1246);
|
|
687
|
+
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/utilities/index.js
|
|
688
|
+
var utilities = __webpack_require__(53860);
|
|
689
|
+
;// ../../../extensions/cornerstone-dicom-seg/src/components/LogicalContourOperationsOptions.tsx
|
|
690
|
+
|
|
691
|
+
|
|
692
|
+
|
|
693
|
+
|
|
694
|
+
|
|
695
|
+
|
|
696
|
+
const {
|
|
697
|
+
LogicalOperation
|
|
698
|
+
} = utilities.contourSegmentation;
|
|
699
|
+
const options = [{
|
|
700
|
+
value: 'merge',
|
|
701
|
+
logicalOperation: LogicalOperation.Union,
|
|
702
|
+
label: 'Merge',
|
|
703
|
+
icon: 'actions-combine-merge',
|
|
704
|
+
helperIcon: 'helper-combine-merge'
|
|
705
|
+
}, {
|
|
706
|
+
value: 'intersect',
|
|
707
|
+
logicalOperation: LogicalOperation.Intersect,
|
|
708
|
+
label: 'Intersect',
|
|
709
|
+
icon: 'actions-combine-intersect',
|
|
710
|
+
helperIcon: 'helper-combine-intersect'
|
|
711
|
+
}, {
|
|
712
|
+
value: 'subtract',
|
|
713
|
+
logicalOperation: LogicalOperation.Subtract,
|
|
714
|
+
label: 'Subtract',
|
|
715
|
+
icon: 'actions-combine-subtract',
|
|
716
|
+
helperIcon: 'helper-combine-subtract'
|
|
717
|
+
}];
|
|
718
|
+
|
|
719
|
+
// Shared component for segment selection
|
|
720
|
+
function SegmentSelector({
|
|
721
|
+
label,
|
|
722
|
+
value,
|
|
723
|
+
onValueChange,
|
|
724
|
+
segments,
|
|
725
|
+
placeholder = 'Select a segment'
|
|
726
|
+
}) {
|
|
727
|
+
return /*#__PURE__*/react.createElement("div", {
|
|
728
|
+
className: "flex justify-between gap-6"
|
|
729
|
+
}, /*#__PURE__*/react.createElement("div", null, label), /*#__PURE__*/react.createElement(ui_next_src/* Select */.l6P, {
|
|
730
|
+
key: `select-segment-${label}`,
|
|
731
|
+
onValueChange: onValueChange,
|
|
732
|
+
value: value
|
|
733
|
+
}, /*#__PURE__*/react.createElement(ui_next_src/* SelectTrigger */.bqE, {
|
|
734
|
+
className: "overflow-hidden"
|
|
735
|
+
}, /*#__PURE__*/react.createElement(ui_next_src/* SelectValue */.yvm, {
|
|
736
|
+
placeholder: placeholder
|
|
737
|
+
})), /*#__PURE__*/react.createElement(ui_next_src/* SelectContent */.gCo, null, segments.map(segment => /*#__PURE__*/react.createElement(ui_next_src/* SelectItem */.ebT, {
|
|
738
|
+
key: segment.segmentIndex,
|
|
739
|
+
value: segment.segmentIndex.toString()
|
|
740
|
+
}, segment.label)))));
|
|
741
|
+
}
|
|
742
|
+
function LogicalContourOperationOptions() {
|
|
743
|
+
const {
|
|
744
|
+
servicesManager
|
|
745
|
+
} = (0,src/* useSystem */.Jg)();
|
|
746
|
+
const {
|
|
747
|
+
segmentationService
|
|
748
|
+
} = servicesManager.services;
|
|
749
|
+
const {
|
|
750
|
+
segmentationsWithRepresentations
|
|
751
|
+
} = (0,cornerstone_src.useActiveViewportSegmentationRepresentations)();
|
|
752
|
+
const activeRepresentation = segmentationsWithRepresentations?.find(({
|
|
753
|
+
representation
|
|
754
|
+
}) => representation?.active);
|
|
755
|
+
const segments = activeRepresentation ? Object.values(activeRepresentation.segmentation.segments) : [];
|
|
756
|
+
|
|
757
|
+
// Calculate the next available segment index
|
|
758
|
+
const nextSegmentIndex = activeRepresentation ? segmentationService.getNextAvailableSegmentIndex(activeRepresentation.segmentation.segmentationId) : 1;
|
|
759
|
+
const activeSegment = segments.find(segment => segment.active);
|
|
760
|
+
const activeSegmentIndex = activeSegment?.segmentIndex || 0;
|
|
761
|
+
const [operation, setOperation] = (0,react.useState)(options[0]);
|
|
762
|
+
const [segmentA, setSegmentA] = (0,react.useState)(activeSegmentIndex?.toString() || '');
|
|
763
|
+
const [segmentB, setSegmentB] = (0,react.useState)('');
|
|
764
|
+
const [createNewSegment, setCreateNewSegment] = (0,react.useState)(false);
|
|
765
|
+
const [newSegmentName, setNewSegmentName] = (0,react.useState)('');
|
|
766
|
+
(0,react.useEffect)(() => {
|
|
767
|
+
setSegmentA(activeSegmentIndex?.toString() || null);
|
|
768
|
+
}, [activeSegmentIndex]);
|
|
769
|
+
(0,react.useEffect)(() => {
|
|
770
|
+
setNewSegmentName(`Segment ${nextSegmentIndex}`);
|
|
771
|
+
}, [nextSegmentIndex]);
|
|
772
|
+
const runCommand = (0,src/* useRunCommand */.qN)();
|
|
773
|
+
const applyLogicalContourOperation = (0,react.useCallback)(() => {
|
|
774
|
+
let resultSegmentIndex = segmentA;
|
|
775
|
+
if (createNewSegment) {
|
|
776
|
+
resultSegmentIndex = nextSegmentIndex.toString();
|
|
777
|
+
runCommand('addSegment', {
|
|
778
|
+
segmentationId: activeRepresentation.segmentation.segmentationId,
|
|
779
|
+
config: {
|
|
780
|
+
label: newSegmentName,
|
|
781
|
+
segmentIndex: nextSegmentIndex
|
|
782
|
+
}
|
|
783
|
+
});
|
|
784
|
+
}
|
|
785
|
+
runCommand('applyLogicalContourOperation', {
|
|
786
|
+
segmentAInfo: {
|
|
787
|
+
segmentationId: activeRepresentation.segmentation.segmentationId,
|
|
788
|
+
segmentIndex: parseInt(segmentA)
|
|
789
|
+
},
|
|
790
|
+
segmentBInfo: {
|
|
791
|
+
segmentationId: activeRepresentation.segmentation.segmentationId,
|
|
792
|
+
segmentIndex: parseInt(segmentB)
|
|
793
|
+
},
|
|
794
|
+
resultSegmentInfo: {
|
|
795
|
+
segmentationId: activeRepresentation.segmentation.segmentationId,
|
|
796
|
+
segmentIndex: parseInt(resultSegmentIndex)
|
|
797
|
+
},
|
|
798
|
+
logicalOperation: operation.logicalOperation
|
|
799
|
+
});
|
|
800
|
+
}, [activeRepresentation?.segmentation?.segmentationId, createNewSegment, newSegmentName, nextSegmentIndex, operation.logicalOperation, runCommand, segmentA, segmentB]);
|
|
801
|
+
return /*#__PURE__*/react.createElement("div", {
|
|
802
|
+
className: "flex w-[245px] flex-col gap-4"
|
|
803
|
+
}, /*#__PURE__*/react.createElement("div", {
|
|
804
|
+
className: "flex items-start justify-between"
|
|
805
|
+
}, /*#__PURE__*/react.createElement("div", {
|
|
806
|
+
className: "flex w-auto flex-col items-center gap-2 text-base font-normal leading-none"
|
|
807
|
+
}, /*#__PURE__*/react.createElement(ui_next_src/* Tabs */.tUM, {
|
|
808
|
+
value: operation.value
|
|
809
|
+
}, /*#__PURE__*/react.createElement(ui_next_src/* TabsList */.j7C, {
|
|
810
|
+
className: "inline-flex space-x-1"
|
|
811
|
+
}, options.map(option => {
|
|
812
|
+
const {
|
|
813
|
+
value,
|
|
814
|
+
icon
|
|
815
|
+
} = option;
|
|
816
|
+
return /*#__PURE__*/react.createElement(ui_next_src/* TabsTrigger */.Xib, {
|
|
817
|
+
value: value,
|
|
818
|
+
key: `logical-contour-operation-${value}`,
|
|
819
|
+
onClick: () => setOperation(option)
|
|
820
|
+
}, /*#__PURE__*/react.createElement(ui_next_src/* Icons */.FI1.ByName, {
|
|
821
|
+
name: icon
|
|
822
|
+
}));
|
|
823
|
+
}))), /*#__PURE__*/react.createElement("div", null, operation.label)), /*#__PURE__*/react.createElement("div", {
|
|
824
|
+
className: "bg-primary-dark flex h-[62px] w-[88px] items-center justify-center rounded-lg"
|
|
825
|
+
}, /*#__PURE__*/react.createElement(ui_next_src/* Icons */.FI1.ByName, {
|
|
826
|
+
name: operation.helperIcon
|
|
827
|
+
}))), /*#__PURE__*/react.createElement(SegmentSelector, {
|
|
828
|
+
label: "A",
|
|
829
|
+
value: segmentA,
|
|
830
|
+
onValueChange: setSegmentA,
|
|
831
|
+
segments: segments
|
|
832
|
+
}), /*#__PURE__*/react.createElement(SegmentSelector, {
|
|
833
|
+
label: "B",
|
|
834
|
+
value: segmentB,
|
|
835
|
+
onValueChange: setSegmentB,
|
|
836
|
+
segments: segments
|
|
837
|
+
}), /*#__PURE__*/react.createElement("div", {
|
|
838
|
+
className: "flex justify-end pl-[34px]"
|
|
839
|
+
}, /*#__PURE__*/react.createElement(ui_next_src/* Button */.$nd, {
|
|
840
|
+
className: "border-primary/60 grow border",
|
|
841
|
+
variant: "ghost",
|
|
842
|
+
onClick: () => {
|
|
843
|
+
applyLogicalContourOperation();
|
|
844
|
+
}
|
|
845
|
+
}, operation.label)), /*#__PURE__*/react.createElement(ui_next_src/* Separator */.wvv, {
|
|
846
|
+
className: "bg-input mt-2 h-[1px]"
|
|
847
|
+
}), /*#__PURE__*/react.createElement("div", {
|
|
848
|
+
className: "flex flex-col gap-2"
|
|
849
|
+
}, /*#__PURE__*/react.createElement("div", {
|
|
850
|
+
className: "flex items-center justify-start gap-2"
|
|
851
|
+
}, /*#__PURE__*/react.createElement(ui_next_src/* Switch */.dOG, {
|
|
852
|
+
id: "logical-contour-operations-create-new-segment-switch",
|
|
853
|
+
onCheckedChange: setCreateNewSegment
|
|
854
|
+
}), /*#__PURE__*/react.createElement(ui_next_src/* Label */.JU7, {
|
|
855
|
+
htmlFor: "logical-contour-operations-create-new-segment-switch"
|
|
856
|
+
}, "Create a new segment")), /*#__PURE__*/react.createElement("div", {
|
|
857
|
+
className: "pl-9"
|
|
858
|
+
}, /*#__PURE__*/react.createElement(ui_next_src/* Input */.pde, {
|
|
859
|
+
className: (0,ui_next_src.cn)(createNewSegment ? 'visible' : 'hidden'),
|
|
860
|
+
disabled: !createNewSegment,
|
|
861
|
+
id: "logical-contour-operations-create-new-segment-input",
|
|
862
|
+
type: "text",
|
|
863
|
+
placeholder: "New segment name",
|
|
864
|
+
value: newSegmentName,
|
|
865
|
+
onChange: e => setNewSegmentName(e.target.value)
|
|
866
|
+
}))));
|
|
867
|
+
}
|
|
868
|
+
/* harmony default export */ const LogicalContourOperationsOptions = (LogicalContourOperationOptions);
|
|
869
|
+
;// ../../../extensions/cornerstone-dicom-seg/src/components/SimplifyContourOptions.tsx
|
|
870
|
+
|
|
871
|
+
|
|
872
|
+
|
|
873
|
+
function SimplifyContourOptions() {
|
|
874
|
+
const [areaThreshold, setAreaThreshold] = (0,react.useState)(10);
|
|
875
|
+
const runCommand = (0,src/* useRunCommand */.qN)();
|
|
876
|
+
return /*#__PURE__*/react.createElement("div", {
|
|
877
|
+
className: "flex w-auto w-[252px] flex-col gap-[8px] text-base font-normal leading-none"
|
|
878
|
+
}, /*#__PURE__*/react.createElement("div", {
|
|
879
|
+
className: "flex w-auto flex-col gap-[10px] text-base font-normal leading-none"
|
|
880
|
+
}, /*#__PURE__*/react.createElement("div", null, "Fill contour holes"), /*#__PURE__*/react.createElement(ui_next_src/* Button */.$nd, {
|
|
881
|
+
className: "border-primary/60 border",
|
|
882
|
+
variant: "ghost",
|
|
883
|
+
onClick: () => {
|
|
884
|
+
runCommand('removeContourHoles');
|
|
885
|
+
}
|
|
886
|
+
}, "Fill Holes"), /*#__PURE__*/react.createElement(ui_next_src/* Separator */.wvv, {
|
|
887
|
+
className: "bg-input mt-[20px] h-[1px]"
|
|
888
|
+
})), /*#__PURE__*/react.createElement("div", {
|
|
889
|
+
className: "flex w-auto flex-col gap-[10px] text-base font-normal leading-none"
|
|
890
|
+
}, /*#__PURE__*/react.createElement("div", null, "Remove Small Contours"), /*#__PURE__*/react.createElement("div", {
|
|
891
|
+
className: "flex items-center gap-2 self-end"
|
|
892
|
+
}, /*#__PURE__*/react.createElement(ui_next_src/* Label */.JU7, {
|
|
893
|
+
htmlFor: "simplify-contour-options",
|
|
894
|
+
className: "text-muted-foreground"
|
|
895
|
+
}, "Area Threshold"), /*#__PURE__*/react.createElement(ui_next_src/* Input */.pde, {
|
|
896
|
+
id: "simplify-contour-options",
|
|
897
|
+
className: "w-20",
|
|
898
|
+
type: "number",
|
|
899
|
+
value: areaThreshold,
|
|
900
|
+
onChange: e => setAreaThreshold(Number(e.target.value))
|
|
901
|
+
})), /*#__PURE__*/react.createElement(ui_next_src/* Button */.$nd, {
|
|
902
|
+
className: "border-primary/60 border",
|
|
903
|
+
variant: "ghost",
|
|
904
|
+
onClick: () => {
|
|
905
|
+
runCommand('removeSmallContours', {
|
|
906
|
+
areaThreshold
|
|
907
|
+
});
|
|
908
|
+
}
|
|
909
|
+
}, "Remove Small Contours"), /*#__PURE__*/react.createElement(ui_next_src/* Separator */.wvv, {
|
|
910
|
+
className: "bg-input mt-[20px] h-[1px]"
|
|
911
|
+
})), /*#__PURE__*/react.createElement("div", {
|
|
912
|
+
className: "flex w-auto flex-col gap-[10px] text-base font-normal leading-none"
|
|
913
|
+
}, /*#__PURE__*/react.createElement("div", null, "Create New Segment from Holes"), /*#__PURE__*/react.createElement(ui_next_src/* Button */.$nd, {
|
|
914
|
+
className: "border-primary/60 border",
|
|
915
|
+
variant: "ghost",
|
|
916
|
+
onClick: () => {
|
|
917
|
+
runCommand('convertContourHoles');
|
|
918
|
+
}
|
|
919
|
+
}, "Create New Segment")));
|
|
920
|
+
}
|
|
921
|
+
/* harmony default export */ const components_SimplifyContourOptions = (SimplifyContourOptions);
|
|
922
|
+
;// ../../../extensions/cornerstone-dicom-seg/src/components/SmoothContoursOptions.tsx
|
|
923
|
+
|
|
924
|
+
|
|
925
|
+
|
|
926
|
+
function SmoothContoursOptions() {
|
|
927
|
+
const runCommand = (0,src/* useRunCommand */.qN)();
|
|
928
|
+
return /*#__PURE__*/react.createElement("div", {
|
|
929
|
+
className: "flex w-auto w-[245px] flex-col gap-[8px] text-base font-normal leading-none"
|
|
930
|
+
}, /*#__PURE__*/react.createElement("div", {
|
|
931
|
+
className: "flex w-auto flex-col gap-[10px] text-base font-normal leading-none"
|
|
932
|
+
}, /*#__PURE__*/react.createElement("div", null, "Smooth all edges"), /*#__PURE__*/react.createElement(ui_next_src/* Button */.$nd, {
|
|
933
|
+
className: "border-primary/60 border",
|
|
934
|
+
variant: "ghost",
|
|
935
|
+
onClick: () => {
|
|
936
|
+
runCommand('smoothContours');
|
|
937
|
+
}
|
|
938
|
+
}, "Smooth Edges"), /*#__PURE__*/react.createElement(ui_next_src/* Separator */.wvv, {
|
|
939
|
+
className: "bg-input mt-[20px] h-[1px]"
|
|
940
|
+
})), /*#__PURE__*/react.createElement("div", {
|
|
941
|
+
className: "flex w-auto flex-col gap-[10px] text-base font-normal leading-none"
|
|
942
|
+
}, /*#__PURE__*/react.createElement("div", null, "Remove extra points"), /*#__PURE__*/react.createElement(ui_next_src/* Button */.$nd, {
|
|
943
|
+
className: "border-primary/60 border",
|
|
944
|
+
variant: "ghost",
|
|
945
|
+
onClick: () => {
|
|
946
|
+
runCommand('decimateContours');
|
|
947
|
+
}
|
|
948
|
+
}, "Remove Points")));
|
|
949
|
+
}
|
|
950
|
+
/* harmony default export */ const components_SmoothContoursOptions = (SmoothContoursOptions);
|
|
665
951
|
;// ../../../extensions/cornerstone-dicom-seg/src/getToolbarModule.ts
|
|
952
|
+
|
|
953
|
+
|
|
954
|
+
|
|
955
|
+
|
|
666
956
|
function getToolbarModule({
|
|
667
957
|
servicesManager
|
|
668
958
|
}) {
|
|
@@ -672,6 +962,27 @@ function getToolbarModule({
|
|
|
672
962
|
toolGroupService
|
|
673
963
|
} = servicesManager.services;
|
|
674
964
|
return [{
|
|
965
|
+
name: 'cornerstone.SimplifyContourOptions',
|
|
966
|
+
defaultComponent: components_SimplifyContourOptions
|
|
967
|
+
}, {
|
|
968
|
+
name: 'cornerstone.LogicalContourOperationsOptions',
|
|
969
|
+
defaultComponent: LogicalContourOperationsOptions
|
|
970
|
+
}, {
|
|
971
|
+
name: 'cornerstone.SmoothContoursOptions',
|
|
972
|
+
defaultComponent: components_SmoothContoursOptions
|
|
973
|
+
}, {
|
|
974
|
+
name: 'cornerstone.isActiveSegmentationUtility',
|
|
975
|
+
evaluate: ({
|
|
976
|
+
button
|
|
977
|
+
}) => {
|
|
978
|
+
const {
|
|
979
|
+
uiState
|
|
980
|
+
} = default_src.useUIStateStore.getState();
|
|
981
|
+
return {
|
|
982
|
+
isActive: uiState[`activeSegmentationUtility`] === button.id
|
|
983
|
+
};
|
|
984
|
+
}
|
|
985
|
+
}, {
|
|
675
986
|
name: 'evaluate.cornerstone.hasSegmentation',
|
|
676
987
|
evaluate: ({
|
|
677
988
|
viewportId
|
|
@@ -681,6 +992,26 @@ function getToolbarModule({
|
|
|
681
992
|
disabled: !segmentations?.length
|
|
682
993
|
};
|
|
683
994
|
}
|
|
995
|
+
}, {
|
|
996
|
+
name: 'evaluate.cornerstone.hasSegmentationOfType',
|
|
997
|
+
evaluate: ({
|
|
998
|
+
viewportId,
|
|
999
|
+
segmentationRepresentationType
|
|
1000
|
+
}) => {
|
|
1001
|
+
const segmentations = segmentationService.getSegmentationRepresentations(viewportId);
|
|
1002
|
+
if (!segmentations?.length) {
|
|
1003
|
+
return {
|
|
1004
|
+
disabled: true,
|
|
1005
|
+
disabledText: 'No segmentations available'
|
|
1006
|
+
};
|
|
1007
|
+
}
|
|
1008
|
+
if (!segmentations.some(segmentation => Boolean(segmentation.type === segmentationRepresentationType))) {
|
|
1009
|
+
return {
|
|
1010
|
+
disabled: true,
|
|
1011
|
+
disabledText: `No ${segmentationRepresentationType} segmentations available`
|
|
1012
|
+
};
|
|
1013
|
+
}
|
|
1014
|
+
}
|
|
684
1015
|
}, {
|
|
685
1016
|
name: 'evaluate.cornerstone.segmentation',
|
|
686
1017
|
evaluate: ({
|
|
@@ -744,7 +1075,7 @@ function _extends() { return _extends = Object.assign ? Object.assign.bind() : f
|
|
|
744
1075
|
|
|
745
1076
|
|
|
746
1077
|
const Component = /*#__PURE__*/react.lazy(() => {
|
|
747
|
-
return
|
|
1078
|
+
return __webpack_require__.e(/* import() */ 9845).then(__webpack_require__.bind(__webpack_require__, 69845));
|
|
748
1079
|
});
|
|
749
1080
|
const OHIFCornerstoneSEGViewport = props => {
|
|
750
1081
|
return /*#__PURE__*/react.createElement(react.Suspense, {
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
.dicom-tag-browser-table{margin-left:auto;margin-right:auto}.dicom-tag-browser-table-wrapper{overflow-x:scroll}.dicom-tag-browser-table tr{border-top:1px solid #ddd;color:#fff;padding-left:10px;padding-right:10px;white-space:nowrap}.stick{overflow:clip;position:sticky}.dicom-tag-browser-content{overflow:hidden}.dicom-tag-browser-instance-range .range{height:20px}.dicom-tag-browser-instance-range{padding:20px 0}.dicom-tag-browser-table td.dicom-tag-browser-table-center{text-align:center}.dicom-tag-browser-table th{color:"#20A5D6";padding-left:10px;padding-right:10px;text-align:center}.dicom-tag-browser-table th.dicom-tag-browser-table-left{text-align:left}
|
|
2
2
|
.chrome-picker{background:#090c29!important}
|
|
3
|
+
.dicom-upload-drop-area-border-dash{background-image:repeating-linear-gradient(90deg,#7bb2ce 0,#7bb2ce 50%,#0000 0,#0000),repeating-linear-gradient(90deg,#7bb2ce 0,#7bb2ce 50%,#0000 0,#0000),repeating-linear-gradient(180deg,#7bb2ce 0,#7bb2ce 50%,#0000 0,#0000),repeating-linear-gradient(180deg,#7bb2ce 0,#7bb2ce 50%,#0000 0,#0000);background-position:0 0,0 100%,0 0,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;background-size:20px 3px,20px 3px,3px 20px,3px 20px}
|
|
@@ -77,8 +77,8 @@ var react = __webpack_require__(86326);
|
|
|
77
77
|
var src = __webpack_require__(42356);
|
|
78
78
|
// EXTERNAL MODULE: ../../i18n/src/index.js + 210 modules
|
|
79
79
|
var i18n_src = __webpack_require__(68523);
|
|
80
|
-
// EXTERNAL MODULE: ../../../extensions/cornerstone/src/index.tsx +
|
|
81
|
-
var cornerstone_src = __webpack_require__(
|
|
80
|
+
// EXTERNAL MODULE: ../../../extensions/cornerstone/src/index.tsx + 192 modules
|
|
81
|
+
var cornerstone_src = __webpack_require__(37948);
|
|
82
82
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/adapters/dist/esm/index.js + 69 modules
|
|
83
83
|
var esm = __webpack_require__(53434);
|
|
84
84
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/tools/dist/esm/index.js
|
|
@@ -117,8 +117,8 @@ var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
|
|
|
117
117
|
var es = __webpack_require__(70574);
|
|
118
118
|
// EXTERNAL MODULE: ../../../node_modules/@xstate/react/es/index.js + 8 modules
|
|
119
119
|
var react_es = __webpack_require__(95261);
|
|
120
|
-
// EXTERNAL MODULE: ../../ui-next/src/index.ts +
|
|
121
|
-
var src = __webpack_require__(
|
|
120
|
+
// EXTERNAL MODULE: ../../ui-next/src/index.ts + 3073 modules
|
|
121
|
+
var src = __webpack_require__(1246);
|
|
122
122
|
;// ../../../extensions/measurement-tracking/src/contexts/TrackedMeasurementsContext/measurementTrackingMachine.js
|
|
123
123
|
|
|
124
124
|
const RESPONSE = {
|
|
@@ -1066,8 +1066,8 @@ var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
|
|
|
1066
1066
|
var src = __webpack_require__(42356);
|
|
1067
1067
|
// EXTERNAL MODULE: ../../../extensions/default/src/Panels/StudyBrowser/PanelStudyBrowser.tsx + 3 modules
|
|
1068
1068
|
var PanelStudyBrowser = __webpack_require__(40565);
|
|
1069
|
-
// EXTERNAL MODULE: ../../ui-next/src/index.ts +
|
|
1070
|
-
var ui_next_src = __webpack_require__(
|
|
1069
|
+
// EXTERNAL MODULE: ../../ui-next/src/index.ts + 3073 modules
|
|
1070
|
+
var ui_next_src = __webpack_require__(1246);
|
|
1071
1071
|
;// ../../../extensions/measurement-tracking/src/panels/PanelStudyBrowserTracking/untrackSeriesModal.tsx
|
|
1072
1072
|
|
|
1073
1073
|
|
|
@@ -1244,8 +1244,8 @@ function getImageSrcFromImageId(cornerstone, imageId) {
|
|
|
1244
1244
|
});
|
|
1245
1245
|
}
|
|
1246
1246
|
/* harmony default export */ const PanelStudyBrowserTracking_getImageSrcFromImageId = (getImageSrcFromImageId);
|
|
1247
|
-
// EXTERNAL MODULE: ../../../extensions/default/src/index.ts +
|
|
1248
|
-
var default_src = __webpack_require__(
|
|
1247
|
+
// EXTERNAL MODULE: ../../../extensions/default/src/index.ts + 141 modules
|
|
1248
|
+
var default_src = __webpack_require__(39548);
|
|
1249
1249
|
;// ../../../extensions/measurement-tracking/src/panels/PanelStudyBrowserTracking/index.tsx
|
|
1250
1250
|
|
|
1251
1251
|
//
|
|
@@ -1306,8 +1306,8 @@ function _createGetImageSrcFromImageIdFn(extensionManager) {
|
|
|
1306
1306
|
}
|
|
1307
1307
|
}
|
|
1308
1308
|
/* harmony default export */ const panels_PanelStudyBrowserTracking = (WrappedPanelStudyBrowserTracking);
|
|
1309
|
-
// EXTERNAL MODULE: ../../../extensions/cornerstone/src/index.tsx +
|
|
1310
|
-
var cornerstone_src = __webpack_require__(
|
|
1309
|
+
// EXTERNAL MODULE: ../../../extensions/cornerstone/src/index.tsx + 192 modules
|
|
1310
|
+
var cornerstone_src = __webpack_require__(37948);
|
|
1311
1311
|
;// ../../../extensions/measurement-tracking/src/panels/PanelMeasurementTableTracking.tsx
|
|
1312
1312
|
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
1313
1313
|
|
|
@@ -11,8 +11,8 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
11
11
|
/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(97598);
|
|
12
12
|
/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_0__);
|
|
13
13
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(86326);
|
|
14
|
-
/* harmony import */ var _ohif_ui_next__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
|
|
15
|
-
/* harmony import */ var _ohif_extension_cornerstone__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(
|
|
14
|
+
/* harmony import */ var _ohif_ui_next__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1246);
|
|
15
|
+
/* harmony import */ var _ohif_extension_cornerstone__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(37948);
|
|
16
16
|
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
17
17
|
|
|
18
18
|
|
|
@@ -17,10 +17,10 @@ var react = __webpack_require__(86326);
|
|
|
17
17
|
// EXTERNAL MODULE: ../../../node_modules/prop-types/index.js
|
|
18
18
|
var prop_types = __webpack_require__(97598);
|
|
19
19
|
var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
|
|
20
|
-
// EXTERNAL MODULE: ../../ui-next/src/index.ts +
|
|
21
|
-
var src = __webpack_require__(
|
|
22
|
-
// EXTERNAL MODULE: ../../../extensions/cornerstone/src/index.tsx +
|
|
23
|
-
var cornerstone_src = __webpack_require__(
|
|
20
|
+
// EXTERNAL MODULE: ../../ui-next/src/index.ts + 3073 modules
|
|
21
|
+
var src = __webpack_require__(1246);
|
|
22
|
+
// EXTERNAL MODULE: ../../../extensions/cornerstone/src/index.tsx + 192 modules
|
|
23
|
+
var cornerstone_src = __webpack_require__(37948);
|
|
24
24
|
;// ../../../extensions/cornerstone-dicom-rt/src/utils/promptHydrateRT.ts
|
|
25
25
|
|
|
26
26
|
function promptHydrateRT({
|
|
@@ -946,14 +946,6 @@ const toolbarButtons = [
|
|
|
946
946
|
disabledText: 'Select an MPR viewport to enable this tool'
|
|
947
947
|
}
|
|
948
948
|
}
|
|
949
|
-
},
|
|
950
|
-
// Section containers for the nested toolbox
|
|
951
|
-
{
|
|
952
|
-
id: 'SegmentationUtilities',
|
|
953
|
-
uiType: 'ohif.toolBoxButton',
|
|
954
|
-
props: {
|
|
955
|
-
buttonSection: true
|
|
956
|
-
}
|
|
957
949
|
}, {
|
|
958
950
|
id: 'SegmentLabelTool',
|
|
959
951
|
uiType: 'ohif.toolBoxButton',
|
|
@@ -946,14 +946,6 @@ const toolbarButtons = [
|
|
|
946
946
|
disabledText: 'Select an MPR viewport to enable this tool'
|
|
947
947
|
}
|
|
948
948
|
}
|
|
949
|
-
},
|
|
950
|
-
// Section containers for the nested toolbox
|
|
951
|
-
{
|
|
952
|
-
id: 'SegmentationUtilities',
|
|
953
|
-
uiType: 'ohif.toolBoxButton',
|
|
954
|
-
props: {
|
|
955
|
-
buttonSection: true
|
|
956
|
-
}
|
|
957
949
|
}, {
|
|
958
950
|
id: 'SegmentLabelTool',
|
|
959
951
|
uiType: 'ohif.toolBoxButton',
|
|
@@ -14,8 +14,8 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
14
14
|
|
|
15
15
|
// EXTERNAL MODULE: ../../../node_modules/react/index.js
|
|
16
16
|
var react = __webpack_require__(86326);
|
|
17
|
-
// EXTERNAL MODULE: ../../../extensions/default/src/index.ts +
|
|
18
|
-
var src = __webpack_require__(
|
|
17
|
+
// EXTERNAL MODULE: ../../../extensions/default/src/index.ts + 141 modules
|
|
18
|
+
var src = __webpack_require__(39548);
|
|
19
19
|
;// ../../../extensions/dicom-microscopy/src/DicomMicroscopyViewport.css
|
|
20
20
|
// extracted by mini-css-extract-plugin
|
|
21
21
|
|
|
@@ -30,8 +30,8 @@ var i18n_src = __webpack_require__(68523);
|
|
|
30
30
|
var esm = __webpack_require__(15327);
|
|
31
31
|
// EXTERNAL MODULE: ../../../node_modules/@cornerstonejs/adapters/dist/esm/index.js + 69 modules
|
|
32
32
|
var dist_esm = __webpack_require__(53434);
|
|
33
|
-
// EXTERNAL MODULE: ../../../extensions/cornerstone/src/index.tsx +
|
|
34
|
-
var cornerstone_src = __webpack_require__(
|
|
33
|
+
// EXTERNAL MODULE: ../../../extensions/cornerstone/src/index.tsx + 192 modules
|
|
34
|
+
var cornerstone_src = __webpack_require__(37948);
|
|
35
35
|
;// ../../../extensions/cornerstone-dicom-pmap/src/getSopClassHandlerModule.ts
|
|
36
36
|
|
|
37
37
|
|