@cornerstonejs/tools 1.53.0 → 1.54.0
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/cjs/enums/WorkerTypes.d.ts +8 -0
- package/dist/cjs/enums/WorkerTypes.js +12 -0
- package/dist/cjs/enums/WorkerTypes.js.map +1 -0
- package/dist/cjs/enums/index.d.ts +2 -1
- package/dist/cjs/enums/index.js +3 -1
- package/dist/cjs/enums/index.js.map +1 -1
- package/dist/cjs/eventListeners/annotations/contourSegmentation/contourSegmentationCompleted.js +6 -11
- package/dist/cjs/eventListeners/annotations/contourSegmentation/contourSegmentationCompleted.js.map +1 -1
- package/dist/cjs/eventListeners/segmentation/imageChangeEventListener.js +4 -3
- package/dist/cjs/eventListeners/segmentation/imageChangeEventListener.js.map +1 -1
- package/dist/cjs/eventListeners/segmentation/labelmap/onLabelmapSegmentationDataModified.js +58 -47
- package/dist/cjs/eventListeners/segmentation/labelmap/onLabelmapSegmentationDataModified.js.map +1 -1
- package/dist/cjs/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.d.ts +1 -0
- package/dist/cjs/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.js +5 -0
- package/dist/cjs/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.js.map +1 -1
- package/dist/cjs/stateManagement/annotation/annotationState.d.ts +2 -1
- package/dist/cjs/stateManagement/annotation/annotationState.js +6 -1
- package/dist/cjs/stateManagement/annotation/annotationState.js.map +1 -1
- package/dist/cjs/stateManagement/segmentation/SegmentationStateManager.js +4 -1
- package/dist/cjs/stateManagement/segmentation/SegmentationStateManager.js.map +1 -1
- package/dist/cjs/stateManagement/segmentation/addRepresentationData.d.ts +12 -0
- package/dist/cjs/stateManagement/segmentation/addRepresentationData.js +35 -0
- package/dist/cjs/stateManagement/segmentation/addRepresentationData.js.map +1 -0
- package/dist/cjs/stateManagement/segmentation/addSegmentationRepresentation.js +32 -14
- package/dist/cjs/stateManagement/segmentation/addSegmentationRepresentation.js.map +1 -1
- package/dist/cjs/stateManagement/segmentation/config/segmentationVisibility.js +3 -52
- package/dist/cjs/stateManagement/segmentation/config/segmentationVisibility.js.map +1 -1
- package/dist/cjs/stateManagement/segmentation/convertStackToVolumeSegmentation.d.ts +9 -2
- package/dist/cjs/stateManagement/segmentation/convertStackToVolumeSegmentation.js +44 -27
- package/dist/cjs/stateManagement/segmentation/convertStackToVolumeSegmentation.js.map +1 -1
- package/dist/cjs/stateManagement/segmentation/convertVolumeToStackSegmentation.d.ts +13 -0
- package/dist/cjs/stateManagement/segmentation/convertVolumeToStackSegmentation.js +52 -26
- package/dist/cjs/stateManagement/segmentation/convertVolumeToStackSegmentation.js.map +1 -1
- package/dist/cjs/stateManagement/segmentation/helpers/validateSegmentationInput.js +6 -9
- package/dist/cjs/stateManagement/segmentation/helpers/validateSegmentationInput.js.map +1 -1
- package/dist/cjs/stateManagement/segmentation/index.d.ts +3 -1
- package/dist/cjs/stateManagement/segmentation/index.js +5 -1
- package/dist/cjs/stateManagement/segmentation/index.js.map +1 -1
- package/dist/cjs/stateManagement/segmentation/polySeg/Contour/computeAndAddContourRepresentation.d.ts +2 -0
- package/dist/cjs/stateManagement/segmentation/polySeg/Contour/computeAndAddContourRepresentation.js +8 -0
- package/dist/cjs/stateManagement/segmentation/polySeg/Contour/computeAndAddContourRepresentation.js.map +1 -0
- package/dist/cjs/stateManagement/segmentation/polySeg/Labelmap/computeAndAddLabelmapRepresentation.d.ts +2 -0
- package/dist/cjs/stateManagement/segmentation/polySeg/Labelmap/computeAndAddLabelmapRepresentation.js +11 -0
- package/dist/cjs/stateManagement/segmentation/polySeg/Labelmap/computeAndAddLabelmapRepresentation.js.map +1 -0
- package/dist/cjs/stateManagement/segmentation/polySeg/Labelmap/convertContourToLabelmap.d.ts +7 -0
- package/dist/cjs/stateManagement/segmentation/polySeg/Labelmap/convertContourToLabelmap.js +162 -0
- package/dist/cjs/stateManagement/segmentation/polySeg/Labelmap/convertContourToLabelmap.js.map +1 -0
- package/dist/cjs/stateManagement/segmentation/polySeg/Labelmap/convertSurfaceToLabelmap.d.ts +6 -0
- package/dist/cjs/stateManagement/segmentation/polySeg/Labelmap/convertSurfaceToLabelmap.js +71 -0
- package/dist/cjs/stateManagement/segmentation/polySeg/Labelmap/convertSurfaceToLabelmap.js.map +1 -0
- package/dist/cjs/stateManagement/segmentation/polySeg/Labelmap/labelmapComputationStrategies.d.ts +6 -0
- package/dist/cjs/stateManagement/segmentation/polySeg/Labelmap/labelmapComputationStrategies.js +120 -0
- package/dist/cjs/stateManagement/segmentation/polySeg/Labelmap/labelmapComputationStrategies.js.map +1 -0
- package/dist/cjs/stateManagement/segmentation/polySeg/Surface/computeAndAddSurfaceRepresentation.d.ts +4 -0
- package/dist/cjs/stateManagement/segmentation/polySeg/Surface/computeAndAddSurfaceRepresentation.js +12 -0
- package/dist/cjs/stateManagement/segmentation/polySeg/Surface/computeAndAddSurfaceRepresentation.js.map +1 -0
- package/dist/cjs/stateManagement/segmentation/polySeg/Surface/convertContourToSurface.d.ts +3 -0
- package/dist/cjs/stateManagement/segmentation/polySeg/Surface/convertContourToSurface.js +52 -0
- package/dist/cjs/stateManagement/segmentation/polySeg/Surface/convertContourToSurface.js.map +1 -0
- package/dist/cjs/stateManagement/segmentation/polySeg/Surface/convertLabelmapToSurface.d.ts +3 -0
- package/dist/cjs/stateManagement/segmentation/polySeg/Surface/convertLabelmapToSurface.js +60 -0
- package/dist/cjs/stateManagement/segmentation/polySeg/Surface/convertLabelmapToSurface.js.map +1 -0
- package/dist/cjs/stateManagement/segmentation/polySeg/Surface/createAndCacheSurfacesFromRaw.d.ts +5 -0
- package/dist/cjs/stateManagement/segmentation/polySeg/Surface/createAndCacheSurfacesFromRaw.js +56 -0
- package/dist/cjs/stateManagement/segmentation/polySeg/Surface/createAndCacheSurfacesFromRaw.js.map +1 -0
- package/dist/cjs/stateManagement/segmentation/polySeg/Surface/surfaceComputationStrategies.d.ts +12 -0
- package/dist/cjs/stateManagement/segmentation/polySeg/Surface/surfaceComputationStrategies.js +94 -0
- package/dist/cjs/stateManagement/segmentation/polySeg/Surface/surfaceComputationStrategies.js.map +1 -0
- package/dist/cjs/stateManagement/segmentation/polySeg/Surface/updateSurfaceData.d.ts +1 -0
- package/dist/cjs/stateManagement/segmentation/polySeg/Surface/updateSurfaceData.js +74 -0
- package/dist/cjs/stateManagement/segmentation/polySeg/Surface/updateSurfaceData.js.map +1 -0
- package/dist/cjs/stateManagement/segmentation/polySeg/canComputeRequestedRepresentation.d.ts +2 -0
- package/dist/cjs/stateManagement/segmentation/polySeg/canComputeRequestedRepresentation.js +83 -0
- package/dist/cjs/stateManagement/segmentation/polySeg/canComputeRequestedRepresentation.js.map +1 -0
- package/dist/cjs/stateManagement/segmentation/polySeg/computeAndAddRepresentation.d.ts +3 -0
- package/dist/cjs/stateManagement/segmentation/polySeg/computeAndAddRepresentation.js +64 -0
- package/dist/cjs/stateManagement/segmentation/polySeg/computeAndAddRepresentation.js.map +1 -0
- package/dist/cjs/stateManagement/segmentation/polySeg/index.d.ts +5 -0
- package/dist/cjs/stateManagement/segmentation/polySeg/index.js +12 -0
- package/dist/cjs/stateManagement/segmentation/polySeg/index.js.map +1 -0
- package/dist/cjs/stateManagement/segmentation/polySeg/registerPolySegWorker.d.ts +1 -0
- package/dist/cjs/stateManagement/segmentation/polySeg/registerPolySegWorker.js +27 -0
- package/dist/cjs/stateManagement/segmentation/polySeg/registerPolySegWorker.js.map +1 -0
- package/dist/cjs/stateManagement/segmentation/segmentIndex.js +4 -0
- package/dist/cjs/stateManagement/segmentation/segmentIndex.js.map +1 -1
- package/dist/cjs/stateManagement/segmentation/segmentationState.d.ts +6 -1
- package/dist/cjs/stateManagement/segmentation/segmentationState.js +30 -1
- package/dist/cjs/stateManagement/segmentation/segmentationState.js.map +1 -1
- package/dist/cjs/tools/ScaleOverlayTool.js +2 -1
- package/dist/cjs/tools/ScaleOverlayTool.js.map +1 -1
- package/dist/cjs/tools/annotation/PlanarFreehandContourSegmentationTool.d.ts +1 -2
- package/dist/cjs/tools/annotation/PlanarFreehandContourSegmentationTool.js +0 -11
- package/dist/cjs/tools/annotation/PlanarFreehandContourSegmentationTool.js.map +1 -1
- package/dist/cjs/tools/annotation/PlanarFreehandROITool.js +1 -2
- package/dist/cjs/tools/annotation/PlanarFreehandROITool.js.map +1 -1
- package/dist/cjs/tools/annotation/ProbeTool.js +3 -0
- package/dist/cjs/tools/annotation/ProbeTool.js.map +1 -1
- package/dist/cjs/tools/annotation/planarFreehandROITool/drawLoop.js +1 -1
- package/dist/cjs/tools/annotation/planarFreehandROITool/drawLoop.js.map +1 -1
- package/dist/cjs/tools/annotation/planarFreehandROITool/openContourEndEditLoop.js +1 -1
- package/dist/cjs/tools/annotation/planarFreehandROITool/openContourEndEditLoop.js.map +1 -1
- package/dist/cjs/tools/base/AnnotationTool.js +1 -1
- package/dist/cjs/tools/base/AnnotationTool.js.map +1 -1
- package/dist/cjs/tools/base/BaseTool.js.map +1 -1
- package/dist/cjs/tools/base/ContourSegmentationBaseTool.d.ts +1 -2
- package/dist/cjs/tools/base/ContourSegmentationBaseTool.js +24 -24
- package/dist/cjs/tools/base/ContourSegmentationBaseTool.js.map +1 -1
- package/dist/cjs/tools/displayTools/Contour/contourDisplay.js +9 -6
- package/dist/cjs/tools/displayTools/Contour/contourDisplay.js.map +1 -1
- package/dist/cjs/tools/displayTools/Contour/removeContourFromElement.js.map +1 -1
- package/dist/cjs/tools/displayTools/Contour/{addContourSetsToElement.d.ts → vtkContour/addContourSetsToElement.d.ts} +1 -1
- package/dist/cjs/tools/displayTools/Contour/vtkContour/addContourSetsToElement.js.map +1 -0
- package/dist/cjs/tools/displayTools/Contour/vtkContour/addOrUpdateVTKContourSets.d.ts +3 -0
- package/dist/cjs/tools/displayTools/Contour/vtkContour/addOrUpdateVTKContourSets.js +14 -0
- package/dist/cjs/tools/displayTools/Contour/vtkContour/addOrUpdateVTKContourSets.js.map +1 -0
- package/dist/cjs/tools/displayTools/Contour/vtkContour/contourConfigCache.js.map +1 -0
- package/dist/cjs/tools/displayTools/Contour/vtkContour/updateVTKContourSets.d.ts +3 -0
- package/dist/cjs/tools/displayTools/Contour/{updateContourSets.js → vtkContour/updateVTKContourSets.js} +4 -4
- package/dist/cjs/tools/displayTools/Contour/vtkContour/updateVTKContourSets.js.map +1 -0
- package/dist/cjs/tools/displayTools/Contour/{utils.d.ts → vtkContour/utils.d.ts} +2 -2
- package/dist/cjs/tools/displayTools/Contour/vtkContour/utils.js.map +1 -0
- package/dist/cjs/tools/displayTools/Labelmap/addLabelmapToElement.js +1 -1
- package/dist/cjs/tools/displayTools/Labelmap/addLabelmapToElement.js.map +1 -1
- package/dist/cjs/tools/displayTools/Labelmap/index.d.ts +2 -1
- package/dist/cjs/tools/displayTools/Labelmap/index.js +4 -1
- package/dist/cjs/tools/displayTools/Labelmap/index.js.map +1 -1
- package/dist/cjs/tools/displayTools/Labelmap/labelmapDisplay.js +20 -2
- package/dist/cjs/tools/displayTools/Labelmap/labelmapDisplay.js.map +1 -1
- package/dist/cjs/tools/displayTools/Labelmap/validateLabelmap.d.ts +4 -0
- package/dist/cjs/tools/displayTools/Labelmap/validateLabelmap.js +38 -0
- package/dist/cjs/tools/displayTools/Labelmap/validateLabelmap.js.map +1 -0
- package/dist/cjs/tools/displayTools/Surface/addOrUpdateSurfaceToElement.d.ts +3 -0
- package/dist/cjs/tools/displayTools/Surface/addOrUpdateSurfaceToElement.js +112 -0
- package/dist/cjs/tools/displayTools/Surface/addOrUpdateSurfaceToElement.js.map +1 -0
- package/dist/cjs/tools/displayTools/Surface/surfaceConfig.d.ts +3 -0
- package/dist/cjs/tools/displayTools/Surface/surfaceConfig.js +11 -0
- package/dist/cjs/tools/displayTools/Surface/surfaceConfig.js.map +1 -0
- package/dist/cjs/tools/displayTools/Surface/surfaceDisplay.d.ts +7 -0
- package/dist/cjs/tools/displayTools/Surface/surfaceDisplay.js +173 -27
- package/dist/cjs/tools/displayTools/Surface/surfaceDisplay.js.map +1 -1
- package/dist/cjs/tools/displayTools/registerDisplayToolsWorker.d.ts +1 -0
- package/dist/cjs/tools/displayTools/registerDisplayToolsWorker.js +27 -0
- package/dist/cjs/tools/displayTools/registerDisplayToolsWorker.js.map +1 -0
- package/dist/cjs/tools/segmentation/BrushTool.js +1 -1
- package/dist/cjs/tools/segmentation/BrushTool.js.map +1 -1
- package/dist/cjs/tools/segmentation/CircleScissorsTool.js +1 -1
- package/dist/cjs/tools/segmentation/CircleScissorsTool.js.map +1 -1
- package/dist/cjs/tools/segmentation/PaintFillTool.js +1 -1
- package/dist/cjs/tools/segmentation/PaintFillTool.js.map +1 -1
- package/dist/cjs/tools/segmentation/RectangleScissorsTool.js +1 -1
- package/dist/cjs/tools/segmentation/RectangleScissorsTool.js.map +1 -1
- package/dist/cjs/tools/segmentation/SegmentSelectTool.d.ts +6 -2
- package/dist/cjs/tools/segmentation/SegmentSelectTool.js +45 -35
- package/dist/cjs/tools/segmentation/SegmentSelectTool.js.map +1 -1
- package/dist/cjs/tools/segmentation/SphereScissorsTool.js +1 -1
- package/dist/cjs/tools/segmentation/SphereScissorsTool.js.map +1 -1
- package/dist/cjs/tools/segmentation/strategies/BrushStrategy.js +7 -5
- package/dist/cjs/tools/segmentation/strategies/BrushStrategy.js.map +1 -1
- package/dist/cjs/tools/segmentation/strategies/compositions/regionFill.js +1 -1
- package/dist/cjs/tools/segmentation/strategies/compositions/regionFill.js.map +1 -1
- package/dist/cjs/tools/segmentation/strategies/fillSphere.js +14 -5
- package/dist/cjs/tools/segmentation/strategies/fillSphere.js.map +1 -1
- package/dist/cjs/tools/segmentation/strategies/utils/getStrategyData.js +21 -9
- package/dist/cjs/tools/segmentation/strategies/utils/getStrategyData.js.map +1 -1
- package/dist/cjs/tools/segmentation/strategies/utils/stackVolumeCheck.d.ts +5 -5
- package/dist/cjs/tools/segmentation/strategies/utils/stackVolumeCheck.js +15 -8
- package/dist/cjs/tools/segmentation/strategies/utils/stackVolumeCheck.js.map +1 -1
- package/dist/cjs/types/ContourSegmentationAnnotation.d.ts +0 -1
- package/dist/cjs/types/LabelmapTypes.d.ts +5 -1
- package/dist/cjs/types/PolySeg.d.ts +6 -0
- package/dist/cjs/types/PolySeg.js +3 -0
- package/dist/cjs/types/PolySeg.js.map +1 -0
- package/dist/cjs/types/SegmentationStateTypes.d.ts +12 -2
- package/dist/cjs/types/SurfaceTypes.d.ts +1 -1
- package/dist/cjs/types/index.d.ts +2 -1
- package/dist/cjs/utilities/boundingBox/getBoundingBoxAroundShape.js +6 -6
- package/dist/cjs/utilities/boundingBox/getBoundingBoxAroundShape.js.map +1 -1
- package/dist/cjs/utilities/contourSegmentation/addContourSegmentationAnnotation.d.ts +2 -0
- package/dist/cjs/utilities/contourSegmentation/addContourSegmentationAnnotation.js +20 -0
- package/dist/cjs/utilities/contourSegmentation/addContourSegmentationAnnotation.js.map +1 -0
- package/dist/cjs/utilities/contourSegmentation/areSameSegment.js +0 -2
- package/dist/cjs/utilities/contourSegmentation/areSameSegment.js.map +1 -1
- package/dist/cjs/utilities/contourSegmentation/index.d.ts +2 -0
- package/dist/cjs/utilities/contourSegmentation/index.js +5 -1
- package/dist/cjs/utilities/contourSegmentation/index.js.map +1 -1
- package/dist/cjs/utilities/contourSegmentation/removeContourSegmentationAnnotation.d.ts +2 -0
- package/dist/cjs/utilities/contourSegmentation/removeContourSegmentationAnnotation.js +19 -0
- package/dist/cjs/utilities/contourSegmentation/removeContourSegmentationAnnotation.js.map +1 -0
- package/dist/cjs/utilities/contours/detectContourHoles.js.map +1 -1
- package/dist/cjs/utilities/contours/generateContourSetsFromLabelmap.js +2 -2
- package/dist/cjs/utilities/contours/generateContourSetsFromLabelmap.js.map +1 -1
- package/dist/cjs/utilities/contours/getDeduplicatedVTKPolyDataPoints.d.ts +11 -0
- package/dist/cjs/utilities/contours/getDeduplicatedVTKPolyDataPoints.js +50 -0
- package/dist/cjs/utilities/contours/getDeduplicatedVTKPolyDataPoints.js.map +1 -0
- package/dist/cjs/utilities/contours/index.d.ts +2 -2
- package/dist/cjs/utilities/contours/index.js +3 -3
- package/dist/cjs/utilities/contours/index.js.map +1 -1
- package/dist/cjs/utilities/index.d.ts +3 -1
- package/dist/cjs/utilities/index.js +5 -1
- package/dist/cjs/utilities/index.js.map +1 -1
- package/dist/cjs/utilities/math/polyline/containsPoint.js.map +1 -1
- package/dist/cjs/utilities/math/polyline/index.d.ts +2 -1
- package/dist/cjs/utilities/math/polyline/index.js +3 -1
- package/dist/cjs/utilities/math/polyline/index.js.map +1 -1
- package/dist/cjs/utilities/math/polyline/isPointInsidePolyline3D.d.ts +2 -0
- package/dist/cjs/utilities/math/polyline/isPointInsidePolyline3D.js +34 -0
- package/dist/cjs/utilities/math/polyline/isPointInsidePolyline3D.js.map +1 -0
- package/dist/cjs/utilities/segmentation/contourAndFindLargestBidirectional.js +0 -1
- package/dist/cjs/utilities/segmentation/contourAndFindLargestBidirectional.js.map +1 -1
- package/dist/cjs/utilities/segmentation/getHoveredContourSegmentationAnnotation.d.ts +1 -0
- package/dist/cjs/utilities/segmentation/getHoveredContourSegmentationAnnotation.js +18 -0
- package/dist/cjs/utilities/segmentation/getHoveredContourSegmentationAnnotation.js.map +1 -0
- package/dist/cjs/utilities/segmentation/getSegmentAtLabelmapBorder.d.ts +7 -0
- package/dist/cjs/utilities/segmentation/getSegmentAtLabelmapBorder.js +77 -0
- package/dist/cjs/utilities/segmentation/getSegmentAtLabelmapBorder.js.map +1 -0
- package/dist/cjs/utilities/segmentation/getSegmentAtWorldPoint.d.ts +11 -0
- package/dist/cjs/utilities/segmentation/getSegmentAtWorldPoint.js +82 -0
- package/dist/cjs/utilities/segmentation/getSegmentAtWorldPoint.js.map +1 -0
- package/dist/cjs/utilities/segmentation/getUniqueSegmentIndices.d.ts +2 -0
- package/dist/cjs/utilities/segmentation/getUniqueSegmentIndices.js +59 -0
- package/dist/cjs/utilities/segmentation/getUniqueSegmentIndices.js.map +1 -0
- package/dist/cjs/utilities/segmentation/index.d.ts +5 -1
- package/dist/cjs/utilities/segmentation/index.js +9 -1
- package/dist/cjs/utilities/segmentation/index.js.map +1 -1
- package/dist/cjs/utilities/triggerAnnotationRenderForToolGroupIds.d.ts +2 -0
- package/dist/cjs/utilities/triggerAnnotationRenderForToolGroupIds.js +32 -0
- package/dist/cjs/utilities/triggerAnnotationRenderForToolGroupIds.js.map +1 -0
- package/dist/cjs/workers/clippingPlaneWorker.d.ts +1 -0
- package/dist/cjs/workers/clippingPlaneWorker.js +63 -0
- package/dist/cjs/workers/clippingPlaneWorker.js.map +1 -0
- package/dist/cjs/workers/polySegConverters.d.ts +1 -0
- package/dist/cjs/workers/polySegConverters.js +267 -0
- package/dist/cjs/workers/polySegConverters.js.map +1 -0
- package/dist/esm/enums/WorkerTypes.js +10 -0
- package/dist/esm/enums/WorkerTypes.js.map +1 -0
- package/dist/esm/enums/index.js +2 -1
- package/dist/esm/enums/index.js.map +1 -1
- package/dist/esm/eventListeners/annotations/contourSegmentation/contourSegmentationCompleted.js +7 -12
- package/dist/esm/eventListeners/annotations/contourSegmentation/contourSegmentationCompleted.js.map +1 -1
- package/dist/esm/eventListeners/segmentation/imageChangeEventListener.js +3 -3
- package/dist/esm/eventListeners/segmentation/imageChangeEventListener.js.map +1 -1
- package/dist/esm/eventListeners/segmentation/labelmap/onLabelmapSegmentationDataModified.js +59 -45
- package/dist/esm/eventListeners/segmentation/labelmap/onLabelmapSegmentationDataModified.js.map +1 -1
- package/dist/esm/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.js +5 -0
- package/dist/esm/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.js.map +1 -1
- package/dist/esm/stateManagement/annotation/annotationState.js +5 -1
- package/dist/esm/stateManagement/annotation/annotationState.js.map +1 -1
- package/dist/esm/stateManagement/segmentation/SegmentationStateManager.js +4 -1
- package/dist/esm/stateManagement/segmentation/SegmentationStateManager.js.map +1 -1
- package/dist/esm/stateManagement/segmentation/addRepresentationData.js +30 -0
- package/dist/esm/stateManagement/segmentation/addRepresentationData.js.map +1 -0
- package/dist/esm/stateManagement/segmentation/addSegmentationRepresentation.js +32 -15
- package/dist/esm/stateManagement/segmentation/addSegmentationRepresentation.js.map +1 -1
- package/dist/esm/stateManagement/segmentation/config/segmentationVisibility.js +1 -46
- package/dist/esm/stateManagement/segmentation/config/segmentationVisibility.js.map +1 -1
- package/dist/esm/stateManagement/segmentation/convertStackToVolumeSegmentation.js +42 -27
- package/dist/esm/stateManagement/segmentation/convertStackToVolumeSegmentation.js.map +1 -1
- package/dist/esm/stateManagement/segmentation/convertVolumeToStackSegmentation.js +49 -25
- package/dist/esm/stateManagement/segmentation/convertVolumeToStackSegmentation.js.map +1 -1
- package/dist/esm/stateManagement/segmentation/helpers/validateSegmentationInput.js +6 -6
- package/dist/esm/stateManagement/segmentation/helpers/validateSegmentationInput.js.map +1 -1
- package/dist/esm/stateManagement/segmentation/index.js +3 -1
- package/dist/esm/stateManagement/segmentation/index.js.map +1 -1
- package/dist/esm/stateManagement/segmentation/polySeg/Contour/computeAndAddContourRepresentation.js +4 -0
- package/dist/esm/stateManagement/segmentation/polySeg/Contour/computeAndAddContourRepresentation.js.map +1 -0
- package/dist/esm/stateManagement/segmentation/polySeg/Labelmap/computeAndAddLabelmapRepresentation.js +7 -0
- package/dist/esm/stateManagement/segmentation/polySeg/Labelmap/computeAndAddLabelmapRepresentation.js.map +1 -0
- package/dist/esm/stateManagement/segmentation/polySeg/Labelmap/convertContourToLabelmap.js +142 -0
- package/dist/esm/stateManagement/segmentation/polySeg/Labelmap/convertContourToLabelmap.js.map +1 -0
- package/dist/esm/stateManagement/segmentation/polySeg/Labelmap/convertSurfaceToLabelmap.js +53 -0
- package/dist/esm/stateManagement/segmentation/polySeg/Labelmap/convertSurfaceToLabelmap.js.map +1 -0
- package/dist/esm/stateManagement/segmentation/polySeg/Labelmap/labelmapComputationStrategies.js +108 -0
- package/dist/esm/stateManagement/segmentation/polySeg/Labelmap/labelmapComputationStrategies.js.map +1 -0
- package/dist/esm/stateManagement/segmentation/polySeg/Surface/computeAndAddSurfaceRepresentation.js +8 -0
- package/dist/esm/stateManagement/segmentation/polySeg/Surface/computeAndAddSurfaceRepresentation.js.map +1 -0
- package/dist/esm/stateManagement/segmentation/polySeg/Surface/convertContourToSurface.js +37 -0
- package/dist/esm/stateManagement/segmentation/polySeg/Surface/convertContourToSurface.js.map +1 -0
- package/dist/esm/stateManagement/segmentation/polySeg/Surface/convertLabelmapToSurface.js +45 -0
- package/dist/esm/stateManagement/segmentation/polySeg/Surface/convertLabelmapToSurface.js.map +1 -0
- package/dist/esm/stateManagement/segmentation/polySeg/Surface/createAndCacheSurfacesFromRaw.js +41 -0
- package/dist/esm/stateManagement/segmentation/polySeg/Surface/createAndCacheSurfacesFromRaw.js.map +1 -0
- package/dist/esm/stateManagement/segmentation/polySeg/Surface/surfaceComputationStrategies.js +78 -0
- package/dist/esm/stateManagement/segmentation/polySeg/Surface/surfaceComputationStrategies.js.map +1 -0
- package/dist/esm/stateManagement/segmentation/polySeg/Surface/updateSurfaceData.js +59 -0
- package/dist/esm/stateManagement/segmentation/polySeg/Surface/updateSurfaceData.js.map +1 -0
- package/dist/esm/stateManagement/segmentation/polySeg/canComputeRequestedRepresentation.js +68 -0
- package/dist/esm/stateManagement/segmentation/polySeg/canComputeRequestedRepresentation.js.map +1 -0
- package/dist/esm/stateManagement/segmentation/polySeg/computeAndAddRepresentation.js +47 -0
- package/dist/esm/stateManagement/segmentation/polySeg/computeAndAddRepresentation.js.map +1 -0
- package/dist/esm/stateManagement/segmentation/polySeg/index.js +6 -0
- package/dist/esm/stateManagement/segmentation/polySeg/index.js.map +1 -0
- package/dist/esm/stateManagement/segmentation/polySeg/registerPolySegWorker.js +23 -0
- package/dist/esm/stateManagement/segmentation/polySeg/registerPolySegWorker.js.map +1 -0
- package/dist/esm/stateManagement/segmentation/segmentIndex.js +4 -0
- package/dist/esm/stateManagement/segmentation/segmentIndex.js.map +1 -1
- package/dist/esm/stateManagement/segmentation/segmentationState.js +28 -1
- package/dist/esm/stateManagement/segmentation/segmentationState.js.map +1 -1
- package/dist/esm/tools/ScaleOverlayTool.js +2 -1
- package/dist/esm/tools/ScaleOverlayTool.js.map +1 -1
- package/dist/esm/tools/annotation/PlanarFreehandContourSegmentationTool.js +0 -11
- package/dist/esm/tools/annotation/PlanarFreehandContourSegmentationTool.js.map +1 -1
- package/dist/esm/tools/annotation/PlanarFreehandROITool.js +1 -2
- package/dist/esm/tools/annotation/PlanarFreehandROITool.js.map +1 -1
- package/dist/esm/tools/annotation/ProbeTool.js +3 -0
- package/dist/esm/tools/annotation/ProbeTool.js.map +1 -1
- package/dist/esm/tools/annotation/planarFreehandROITool/drawLoop.js +1 -1
- package/dist/esm/tools/annotation/planarFreehandROITool/drawLoop.js.map +1 -1
- package/dist/esm/tools/annotation/planarFreehandROITool/openContourEndEditLoop.js +1 -1
- package/dist/esm/tools/annotation/planarFreehandROITool/openContourEndEditLoop.js.map +1 -1
- package/dist/esm/tools/base/AnnotationTool.js +1 -1
- package/dist/esm/tools/base/AnnotationTool.js.map +1 -1
- package/dist/esm/tools/base/BaseTool.js +1 -1
- package/dist/esm/tools/base/BaseTool.js.map +1 -1
- package/dist/esm/tools/base/ContourSegmentationBaseTool.js +24 -24
- package/dist/esm/tools/base/ContourSegmentationBaseTool.js.map +1 -1
- package/dist/esm/tools/displayTools/Contour/contourDisplay.js +10 -7
- package/dist/esm/tools/displayTools/Contour/contourDisplay.js.map +1 -1
- package/dist/esm/tools/displayTools/Contour/removeContourFromElement.js.map +1 -1
- package/dist/esm/tools/displayTools/Contour/vtkContour/addContourSetsToElement.js.map +1 -0
- package/dist/esm/tools/displayTools/Contour/{addOrUpdateContourSets.js → vtkContour/addOrUpdateVTKContourSets.js} +4 -4
- package/dist/esm/tools/displayTools/Contour/vtkContour/addOrUpdateVTKContourSets.js.map +1 -0
- package/dist/esm/tools/displayTools/Contour/vtkContour/contourConfigCache.js.map +1 -0
- package/dist/esm/tools/displayTools/Contour/{updateContourSets.js → vtkContour/updateVTKContourSets.js} +2 -2
- package/dist/esm/tools/displayTools/Contour/vtkContour/updateVTKContourSets.js.map +1 -0
- package/dist/esm/tools/displayTools/Contour/vtkContour/utils.js.map +1 -0
- package/dist/esm/tools/displayTools/Labelmap/addLabelmapToElement.js +1 -1
- package/dist/esm/tools/displayTools/Labelmap/addLabelmapToElement.js.map +1 -1
- package/dist/esm/tools/displayTools/Labelmap/index.js +2 -1
- package/dist/esm/tools/displayTools/Labelmap/index.js.map +1 -1
- package/dist/esm/tools/displayTools/Labelmap/labelmapDisplay.js +20 -2
- package/dist/esm/tools/displayTools/Labelmap/labelmapDisplay.js.map +1 -1
- package/dist/esm/tools/displayTools/Labelmap/validateLabelmap.js +33 -0
- package/dist/esm/tools/displayTools/Labelmap/validateLabelmap.js.map +1 -0
- package/dist/esm/tools/displayTools/Surface/addOrUpdateSurfaceToElement.js +106 -0
- package/dist/esm/tools/displayTools/Surface/addOrUpdateSurfaceToElement.js.map +1 -0
- package/dist/esm/tools/displayTools/Surface/surfaceConfig.js +9 -0
- package/dist/esm/tools/displayTools/Surface/surfaceConfig.js.map +1 -0
- package/dist/esm/tools/displayTools/Surface/surfaceDisplay.js +162 -28
- package/dist/esm/tools/displayTools/Surface/surfaceDisplay.js.map +1 -1
- package/dist/esm/tools/displayTools/registerDisplayToolsWorker.js +23 -0
- package/dist/esm/tools/displayTools/registerDisplayToolsWorker.js.map +1 -0
- package/dist/esm/tools/segmentation/BrushTool.js +1 -1
- package/dist/esm/tools/segmentation/BrushTool.js.map +1 -1
- package/dist/esm/tools/segmentation/CircleScissorsTool.js +1 -1
- package/dist/esm/tools/segmentation/CircleScissorsTool.js.map +1 -1
- package/dist/esm/tools/segmentation/PaintFillTool.js +1 -1
- package/dist/esm/tools/segmentation/PaintFillTool.js.map +1 -1
- package/dist/esm/tools/segmentation/RectangleScissorsTool.js +1 -1
- package/dist/esm/tools/segmentation/RectangleScissorsTool.js.map +1 -1
- package/dist/esm/tools/segmentation/SegmentSelectTool.js +47 -37
- package/dist/esm/tools/segmentation/SegmentSelectTool.js.map +1 -1
- package/dist/esm/tools/segmentation/SphereScissorsTool.js +1 -1
- package/dist/esm/tools/segmentation/SphereScissorsTool.js.map +1 -1
- package/dist/esm/tools/segmentation/strategies/BrushStrategy.js +7 -5
- package/dist/esm/tools/segmentation/strategies/BrushStrategy.js.map +1 -1
- package/dist/esm/tools/segmentation/strategies/compositions/regionFill.js +1 -1
- package/dist/esm/tools/segmentation/strategies/compositions/regionFill.js.map +1 -1
- package/dist/esm/tools/segmentation/strategies/fillSphere.js +14 -5
- package/dist/esm/tools/segmentation/strategies/fillSphere.js.map +1 -1
- package/dist/esm/tools/segmentation/strategies/utils/getStrategyData.js +21 -9
- package/dist/esm/tools/segmentation/strategies/utils/getStrategyData.js.map +1 -1
- package/dist/esm/tools/segmentation/strategies/utils/stackVolumeCheck.js +15 -7
- package/dist/esm/tools/segmentation/strategies/utils/stackVolumeCheck.js.map +1 -1
- package/dist/esm/types/PolySeg.js +2 -0
- package/dist/esm/types/PolySeg.js.map +1 -0
- package/dist/esm/utilities/boundingBox/getBoundingBoxAroundShape.js +3 -2
- package/dist/esm/utilities/boundingBox/getBoundingBoxAroundShape.js.map +1 -1
- package/dist/esm/utilities/contourSegmentation/addContourSegmentationAnnotation.js +16 -0
- package/dist/esm/utilities/contourSegmentation/addContourSegmentationAnnotation.js.map +1 -0
- package/dist/esm/utilities/contourSegmentation/areSameSegment.js +0 -2
- package/dist/esm/utilities/contourSegmentation/areSameSegment.js.map +1 -1
- package/dist/esm/utilities/contourSegmentation/index.js +2 -0
- package/dist/esm/utilities/contourSegmentation/index.js.map +1 -1
- package/dist/esm/utilities/contourSegmentation/removeContourSegmentationAnnotation.js +15 -0
- package/dist/esm/utilities/contourSegmentation/removeContourSegmentationAnnotation.js.map +1 -0
- package/dist/esm/utilities/contours/detectContourHoles.js.map +1 -1
- package/dist/esm/utilities/contours/generateContourSetsFromLabelmap.js +2 -2
- package/dist/esm/utilities/contours/generateContourSetsFromLabelmap.js.map +1 -1
- package/dist/esm/utilities/contours/getDeduplicatedVTKPolyDataPoints.js +46 -0
- package/dist/esm/utilities/contours/getDeduplicatedVTKPolyDataPoints.js.map +1 -0
- package/dist/esm/utilities/contours/index.js +2 -2
- package/dist/esm/utilities/contours/index.js.map +1 -1
- package/dist/esm/utilities/index.js +3 -1
- package/dist/esm/utilities/index.js.map +1 -1
- package/dist/esm/utilities/math/polyline/containsPoint.js.map +1 -1
- package/dist/esm/utilities/math/polyline/index.js +2 -1
- package/dist/esm/utilities/math/polyline/index.js.map +1 -1
- package/dist/esm/utilities/math/polyline/isPointInsidePolyline3D.js +27 -0
- package/dist/esm/utilities/math/polyline/isPointInsidePolyline3D.js.map +1 -0
- package/dist/esm/utilities/segmentation/contourAndFindLargestBidirectional.js +0 -1
- package/dist/esm/utilities/segmentation/contourAndFindLargestBidirectional.js.map +1 -1
- package/dist/esm/utilities/segmentation/getHoveredContourSegmentationAnnotation.js +14 -0
- package/dist/esm/utilities/segmentation/getHoveredContourSegmentationAnnotation.js.map +1 -0
- package/dist/esm/utilities/segmentation/getSegmentAtLabelmapBorder.js +73 -0
- package/dist/esm/utilities/segmentation/getSegmentAtLabelmapBorder.js.map +1 -0
- package/dist/esm/utilities/segmentation/getSegmentAtWorldPoint.js +75 -0
- package/dist/esm/utilities/segmentation/getSegmentAtWorldPoint.js.map +1 -0
- package/dist/esm/utilities/segmentation/getUniqueSegmentIndices.js +55 -0
- package/dist/esm/utilities/segmentation/getUniqueSegmentIndices.js.map +1 -0
- package/dist/esm/utilities/segmentation/index.js +5 -1
- package/dist/esm/utilities/segmentation/index.js.map +1 -1
- package/dist/esm/utilities/triggerAnnotationRenderForToolGroupIds.js +25 -0
- package/dist/esm/utilities/triggerAnnotationRenderForToolGroupIds.js.map +1 -0
- package/dist/esm/workers/clippingPlaneWorker.js +58 -0
- package/dist/esm/workers/clippingPlaneWorker.js.map +1 -0
- package/dist/esm/workers/polySegConverters.js +241 -0
- package/dist/esm/workers/polySegConverters.js.map +1 -0
- package/dist/types/enums/WorkerTypes.d.ts +9 -0
- package/dist/types/enums/WorkerTypes.d.ts.map +1 -0
- package/dist/types/enums/index.d.ts +2 -1
- package/dist/types/eventListeners/segmentation/imageChangeEventListener.d.ts.map +1 -1
- package/dist/types/eventListeners/segmentation/labelmap/onLabelmapSegmentationDataModified.d.ts.map +1 -1
- package/dist/types/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.d.ts +1 -0
- package/dist/types/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.d.ts.map +1 -1
- package/dist/types/stateManagement/annotation/annotationState.d.ts +2 -1
- package/dist/types/stateManagement/annotation/annotationState.d.ts.map +1 -1
- package/dist/types/stateManagement/segmentation/SegmentationStateManager.d.ts.map +1 -1
- package/dist/types/stateManagement/segmentation/addRepresentationData.d.ts +13 -0
- package/dist/types/stateManagement/segmentation/addRepresentationData.d.ts.map +1 -0
- package/dist/types/stateManagement/segmentation/addSegmentationRepresentation.d.ts.map +1 -1
- package/dist/types/stateManagement/segmentation/config/segmentationVisibility.d.ts.map +1 -1
- package/dist/types/stateManagement/segmentation/convertStackToVolumeSegmentation.d.ts +9 -2
- package/dist/types/stateManagement/segmentation/convertStackToVolumeSegmentation.d.ts.map +1 -1
- package/dist/types/stateManagement/segmentation/convertVolumeToStackSegmentation.d.ts +13 -0
- package/dist/types/stateManagement/segmentation/convertVolumeToStackSegmentation.d.ts.map +1 -1
- package/dist/types/stateManagement/segmentation/helpers/validateSegmentationInput.d.ts.map +1 -1
- package/dist/types/stateManagement/segmentation/index.d.ts +3 -1
- package/dist/types/stateManagement/segmentation/index.d.ts.map +1 -1
- package/dist/types/stateManagement/segmentation/polySeg/Contour/computeAndAddContourRepresentation.d.ts +3 -0
- package/dist/types/stateManagement/segmentation/polySeg/Contour/computeAndAddContourRepresentation.d.ts.map +1 -0
- package/dist/types/stateManagement/segmentation/polySeg/Labelmap/computeAndAddLabelmapRepresentation.d.ts +3 -0
- package/dist/types/stateManagement/segmentation/polySeg/Labelmap/computeAndAddLabelmapRepresentation.d.ts.map +1 -0
- package/dist/types/stateManagement/segmentation/polySeg/Labelmap/convertContourToLabelmap.d.ts +8 -0
- package/dist/types/stateManagement/segmentation/polySeg/Labelmap/convertContourToLabelmap.d.ts.map +1 -0
- package/dist/types/stateManagement/segmentation/polySeg/Labelmap/convertSurfaceToLabelmap.d.ts +7 -0
- package/dist/types/stateManagement/segmentation/polySeg/Labelmap/convertSurfaceToLabelmap.d.ts.map +1 -0
- package/dist/types/stateManagement/segmentation/polySeg/Labelmap/labelmapComputationStrategies.d.ts +7 -0
- package/dist/types/stateManagement/segmentation/polySeg/Labelmap/labelmapComputationStrategies.d.ts.map +1 -0
- package/dist/types/stateManagement/segmentation/polySeg/Surface/computeAndAddSurfaceRepresentation.d.ts +5 -0
- package/dist/types/stateManagement/segmentation/polySeg/Surface/computeAndAddSurfaceRepresentation.d.ts.map +1 -0
- package/dist/types/stateManagement/segmentation/polySeg/Surface/convertContourToSurface.d.ts +4 -0
- package/dist/types/stateManagement/segmentation/polySeg/Surface/convertContourToSurface.d.ts.map +1 -0
- package/dist/types/stateManagement/segmentation/polySeg/Surface/convertLabelmapToSurface.d.ts +4 -0
- package/dist/types/stateManagement/segmentation/polySeg/Surface/convertLabelmapToSurface.d.ts.map +1 -0
- package/dist/types/stateManagement/segmentation/polySeg/Surface/createAndCacheSurfacesFromRaw.d.ts +6 -0
- package/dist/types/stateManagement/segmentation/polySeg/Surface/createAndCacheSurfacesFromRaw.d.ts.map +1 -0
- package/dist/types/stateManagement/segmentation/polySeg/Surface/surfaceComputationStrategies.d.ts +13 -0
- package/dist/types/stateManagement/segmentation/polySeg/Surface/surfaceComputationStrategies.d.ts.map +1 -0
- package/dist/types/stateManagement/segmentation/polySeg/Surface/updateSurfaceData.d.ts +2 -0
- package/dist/types/stateManagement/segmentation/polySeg/Surface/updateSurfaceData.d.ts.map +1 -0
- package/dist/types/stateManagement/segmentation/polySeg/canComputeRequestedRepresentation.d.ts +3 -0
- package/dist/types/stateManagement/segmentation/polySeg/canComputeRequestedRepresentation.d.ts.map +1 -0
- package/dist/types/stateManagement/segmentation/polySeg/computeAndAddRepresentation.d.ts +4 -0
- package/dist/types/stateManagement/segmentation/polySeg/computeAndAddRepresentation.d.ts.map +1 -0
- package/dist/types/stateManagement/segmentation/polySeg/index.d.ts +6 -0
- package/dist/types/stateManagement/segmentation/polySeg/index.d.ts.map +1 -0
- package/dist/types/stateManagement/segmentation/polySeg/registerPolySegWorker.d.ts +2 -0
- package/dist/types/stateManagement/segmentation/polySeg/registerPolySegWorker.d.ts.map +1 -0
- package/dist/types/stateManagement/segmentation/segmentIndex.d.ts.map +1 -1
- package/dist/types/stateManagement/segmentation/segmentationState.d.ts +6 -1
- package/dist/types/stateManagement/segmentation/segmentationState.d.ts.map +1 -1
- package/dist/types/tools/ScaleOverlayTool.d.ts.map +1 -1
- package/dist/types/tools/annotation/PlanarFreehandContourSegmentationTool.d.ts +1 -2
- package/dist/types/tools/annotation/PlanarFreehandContourSegmentationTool.d.ts.map +1 -1
- package/dist/types/tools/annotation/PlanarFreehandROITool.d.ts.map +1 -1
- package/dist/types/tools/annotation/ProbeTool.d.ts.map +1 -1
- package/dist/types/tools/base/BaseTool.d.ts.map +1 -1
- package/dist/types/tools/base/ContourSegmentationBaseTool.d.ts +1 -2
- package/dist/types/tools/base/ContourSegmentationBaseTool.d.ts.map +1 -1
- package/dist/types/tools/displayTools/Contour/contourDisplay.d.ts.map +1 -1
- package/dist/types/tools/displayTools/Contour/removeContourFromElement.d.ts.map +1 -1
- package/dist/types/tools/displayTools/Contour/{addContourSetsToElement.d.ts → vtkContour/addContourSetsToElement.d.ts} +1 -1
- package/dist/types/tools/displayTools/Contour/vtkContour/addContourSetsToElement.d.ts.map +1 -0
- package/dist/types/tools/displayTools/Contour/vtkContour/addOrUpdateVTKContourSets.d.ts +4 -0
- package/dist/types/tools/displayTools/Contour/vtkContour/addOrUpdateVTKContourSets.d.ts.map +1 -0
- package/dist/types/tools/displayTools/Contour/vtkContour/contourConfigCache.d.ts.map +1 -0
- package/dist/types/tools/displayTools/Contour/vtkContour/updateVTKContourSets.d.ts +4 -0
- package/dist/types/tools/displayTools/Contour/vtkContour/updateVTKContourSets.d.ts.map +1 -0
- package/dist/types/tools/displayTools/Contour/{utils.d.ts → vtkContour/utils.d.ts} +2 -2
- package/dist/types/tools/displayTools/Contour/vtkContour/utils.d.ts.map +1 -0
- package/dist/types/tools/displayTools/Labelmap/index.d.ts +2 -1
- package/dist/types/tools/displayTools/Labelmap/index.d.ts.map +1 -1
- package/dist/types/tools/displayTools/Labelmap/labelmapDisplay.d.ts.map +1 -1
- package/dist/types/tools/displayTools/Labelmap/validateLabelmap.d.ts +5 -0
- package/dist/types/tools/displayTools/Labelmap/validateLabelmap.d.ts.map +1 -0
- package/dist/types/tools/displayTools/Surface/addOrUpdateSurfaceToElement.d.ts +4 -0
- package/dist/types/tools/displayTools/Surface/addOrUpdateSurfaceToElement.d.ts.map +1 -0
- package/dist/types/tools/displayTools/Surface/surfaceConfig.d.ts +4 -0
- package/dist/types/tools/displayTools/Surface/surfaceConfig.d.ts.map +1 -0
- package/dist/types/tools/displayTools/Surface/surfaceDisplay.d.ts +7 -0
- package/dist/types/tools/displayTools/Surface/surfaceDisplay.d.ts.map +1 -1
- package/dist/types/tools/displayTools/registerDisplayToolsWorker.d.ts +2 -0
- package/dist/types/tools/displayTools/registerDisplayToolsWorker.d.ts.map +1 -0
- package/dist/types/tools/segmentation/CircleScissorsTool.d.ts.map +1 -1
- package/dist/types/tools/segmentation/RectangleScissorsTool.d.ts.map +1 -1
- package/dist/types/tools/segmentation/SegmentSelectTool.d.ts +6 -2
- package/dist/types/tools/segmentation/SegmentSelectTool.d.ts.map +1 -1
- package/dist/types/tools/segmentation/SphereScissorsTool.d.ts.map +1 -1
- package/dist/types/tools/segmentation/strategies/BrushStrategy.d.ts.map +1 -1
- package/dist/types/tools/segmentation/strategies/fillSphere.d.ts.map +1 -1
- package/dist/types/tools/segmentation/strategies/utils/getStrategyData.d.ts.map +1 -1
- package/dist/types/tools/segmentation/strategies/utils/stackVolumeCheck.d.ts +5 -5
- package/dist/types/tools/segmentation/strategies/utils/stackVolumeCheck.d.ts.map +1 -1
- package/dist/types/types/ContourSegmentationAnnotation.d.ts +0 -1
- package/dist/types/types/ContourSegmentationAnnotation.d.ts.map +1 -1
- package/dist/types/types/LabelmapTypes.d.ts +5 -1
- package/dist/types/types/LabelmapTypes.d.ts.map +1 -1
- package/dist/types/types/PolySeg.d.ts +7 -0
- package/dist/types/types/PolySeg.d.ts.map +1 -0
- package/dist/types/types/SegmentationStateTypes.d.ts +12 -2
- package/dist/types/types/SegmentationStateTypes.d.ts.map +1 -1
- package/dist/types/types/SurfaceTypes.d.ts +1 -1
- package/dist/types/types/SurfaceTypes.d.ts.map +1 -1
- package/dist/types/types/index.d.ts +2 -1
- package/dist/types/types/index.d.ts.map +1 -1
- package/dist/types/utilities/boundingBox/getBoundingBoxAroundShape.d.ts.map +1 -1
- package/dist/types/utilities/contourSegmentation/addContourSegmentationAnnotation.d.ts +3 -0
- package/dist/types/utilities/contourSegmentation/addContourSegmentationAnnotation.d.ts.map +1 -0
- package/dist/types/utilities/contourSegmentation/areSameSegment.d.ts.map +1 -1
- package/dist/types/utilities/contourSegmentation/index.d.ts +2 -0
- package/dist/types/utilities/contourSegmentation/index.d.ts.map +1 -1
- package/dist/types/utilities/contourSegmentation/removeContourSegmentationAnnotation.d.ts +3 -0
- package/dist/types/utilities/contourSegmentation/removeContourSegmentationAnnotation.d.ts.map +1 -0
- package/dist/types/utilities/contours/detectContourHoles.d.ts.map +1 -1
- package/dist/types/utilities/contours/getDeduplicatedVTKPolyDataPoints.d.ts +12 -0
- package/dist/types/utilities/contours/getDeduplicatedVTKPolyDataPoints.d.ts.map +1 -0
- package/dist/types/utilities/contours/index.d.ts +2 -2
- package/dist/types/utilities/contours/index.d.ts.map +1 -1
- package/dist/types/utilities/index.d.ts +3 -1
- package/dist/types/utilities/index.d.ts.map +1 -1
- package/dist/types/utilities/math/polyline/containsPoint.d.ts.map +1 -1
- package/dist/types/utilities/math/polyline/index.d.ts +2 -1
- package/dist/types/utilities/math/polyline/index.d.ts.map +1 -1
- package/dist/types/utilities/math/polyline/isPointInsidePolyline3D.d.ts +3 -0
- package/dist/types/utilities/math/polyline/isPointInsidePolyline3D.d.ts.map +1 -0
- package/dist/types/utilities/segmentation/contourAndFindLargestBidirectional.d.ts.map +1 -1
- package/dist/types/utilities/segmentation/getHoveredContourSegmentationAnnotation.d.ts +2 -0
- package/dist/types/utilities/segmentation/getHoveredContourSegmentationAnnotation.d.ts.map +1 -0
- package/dist/types/utilities/segmentation/getSegmentAtLabelmapBorder.d.ts +8 -0
- package/dist/types/utilities/segmentation/getSegmentAtLabelmapBorder.d.ts.map +1 -0
- package/dist/types/utilities/segmentation/getSegmentAtWorldPoint.d.ts +12 -0
- package/dist/types/utilities/segmentation/getSegmentAtWorldPoint.d.ts.map +1 -0
- package/dist/types/utilities/segmentation/getUniqueSegmentIndices.d.ts +3 -0
- package/dist/types/utilities/segmentation/getUniqueSegmentIndices.d.ts.map +1 -0
- package/dist/types/utilities/segmentation/index.d.ts +5 -1
- package/dist/types/utilities/segmentation/index.d.ts.map +1 -1
- package/dist/types/utilities/triggerAnnotationRenderForToolGroupIds.d.ts +3 -0
- package/dist/types/utilities/triggerAnnotationRenderForToolGroupIds.d.ts.map +1 -0
- package/dist/types/workers/clippingPlaneWorker.d.ts +2 -0
- package/dist/types/workers/clippingPlaneWorker.d.ts.map +1 -0
- package/dist/types/workers/polySegConverters.d.ts +2 -0
- package/dist/types/workers/polySegConverters.d.ts.map +1 -0
- package/dist/umd/17dd54813d5acc10bf8f.wasm +0 -0
- package/dist/umd/444.index.js +3 -0
- package/dist/umd/444.index.js.LICENSE.txt +5 -0
- package/dist/umd/444.index.js.map +1 -0
- package/dist/umd/78.index.js +3 -0
- package/dist/umd/78.index.js.LICENSE.txt +5 -0
- package/dist/umd/78.index.js.map +1 -0
- package/dist/umd/985.index.js +2 -0
- package/dist/umd/985.index.js.map +1 -0
- package/dist/umd/index.js +1 -1
- package/dist/umd/index.js.map +1 -1
- package/package.json +5 -3
- package/src/enums/WorkerTypes.ts +16 -0
- package/src/enums/index.js +2 -0
- package/src/eventListeners/annotations/contourSegmentation/contourSegmentationCompleted.ts +10 -17
- package/src/eventListeners/segmentation/imageChangeEventListener.ts +3 -4
- package/src/eventListeners/segmentation/labelmap/onLabelmapSegmentationDataModified.ts +97 -69
- package/src/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.ts +11 -0
- package/src/stateManagement/annotation/annotationState.ts +6 -0
- package/src/stateManagement/segmentation/SegmentationStateManager.ts +4 -1
- package/src/stateManagement/segmentation/addRepresentationData.ts +71 -0
- package/src/stateManagement/segmentation/addSegmentationRepresentation.ts +39 -16
- package/src/stateManagement/segmentation/config/segmentationVisibility.ts +1 -59
- package/src/stateManagement/segmentation/convertStackToVolumeSegmentation.ts +74 -37
- package/src/stateManagement/segmentation/convertVolumeToStackSegmentation.ts +102 -38
- package/src/stateManagement/segmentation/helpers/validateSegmentationInput.ts +13 -8
- package/src/stateManagement/segmentation/index.ts +9 -2
- package/src/stateManagement/segmentation/polySeg/Contour/computeAndAddContourRepresentation.ts +17 -0
- package/src/stateManagement/segmentation/polySeg/Labelmap/computeAndAddLabelmapRepresentation.ts +25 -0
- package/src/stateManagement/segmentation/polySeg/Labelmap/convertContourToLabelmap.ts +273 -0
- package/src/stateManagement/segmentation/polySeg/Labelmap/convertSurfaceToLabelmap.ts +89 -0
- package/src/stateManagement/segmentation/polySeg/Labelmap/labelmapComputationStrategies.ts +193 -0
- package/src/stateManagement/segmentation/polySeg/Surface/computeAndAddSurfaceRepresentation.ts +26 -0
- package/src/stateManagement/segmentation/polySeg/Surface/convertContourToSurface.ts +62 -0
- package/src/stateManagement/segmentation/polySeg/Surface/convertLabelmapToSurface.ts +81 -0
- package/src/stateManagement/segmentation/polySeg/Surface/createAndCacheSurfacesFromRaw.ts +81 -0
- package/src/stateManagement/segmentation/polySeg/Surface/surfaceComputationStrategies.ts +167 -0
- package/src/stateManagement/segmentation/polySeg/Surface/updateSurfaceData.ts +95 -0
- package/src/stateManagement/segmentation/polySeg/canComputeRequestedRepresentation.ts +123 -0
- package/src/stateManagement/segmentation/polySeg/computeAndAddRepresentation.ts +97 -0
- package/src/stateManagement/segmentation/polySeg/index.ts +12 -0
- package/src/stateManagement/segmentation/polySeg/registerPolySegWorker.ts +34 -0
- package/src/stateManagement/segmentation/segmentIndex.ts +5 -0
- package/src/stateManagement/segmentation/segmentationState.ts +62 -0
- package/src/tools/ScaleOverlayTool.ts +4 -1
- package/src/tools/annotation/PlanarFreehandContourSegmentationTool.ts +1 -22
- package/src/tools/annotation/PlanarFreehandROITool.ts +2 -4
- package/src/tools/annotation/ProbeTool.ts +4 -0
- package/src/tools/annotation/SplineROITool.ts +1 -1
- package/src/tools/annotation/planarFreehandROITool/drawLoop.ts +2 -2
- package/src/tools/annotation/planarFreehandROITool/openContourEndEditLoop.ts +1 -1
- package/src/tools/base/AnnotationTool.ts +1 -1
- package/src/tools/base/BaseTool.ts +1 -6
- package/src/tools/base/ContourBaseTool.ts +1 -1
- package/src/tools/base/ContourSegmentationBaseTool.ts +45 -42
- package/src/tools/displayTools/Contour/contourDisplay.ts +82 -9
- package/src/tools/displayTools/Contour/removeContourFromElement.ts +2 -0
- package/src/tools/displayTools/Contour/{addContourSetsToElement.ts → vtkContour/addContourSetsToElement.ts} +1 -1
- package/src/tools/displayTools/Contour/{addOrUpdateContourSets.ts → vtkContour/addOrUpdateVTKContourSets.ts} +4 -4
- package/src/tools/displayTools/Contour/{updateContourSets.ts → vtkContour/updateVTKContourSets.ts} +2 -2
- package/src/tools/displayTools/Contour/{utils.ts → vtkContour/utils.ts} +1 -1
- package/src/tools/displayTools/Labelmap/addLabelmapToElement.ts +1 -1
- package/src/tools/displayTools/Labelmap/index.ts +10 -1
- package/src/tools/displayTools/Labelmap/labelmapDisplay.ts +39 -4
- package/src/tools/displayTools/Labelmap/validateLabelmap.ts +71 -0
- package/src/tools/displayTools/Surface/addOrUpdateSurfaceToElement.ts +172 -0
- package/src/tools/displayTools/Surface/surfaceConfig.ts +12 -0
- package/src/tools/displayTools/Surface/surfaceDisplay.ts +275 -35
- package/src/tools/displayTools/registerDisplayToolsWorker.ts +34 -0
- package/src/tools/segmentation/BrushTool.ts +1 -1
- package/src/tools/segmentation/CircleScissorsTool.ts +3 -1
- package/src/tools/segmentation/PaintFillTool.ts +1 -1
- package/src/tools/segmentation/RectangleScissorsTool.ts +3 -1
- package/src/tools/segmentation/SegmentSelectTool.ts +70 -75
- package/src/tools/segmentation/SphereScissorsTool.ts +3 -1
- package/src/tools/segmentation/strategies/BrushStrategy.ts +12 -9
- package/src/tools/segmentation/strategies/compositions/regionFill.ts +1 -1
- package/src/tools/segmentation/strategies/fillSphere.ts +13 -5
- package/src/tools/segmentation/strategies/utils/getStrategyData.ts +30 -15
- package/src/tools/segmentation/strategies/utils/stackVolumeCheck.ts +24 -17
- package/src/types/ContourSegmentationAnnotation.ts +0 -1
- package/src/types/LabelmapTypes.ts +7 -1
- package/src/types/PolySeg.ts +7 -0
- package/src/types/SegmentationStateTypes.ts +20 -4
- package/src/types/SurfaceTypes.ts +1 -1
- package/src/types/index.ts +3 -0
- package/src/utilities/boundingBox/getBoundingBoxAroundShape.ts +4 -2
- package/src/utilities/contourSegmentation/addContourSegmentationAnnotation.ts +29 -0
- package/src/utilities/contourSegmentation/areSameSegment.ts +0 -2
- package/src/utilities/contourSegmentation/index.ts +2 -0
- package/src/utilities/contourSegmentation/removeContourSegmentationAnnotation.ts +30 -0
- package/src/utilities/contours/detectContourHoles.ts +2 -0
- package/src/utilities/contours/generateContourSetsFromLabelmap.ts +2 -2
- package/src/utilities/contours/getDeduplicatedVTKPolyDataPoints.ts +66 -0
- package/src/utilities/contours/index.ts +2 -2
- package/src/utilities/index.ts +4 -0
- package/src/utilities/math/polyline/containsPoint.ts +3 -1
- package/src/utilities/math/polyline/index.ts +2 -0
- package/src/utilities/math/polyline/isPointInsidePolyline3D.ts +56 -0
- package/src/utilities/segmentation/contourAndFindLargestBidirectional.ts +0 -1
- package/src/utilities/segmentation/getHoveredContourSegmentationAnnotation.ts +25 -0
- package/src/utilities/segmentation/getSegmentAtLabelmapBorder.ts +179 -0
- package/src/utilities/segmentation/getSegmentAtWorldPoint.ts +173 -0
- package/src/utilities/segmentation/getUniqueSegmentIndices.ts +76 -0
- package/src/utilities/segmentation/index.ts +8 -0
- package/src/utilities/triggerAnnotationRenderForToolGroupIds.ts +38 -0
- package/src/workers/clippingPlaneWorker.js +87 -0
- package/src/workers/polySegConverters.js +467 -0
- package/dist/cjs/tools/displayTools/Contour/addContourSetsToElement.js.map +0 -1
- package/dist/cjs/tools/displayTools/Contour/addOrUpdateContourSets.d.ts +0 -3
- package/dist/cjs/tools/displayTools/Contour/addOrUpdateContourSets.js +0 -14
- package/dist/cjs/tools/displayTools/Contour/addOrUpdateContourSets.js.map +0 -1
- package/dist/cjs/tools/displayTools/Contour/contourConfigCache.js.map +0 -1
- package/dist/cjs/tools/displayTools/Contour/updateContourSets.d.ts +0 -3
- package/dist/cjs/tools/displayTools/Contour/updateContourSets.js.map +0 -1
- package/dist/cjs/tools/displayTools/Contour/utils.js.map +0 -1
- package/dist/cjs/tools/displayTools/Labelmap/validateRepresentationData.d.ts +0 -3
- package/dist/cjs/tools/displayTools/Labelmap/validateRepresentationData.js +0 -20
- package/dist/cjs/tools/displayTools/Labelmap/validateRepresentationData.js.map +0 -1
- package/dist/cjs/tools/displayTools/Surface/addSurfaceToElement.d.ts +0 -2
- package/dist/cjs/tools/displayTools/Surface/addSurfaceToElement.js +0 -84
- package/dist/cjs/tools/displayTools/Surface/addSurfaceToElement.js.map +0 -1
- package/dist/cjs/utilities/contours/mergePoints.d.ts +0 -8
- package/dist/cjs/utilities/contours/mergePoints.js +0 -77
- package/dist/cjs/utilities/contours/mergePoints.js.map +0 -1
- package/dist/esm/tools/displayTools/Contour/addContourSetsToElement.js.map +0 -1
- package/dist/esm/tools/displayTools/Contour/addOrUpdateContourSets.js.map +0 -1
- package/dist/esm/tools/displayTools/Contour/contourConfigCache.js.map +0 -1
- package/dist/esm/tools/displayTools/Contour/updateContourSets.js.map +0 -1
- package/dist/esm/tools/displayTools/Contour/utils.js.map +0 -1
- package/dist/esm/tools/displayTools/Labelmap/validateRepresentationData.js +0 -18
- package/dist/esm/tools/displayTools/Labelmap/validateRepresentationData.js.map +0 -1
- package/dist/esm/tools/displayTools/Surface/addSurfaceToElement.js +0 -79
- package/dist/esm/tools/displayTools/Surface/addSurfaceToElement.js.map +0 -1
- package/dist/esm/utilities/contours/mergePoints.js +0 -73
- package/dist/esm/utilities/contours/mergePoints.js.map +0 -1
- package/dist/types/tools/displayTools/Contour/addContourSetsToElement.d.ts.map +0 -1
- package/dist/types/tools/displayTools/Contour/addOrUpdateContourSets.d.ts +0 -4
- package/dist/types/tools/displayTools/Contour/addOrUpdateContourSets.d.ts.map +0 -1
- package/dist/types/tools/displayTools/Contour/contourConfigCache.d.ts.map +0 -1
- package/dist/types/tools/displayTools/Contour/updateContourSets.d.ts +0 -4
- package/dist/types/tools/displayTools/Contour/updateContourSets.d.ts.map +0 -1
- package/dist/types/tools/displayTools/Contour/utils.d.ts.map +0 -1
- package/dist/types/tools/displayTools/Labelmap/validateRepresentationData.d.ts +0 -4
- package/dist/types/tools/displayTools/Labelmap/validateRepresentationData.d.ts.map +0 -1
- package/dist/types/tools/displayTools/Surface/addSurfaceToElement.d.ts +0 -3
- package/dist/types/tools/displayTools/Surface/addSurfaceToElement.d.ts.map +0 -1
- package/dist/types/utilities/contours/mergePoints.d.ts +0 -9
- package/dist/types/utilities/contours/mergePoints.d.ts.map +0 -1
- package/src/tools/displayTools/Labelmap/validateRepresentationData.ts +0 -36
- package/src/tools/displayTools/Surface/addSurfaceToElement.ts +0 -115
- package/src/utilities/contours/mergePoints.ts +0 -108
- /package/dist/cjs/tools/displayTools/Contour/{addContourSetsToElement.js → vtkContour/addContourSetsToElement.js} +0 -0
- /package/dist/cjs/tools/displayTools/Contour/{contourConfigCache.d.ts → vtkContour/contourConfigCache.d.ts} +0 -0
- /package/dist/cjs/tools/displayTools/Contour/{contourConfigCache.js → vtkContour/contourConfigCache.js} +0 -0
- /package/dist/cjs/tools/displayTools/Contour/{utils.js → vtkContour/utils.js} +0 -0
- /package/dist/esm/tools/displayTools/Contour/{addContourSetsToElement.js → vtkContour/addContourSetsToElement.js} +0 -0
- /package/dist/esm/tools/displayTools/Contour/{contourConfigCache.js → vtkContour/contourConfigCache.js} +0 -0
- /package/dist/esm/tools/displayTools/Contour/{utils.js → vtkContour/utils.js} +0 -0
- /package/dist/types/tools/displayTools/Contour/{contourConfigCache.d.ts → vtkContour/contourConfigCache.d.ts} +0 -0
- /package/src/tools/displayTools/Contour/{contourConfigCache.ts → vtkContour/contourConfigCache.ts} +0 -0
package/dist/cjs/stateManagement/segmentation/polySeg/Surface/surfaceComputationStrategies.d.ts
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Types } from '@cornerstonejs/core';
|
|
2
|
+
import { PolySegConversionOptions } from '../../../../types';
|
|
3
|
+
export declare type RawSurfacesData = {
|
|
4
|
+
segmentIndex: number;
|
|
5
|
+
data: Types.SurfaceData;
|
|
6
|
+
}[];
|
|
7
|
+
export declare function computeSurfaceData(segmentationId: string, options?: PolySegConversionOptions): Promise<{
|
|
8
|
+
geometryIds: Map<number, string>;
|
|
9
|
+
}>;
|
|
10
|
+
declare function computeSurfaceFromLabelmapSegmentation(segmentationId: any, options?: PolySegConversionOptions): Promise<RawSurfacesData>;
|
|
11
|
+
declare function computeSurfaceFromContourSegmentation(segmentationId: string, options?: PolySegConversionOptions): Promise<RawSurfacesData>;
|
|
12
|
+
export { computeSurfaceFromContourSegmentation, computeSurfaceFromLabelmapSegmentation, };
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.computeSurfaceFromLabelmapSegmentation = exports.computeSurfaceFromContourSegmentation = exports.computeSurfaceData = void 0;
|
|
13
|
+
const segmentation_1 = require("../../../../utilities/segmentation");
|
|
14
|
+
const segmentationState_1 = require("../../segmentationState");
|
|
15
|
+
const convertContourToSurface_1 = require("./convertContourToSurface");
|
|
16
|
+
const createAndCacheSurfacesFromRaw_1 = require("./createAndCacheSurfacesFromRaw");
|
|
17
|
+
const stackVolumeCheck_1 = require("../../../../tools/segmentation/strategies/utils/stackVolumeCheck");
|
|
18
|
+
const convertLabelmapToSurface_1 = require("./convertLabelmapToSurface");
|
|
19
|
+
function computeSurfaceData(segmentationId, options = {}) {
|
|
20
|
+
var _a;
|
|
21
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
22
|
+
const segmentIndices = ((_a = options.segmentIndices) === null || _a === void 0 ? void 0 : _a.length)
|
|
23
|
+
? options.segmentIndices
|
|
24
|
+
: (0, segmentation_1.getUniqueSegmentIndices)(segmentationId);
|
|
25
|
+
let rawSurfacesData;
|
|
26
|
+
const segmentation = (0, segmentationState_1.getSegmentation)(segmentationId);
|
|
27
|
+
const representationData = segmentation.representationData;
|
|
28
|
+
try {
|
|
29
|
+
if (representationData.CONTOUR) {
|
|
30
|
+
rawSurfacesData = yield computeSurfaceFromContourSegmentation(segmentationId, Object.assign({ segmentIndices }, options));
|
|
31
|
+
}
|
|
32
|
+
else if (representationData.LABELMAP) {
|
|
33
|
+
rawSurfacesData = yield computeSurfaceFromLabelmapSegmentation(segmentation.segmentationId, Object.assign({ segmentIndices }, options));
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
catch (error) {
|
|
37
|
+
console.error(error);
|
|
38
|
+
throw error;
|
|
39
|
+
}
|
|
40
|
+
if (!rawSurfacesData) {
|
|
41
|
+
throw new Error('Not enough data to convert to surface, currently only support converting volume labelmap to surface if available');
|
|
42
|
+
}
|
|
43
|
+
const surfacesData = yield (0, createAndCacheSurfacesFromRaw_1.createAndCacheSurfacesFromRaw)(segmentationId, rawSurfacesData, options);
|
|
44
|
+
return surfacesData;
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
exports.computeSurfaceData = computeSurfaceData;
|
|
48
|
+
function computeSurfaceFromLabelmapSegmentation(segmentationId, options = {}) {
|
|
49
|
+
var _a;
|
|
50
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
51
|
+
const segmentation = (0, segmentationState_1.getSegmentation)(segmentationId);
|
|
52
|
+
if (!((_a = segmentation === null || segmentation === void 0 ? void 0 : segmentation.representationData) === null || _a === void 0 ? void 0 : _a.LABELMAP)) {
|
|
53
|
+
console.warn('Only support surface update from labelmaps');
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
const isVolume = (0, stackVolumeCheck_1.isVolumeSegmentation)(segmentation.representationData.LABELMAP);
|
|
57
|
+
const labelmapRepresentationData = segmentation.representationData.LABELMAP;
|
|
58
|
+
const segmentIndices = options.segmentIndices || (0, segmentation_1.getUniqueSegmentIndices)(segmentationId);
|
|
59
|
+
const promises = segmentIndices.map((index) => {
|
|
60
|
+
const surface = (0, convertLabelmapToSurface_1.convertLabelmapToSurface)(labelmapRepresentationData, index, isVolume);
|
|
61
|
+
return surface;
|
|
62
|
+
});
|
|
63
|
+
const surfaces = yield Promise.allSettled(promises);
|
|
64
|
+
const errors = surfaces.filter((p) => p.status === 'rejected');
|
|
65
|
+
if (errors.length > 0) {
|
|
66
|
+
console.error(errors);
|
|
67
|
+
throw new Error('Failed to convert labelmap to surface');
|
|
68
|
+
}
|
|
69
|
+
const rawSurfacesData = surfaces
|
|
70
|
+
.map((surface, index) => {
|
|
71
|
+
if (surface.status === 'fulfilled') {
|
|
72
|
+
return { segmentIndex: segmentIndices[index], data: surface.value };
|
|
73
|
+
}
|
|
74
|
+
})
|
|
75
|
+
.filter(Boolean);
|
|
76
|
+
return rawSurfacesData;
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
exports.computeSurfaceFromLabelmapSegmentation = computeSurfaceFromLabelmapSegmentation;
|
|
80
|
+
function computeSurfaceFromContourSegmentation(segmentationId, options = {}) {
|
|
81
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
82
|
+
const segmentation = (0, segmentationState_1.getSegmentation)(segmentationId);
|
|
83
|
+
const contourRepresentationData = segmentation.representationData.CONTOUR;
|
|
84
|
+
const segmentIndices = options.segmentIndices || (0, segmentation_1.getUniqueSegmentIndices)(segmentationId);
|
|
85
|
+
const promises = segmentIndices.map((index) => __awaiter(this, void 0, void 0, function* () {
|
|
86
|
+
const surface = yield (0, convertContourToSurface_1.convertContourToSurface)(contourRepresentationData, index);
|
|
87
|
+
return { segmentIndex: index, data: surface };
|
|
88
|
+
}));
|
|
89
|
+
const surfaces = yield Promise.all(promises);
|
|
90
|
+
return surfaces;
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
exports.computeSurfaceFromContourSegmentation = computeSurfaceFromContourSegmentation;
|
|
94
|
+
//# sourceMappingURL=surfaceComputationStrategies.js.map
|
package/dist/cjs/stateManagement/segmentation/polySeg/Surface/surfaceComputationStrategies.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"surfaceComputationStrategies.js","sourceRoot":"","sources":["../../../../../../src/stateManagement/segmentation/polySeg/Surface/surfaceComputationStrategies.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function updateSurfaceData(segmentationId: any): Promise<void>;
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.updateSurfaceData = void 0;
|
|
13
|
+
const core_1 = require("@cornerstonejs/core");
|
|
14
|
+
const segmentation_1 = require("../../../../utilities/segmentation");
|
|
15
|
+
const segmentationState_1 = require("../../segmentationState");
|
|
16
|
+
const triggerSegmentationEvents_1 = require("../../triggerSegmentationEvents");
|
|
17
|
+
const enums_1 = require("../../../../enums");
|
|
18
|
+
const surfaceComputationStrategies_1 = require("./surfaceComputationStrategies");
|
|
19
|
+
const createAndCacheSurfacesFromRaw_1 = require("./createAndCacheSurfacesFromRaw");
|
|
20
|
+
function updateSurfaceData(segmentationId) {
|
|
21
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
22
|
+
const surfacesObj = yield (0, surfaceComputationStrategies_1.computeSurfaceFromLabelmapSegmentation)(segmentationId);
|
|
23
|
+
if (!surfacesObj) {
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
const segmentation = (0, segmentationState_1.getSegmentation)(segmentationId);
|
|
27
|
+
const indices = (0, segmentation_1.getUniqueSegmentIndices)(segmentationId);
|
|
28
|
+
if (!indices.length) {
|
|
29
|
+
const geometryIds = segmentation.representationData.SURFACE.geometryIds;
|
|
30
|
+
geometryIds.forEach((geometryId) => {
|
|
31
|
+
const geometry = core_1.cache.getGeometry(geometryId);
|
|
32
|
+
const surface = geometry.data;
|
|
33
|
+
surface.setPoints([]);
|
|
34
|
+
surface.setPolys([]);
|
|
35
|
+
});
|
|
36
|
+
(0, triggerSegmentationEvents_1.triggerSegmentationModified)(segmentationId);
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
const promises = surfacesObj.map(({ data, segmentIndex }) => {
|
|
40
|
+
const geometryId = `segmentation_${segmentationId}_surface_${segmentIndex}`;
|
|
41
|
+
const geometry = core_1.cache.getGeometry(geometryId);
|
|
42
|
+
if (!geometry) {
|
|
43
|
+
const toolGroupIds = (0, segmentationState_1.getToolGroupIdsWithSegmentation)(segmentationId);
|
|
44
|
+
return toolGroupIds.map((toolGroupId) => {
|
|
45
|
+
const segmentationRepresentations = (0, segmentationState_1.getSegmentationRepresentations)(toolGroupId);
|
|
46
|
+
return segmentationRepresentations.map((segmentationRepresentation) => {
|
|
47
|
+
if (segmentationRepresentation.type !==
|
|
48
|
+
enums_1.SegmentationRepresentations.Surface) {
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
segmentation.representationData.SURFACE.geometryIds.set(segmentIndex, geometryId);
|
|
52
|
+
return (0, createAndCacheSurfacesFromRaw_1.createAndCacheSurfacesFromRaw)(segmentationId, [{ segmentIndex, data }], {
|
|
53
|
+
segmentationRepresentationUID: segmentationRepresentation.segmentationRepresentationUID,
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
else if (indices.includes(segmentIndex)) {
|
|
59
|
+
const surface = geometry.data;
|
|
60
|
+
surface.setPoints(data.points);
|
|
61
|
+
surface.setPolys(data.polys);
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
const surface = geometry.data;
|
|
65
|
+
surface.setPoints([]);
|
|
66
|
+
surface.setPolys([]);
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
yield Promise.all(promises);
|
|
70
|
+
(0, triggerSegmentationEvents_1.triggerSegmentationModified)(segmentationId);
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
exports.updateSurfaceData = updateSurfaceData;
|
|
74
|
+
//# sourceMappingURL=updateSurfaceData.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"updateSurfaceData.js","sourceRoot":"","sources":["../../../../../../src/stateManagement/segmentation/polySeg/Surface/updateSurfaceData.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8CAAmD;AACnD,qEAA6E;AAC7E,+DAIiC;AACjC,+EAA8E;AAE9E,6CAAgE;AAChE,iFAAwF;AACxF,mFAAgF;AAEhF,SAAsB,iBAAiB,CAAC,cAAc;;QACpD,MAAM,WAAW,GAAG,MAAM,IAAA,qEAAsC,EAC9D,cAAc,CACf,CAAC;QAEF,IAAI,CAAC,WAAW,EAAE;YAChB,OAAO;SACR;QAED,MAAM,YAAY,GAAG,IAAA,mCAAe,EAAC,cAAc,CAAC,CAAC;QACrD,MAAM,OAAO,GAAG,IAAA,sCAAuB,EAAC,cAAc,CAAC,CAAC;QAExD,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YAGnB,MAAM,WAAW,GAAG,YAAY,CAAC,kBAAkB,CAAC,OAAO,CAAC,WAAW,CAAC;YACxE,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;gBACjC,MAAM,QAAQ,GAAG,YAAK,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;gBAC/C,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAsB,CAAC;gBAChD,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;gBACtB,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACvB,CAAC,CAAC,CAAC;YAEH,IAAA,uDAA2B,EAAC,cAAc,CAAC,CAAC;YAE5C,OAAO;SACR;QAED,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE;YAC1D,MAAM,UAAU,GAAG,gBAAgB,cAAc,YAAY,YAAY,EAAE,CAAC;YAE5E,MAAM,QAAQ,GAAG,YAAK,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAE/C,IAAI,CAAC,QAAQ,EAAE;gBAGb,MAAM,YAAY,GAAG,IAAA,mDAA+B,EAAC,cAAc,CAAC,CAAC;gBAErE,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE;oBACtC,MAAM,2BAA2B,GAAG,IAAA,kDAA8B,EAChE,WAAW,CACwB,CAAC;oBAEtC,OAAO,2BAA2B,CAAC,GAAG,CAAC,CAAC,0BAA0B,EAAE,EAAE;wBACpE,IACE,0BAA0B,CAAC,IAAI;4BAC/B,mCAA2B,CAAC,OAAO,EACnC;4BACA,OAAO;yBACR;wBACD,YAAY,CAAC,kBAAkB,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CACrD,YAAY,EACZ,UAAU,CACX,CAAC;wBAEF,OAAO,IAAA,6DAA6B,EAClC,cAAc,EACd,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,EACxB;4BACE,6BAA6B,EAC3B,0BAA0B,CAAC,6BAA6B;yBAC3D,CACF,CAAC;oBACJ,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;aACJ;iBAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;gBAGzC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAsB,CAAC;gBAChD,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC/B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAC9B;iBAAM;gBACL,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAsB,CAAC;gBAChD,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;gBACtB,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;aACtB;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE5B,IAAA,uDAA2B,EAAC,cAAc,CAAC,CAAC;IAC9C,CAAC;CAAA;AAjFD,8CAiFC"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.canComputeRequestedRepresentation = void 0;
|
|
13
|
+
const enums_1 = require("../../../enums");
|
|
14
|
+
const Labelmap_1 = require("../../../tools/displayTools/Labelmap");
|
|
15
|
+
const segmentationState_1 = require("../segmentationState");
|
|
16
|
+
const conversionPaths = new Map([
|
|
17
|
+
[
|
|
18
|
+
enums_1.SegmentationRepresentations.Labelmap,
|
|
19
|
+
new Set([
|
|
20
|
+
enums_1.SegmentationRepresentations.Surface,
|
|
21
|
+
enums_1.SegmentationRepresentations.Contour,
|
|
22
|
+
]),
|
|
23
|
+
],
|
|
24
|
+
[
|
|
25
|
+
enums_1.SegmentationRepresentations.Contour,
|
|
26
|
+
new Set([
|
|
27
|
+
enums_1.SegmentationRepresentations.Labelmap,
|
|
28
|
+
enums_1.SegmentationRepresentations.Surface,
|
|
29
|
+
]),
|
|
30
|
+
],
|
|
31
|
+
[
|
|
32
|
+
enums_1.SegmentationRepresentations.Surface,
|
|
33
|
+
new Set([enums_1.SegmentationRepresentations.Labelmap]),
|
|
34
|
+
],
|
|
35
|
+
]);
|
|
36
|
+
function canComputeRequestedRepresentation(segmentationRepresentationUID) {
|
|
37
|
+
const representationInfo = (0, segmentationState_1.findSegmentationRepresentationByUID)(segmentationRepresentationUID);
|
|
38
|
+
if (!(representationInfo === null || representationInfo === void 0 ? void 0 : representationInfo.segmentationRepresentation)) {
|
|
39
|
+
return false;
|
|
40
|
+
}
|
|
41
|
+
const { segmentationRepresentation } = representationInfo;
|
|
42
|
+
const { type: representationType, polySeg } = segmentationRepresentation;
|
|
43
|
+
if (!polySeg || !polySeg.enabled) {
|
|
44
|
+
return false;
|
|
45
|
+
}
|
|
46
|
+
const { representationData } = (0, segmentationState_1.getSegmentation)(segmentationRepresentation.segmentationId);
|
|
47
|
+
const existingRepresentationTypes = getExistingRepresentationTypes(representationData);
|
|
48
|
+
return existingRepresentationTypes.some((existingRepresentationType) => canConvertFromTo(existingRepresentationType, representationType));
|
|
49
|
+
}
|
|
50
|
+
exports.canComputeRequestedRepresentation = canComputeRequestedRepresentation;
|
|
51
|
+
function getExistingRepresentationTypes(representationData) {
|
|
52
|
+
const supportedTypes = [];
|
|
53
|
+
Object.keys(representationData).forEach((representationType) => {
|
|
54
|
+
const representationTypeData = representationData[representationType];
|
|
55
|
+
let validateFn;
|
|
56
|
+
switch (representationType) {
|
|
57
|
+
case enums_1.SegmentationRepresentations.Labelmap:
|
|
58
|
+
validateFn = Labelmap_1.validateLabelmap;
|
|
59
|
+
break;
|
|
60
|
+
}
|
|
61
|
+
if (validateFn) {
|
|
62
|
+
try {
|
|
63
|
+
validateFn(representationTypeData);
|
|
64
|
+
supportedTypes.push(representationType);
|
|
65
|
+
}
|
|
66
|
+
catch (error) {
|
|
67
|
+
console.warn(`Validation failed for labelmap of type ${representationType}`);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
supportedTypes.push(representationType);
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
return supportedTypes;
|
|
75
|
+
}
|
|
76
|
+
function canConvertFromTo(fromRepresentationType, toRepresentationType) {
|
|
77
|
+
var _a;
|
|
78
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
79
|
+
return (((_a = conversionPaths.get(fromRepresentationType)) === null || _a === void 0 ? void 0 : _a.has(toRepresentationType)) ||
|
|
80
|
+
false);
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=canComputeRequestedRepresentation.js.map
|
package/dist/cjs/stateManagement/segmentation/polySeg/canComputeRequestedRepresentation.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"canComputeRequestedRepresentation.js","sourceRoot":"","sources":["../../../../../src/stateManagement/segmentation/polySeg/canComputeRequestedRepresentation.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0CAA6D;AAC7D,mEAAwE;AAExE,4DAG8B;AAI9B,MAAM,eAAe,GAAG,IAAI,GAAG,CAG7B;IACA;QACE,mCAA2B,CAAC,QAAQ;QACpC,IAAI,GAAG,CAAC;YACN,mCAA2B,CAAC,OAAO;YACnC,mCAA2B,CAAC,OAAO;SACpC,CAAC;KACH;IACD;QACE,mCAA2B,CAAC,OAAO;QACnC,IAAI,GAAG,CAAC;YACN,mCAA2B,CAAC,QAAQ;YACpC,mCAA2B,CAAC,OAAO;SACpC,CAAC;KACH;IACD;QACE,mCAA2B,CAAC,OAAO;QACnC,IAAI,GAAG,CAAC,CAAC,mCAA2B,CAAC,QAAQ,CAAC,CAAC;KAChD;CACF,CAAC,CAAC;AAaH,SAAS,iCAAiC,CACxC,6BAAqC;IAErC,MAAM,kBAAkB,GAAG,IAAA,uDAAmC,EAC5D,6BAA6B,CAC9B,CAAC;IAEF,IAAI,CAAC,CAAA,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,0BAA0B,CAAA,EAAE;QACnD,OAAO,KAAK,CAAC;KACd;IAED,MAAM,EAAE,0BAA0B,EAAE,GAAG,kBAAkB,CAAC;IAC1D,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,GAAG,0BAA0B,CAAC;IAEzE,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;QAChC,OAAO,KAAK,CAAC;KACd;IAED,MAAM,EAAE,kBAAkB,EAAE,GAAG,IAAA,mCAAe,EAC5C,0BAA0B,CAAC,cAAc,CAC1C,CAAC;IAEF,MAAM,2BAA2B,GAC/B,8BAA8B,CAAC,kBAAkB,CAAC,CAAC;IAErD,OAAO,2BAA2B,CAAC,IAAI,CAAC,CAAC,0BAA0B,EAAE,EAAE,CACrE,gBAAgB,CAAC,0BAA0B,EAAE,kBAAkB,CAAC,CACjE,CAAC;AACJ,CAAC;AAiDQ,8EAAiC;AAxC1C,SAAS,8BAA8B,CACrC,kBAAkD;IAElD,MAAM,cAAc,GAAa,EAAE,CAAC;IAEpC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,CAAC,kBAAkB,EAAE,EAAE;QAC7D,MAAM,sBAAsB,GAAG,kBAAkB,CAAC,kBAAkB,CAAC,CAAC;QAEtE,IAAI,UAAU,CAAC;QACf,QAAQ,kBAAkB,EAAE;YAC1B,KAAK,mCAA2B,CAAC,QAAQ;gBACvC,UAAU,GAAG,2BAAgB,CAAC;gBAC9B,MAAM;SAET;QAED,IAAI,UAAU,EAAE;YACd,IAAI;gBACF,UAAU,CAAC,sBAAsB,CAAC,CAAC;gBACnC,cAAc,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;aACzC;YAAC,OAAO,KAAK,EAAE;gBACd,OAAO,CAAC,IAAI,CACV,0CAA0C,kBAAkB,EAAE,CAC/D,CAAC;aACH;SACF;aAAM;YACL,cAAc,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;SACzC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,SAAe,gBAAgB,CAAC,sBAAsB,EAAE,oBAAoB;;;QAC1E,OAAO,CACL,CAAA,MAAA,eAAe,CAAC,GAAG,CAAC,sBAAsB,CAAC,0CAAE,GAAG,CAAC,oBAAoB,CAAC;YACtE,KAAK,CACN,CAAC;;CACH"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { SegmentationRepresentations } from '../../../enums';
|
|
2
|
+
declare function computeAndAddRepresentation<T>(segmentationId: string, representationType: SegmentationRepresentations, computeFunction: () => Promise<T>, updateFunction?: () => void): Promise<T>;
|
|
3
|
+
export { computeAndAddRepresentation };
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.computeAndAddRepresentation = void 0;
|
|
16
|
+
const core_1 = require("@cornerstonejs/core");
|
|
17
|
+
const enums_1 = require("../../../enums");
|
|
18
|
+
const addRepresentationData_1 = __importDefault(require("../addRepresentationData"));
|
|
19
|
+
const triggerSegmentationEvents_1 = require("../triggerSegmentationEvents");
|
|
20
|
+
const utilities_1 = require("../../../utilities");
|
|
21
|
+
const registerPolySegWorker_1 = require("./registerPolySegWorker");
|
|
22
|
+
const computedRepresentations = new Map();
|
|
23
|
+
function computeAndAddRepresentation(segmentationId, representationType, computeFunction, updateFunction) {
|
|
24
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
25
|
+
(0, registerPolySegWorker_1.registerPolySegWorker)();
|
|
26
|
+
const data = yield computeFunction();
|
|
27
|
+
(0, addRepresentationData_1.default)({
|
|
28
|
+
segmentationId,
|
|
29
|
+
type: representationType,
|
|
30
|
+
data: Object.assign({}, data),
|
|
31
|
+
});
|
|
32
|
+
if (!computedRepresentations.has(segmentationId)) {
|
|
33
|
+
computedRepresentations.set(segmentationId, []);
|
|
34
|
+
}
|
|
35
|
+
const representations = computedRepresentations.get(segmentationId);
|
|
36
|
+
if (!representations.includes(representationType)) {
|
|
37
|
+
representations.push(representationType);
|
|
38
|
+
}
|
|
39
|
+
subscribeToSegmentationChanges(updateFunction);
|
|
40
|
+
(0, triggerSegmentationEvents_1.triggerSegmentationModified)(segmentationId);
|
|
41
|
+
return data;
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
exports.computeAndAddRepresentation = computeAndAddRepresentation;
|
|
45
|
+
function subscribeToSegmentationChanges(updateFunction) {
|
|
46
|
+
const debouncedUpdateFunction = (event) => {
|
|
47
|
+
_debouncedSegmentationModified(event, updateFunction);
|
|
48
|
+
};
|
|
49
|
+
updateFunction._debouncedUpdateFunction = debouncedUpdateFunction;
|
|
50
|
+
core_1.eventTarget.removeEventListener(enums_1.Events.SEGMENTATION_DATA_MODIFIED, updateFunction._debouncedUpdateFunction);
|
|
51
|
+
core_1.eventTarget.addEventListener(enums_1.Events.SEGMENTATION_DATA_MODIFIED, updateFunction._debouncedUpdateFunction);
|
|
52
|
+
}
|
|
53
|
+
const _debouncedSegmentationModified = (0, utilities_1.debounce)((event, updateFunction) => {
|
|
54
|
+
const segmentationId = event.detail.segmentationId;
|
|
55
|
+
const representations = computedRepresentations.get(segmentationId);
|
|
56
|
+
if (!representations || !representations.length) {
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
updateFunction(segmentationId);
|
|
60
|
+
if (representations.length) {
|
|
61
|
+
(0, triggerSegmentationEvents_1.triggerSegmentationModified)(segmentationId);
|
|
62
|
+
}
|
|
63
|
+
}, 300);
|
|
64
|
+
//# sourceMappingURL=computeAndAddRepresentation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"computeAndAddRepresentation.js","sourceRoot":"","sources":["../../../../../src/stateManagement/segmentation/polySeg/computeAndAddRepresentation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,8CAAkD;AAClD,0CAAqE;AACrE,qFAA6D;AAC7D,4EAA2E;AAC3E,kDAA8C;AAC9C,mEAAgE;AAEhE,MAAM,uBAAuB,GAAG,IAAI,GAAG,EAGpC,CAAC;AAYJ,SAAe,2BAA2B,CACxC,cAAsB,EACtB,kBAA+C,EAC/C,eAAiC,EACjC,cAA2B;;QAG3B,IAAA,6CAAqB,GAAE,CAAC;QAGxB,MAAM,IAAI,GAAG,MAAM,eAAe,EAAE,CAAC;QAGrC,IAAA,+BAAqB,EAAC;YACpB,cAAc;YACd,IAAI,EAAE,kBAAkB;YACxB,IAAI,oBAAO,IAAI,CAAE;SAClB,CAAC,CAAC;QAGH,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE;YAChD,uBAAuB,CAAC,GAAG,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;SACjD;QAED,MAAM,eAAe,GAAG,uBAAuB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACpE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;YACjD,eAAe,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;SAC1C;QAGD,8BAA8B,CAAC,cAAc,CAAC,CAAC;QAG/C,IAAA,uDAA2B,EAAC,cAAc,CAAC,CAAC;QAE5C,OAAO,IAAI,CAAC;IACd,CAAC;CAAA;AAsCQ,kEAA2B;AAhCpC,SAAS,8BAA8B,CAAC,cAAc;IACpD,MAAM,uBAAuB,GAAG,CAAC,KAAK,EAAE,EAAE;QACxC,8BAA8B,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;IACxD,CAAC,CAAC;IAEF,cAAc,CAAC,wBAAwB,GAAG,uBAAuB,CAAC;IAElE,kBAAW,CAAC,mBAAmB,CAC7B,cAAM,CAAC,0BAA0B,EACjC,cAAc,CAAC,wBAAwB,CACxC,CAAC;IAEF,kBAAW,CAAC,gBAAgB,CAC1B,cAAM,CAAC,0BAA0B,EACjC,cAAc,CAAC,wBAAwB,CACxC,CAAC;AACJ,CAAC;AAED,MAAM,8BAA8B,GAAG,IAAA,oBAAQ,EAAC,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE;IACxE,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC;IACnD,MAAM,eAAe,GAAG,uBAAuB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACpE,IAAI,CAAC,eAAe,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE;QAC/C,OAAO;KACR;IAED,cAAc,CAAC,cAAc,CAAC,CAAC;IAE/B,IAAI,eAAe,CAAC,MAAM,EAAE;QAC1B,IAAA,uDAA2B,EAAC,cAAc,CAAC,CAAC;KAC7C;AACH,CAAC,EAAE,GAAG,CAAC,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { computeAndAddSurfaceRepresentation } from './Surface/computeAndAddSurfaceRepresentation';
|
|
2
|
+
import { computeAndAddLabelmapRepresentation } from './Labelmap/computeAndAddLabelmapRepresentation';
|
|
3
|
+
import { computeAndAddContourRepresentation } from './Contour/computeAndAddContourRepresentation';
|
|
4
|
+
import { canComputeRequestedRepresentation } from './canComputeRequestedRepresentation';
|
|
5
|
+
export { canComputeRequestedRepresentation, computeAndAddSurfaceRepresentation, computeAndAddLabelmapRepresentation, computeAndAddContourRepresentation, };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.computeAndAddContourRepresentation = exports.computeAndAddLabelmapRepresentation = exports.computeAndAddSurfaceRepresentation = exports.canComputeRequestedRepresentation = void 0;
|
|
4
|
+
const computeAndAddSurfaceRepresentation_1 = require("./Surface/computeAndAddSurfaceRepresentation");
|
|
5
|
+
Object.defineProperty(exports, "computeAndAddSurfaceRepresentation", { enumerable: true, get: function () { return computeAndAddSurfaceRepresentation_1.computeAndAddSurfaceRepresentation; } });
|
|
6
|
+
const computeAndAddLabelmapRepresentation_1 = require("./Labelmap/computeAndAddLabelmapRepresentation");
|
|
7
|
+
Object.defineProperty(exports, "computeAndAddLabelmapRepresentation", { enumerable: true, get: function () { return computeAndAddLabelmapRepresentation_1.computeAndAddLabelmapRepresentation; } });
|
|
8
|
+
const computeAndAddContourRepresentation_1 = require("./Contour/computeAndAddContourRepresentation");
|
|
9
|
+
Object.defineProperty(exports, "computeAndAddContourRepresentation", { enumerable: true, get: function () { return computeAndAddContourRepresentation_1.computeAndAddContourRepresentation; } });
|
|
10
|
+
const canComputeRequestedRepresentation_1 = require("./canComputeRequestedRepresentation");
|
|
11
|
+
Object.defineProperty(exports, "canComputeRequestedRepresentation", { enumerable: true, get: function () { return canComputeRequestedRepresentation_1.canComputeRequestedRepresentation; } });
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/stateManagement/segmentation/polySeg/index.ts"],"names":[],"mappings":";;;AAAA,qGAAkG;AAQhG,mHARO,uEAAkC,OAQP;AAPpC,wGAAqG;AAQnG,oHARO,yEAAmC,OAQP;AAPrC,qGAAkG;AAQhG,mHARO,uEAAkC,OAQP;AAPpC,2FAAwF;AAGtF,kHAHO,qEAAiC,OAGP"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function registerPolySegWorker(): void;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.registerPolySegWorker = void 0;
|
|
4
|
+
const core_1 = require("@cornerstonejs/core");
|
|
5
|
+
let registered = false;
|
|
6
|
+
function registerPolySegWorker() {
|
|
7
|
+
if (registered) {
|
|
8
|
+
return;
|
|
9
|
+
}
|
|
10
|
+
registered = true;
|
|
11
|
+
const workerFn = () => {
|
|
12
|
+
return new Worker(new URL('../../../workers/polySegConverters', import.meta.url), {
|
|
13
|
+
name: 'polySeg',
|
|
14
|
+
});
|
|
15
|
+
};
|
|
16
|
+
const workerManager = (0, core_1.getWebWorkerManager)();
|
|
17
|
+
const options = {
|
|
18
|
+
maxWorkerInstances: 1,
|
|
19
|
+
autoTerminateOnIdle: {
|
|
20
|
+
enabled: true,
|
|
21
|
+
idleTimeThreshold: 2000,
|
|
22
|
+
},
|
|
23
|
+
};
|
|
24
|
+
workerManager.registerWorker('polySeg', workerFn, options);
|
|
25
|
+
}
|
|
26
|
+
exports.registerPolySegWorker = registerPolySegWorker;
|
|
27
|
+
//# sourceMappingURL=registerPolySegWorker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registerPolySegWorker.js","sourceRoot":"","sources":["../../../../../src/stateManagement/segmentation/polySeg/registerPolySegWorker.ts"],"names":[],"mappings":";;;AAAA,8CAA0D;AAE1D,IAAI,UAAU,GAAG,KAAK,CAAC;AAEvB,SAAgB,qBAAqB;IACnC,IAAI,UAAU,EAAE;QACd,OAAO;KACR;IAED,UAAU,GAAG,IAAI,CAAC;IAElB,MAAM,QAAQ,GAAG,GAAG,EAAE;QAEpB,OAAO,IAAI,MAAM,CAEf,IAAI,GAAG,CAAC,oCAAoC,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAC9D;YACE,IAAI,EAAE,SAAS;SAChB,CACF,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,IAAA,0BAAmB,GAAE,CAAC;IAE5C,MAAM,OAAO,GAAG;QACd,kBAAkB,EAAE,CAAC;QACrB,mBAAmB,EAAE;YACnB,OAAO,EAAE,IAAI;YACb,iBAAiB,EAAE,IAAI;SACxB;KACF,CAAC;IAEF,aAAa,CAAC,cAAc,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC7D,CAAC;AA7BD,sDA6BC"}
|
|
@@ -6,6 +6,10 @@ const segmentationState_1 = require("./segmentationState");
|
|
|
6
6
|
const triggerSegmentationEvents_1 = require("./triggerSegmentationEvents");
|
|
7
7
|
function setActiveSegmentIndex(segmentationId, segmentIndex) {
|
|
8
8
|
const segmentation = (0, segmentationState_1.getSegmentation)(segmentationId);
|
|
9
|
+
if (typeof segmentIndex === 'string') {
|
|
10
|
+
console.warn('segmentIndex is a string, converting to number');
|
|
11
|
+
segmentIndex = Number(segmentIndex);
|
|
12
|
+
}
|
|
9
13
|
if ((segmentation === null || segmentation === void 0 ? void 0 : segmentation.activeSegmentIndex) !== segmentIndex) {
|
|
10
14
|
segmentation.activeSegmentIndex = segmentIndex;
|
|
11
15
|
(0, triggerSegmentationEvents_1.triggerSegmentationModified)(segmentationId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"segmentIndex.js","sourceRoot":"","sources":["../../../../src/stateManagement/segmentation/segmentIndex.ts"],"names":[],"mappings":";;;AAAA,gEAAsE;AACtE,2DAG6B;AAC7B,2EAA0E;AAY1E,SAAS,qBAAqB,CAC5B,cAAsB,EACtB,YAAoB;IAEpB,MAAM,YAAY,GAAG,IAAA,mCAAe,EAAC,cAAc,CAAC,CAAC;IAErD,IAAI,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,kBAAkB,MAAK,YAAY,EAAE;QACrD,YAAY,CAAC,kBAAkB,GAAG,YAAY,CAAC;QAE/C,IAAA,uDAA2B,EAAC,cAAc,CAAC,CAAC;KAC7C;IAID,MAAM,UAAU,GAAG,IAAA,mDAA+B,EAAC,cAAc,CAAC,CAAC;IACnE,UAAU,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE;QACjC,IAAA,oCAAqB,EAAC,WAAW,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;AACL,CAAC;AAe+B,sDAAqB;AARrD,SAAS,qBAAqB,CAAC,cAAsB;IACnD,MAAM,YAAY,GAAG,IAAA,mCAAe,EAAC,cAAc,CAAC,CAAC;IAErD,IAAI,YAAY,EAAE;QAChB,OAAO,YAAY,CAAC,kBAAkB,CAAC;KACxC;AACH,CAAC;AAEQ,sDAAqB"}
|
|
1
|
+
{"version":3,"file":"segmentIndex.js","sourceRoot":"","sources":["../../../../src/stateManagement/segmentation/segmentIndex.ts"],"names":[],"mappings":";;;AAAA,gEAAsE;AACtE,2DAG6B;AAC7B,2EAA0E;AAY1E,SAAS,qBAAqB,CAC5B,cAAsB,EACtB,YAAoB;IAEpB,MAAM,YAAY,GAAG,IAAA,mCAAe,EAAC,cAAc,CAAC,CAAC;IAErD,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE;QACpC,OAAO,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;QAC/D,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;KACrC;IAED,IAAI,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,kBAAkB,MAAK,YAAY,EAAE;QACrD,YAAY,CAAC,kBAAkB,GAAG,YAAY,CAAC;QAE/C,IAAA,uDAA2B,EAAC,cAAc,CAAC,CAAC;KAC7C;IAID,MAAM,UAAU,GAAG,IAAA,mDAA+B,EAAC,cAAc,CAAC,CAAC;IACnE,UAAU,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE;QACjC,IAAA,oCAAqB,EAAC,WAAW,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;AACL,CAAC;AAe+B,sDAAqB;AARrD,SAAS,qBAAqB,CAAC,cAAsB;IACnD,MAAM,YAAY,GAAG,IAAA,mCAAe,EAAC,cAAc,CAAC,CAAC;IAErD,IAAI,YAAY,EAAE;QAChB,OAAO,YAAY,CAAC,kBAAkB,CAAC;KACxC;AACH,CAAC;AAEQ,sDAAqB"}
|
|
@@ -6,6 +6,11 @@ declare function getSegmentations(): Segmentation[] | [];
|
|
|
6
6
|
declare function addSegmentation(segmentationInput: SegmentationPublicInput, suppressEvents?: boolean): void;
|
|
7
7
|
declare function getSegmentationRepresentations(toolGroupId: string): ToolGroupSpecificRepresentations | [];
|
|
8
8
|
declare function getAllSegmentationRepresentations(): Record<string, ToolGroupSpecificRepresentation[]>;
|
|
9
|
+
declare function getSegmentationIdRepresentations(segmentationId: any): any[];
|
|
10
|
+
declare function findSegmentationRepresentationByUID(segmentationRepresentationUID: string): {
|
|
11
|
+
toolGroupId: string;
|
|
12
|
+
segmentationRepresentation: ToolGroupSpecificRepresentation;
|
|
13
|
+
};
|
|
9
14
|
declare function getToolGroupIdsWithSegmentation(segmentationId: string): string[];
|
|
10
15
|
declare function getToolGroupSpecificConfig(toolGroupId: string): SegmentationRepresentationConfig;
|
|
11
16
|
declare function setToolGroupSpecificConfig(toolGroupId: string, config: SegmentationRepresentationConfig, suppressEvents?: boolean): void;
|
|
@@ -24,4 +29,4 @@ declare function removeColorLUT(colorLUTIndex: number): void;
|
|
|
24
29
|
declare function getColorLUT(index: number): Types.ColorLUT | undefined;
|
|
25
30
|
declare function getNextColorLUTIndex(): number;
|
|
26
31
|
declare function addColorLUT(colorLUT: Types.ColorLUT, index: number): void;
|
|
27
|
-
export { getDefaultSegmentationStateManager, getSegmentation, getSegmentations, addSegmentation, removeSegmentation, getSegmentationRepresentations, addSegmentationRepresentation, removeSegmentationRepresentation, removeSegmentationRepresentations, getToolGroupSpecificConfig, setToolGroupSpecificConfig, getGlobalConfig, setGlobalConfig, getSegmentationRepresentationSpecificConfig, setSegmentationRepresentationSpecificConfig, getSegmentSpecificRepresentationConfig, setSegmentSpecificRepresentationConfig, getToolGroupIdsWithSegmentation, getAllSegmentationRepresentations, getSegmentationRepresentationByUID, addColorLUT, getColorLUT, getNextColorLUTIndex, removeColorLUT, };
|
|
32
|
+
export { getDefaultSegmentationStateManager, getSegmentation, getSegmentations, addSegmentation, removeSegmentation, getSegmentationRepresentations, addSegmentationRepresentation, removeSegmentationRepresentation, removeSegmentationRepresentations, getToolGroupSpecificConfig, setToolGroupSpecificConfig, getGlobalConfig, setGlobalConfig, getSegmentationRepresentationSpecificConfig, setSegmentationRepresentationSpecificConfig, getSegmentSpecificRepresentationConfig, setSegmentSpecificRepresentationConfig, getToolGroupIdsWithSegmentation, getAllSegmentationRepresentations, getSegmentationRepresentationByUID, getSegmentationIdRepresentations, addColorLUT, getColorLUT, getNextColorLUTIndex, removeColorLUT, findSegmentationRepresentationByUID, };
|
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.removeColorLUT = exports.getNextColorLUTIndex = exports.getColorLUT = exports.addColorLUT = exports.getSegmentationRepresentationByUID = exports.getAllSegmentationRepresentations = exports.getToolGroupIdsWithSegmentation = exports.setSegmentSpecificRepresentationConfig = exports.getSegmentSpecificRepresentationConfig = exports.setSegmentationRepresentationSpecificConfig = exports.getSegmentationRepresentationSpecificConfig = exports.setGlobalConfig = exports.getGlobalConfig = exports.setToolGroupSpecificConfig = exports.getToolGroupSpecificConfig = exports.removeSegmentationRepresentations = exports.removeSegmentationRepresentation = exports.addSegmentationRepresentation = exports.getSegmentationRepresentations = exports.removeSegmentation = exports.addSegmentation = exports.getSegmentations = exports.getSegmentation = exports.getDefaultSegmentationStateManager = void 0;
|
|
6
|
+
exports.findSegmentationRepresentationByUID = exports.removeColorLUT = exports.getNextColorLUTIndex = exports.getColorLUT = exports.addColorLUT = exports.getSegmentationIdRepresentations = exports.getSegmentationRepresentationByUID = exports.getAllSegmentationRepresentations = exports.getToolGroupIdsWithSegmentation = exports.setSegmentSpecificRepresentationConfig = exports.getSegmentSpecificRepresentationConfig = exports.setSegmentationRepresentationSpecificConfig = exports.getSegmentationRepresentationSpecificConfig = exports.setGlobalConfig = exports.getGlobalConfig = exports.setToolGroupSpecificConfig = exports.getToolGroupSpecificConfig = exports.removeSegmentationRepresentations = exports.removeSegmentationRepresentation = exports.addSegmentationRepresentation = exports.getSegmentationRepresentations = exports.removeSegmentation = exports.addSegmentation = exports.getSegmentations = exports.getSegmentation = exports.getDefaultSegmentationStateManager = void 0;
|
|
7
7
|
const SegmentationStateManager_1 = require("./SegmentationStateManager");
|
|
8
8
|
const triggerSegmentationEvents_1 = require("./triggerSegmentationEvents");
|
|
9
9
|
const normalizeSegmentationInput_1 = __importDefault(require("./helpers/normalizeSegmentationInput"));
|
|
@@ -41,6 +41,35 @@ function getAllSegmentationRepresentations() {
|
|
|
41
41
|
return segmentationStateManager.getAllSegmentationRepresentations();
|
|
42
42
|
}
|
|
43
43
|
exports.getAllSegmentationRepresentations = getAllSegmentationRepresentations;
|
|
44
|
+
function getSegmentationIdRepresentations(segmentationId) {
|
|
45
|
+
const allRepresentations = getAllSegmentationRepresentations() || {};
|
|
46
|
+
const foundRepresentations = [];
|
|
47
|
+
for (const toolGroupId in allRepresentations) {
|
|
48
|
+
const toolGroupRepresentations = allRepresentations[toolGroupId];
|
|
49
|
+
const foundRepresentation = toolGroupRepresentations.find((representation) => representation.segmentationId === segmentationId);
|
|
50
|
+
if (foundRepresentation) {
|
|
51
|
+
foundRepresentations.push(foundRepresentation);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
return foundRepresentations;
|
|
55
|
+
}
|
|
56
|
+
exports.getSegmentationIdRepresentations = getSegmentationIdRepresentations;
|
|
57
|
+
function findSegmentationRepresentationByUID(segmentationRepresentationUID) {
|
|
58
|
+
const allToolGroupRepresentations = getAllSegmentationRepresentations() || [];
|
|
59
|
+
const toolGroupIds = Object.keys(allToolGroupRepresentations);
|
|
60
|
+
for (const toolGroupId of toolGroupIds) {
|
|
61
|
+
const toolGroupRepresentations = getAllSegmentationRepresentations()[toolGroupId];
|
|
62
|
+
const foundRepresentation = toolGroupRepresentations.find((representation) => representation.segmentationRepresentationUID ===
|
|
63
|
+
segmentationRepresentationUID);
|
|
64
|
+
if (foundRepresentation) {
|
|
65
|
+
return {
|
|
66
|
+
segmentationRepresentation: foundRepresentation,
|
|
67
|
+
toolGroupId,
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
exports.findSegmentationRepresentationByUID = findSegmentationRepresentationByUID;
|
|
44
73
|
function getToolGroupIdsWithSegmentation(segmentationId) {
|
|
45
74
|
if (!segmentationId) {
|
|
46
75
|
throw new Error('getToolGroupIdsWithSegmentation: segmentationId is empty');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"segmentationState.js","sourceRoot":"","sources":["../../../../src/stateManagement/segmentation/segmentationState.ts"],"names":[],"mappings":";;;;;;AAUA,yEAA6E;AAC7E,2EAKqC;AAErC,sGAA8E;AAK9E,SAAS,kCAAkC;IACzC,OAAO,0DAA+B,CAAC;AACzC,CAAC;
|
|
1
|
+
{"version":3,"file":"segmentationState.js","sourceRoot":"","sources":["../../../../src/stateManagement/segmentation/segmentationState.ts"],"names":[],"mappings":"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"}
|
|
@@ -70,7 +70,8 @@ class ScaleOverlayTool extends AnnotationDisplayTool_1.default {
|
|
|
70
70
|
(0, annotationState_1.addAnnotation)(newAnnotation, viewport.element);
|
|
71
71
|
annotation = newAnnotation;
|
|
72
72
|
}
|
|
73
|
-
else if (this.editData.annotation &&
|
|
73
|
+
else if (this.editData.annotation &&
|
|
74
|
+
this.editData.annotation.data.viewportId == viewport.id) {
|
|
74
75
|
this.editData.annotation.data.handles.points =
|
|
75
76
|
viewportCanvasCornersInWorld;
|
|
76
77
|
this.editData.annotation.data.viewportId = viewport.id;
|