@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
|
@@ -21,6 +21,11 @@ function setActiveSegmentIndex(
|
|
|
21
21
|
): void {
|
|
22
22
|
const segmentation = getSegmentation(segmentationId);
|
|
23
23
|
|
|
24
|
+
if (typeof segmentIndex === 'string') {
|
|
25
|
+
console.warn('segmentIndex is a string, converting to number');
|
|
26
|
+
segmentIndex = Number(segmentIndex);
|
|
27
|
+
}
|
|
28
|
+
|
|
24
29
|
if (segmentation?.activeSegmentIndex !== segmentIndex) {
|
|
25
30
|
segmentation.activeSegmentIndex = segmentIndex;
|
|
26
31
|
|
|
@@ -97,6 +97,65 @@ function getAllSegmentationRepresentations(): Record<
|
|
|
97
97
|
return segmentationStateManager.getAllSegmentationRepresentations();
|
|
98
98
|
}
|
|
99
99
|
|
|
100
|
+
/**
|
|
101
|
+
* Finds all segmentation representations with the given segmentationId.
|
|
102
|
+
* @param segmentationId - The ID of the segmentation.
|
|
103
|
+
* @returns An array of found segmentation representations.
|
|
104
|
+
*/
|
|
105
|
+
function getSegmentationIdRepresentations(segmentationId) {
|
|
106
|
+
const allRepresentations = getAllSegmentationRepresentations() || {};
|
|
107
|
+
const foundRepresentations = [];
|
|
108
|
+
|
|
109
|
+
for (const toolGroupId in allRepresentations) {
|
|
110
|
+
const toolGroupRepresentations = allRepresentations[toolGroupId];
|
|
111
|
+
|
|
112
|
+
const foundRepresentation = toolGroupRepresentations.find(
|
|
113
|
+
(representation) => representation.segmentationId === segmentationId
|
|
114
|
+
);
|
|
115
|
+
|
|
116
|
+
if (foundRepresentation) {
|
|
117
|
+
foundRepresentations.push(foundRepresentation);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
return foundRepresentations;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
/**
|
|
125
|
+
* Finds a segmentation representation by its UID.
|
|
126
|
+
*
|
|
127
|
+
* @param segmentationRepresentationUID - The UID of the segmentation representation to find.
|
|
128
|
+
* @returns The found segmentation representation, or undefined if not found.
|
|
129
|
+
*/
|
|
130
|
+
function findSegmentationRepresentationByUID(
|
|
131
|
+
segmentationRepresentationUID: string
|
|
132
|
+
): {
|
|
133
|
+
toolGroupId: string;
|
|
134
|
+
segmentationRepresentation: ToolGroupSpecificRepresentation;
|
|
135
|
+
} {
|
|
136
|
+
const allToolGroupRepresentations = getAllSegmentationRepresentations() || [];
|
|
137
|
+
|
|
138
|
+
const toolGroupIds = Object.keys(allToolGroupRepresentations);
|
|
139
|
+
|
|
140
|
+
for (const toolGroupId of toolGroupIds) {
|
|
141
|
+
const toolGroupRepresentations =
|
|
142
|
+
getAllSegmentationRepresentations()[toolGroupId];
|
|
143
|
+
|
|
144
|
+
const foundRepresentation = toolGroupRepresentations.find(
|
|
145
|
+
(representation) =>
|
|
146
|
+
representation.segmentationRepresentationUID ===
|
|
147
|
+
segmentationRepresentationUID
|
|
148
|
+
);
|
|
149
|
+
|
|
150
|
+
if (foundRepresentation) {
|
|
151
|
+
return {
|
|
152
|
+
segmentationRepresentation: foundRepresentation,
|
|
153
|
+
toolGroupId,
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
|
|
100
159
|
/**
|
|
101
160
|
* Get the tool group IDs that have a segmentation representation with the given
|
|
102
161
|
* segmentationId
|
|
@@ -445,9 +504,12 @@ export {
|
|
|
445
504
|
getToolGroupIdsWithSegmentation,
|
|
446
505
|
getAllSegmentationRepresentations,
|
|
447
506
|
getSegmentationRepresentationByUID,
|
|
507
|
+
getSegmentationIdRepresentations,
|
|
448
508
|
// color
|
|
449
509
|
addColorLUT,
|
|
450
510
|
getColorLUT,
|
|
451
511
|
getNextColorLUTIndex,
|
|
452
512
|
removeColorLUT,
|
|
513
|
+
//
|
|
514
|
+
findSegmentationRepresentationByUID,
|
|
453
515
|
};
|
|
@@ -139,7 +139,10 @@ class ScaleOverlayTool extends AnnotationDisplayTool {
|
|
|
139
139
|
|
|
140
140
|
addAnnotation(newAnnotation, viewport.element);
|
|
141
141
|
annotation = newAnnotation;
|
|
142
|
-
} else if (
|
|
142
|
+
} else if (
|
|
143
|
+
this.editData.annotation &&
|
|
144
|
+
this.editData.annotation.data.viewportId == viewport.id
|
|
145
|
+
) {
|
|
143
146
|
this.editData.annotation.data.handles.points =
|
|
144
147
|
viewportCanvasCornersInWorld;
|
|
145
148
|
this.editData.annotation.data.viewportId = viewport.id;
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
import type { SplineContourSegmentationAnnotation } from '../../types/ToolSpecificAnnotationTypes';
|
|
2
1
|
import { utilities } from '@cornerstonejs/core';
|
|
3
|
-
import type { PublicToolProps
|
|
2
|
+
import type { PublicToolProps } from '../../types';
|
|
4
3
|
import PlanarFreehandROITool from './PlanarFreehandROITool';
|
|
5
|
-
import { triggerSegmentationDataModified } from '../../stateManagement/segmentation/triggerSegmentationEvents';
|
|
6
4
|
|
|
7
5
|
class PlanarFreehandContourSegmentationTool extends PlanarFreehandROITool {
|
|
8
6
|
static toolName;
|
|
@@ -30,25 +28,6 @@ class PlanarFreehandContourSegmentationTool extends PlanarFreehandROITool {
|
|
|
30
28
|
// Re-enable contour segmentation behavior disabled by PlanarFreehandROITool
|
|
31
29
|
return true;
|
|
32
30
|
}
|
|
33
|
-
|
|
34
|
-
protected renderAnnotationInstance(
|
|
35
|
-
renderContext: AnnotationRenderContext
|
|
36
|
-
): boolean {
|
|
37
|
-
const { annotation } = renderContext;
|
|
38
|
-
const { invalidated } = annotation;
|
|
39
|
-
const renderResult = super.renderAnnotationInstance(renderContext);
|
|
40
|
-
|
|
41
|
-
// Trigger the event only for invalid annotations
|
|
42
|
-
if (invalidated) {
|
|
43
|
-
const { segmentationId } = (<SplineContourSegmentationAnnotation>(
|
|
44
|
-
annotation
|
|
45
|
-
)).data.segmentation;
|
|
46
|
-
|
|
47
|
-
triggerSegmentationDataModified(segmentationId);
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
return renderResult;
|
|
51
|
-
}
|
|
52
31
|
}
|
|
53
32
|
|
|
54
33
|
PlanarFreehandContourSegmentationTool.toolName =
|
|
@@ -510,7 +510,7 @@ class PlanarFreehandROITool extends ContourSegmentationBaseTool {
|
|
|
510
510
|
}
|
|
511
511
|
|
|
512
512
|
protected isContourSegmentationTool(): boolean {
|
|
513
|
-
// Disable contour
|
|
513
|
+
// Disable contour segmentation behavior because it shall be activated only
|
|
514
514
|
// for PlanarFreehandContourSegmentationTool
|
|
515
515
|
return false;
|
|
516
516
|
}
|
|
@@ -539,8 +539,7 @@ class PlanarFreehandROITool extends ContourSegmentationBaseTool {
|
|
|
539
539
|
protected renderAnnotationInstance(
|
|
540
540
|
renderContext: AnnotationRenderContext
|
|
541
541
|
): boolean {
|
|
542
|
-
const { enabledElement, targetId, svgDrawingHelper
|
|
543
|
-
renderContext;
|
|
542
|
+
const { enabledElement, targetId, svgDrawingHelper } = renderContext;
|
|
544
543
|
const annotation = renderContext.annotation as PlanarFreehandROIAnnotation;
|
|
545
544
|
|
|
546
545
|
let renderStatus = false;
|
|
@@ -664,7 +663,6 @@ class PlanarFreehandROITool extends ContourSegmentationBaseTool {
|
|
|
664
663
|
enabledElement
|
|
665
664
|
) => {
|
|
666
665
|
const { data } = annotation;
|
|
667
|
-
const { element } = viewport;
|
|
668
666
|
const { cachedStats } = data;
|
|
669
667
|
const { polyline: points } = data.contour;
|
|
670
668
|
|
|
@@ -425,6 +425,10 @@ class ProbeTool extends AnnotationTool {
|
|
|
425
425
|
|
|
426
426
|
const { color } = this.getAnnotationStyle({ annotation, styleSpecifier });
|
|
427
427
|
|
|
428
|
+
if (!data.cachedStats) {
|
|
429
|
+
data.cachedStats = {};
|
|
430
|
+
}
|
|
431
|
+
|
|
428
432
|
if (
|
|
429
433
|
!data.cachedStats[targetId] ||
|
|
430
434
|
data.cachedStats[targetId].value == null
|
|
@@ -640,7 +640,7 @@ class SplineROITool extends ContourSegmentationBaseTool {
|
|
|
640
640
|
};
|
|
641
641
|
|
|
642
642
|
protected isContourSegmentationTool(): boolean {
|
|
643
|
-
// Disable contour
|
|
643
|
+
// Disable contour segmentation behavior because it shall be activated only
|
|
644
644
|
// for SplineContourSegmentationTool
|
|
645
645
|
return false;
|
|
646
646
|
}
|
|
@@ -235,7 +235,7 @@ function completeDrawClosedContour(
|
|
|
235
235
|
: clockwise;
|
|
236
236
|
|
|
237
237
|
// Note: -> This is pretty expensive and may not scale well with hundreds of
|
|
238
|
-
// contours. A future
|
|
238
|
+
// contours. A future optimization if we use this for segmentation is to re-do
|
|
239
239
|
// this rendering with the GPU rather than SVG.
|
|
240
240
|
|
|
241
241
|
updateContourPolyline(
|
|
@@ -249,7 +249,7 @@ function completeDrawClosedContour(
|
|
|
249
249
|
|
|
250
250
|
const { textBox } = annotation.data.handles;
|
|
251
251
|
|
|
252
|
-
if (!textBox
|
|
252
|
+
if (!textBox?.hasMoved) {
|
|
253
253
|
triggerContourAnnotationCompleted(annotation, contourHoleProcessingEnabled);
|
|
254
254
|
}
|
|
255
255
|
|
|
@@ -224,7 +224,7 @@ abstract class AnnotationTool extends AnnotationDisplayTool {
|
|
|
224
224
|
}
|
|
225
225
|
}
|
|
226
226
|
|
|
227
|
-
for (let i = 0; i < points
|
|
227
|
+
for (let i = 0; i < points?.length; i++) {
|
|
228
228
|
const point = points[i];
|
|
229
229
|
const annotationCanvasCoordinate = viewport.worldToCanvas(point);
|
|
230
230
|
|
|
@@ -1,9 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
StackViewport,
|
|
3
|
-
utilities,
|
|
4
|
-
BaseVolumeViewport,
|
|
5
|
-
VideoViewport,
|
|
6
|
-
} from '@cornerstonejs/core';
|
|
1
|
+
import { utilities, BaseVolumeViewport } from '@cornerstonejs/core';
|
|
7
2
|
import { Types } from '@cornerstonejs/core';
|
|
8
3
|
import ToolModes from '../../enums/ToolModes';
|
|
9
4
|
import StrategyCallbacks from '../../enums/StrategyCallbacks';
|
|
@@ -217,7 +217,7 @@ abstract class ContourBaseTool extends AnnotationTool {
|
|
|
217
217
|
* @returns Polyline points in world space
|
|
218
218
|
*/
|
|
219
219
|
protected getPolylinePoints(annotation: ContourAnnotation): Types.Point3[] {
|
|
220
|
-
//
|
|
220
|
+
// Attention: `contour.polyline` is the new way to store a polyline but it
|
|
221
221
|
// may be undefined because it was `data.polyline` before (fallback)
|
|
222
222
|
return annotation.data.contour?.polyline ?? annotation.data.polyline;
|
|
223
223
|
}
|
|
@@ -20,10 +20,16 @@ import { SegmentationRepresentations } from '../../enums';
|
|
|
20
20
|
import ContourBaseTool from './ContourBaseTool';
|
|
21
21
|
import { triggerSegmentationDataModified } from '../../stateManagement/segmentation/triggerSegmentationEvents';
|
|
22
22
|
import { InterpolationManager } from '../../utilities/contours/interpolation';
|
|
23
|
+
import {
|
|
24
|
+
addContourSegmentationAnnotation,
|
|
25
|
+
removeContourSegmentationAnnotation,
|
|
26
|
+
} from '../../utilities/contourSegmentation';
|
|
27
|
+
import { getToolGroupIdsWithSegmentation } from '../../stateManagement/segmentation/segmentationState';
|
|
28
|
+
import { triggerAnnotationRenderForToolGroupIds } from '../../utilities';
|
|
23
29
|
|
|
24
30
|
/**
|
|
25
31
|
* A base contour segmentation class responsible for rendering, registering
|
|
26
|
-
* and
|
|
32
|
+
* and unregister contour segmentation annotations.
|
|
27
33
|
*/
|
|
28
34
|
abstract class ContourSegmentationBaseTool extends ContourBaseTool {
|
|
29
35
|
constructor(toolProps: PublicToolProps, defaultToolProps: ToolProps) {
|
|
@@ -70,8 +76,7 @@ abstract class ContourSegmentationBaseTool extends ContourBaseTool {
|
|
|
70
76
|
throw new Error(`A contour segmentation must be active`);
|
|
71
77
|
}
|
|
72
78
|
|
|
73
|
-
const { segmentationId
|
|
74
|
-
activeSegmentationRepresentation;
|
|
79
|
+
const { segmentationId } = activeSegmentationRepresentation;
|
|
75
80
|
const segmentIndex =
|
|
76
81
|
segmentIndexController.getActiveSegmentIndex(segmentationId);
|
|
77
82
|
|
|
@@ -82,7 +87,6 @@ abstract class ContourSegmentationBaseTool extends ContourBaseTool {
|
|
|
82
87
|
segmentation: {
|
|
83
88
|
segmentationId,
|
|
84
89
|
segmentIndex,
|
|
85
|
-
segmentationRepresentationUID,
|
|
86
90
|
},
|
|
87
91
|
},
|
|
88
92
|
}
|
|
@@ -94,11 +98,10 @@ abstract class ContourSegmentationBaseTool extends ContourBaseTool {
|
|
|
94
98
|
element: HTMLDivElement
|
|
95
99
|
): string {
|
|
96
100
|
const annotationUID = super.addAnnotation(annotation, element);
|
|
97
|
-
|
|
98
101
|
if (this.isContourSegmentationTool()) {
|
|
99
102
|
const contourSegAnnotation = annotation as ContourSegmentationAnnotation;
|
|
100
103
|
|
|
101
|
-
|
|
104
|
+
addContourSegmentationAnnotation(contourSegAnnotation);
|
|
102
105
|
}
|
|
103
106
|
|
|
104
107
|
return annotationUID;
|
|
@@ -110,7 +113,7 @@ abstract class ContourSegmentationBaseTool extends ContourBaseTool {
|
|
|
110
113
|
*/
|
|
111
114
|
protected cancelAnnotation(annotation: Annotation): void {
|
|
112
115
|
if (this.isContourSegmentationTool()) {
|
|
113
|
-
|
|
116
|
+
removeContourSegmentationAnnotation(
|
|
114
117
|
annotation as ContourSegmentationAnnotation
|
|
115
118
|
);
|
|
116
119
|
}
|
|
@@ -148,16 +151,21 @@ abstract class ContourSegmentationBaseTool extends ContourBaseTool {
|
|
|
148
151
|
): boolean {
|
|
149
152
|
const { annotation } = renderContext;
|
|
150
153
|
const { invalidated } = annotation;
|
|
151
|
-
|
|
152
154
|
// Render the annotation before triggering events
|
|
153
155
|
const renderResult = super.renderAnnotationInstance(renderContext);
|
|
154
|
-
|
|
155
156
|
if (invalidated && this.isContourSegmentationTool()) {
|
|
156
157
|
const { segmentationId } = (<SplineContourSegmentationAnnotation>(
|
|
157
158
|
annotation
|
|
158
159
|
)).data.segmentation;
|
|
159
|
-
|
|
160
160
|
triggerSegmentationDataModified(segmentationId);
|
|
161
|
+
|
|
162
|
+
// check which other viewport is rendering the same segmentationId
|
|
163
|
+
// and trigger the event for them to be able to render the segmentation
|
|
164
|
+
// annotation as well
|
|
165
|
+
|
|
166
|
+
const toolGroupIds = getToolGroupIdsWithSegmentation(segmentationId);
|
|
167
|
+
|
|
168
|
+
triggerAnnotationRenderForToolGroupIds(toolGroupIds);
|
|
161
169
|
}
|
|
162
170
|
|
|
163
171
|
return renderResult;
|
|
@@ -173,15 +181,16 @@ abstract class ContourSegmentationBaseTool extends ContourBaseTool {
|
|
|
173
181
|
}): Record<string, any> {
|
|
174
182
|
const { toolGroupId } = this;
|
|
175
183
|
const annotation = context.annotation as ContourSegmentationAnnotation;
|
|
176
|
-
const {
|
|
177
|
-
annotation.data.segmentation;
|
|
184
|
+
const { segmentationId, segmentIndex } = annotation.data.segmentation;
|
|
178
185
|
const segmentation = segmentationState.getSegmentation(segmentationId);
|
|
179
186
|
const segmentationRepresentation =
|
|
180
|
-
|
|
181
|
-
toolGroupId,
|
|
182
|
-
segmentationRepresentationUID
|
|
183
|
-
);
|
|
187
|
+
this._getSegmentationRepresentation(segmentationId);
|
|
184
188
|
|
|
189
|
+
if (!segmentationRepresentation) {
|
|
190
|
+
// return defaults if no segmentation representation is found
|
|
191
|
+
return {};
|
|
192
|
+
}
|
|
193
|
+
const { segmentationRepresentationUID } = segmentationRepresentation;
|
|
185
194
|
const { active } = segmentationRepresentation;
|
|
186
195
|
const { autoGenerated } = annotation;
|
|
187
196
|
const segmentsLocked = segmentLocking.getLockedSegments(segmentationId);
|
|
@@ -278,37 +287,31 @@ abstract class ContourSegmentationBaseTool extends ContourBaseTool {
|
|
|
278
287
|
};
|
|
279
288
|
}
|
|
280
289
|
|
|
281
|
-
private
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
const { segmentationId, segmentIndex } = annotation.data.segmentation;
|
|
285
|
-
const segmentation = segmentationState.getSegmentation(segmentationId);
|
|
286
|
-
const { annotationUIDsMap } = segmentation.representationData.CONTOUR;
|
|
290
|
+
private _getSegmentationRepresentation(segmentationId) {
|
|
291
|
+
const segmentationRepresentations =
|
|
292
|
+
segmentationState.getSegmentationRepresentations(this.toolGroupId);
|
|
287
293
|
|
|
288
|
-
|
|
294
|
+
const validSegmentationRepresentations = segmentationRepresentations.filter(
|
|
295
|
+
(representation) => representation.segmentationId === segmentationId
|
|
296
|
+
);
|
|
289
297
|
|
|
290
|
-
if (!
|
|
291
|
-
|
|
292
|
-
|
|
298
|
+
if (!validSegmentationRepresentations) {
|
|
299
|
+
console.warn(
|
|
300
|
+
`No segmentation representation found for toolGroupId: ${this.toolGroupId}`
|
|
301
|
+
);
|
|
302
|
+
return;
|
|
293
303
|
}
|
|
294
304
|
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
const segmentation = segmentationState.getSegmentation(segmentationId);
|
|
303
|
-
const { annotationUIDsMap } = segmentation.representationData.CONTOUR;
|
|
304
|
-
const annotationsUIDsSet = annotationUIDsMap.get(segmentIndex);
|
|
305
|
-
|
|
306
|
-
annotationsUIDsSet.delete(annotation.annotationUID);
|
|
307
|
-
|
|
308
|
-
// Delete segmentIndex Set if there is no more annotations
|
|
309
|
-
if (!annotationsUIDsSet.size) {
|
|
310
|
-
annotationUIDsMap.delete(segmentIndex);
|
|
305
|
+
if (
|
|
306
|
+
segmentationState.getSegmentationRepresentations(this.toolGroupId)
|
|
307
|
+
.length > 1
|
|
308
|
+
) {
|
|
309
|
+
console.warn(
|
|
310
|
+
'Multiple segmentation representations detected for this tool group. The first one will be used.'
|
|
311
|
+
);
|
|
311
312
|
}
|
|
313
|
+
|
|
314
|
+
return validSegmentationRepresentations[0];
|
|
312
315
|
}
|
|
313
316
|
}
|
|
314
317
|
|
|
@@ -2,6 +2,7 @@ import {
|
|
|
2
2
|
getEnabledElementByIds,
|
|
3
3
|
Types,
|
|
4
4
|
StackViewport,
|
|
5
|
+
BaseVolumeViewport,
|
|
5
6
|
} from '@cornerstonejs/core';
|
|
6
7
|
|
|
7
8
|
import Representations from '../../../enums/SegmentationRepresentations';
|
|
@@ -11,9 +12,9 @@ import {
|
|
|
11
12
|
SegmentationRepresentationConfig,
|
|
12
13
|
ToolGroupSpecificRepresentation,
|
|
13
14
|
} from '../../../types/SegmentationStateTypes';
|
|
14
|
-
import {
|
|
15
|
+
import { addOrUpdateVTKContourSets } from './vtkContour/addOrUpdateVTKContourSets';
|
|
15
16
|
import removeContourFromElement from './removeContourFromElement';
|
|
16
|
-
import { deleteConfigCache } from './contourConfigCache';
|
|
17
|
+
import { deleteConfigCache } from './vtkContour/contourConfigCache';
|
|
17
18
|
|
|
18
19
|
/**
|
|
19
20
|
* It removes a segmentation representation from the tool group's viewports and
|
|
@@ -66,27 +67,99 @@ async function render(
|
|
|
66
67
|
): Promise<void> {
|
|
67
68
|
const { segmentationId } = representationConfig;
|
|
68
69
|
const segmentation = SegmentationState.getSegmentation(segmentationId);
|
|
70
|
+
|
|
71
|
+
if (!segmentation) {
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
|
|
69
75
|
const contourData = segmentation.representationData[Representations.Contour];
|
|
70
|
-
const { geometryIds } = contourData;
|
|
71
76
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
if (
|
|
77
|
+
const { geometryIds, annotationUIDsMap } = contourData;
|
|
78
|
+
|
|
79
|
+
if (!geometryIds?.length && !annotationUIDsMap?.size) {
|
|
75
80
|
return;
|
|
76
81
|
}
|
|
77
82
|
|
|
78
|
-
|
|
79
|
-
|
|
83
|
+
// this means we would like to use vtk actors for contour data
|
|
84
|
+
|
|
85
|
+
if (!(viewport instanceof BaseVolumeViewport)) {
|
|
86
|
+
// We don't have a good way to handle stack viewports for contours at the moment.
|
|
87
|
+
// Plus, if we add a segmentation to one viewport, it gets added to all the viewports in the toolGroup too.
|
|
80
88
|
return;
|
|
81
89
|
}
|
|
82
90
|
|
|
83
91
|
// add the contour sets to the viewport
|
|
84
|
-
|
|
92
|
+
addOrUpdateVTKContourSets(
|
|
85
93
|
viewport,
|
|
86
94
|
geometryIds,
|
|
87
95
|
representationConfig,
|
|
88
96
|
toolGroupConfig
|
|
89
97
|
);
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* The following logic could be added if we want to support the use case
|
|
101
|
+
* where the contour representation data is initiated using annotations
|
|
102
|
+
* in the state from the get-go , and not when the user draws a contour.
|
|
103
|
+
*/
|
|
104
|
+
// if (contourData?.points?.length) {
|
|
105
|
+
// // contourData = createAnnotationsFromPoints(contourData.points);
|
|
106
|
+
// const contourSegmentationAnnotation = {
|
|
107
|
+
// annotationUID: csUtils.uuidv4(),
|
|
108
|
+
// data: {
|
|
109
|
+
// contour: {
|
|
110
|
+
// closed: true,
|
|
111
|
+
// polyline: contourData.points,
|
|
112
|
+
// },
|
|
113
|
+
// segmentation: {
|
|
114
|
+
// segmentationId,
|
|
115
|
+
// segmentIndex: 1, // Todo
|
|
116
|
+
// segmentationRepresentationUID:
|
|
117
|
+
// representationConfig.segmentationRepresentationUID,
|
|
118
|
+
// },
|
|
119
|
+
// },
|
|
120
|
+
// highlighted: false,
|
|
121
|
+
// invalidated: false,
|
|
122
|
+
// isLocked: false,
|
|
123
|
+
// isVisible: true,
|
|
124
|
+
// metadata: {
|
|
125
|
+
// toolName: 'PlanarFreehandContourSegmentationTool',
|
|
126
|
+
// FrameOfReferenceUID: viewport.getFrameOfReferenceUID(),
|
|
127
|
+
// viewPlaneNormal: viewport.getCamera().viewPlaneNormal,
|
|
128
|
+
// },
|
|
129
|
+
// };
|
|
130
|
+
|
|
131
|
+
// addAnnotation(contourSegmentationAnnotation, viewport.element);
|
|
132
|
+
// } else if (
|
|
133
|
+
// !contourData &&
|
|
134
|
+
// polySeg.canComputeRequestedRepresentation(
|
|
135
|
+
// representationConfig.segmentationRepresentationUID
|
|
136
|
+
// )
|
|
137
|
+
// ) {
|
|
138
|
+
// contourData = await polySeg.computeAndAddContourRepresentation(
|
|
139
|
+
// segmentationId,
|
|
140
|
+
// {
|
|
141
|
+
// segmentationRepresentationUID:
|
|
142
|
+
// representationConfig.segmentationRepresentationUID,
|
|
143
|
+
// viewport,
|
|
144
|
+
// }
|
|
145
|
+
// );
|
|
146
|
+
// }
|
|
147
|
+
|
|
148
|
+
// if (contourData?.geometryIds?.length) {
|
|
149
|
+
// handleVTKContour({
|
|
150
|
+
// viewport,
|
|
151
|
+
// representationConfig,
|
|
152
|
+
// toolGroupConfig,
|
|
153
|
+
// geometryIds: contourData.geometryIds,
|
|
154
|
+
// });
|
|
155
|
+
// } else if (contourData.annotationUIDsMap?.size) {
|
|
156
|
+
// handleContourAnnotationSegmentation({
|
|
157
|
+
// viewport,
|
|
158
|
+
// representationConfig,
|
|
159
|
+
// toolGroupConfig,
|
|
160
|
+
// annotationUIDsMap: contourData.annotationUIDsMap,
|
|
161
|
+
// });
|
|
162
|
+
// }
|
|
90
163
|
}
|
|
91
164
|
|
|
92
165
|
function _removeContourFromToolGroupViewports(
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
import {
|
|
14
14
|
SegmentationRepresentationConfig,
|
|
15
15
|
ToolGroupSpecificContourRepresentation,
|
|
16
|
-
} from '
|
|
16
|
+
} from '../../../../types';
|
|
17
17
|
import { getConfigCache, setConfigCache } from './contourConfigCache';
|
|
18
18
|
|
|
19
19
|
export function addContourSetsToElement(
|
|
@@ -3,11 +3,11 @@ import { Types } from '@cornerstonejs/core';
|
|
|
3
3
|
import {
|
|
4
4
|
SegmentationRepresentationConfig,
|
|
5
5
|
ToolGroupSpecificContourRepresentation,
|
|
6
|
-
} from '
|
|
6
|
+
} from '../../../../types';
|
|
7
7
|
import { addContourSetsToElement } from './addContourSetsToElement';
|
|
8
|
-
import {
|
|
8
|
+
import { updateVTKContourSets } from './updateVTKContourSets';
|
|
9
9
|
|
|
10
|
-
export function
|
|
10
|
+
export function addOrUpdateVTKContourSets(
|
|
11
11
|
viewport: Types.IVolumeViewport,
|
|
12
12
|
geometryIds: string[],
|
|
13
13
|
contourRepresentation: ToolGroupSpecificContourRepresentation,
|
|
@@ -17,7 +17,7 @@ export function addOrUpdateContourSets(
|
|
|
17
17
|
const actorUID = `CONTOUR_${segmentationRepresentationUID}`;
|
|
18
18
|
const actor = viewport.getActor(actorUID);
|
|
19
19
|
|
|
20
|
-
const addOrUpdateFn = actor ?
|
|
20
|
+
const addOrUpdateFn = actor ? updateVTKContourSets : addContourSetsToElement;
|
|
21
21
|
addOrUpdateFn(
|
|
22
22
|
viewport,
|
|
23
23
|
geometryIds,
|
package/src/tools/displayTools/Contour/{updateContourSets.ts → vtkContour/updateVTKContourSets.ts}
RENAMED
|
@@ -4,11 +4,11 @@ import vtkActor from '@kitware/vtk.js/Rendering/Core/Actor';
|
|
|
4
4
|
import {
|
|
5
5
|
SegmentationRepresentationConfig,
|
|
6
6
|
ToolGroupSpecificContourRepresentation,
|
|
7
|
-
} from '
|
|
7
|
+
} from '../../../../types';
|
|
8
8
|
import { getConfigCache, setConfigCache } from './contourConfigCache';
|
|
9
9
|
import { getSegmentSpecificConfig } from './utils';
|
|
10
10
|
|
|
11
|
-
export function
|
|
11
|
+
export function updateVTKContourSets(
|
|
12
12
|
viewport: Types.IVolumeViewport,
|
|
13
13
|
geometryIds: string[],
|
|
14
14
|
contourRepresentation: ToolGroupSpecificContourRepresentation,
|
|
@@ -2,7 +2,7 @@ import { Enums, Types } from '@cornerstonejs/core';
|
|
|
2
2
|
import vtkCellArray from '@kitware/vtk.js/Common/Core/CellArray';
|
|
3
3
|
import vtkPoints from '@kitware/vtk.js/Common/Core/Points';
|
|
4
4
|
import vtkPolyData from '@kitware/vtk.js/Common/DataModel/PolyData';
|
|
5
|
-
import { ToolGroupSpecificContourRepresentation } from '
|
|
5
|
+
import { ToolGroupSpecificContourRepresentation } from '../../../../types';
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* If the segment specific config exists for the given segment id, it returns
|
|
@@ -36,7 +36,7 @@ async function addLabelmapToElement(
|
|
|
36
36
|
const immediateRender = false;
|
|
37
37
|
const suppressEvents = true;
|
|
38
38
|
|
|
39
|
-
if (isVolumeSegmentation(labelMapData)) {
|
|
39
|
+
if (isVolumeSegmentation(labelMapData, viewport)) {
|
|
40
40
|
// Todo: Right now we use MIP blend mode for the labelmap, since the
|
|
41
41
|
// composite blend mode has a non linear behavior regarding fill and line
|
|
42
42
|
// opacity. This should be changed to a custom labelmap blendMode which does
|
|
@@ -1,4 +1,13 @@
|
|
|
1
1
|
import labelmapDisplay from './labelmapDisplay';
|
|
2
2
|
import labelmapConfig from './labelmapConfig';
|
|
3
|
+
import {
|
|
4
|
+
validate as validateLabelmap,
|
|
5
|
+
validatePublic as validateLabelmapPublic,
|
|
6
|
+
} from './validateLabelmap';
|
|
3
7
|
|
|
4
|
-
export {
|
|
8
|
+
export {
|
|
9
|
+
labelmapDisplay,
|
|
10
|
+
labelmapConfig,
|
|
11
|
+
validateLabelmap,
|
|
12
|
+
validateLabelmapPublic,
|
|
13
|
+
};
|