@cornerstonejs/tools 1.57.1 → 1.58.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/drawingSvg/drawPath.js +1 -1
- package/dist/cjs/drawingSvg/drawPath.js.map +1 -1
- package/dist/cjs/enums/WorkerTypes.d.ts +1 -1
- package/dist/cjs/enums/WorkerTypes.js +1 -1
- package/dist/cjs/enums/WorkerTypes.js.map +1 -1
- package/dist/cjs/stateManagement/segmentation/helpers/clipAndCacheSurfacesForViewport.d.ts +17 -0
- package/dist/cjs/stateManagement/segmentation/helpers/clipAndCacheSurfacesForViewport.js +112 -0
- package/dist/cjs/stateManagement/segmentation/helpers/clipAndCacheSurfacesForViewport.js.map +1 -0
- package/dist/cjs/stateManagement/segmentation/polySeg/Contour/computeAndAddContourRepresentation.d.ts +3 -1
- package/dist/cjs/stateManagement/segmentation/polySeg/Contour/computeAndAddContourRepresentation.js +4 -1
- package/dist/cjs/stateManagement/segmentation/polySeg/Contour/computeAndAddContourRepresentation.js.map +1 -1
- package/dist/cjs/stateManagement/segmentation/polySeg/Contour/contourComputationStrategies.d.ts +8 -0
- package/dist/cjs/stateManagement/segmentation/polySeg/Contour/contourComputationStrategies.js +121 -0
- package/dist/cjs/stateManagement/segmentation/polySeg/Contour/contourComputationStrategies.js.map +1 -0
- package/dist/cjs/stateManagement/segmentation/polySeg/Contour/utils/createAndAddContourSegmentationsFromClippedSurfaces.d.ts +3 -0
- package/dist/cjs/stateManagement/segmentation/polySeg/Contour/utils/createAndAddContourSegmentationsFromClippedSurfaces.js +73 -0
- package/dist/cjs/stateManagement/segmentation/polySeg/Contour/utils/createAndAddContourSegmentationsFromClippedSurfaces.js.map +1 -0
- package/dist/cjs/stateManagement/segmentation/polySeg/Contour/utils/extractContourData.d.ts +3 -0
- package/dist/cjs/stateManagement/segmentation/polySeg/Contour/utils/extractContourData.js +25 -0
- package/dist/cjs/stateManagement/segmentation/polySeg/Contour/utils/extractContourData.js.map +1 -0
- package/dist/cjs/stateManagement/segmentation/polySeg/Contour/utils/updateContoursOnCameraModified.d.ts +1 -0
- package/dist/cjs/stateManagement/segmentation/polySeg/Contour/utils/updateContoursOnCameraModified.js +41 -0
- package/dist/cjs/stateManagement/segmentation/polySeg/Contour/utils/updateContoursOnCameraModified.js.map +1 -0
- package/dist/cjs/stateManagement/segmentation/polySeg/Labelmap/convertContourToLabelmap.js +2 -2
- package/dist/cjs/stateManagement/segmentation/polySeg/Labelmap/convertContourToLabelmap.js.map +1 -1
- package/dist/cjs/stateManagement/segmentation/polySeg/Labelmap/convertSurfaceToLabelmap.js +1 -1
- package/dist/cjs/stateManagement/segmentation/polySeg/Labelmap/convertSurfaceToLabelmap.js.map +1 -1
- package/dist/cjs/stateManagement/segmentation/polySeg/Labelmap/labelmapComputationStrategies.js.map +1 -1
- package/dist/cjs/stateManagement/segmentation/polySeg/Surface/convertContourToSurface.js +1 -1
- package/dist/cjs/stateManagement/segmentation/polySeg/Surface/convertContourToSurface.js.map +1 -1
- package/dist/cjs/stateManagement/segmentation/polySeg/Surface/convertLabelmapToSurface.js +1 -1
- package/dist/cjs/stateManagement/segmentation/polySeg/Surface/convertLabelmapToSurface.js.map +1 -1
- package/dist/cjs/stateManagement/segmentation/polySeg/computeAndAddRepresentation.js +1 -1
- package/dist/cjs/stateManagement/segmentation/polySeg/computeAndAddRepresentation.js.map +1 -1
- package/dist/cjs/stateManagement/segmentation/triggerSegmentationEvents.js +2 -0
- package/dist/cjs/stateManagement/segmentation/triggerSegmentationEvents.js.map +1 -1
- package/dist/cjs/store/ToolGroupManager/getToolGroupForViewport.d.ts +1 -1
- package/dist/cjs/store/ToolGroupManager/getToolGroupForViewport.js +5 -0
- package/dist/cjs/store/ToolGroupManager/getToolGroupForViewport.js.map +1 -1
- package/dist/cjs/tools/annotation/SplineROITool.js +25 -20
- package/dist/cjs/tools/annotation/SplineROITool.js.map +1 -1
- package/dist/cjs/tools/base/BaseTool.js +3 -0
- package/dist/cjs/tools/base/BaseTool.js.map +1 -1
- package/dist/cjs/tools/base/ContourSegmentationBaseTool.js.map +1 -1
- package/dist/cjs/tools/displayTools/Contour/contourDisplay.js +13 -5
- package/dist/cjs/tools/displayTools/Contour/contourDisplay.js.map +1 -1
- package/dist/cjs/tools/displayTools/Labelmap/labelmapDisplay.js +1 -1
- package/dist/cjs/tools/displayTools/Labelmap/labelmapDisplay.js.map +1 -1
- package/dist/cjs/tools/displayTools/SegmentationDisplayTool.d.ts +1 -0
- package/dist/cjs/tools/displayTools/SegmentationDisplayTool.js +17 -0
- package/dist/cjs/tools/displayTools/SegmentationDisplayTool.js.map +1 -1
- package/dist/cjs/tools/displayTools/Surface/addOrUpdateSurfaceToElement.js +4 -47
- package/dist/cjs/tools/displayTools/Surface/addOrUpdateSurfaceToElement.js.map +1 -1
- package/dist/cjs/tools/displayTools/Surface/surfaceDisplay.d.ts +3 -9
- package/dist/cjs/tools/displayTools/Surface/surfaceDisplay.js +7 -148
- package/dist/cjs/tools/displayTools/Surface/surfaceDisplay.js.map +1 -1
- package/dist/cjs/types/PolySeg.d.ts +1 -1
- package/dist/cjs/utilities/contourSegmentation/addContourSegmentationAnnotation.js +4 -1
- package/dist/cjs/utilities/contourSegmentation/addContourSegmentationAnnotation.js.map +1 -1
- package/dist/cjs/utilities/contourSegmentation/removeContourSegmentationAnnotation.js +3 -0
- package/dist/cjs/utilities/contourSegmentation/removeContourSegmentationAnnotation.js.map +1 -1
- package/dist/cjs/utilities/math/polyline/getAABB.d.ts +3 -1
- package/dist/cjs/utilities/math/polyline/getAABB.js +30 -4
- package/dist/cjs/utilities/math/polyline/getAABB.js.map +1 -1
- package/dist/cjs/utilities/planar/index.d.ts +3 -1
- package/dist/cjs/utilities/planar/index.js +4 -1
- package/dist/cjs/utilities/planar/index.js.map +1 -1
- package/dist/cjs/utilities/planar/isPlaneIntersectingAABB.d.ts +1 -0
- package/dist/cjs/utilities/planar/isPlaneIntersectingAABB.js +32 -0
- package/dist/cjs/utilities/planar/isPlaneIntersectingAABB.js.map +1 -0
- package/dist/cjs/utilities/segmentation/getUniqueSegmentIndices.d.ts +3 -1
- package/dist/cjs/utilities/segmentation/getUniqueSegmentIndices.js +97 -47
- package/dist/cjs/utilities/segmentation/getUniqueSegmentIndices.js.map +1 -1
- package/dist/cjs/workers/polySegConverters.js +73 -0
- package/dist/cjs/workers/polySegConverters.js.map +1 -1
- package/dist/esm/drawingSvg/drawPath.js +1 -1
- package/dist/esm/drawingSvg/drawPath.js.map +1 -1
- package/dist/esm/enums/WorkerTypes.js +1 -1
- package/dist/esm/enums/WorkerTypes.js.map +1 -1
- package/dist/esm/stateManagement/segmentation/helpers/clipAndCacheSurfacesForViewport.js +91 -0
- package/dist/esm/stateManagement/segmentation/helpers/clipAndCacheSurfacesForViewport.js.map +1 -0
- package/dist/esm/stateManagement/segmentation/polySeg/Contour/computeAndAddContourRepresentation.js +4 -1
- package/dist/esm/stateManagement/segmentation/polySeg/Contour/computeAndAddContourRepresentation.js.map +1 -1
- package/dist/esm/stateManagement/segmentation/polySeg/Contour/contourComputationStrategies.js +105 -0
- package/dist/esm/stateManagement/segmentation/polySeg/Contour/contourComputationStrategies.js.map +1 -0
- package/dist/esm/stateManagement/segmentation/polySeg/Contour/utils/createAndAddContourSegmentationsFromClippedSurfaces.js +72 -0
- package/dist/esm/stateManagement/segmentation/polySeg/Contour/utils/createAndAddContourSegmentationsFromClippedSurfaces.js.map +1 -0
- package/dist/esm/stateManagement/segmentation/polySeg/Contour/utils/extractContourData.js +21 -0
- package/dist/esm/stateManagement/segmentation/polySeg/Contour/utils/extractContourData.js.map +1 -0
- package/dist/esm/stateManagement/segmentation/polySeg/Contour/utils/updateContoursOnCameraModified.js +26 -0
- package/dist/esm/stateManagement/segmentation/polySeg/Contour/utils/updateContoursOnCameraModified.js.map +1 -0
- package/dist/esm/stateManagement/segmentation/polySeg/Labelmap/convertContourToLabelmap.js +2 -2
- package/dist/esm/stateManagement/segmentation/polySeg/Labelmap/convertContourToLabelmap.js.map +1 -1
- package/dist/esm/stateManagement/segmentation/polySeg/Labelmap/convertSurfaceToLabelmap.js +1 -1
- package/dist/esm/stateManagement/segmentation/polySeg/Labelmap/convertSurfaceToLabelmap.js.map +1 -1
- package/dist/esm/stateManagement/segmentation/polySeg/Labelmap/labelmapComputationStrategies.js +1 -1
- package/dist/esm/stateManagement/segmentation/polySeg/Labelmap/labelmapComputationStrategies.js.map +1 -1
- package/dist/esm/stateManagement/segmentation/polySeg/Surface/convertContourToSurface.js +1 -1
- package/dist/esm/stateManagement/segmentation/polySeg/Surface/convertContourToSurface.js.map +1 -1
- package/dist/esm/stateManagement/segmentation/polySeg/Surface/convertLabelmapToSurface.js +1 -1
- package/dist/esm/stateManagement/segmentation/polySeg/Surface/convertLabelmapToSurface.js.map +1 -1
- package/dist/esm/stateManagement/segmentation/polySeg/computeAndAddRepresentation.js +1 -1
- package/dist/esm/stateManagement/segmentation/polySeg/computeAndAddRepresentation.js.map +1 -1
- package/dist/esm/stateManagement/segmentation/triggerSegmentationEvents.js +2 -0
- package/dist/esm/stateManagement/segmentation/triggerSegmentationEvents.js.map +1 -1
- package/dist/esm/store/ToolGroupManager/getToolGroupForViewport.js +4 -0
- package/dist/esm/store/ToolGroupManager/getToolGroupForViewport.js.map +1 -1
- package/dist/esm/tools/annotation/SplineROITool.js +25 -20
- package/dist/esm/tools/annotation/SplineROITool.js.map +1 -1
- package/dist/esm/tools/base/BaseTool.js +3 -0
- package/dist/esm/tools/base/BaseTool.js.map +1 -1
- package/dist/esm/tools/base/ContourSegmentationBaseTool.js.map +1 -1
- package/dist/esm/tools/displayTools/Contour/contourDisplay.js +13 -5
- package/dist/esm/tools/displayTools/Contour/contourDisplay.js.map +1 -1
- package/dist/esm/tools/displayTools/Labelmap/labelmapDisplay.js +1 -1
- package/dist/esm/tools/displayTools/Labelmap/labelmapDisplay.js.map +1 -1
- package/dist/esm/tools/displayTools/SegmentationDisplayTool.js +17 -0
- package/dist/esm/tools/displayTools/SegmentationDisplayTool.js.map +1 -1
- package/dist/esm/tools/displayTools/Surface/addOrUpdateSurfaceToElement.js +3 -46
- package/dist/esm/tools/displayTools/Surface/addOrUpdateSurfaceToElement.js.map +1 -1
- package/dist/esm/tools/displayTools/Surface/surfaceDisplay.js +8 -139
- package/dist/esm/tools/displayTools/Surface/surfaceDisplay.js.map +1 -1
- package/dist/esm/utilities/contourSegmentation/addContourSegmentationAnnotation.js +4 -1
- package/dist/esm/utilities/contourSegmentation/addContourSegmentationAnnotation.js.map +1 -1
- package/dist/esm/utilities/contourSegmentation/removeContourSegmentationAnnotation.js +3 -0
- package/dist/esm/utilities/contourSegmentation/removeContourSegmentationAnnotation.js.map +1 -1
- package/dist/esm/utilities/math/polyline/getAABB.js +30 -4
- package/dist/esm/utilities/math/polyline/getAABB.js.map +1 -1
- package/dist/esm/utilities/planar/index.js +3 -1
- package/dist/esm/utilities/planar/index.js.map +1 -1
- package/dist/esm/utilities/planar/isPlaneIntersectingAABB.js +28 -0
- package/dist/esm/utilities/planar/isPlaneIntersectingAABB.js.map +1 -0
- package/dist/esm/utilities/segmentation/getUniqueSegmentIndices.js +92 -44
- package/dist/esm/utilities/segmentation/getUniqueSegmentIndices.js.map +1 -1
- package/dist/esm/workers/polySegConverters.js +74 -1
- package/dist/esm/workers/polySegConverters.js.map +1 -1
- package/dist/types/drawingSvg/drawPath.d.ts.map +1 -1
- package/dist/types/enums/WorkerTypes.d.ts +1 -1
- package/dist/types/enums/WorkerTypes.d.ts.map +1 -1
- package/dist/types/stateManagement/segmentation/helpers/clipAndCacheSurfacesForViewport.d.ts +18 -0
- package/dist/types/stateManagement/segmentation/helpers/clipAndCacheSurfacesForViewport.d.ts.map +1 -0
- package/dist/types/stateManagement/segmentation/polySeg/Contour/computeAndAddContourRepresentation.d.ts +3 -1
- package/dist/types/stateManagement/segmentation/polySeg/Contour/computeAndAddContourRepresentation.d.ts.map +1 -1
- package/dist/types/stateManagement/segmentation/polySeg/Contour/contourComputationStrategies.d.ts +9 -0
- package/dist/types/stateManagement/segmentation/polySeg/Contour/contourComputationStrategies.d.ts.map +1 -0
- package/dist/types/stateManagement/segmentation/polySeg/Contour/utils/createAndAddContourSegmentationsFromClippedSurfaces.d.ts +4 -0
- package/dist/types/stateManagement/segmentation/polySeg/Contour/utils/createAndAddContourSegmentationsFromClippedSurfaces.d.ts.map +1 -0
- package/dist/types/stateManagement/segmentation/polySeg/Contour/utils/extractContourData.d.ts +4 -0
- package/dist/types/stateManagement/segmentation/polySeg/Contour/utils/extractContourData.d.ts.map +1 -0
- package/dist/types/stateManagement/segmentation/polySeg/Contour/utils/updateContoursOnCameraModified.d.ts +2 -0
- package/dist/types/stateManagement/segmentation/polySeg/Contour/utils/updateContoursOnCameraModified.d.ts.map +1 -0
- package/dist/types/stateManagement/segmentation/polySeg/Labelmap/labelmapComputationStrategies.d.ts.map +1 -1
- package/dist/types/stateManagement/segmentation/triggerSegmentationEvents.d.ts.map +1 -1
- package/dist/types/store/ToolGroupManager/getToolGroupForViewport.d.ts +1 -1
- package/dist/types/store/ToolGroupManager/getToolGroupForViewport.d.ts.map +1 -1
- package/dist/types/tools/annotation/SplineROITool.d.ts.map +1 -1
- package/dist/types/tools/base/BaseTool.d.ts.map +1 -1
- 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/SegmentationDisplayTool.d.ts +1 -0
- package/dist/types/tools/displayTools/SegmentationDisplayTool.d.ts.map +1 -1
- package/dist/types/tools/displayTools/Surface/addOrUpdateSurfaceToElement.d.ts.map +1 -1
- package/dist/types/tools/displayTools/Surface/surfaceDisplay.d.ts +3 -9
- package/dist/types/tools/displayTools/Surface/surfaceDisplay.d.ts.map +1 -1
- package/dist/types/types/PolySeg.d.ts +1 -1
- package/dist/types/types/PolySeg.d.ts.map +1 -1
- package/dist/types/utilities/contourSegmentation/addContourSegmentationAnnotation.d.ts.map +1 -1
- package/dist/types/utilities/contourSegmentation/removeContourSegmentationAnnotation.d.ts.map +1 -1
- package/dist/types/utilities/math/polyline/getAABB.d.ts +3 -1
- package/dist/types/utilities/math/polyline/getAABB.d.ts.map +1 -1
- package/dist/types/utilities/planar/index.d.ts +3 -1
- package/dist/types/utilities/planar/index.d.ts.map +1 -1
- package/dist/types/utilities/planar/isPlaneIntersectingAABB.d.ts +2 -0
- package/dist/types/utilities/planar/isPlaneIntersectingAABB.d.ts.map +1 -0
- package/dist/types/utilities/segmentation/getUniqueSegmentIndices.d.ts +3 -1
- package/dist/types/utilities/segmentation/getUniqueSegmentIndices.d.ts.map +1 -1
- package/dist/umd/985.index.js +1 -1
- package/dist/umd/985.index.js.map +1 -1
- package/dist/umd/index.js +1 -1
- package/dist/umd/index.js.map +1 -1
- package/package.json +4 -4
- package/src/drawingSvg/drawPath.ts +3 -1
- package/src/enums/WorkerTypes.ts +1 -1
- package/src/stateManagement/segmentation/helpers/clipAndCacheSurfacesForViewport.ts +203 -0
- package/src/stateManagement/segmentation/polySeg/Contour/computeAndAddContourRepresentation.ts +9 -2
- package/src/stateManagement/segmentation/polySeg/Contour/contourComputationStrategies.ts +201 -0
- package/src/stateManagement/segmentation/polySeg/Contour/utils/createAndAddContourSegmentationsFromClippedSurfaces.ts +103 -0
- package/src/stateManagement/segmentation/polySeg/Contour/utils/extractContourData.ts +38 -0
- package/src/stateManagement/segmentation/polySeg/Contour/utils/updateContoursOnCameraModified.ts +58 -0
- package/src/stateManagement/segmentation/polySeg/Labelmap/convertContourToLabelmap.ts +2 -2
- package/src/stateManagement/segmentation/polySeg/Labelmap/convertSurfaceToLabelmap.ts +1 -1
- package/src/stateManagement/segmentation/polySeg/Labelmap/labelmapComputationStrategies.ts +3 -8
- package/src/stateManagement/segmentation/polySeg/Surface/convertContourToSurface.ts +1 -1
- package/src/stateManagement/segmentation/polySeg/Surface/convertLabelmapToSurface.ts +1 -1
- package/src/stateManagement/segmentation/polySeg/computeAndAddRepresentation.ts +1 -1
- package/src/stateManagement/segmentation/triggerSegmentationEvents.ts +5 -0
- package/src/store/ToolGroupManager/getToolGroupForViewport.ts +8 -1
- package/src/tools/annotation/SplineROITool.ts +34 -27
- package/src/tools/base/BaseTool.ts +7 -0
- package/src/tools/base/ContourSegmentationBaseTool.ts +5 -0
- package/src/tools/displayTools/Contour/contourDisplay.ts +29 -11
- package/src/tools/displayTools/Labelmap/labelmapDisplay.ts +1 -1
- package/src/tools/displayTools/SegmentationDisplayTool.ts +26 -0
- package/src/tools/displayTools/Surface/addOrUpdateSurfaceToElement.ts +3 -65
- package/src/tools/displayTools/Surface/surfaceDisplay.ts +12 -247
- package/src/types/PolySeg.ts +1 -1
- package/src/utilities/contourSegmentation/addContourSegmentationAnnotation.ts +9 -1
- package/src/utilities/contourSegmentation/removeContourSegmentationAnnotation.ts +4 -0
- package/src/utilities/math/polyline/getAABB.ts +58 -4
- package/src/utilities/planar/index.ts +3 -0
- package/src/utilities/planar/isPlaneIntersectingAABB.ts +56 -0
- package/src/utilities/segmentation/getUniqueSegmentIndices.ts +115 -49
- package/src/workers/polySegConverters.js +117 -1
- package/dist/cjs/tools/displayTools/registerDisplayToolsWorker.d.ts +0 -1
- package/dist/cjs/tools/displayTools/registerDisplayToolsWorker.js +0 -27
- package/dist/cjs/tools/displayTools/registerDisplayToolsWorker.js.map +0 -1
- package/dist/cjs/workers/clippingPlaneWorker.d.ts +0 -1
- package/dist/cjs/workers/clippingPlaneWorker.js +0 -63
- package/dist/cjs/workers/clippingPlaneWorker.js.map +0 -1
- package/dist/esm/tools/displayTools/registerDisplayToolsWorker.js +0 -23
- package/dist/esm/tools/displayTools/registerDisplayToolsWorker.js.map +0 -1
- package/dist/esm/workers/clippingPlaneWorker.js +0 -58
- package/dist/esm/workers/clippingPlaneWorker.js.map +0 -1
- package/dist/types/tools/displayTools/registerDisplayToolsWorker.d.ts +0 -2
- package/dist/types/tools/displayTools/registerDisplayToolsWorker.d.ts.map +0 -1
- package/dist/types/workers/clippingPlaneWorker.d.ts +0 -2
- package/dist/types/workers/clippingPlaneWorker.d.ts.map +0 -1
- package/dist/umd/444.index.js +0 -3
- package/dist/umd/444.index.js.LICENSE.txt +0 -5
- package/dist/umd/444.index.js.map +0 -1
- package/src/tools/displayTools/registerDisplayToolsWorker.ts +0 -34
- package/src/workers/clippingPlaneWorker.js +0 -87
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContourSegmentationBaseTool.js","sourceRoot":"","sources":["../../../../src/tools/base/ContourSegmentationBaseTool.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ContourSegmentationBaseTool.js","sourceRoot":"","sources":["../../../../src/tools/base/ContourSegmentationBaseTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAQhD,OAAO,EACL,MAAM,IAAI,kBAAkB,EAC5B,KAAK,IAAI,iBAAiB,EAC1B,cAAc,EACd,YAAY,IAAI,sBAAsB,EACtC,kBAAkB,GACnB,MAAM,oCAAoC,CAAC;AAI5C,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,+BAA+B,EAAE,MAAM,8DAA8D,CAAC;AAC/G,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAC9E,OAAO,EACL,gCAAgC,EAChC,mCAAmC,GACpC,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,+BAA+B,EAAE,MAAM,sDAAsD,CAAC;AACvG,OAAO,EAAE,sCAAsC,EAAE,MAAM,iBAAiB,CAAC;AAMzE,MAAe,2BAA4B,SAAQ,eAAe;IAChE,YAAY,SAA0B,EAAE,gBAA2B;QACjE,KAAK,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;QACnC,IAAI,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,OAAO,EAAE;YAC7C,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;SAClD;IACH,CAAC;IAYS,yBAAyB;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAES,gBAAgB,CAAC,GAAoC;QAC7D,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;QAC7B,MAAM,iBAAiB,GAAG,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAEtD,IAAI,CAAC,IAAI,CAAC,yBAAyB,EAAE,EAAE;YACrC,OAAO,iBAAiB,CAAC;SAC1B;QAED,MAAM,gCAAgC,GACpC,kBAAkB,CAAC,mCAAmC,CAAC,WAAW,CAAC,CAAC;QAEtE,IAAI,CAAC,gCAAgC,EAAE;YACrC,MAAM,IAAI,KAAK,CACb,wEAAwE,CACzE,CAAC;SACH;QAED,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,GAAG,gCAAgC,CAAC;QAEpE,IAAI,gBAAgB,KAAK,2BAA2B,CAAC,OAAO,EAAE;YAC5D,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;SAC1D;QAED,MAAM,EAAE,cAAc,EAAE,GAAG,gCAAgC,CAAC;QAC5D,MAAM,YAAY,GAChB,sBAAsB,CAAC,qBAAqB,CAAC,cAAc,CAAC,CAAC;QAE/D,OAAsC,SAAS,CAAC,SAAS,CACvD,iBAAiB,EACjB;YACE,IAAI,EAAE;gBACJ,YAAY,EAAE;oBACZ,cAAc;oBACd,YAAY;iBACb;aACF;SACF,CACF,CAAC;IACJ,CAAC;IAES,aAAa,CACrB,UAAsB,EACtB,OAAuB;QAEvB,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC/D,IAAI,IAAI,CAAC,yBAAyB,EAAE,EAAE;YACpC,MAAM,oBAAoB,GAAG,UAA2C,CAAC;YAEzE,gCAAgC,CAAC,oBAAoB,CAAC,CAAC;SACxD;QAED,OAAO,aAAa,CAAC;IACvB,CAAC;IAMS,gBAAgB,CAAC,UAAsB;QAC/C,IAAI,IAAI,CAAC,yBAAyB,EAAE,EAAE;YACpC,mCAAmC,CACjC,UAA2C,CAC5C,CAAC;SACH;QAED,KAAK,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;IACrC,CAAC;IAYS,kBAAkB,CAAC,OAG5B;QACC,MAAM,eAAe,GAAG,KAAK,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAE1D,IAAI,CAAC,IAAI,CAAC,yBAAyB,EAAE,EAAE;YACrC,OAAO,eAAe,CAAC;SACxB;QAED,MAAM,wBAAwB,GAAG,IAAI,CAAC,4BAA4B,CAAC,OAAO,CAAC,CAAC;QAE5E,OAAO,SAAS,CAAC,SAAS,CAAC,eAAe,EAAE,wBAAwB,CAAC,CAAC;IACxE,CAAC;IAES,wBAAwB,CAChC,aAAsC;QAEtC,MAAM,EAAE,UAAU,EAAE,GAAG,aAAa,CAAC;QACrC,MAAM,EAAE,WAAW,EAAE,GAAG,UAAU,CAAC;QAEnC,MAAM,YAAY,GAAG,KAAK,CAAC,wBAAwB,CAAC,aAAa,CAAC,CAAC;QACnE,IAAI,WAAW,IAAI,IAAI,CAAC,yBAAyB,EAAE,EAAE;YACnD,MAAM,EAAE,cAAc,EAAE,GAAyC,CAC/D,UAAU,CACV,CAAC,IAAI,CAAC,YAAY,CAAC;YACrB,+BAA+B,CAAC,cAAc,CAAC,CAAC;YAMhD,MAAM,YAAY,GAAG,+BAA+B,CAAC,cAAc,CAAC,CAAC;YAErE,sCAAsC,CAAC,YAAY,CAAC,CAAC;SACtD;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAMO,4BAA4B,CAAC,OAGpC;QACC,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;QAC7B,MAAM,UAAU,GAAG,OAAO,CAAC,UAA2C,CAAC;QACvE,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;QACtE,MAAM,YAAY,GAAG,iBAAiB,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;QACvE,MAAM,0BAA0B,GAC9B,IAAI,CAAC,8BAA8B,CAAC,cAAc,CAAC,CAAC;QAEtD,IAAI,CAAC,0BAA0B,EAAE;YAE/B,OAAO,EAAE,CAAC;SACX;QACD,MAAM,EAAE,6BAA6B,EAAE,GAAG,0BAA0B,CAAC;QACrE,MAAM,EAAE,MAAM,EAAE,GAAG,0BAA0B,CAAC;QAC9C,MAAM,EAAE,aAAa,EAAE,GAAG,UAAU,CAAC;QACrC,MAAM,cAAc,GAAG,cAAc,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;QACxE,MAAM,gBAAgB,GAAG,cAAc,CAAC,QAAQ,CAAC,YAAqB,CAAC,CAAC;QAOxE,MAAM,YAAY,GAAG,kBAAkB,CAAC,KAAK,CAAC,uBAAuB,CACnE,WAAW,EACX,6BAA6B,EAC7B,YAAY,CACb,CAAC;QAEF,MAAM,mBAAmB,GACvB,kBAAkB,CAAC,UAAU,CAAC,yBAAyB,CACrD,WAAW,EACX,6BAA6B,CAC9B,CAAC;QAEJ,MAAM,YAAY,GAAG,kBAAkB,CAAC,eAAe,EAAE,CAAC;QAE1D,MAAM,eAAe,GACnB,kBAAkB,CAAC,0BAA0B,CAAC,WAAW,CAAC,CAAC;QAE7D,MAAM,gCAAgC,GACpC,kBAAkB,CAAC,2CAA2C,CAC5D,WAAW,EACX,6BAA6B,CAC9B,CAAC;QAEJ,MAAM,aAAa,GAAG,kBAAkB,CAAC,wBAAwB,CAC/D,WAAW,EACX,6BAA6B,EAC7B,YAAY,CACb,CAAC;QAEF,MAAM,cAAc,GAAG,kBAAkB,CAAC,UAAU,CAAC,oBAAoB,CACvE,WAAW,EACX,6BAA6B,EAC7B,YAAY,CACb,CAAC;QAGF,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAChC,EAAE,EACF,YAAY,EAAE,eAAe,EAAE,OAAO,IAAI,EAAE,EAC5C,eAAe,EAAE,eAAe,EAAE,OAAO,IAAI,EAAE,EAC/C,gCAAgC,EAAE,OAAO,IAAI,EAAE,EAC/C,aAAa,EAAE,OAAO,IAAI,EAAE,CAC7B,CAAC;QAEF,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,QAAQ,GAAG,SAAS,CAAC;QACzB,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,WAAW,GAAG,CAAC,CAAC;QAEpB,IAAI,aAAa,EAAE;YACjB,SAAS,GAAG,YAAY,CAAC,yBAAyB,IAAI,SAAS,CAAC;YAChE,QAAQ,GAAG,YAAY,CAAC,wBAAwB,IAAI,QAAQ,CAAC;YAC7D,WAAW,GAAG,YAAY,CAAC,cAAc,IAAI,WAAW,CAAC;YACzD,WAAW,GAAG,YAAY,CAAC,sBAAsB,IAAI,WAAW,CAAC;SAClE;aAAM,IAAI,MAAM,EAAE;YACjB,SAAS,GAAG,YAAY,CAAC,kBAAkB,IAAI,SAAS,CAAC;YACzD,QAAQ,GAAG,YAAY,CAAC,iBAAiB,IAAI,QAAQ,CAAC;YACtD,WAAW,GAAG,YAAY,CAAC,cAAc,IAAI,WAAW,CAAC;YACzD,WAAW,GAAG,YAAY,CAAC,SAAS,IAAI,WAAW,CAAC;SACrD;aAAM;YACL,SAAS,GAAG,YAAY,CAAC,oBAAoB,IAAI,SAAS,CAAC;YAC3D,QAAQ,GAAG,YAAY,CAAC,mBAAmB,IAAI,QAAQ,CAAC;YACxD,WAAW,GAAG,YAAY,CAAC,sBAAsB,IAAI,WAAW,CAAC;YACjE,WAAW,GAAG,YAAY,CAAC,iBAAiB,IAAI,WAAW,CAAC;SAC7D;QAGD,IAAI,YAAY,CAAC,kBAAkB,KAAK,YAAY,EAAE;YACpD,SAAS,IAAI,YAAY,CAAC,8BAA8B,CAAC;SAC1D;QAED,SAAS,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,WAAW,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;QAExD,MAAM,KAAK,GAAG,QAAQ,YAAY,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,KAAK,WAAW,GAAG,CAAC;QACjG,MAAM,SAAS,GAAG,OAAO,YAAY,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC;QAEpF,OAAO;YACL,KAAK;YACL,SAAS;YACT,SAAS;YACT,WAAW;YACX,QAAQ;YACR,OAAO,EAAE;gBACP,KAAK;aACN;YACD,UAAU,EAAE,mBAAmB,IAAI,cAAc;YACjD,MAAM,EAAE,gBAAgB;SACzB,CAAC;IACJ,CAAC;IAEO,8BAA8B,CAAC,cAAc;QACnD,MAAM,2BAA2B,GAC/B,iBAAiB,CAAC,8BAA8B,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAErE,MAAM,gCAAgC,GAAG,2BAA2B,CAAC,MAAM,CACzE,CAAC,cAAc,EAAE,EAAE,CAAC,cAAc,CAAC,cAAc,KAAK,cAAc,CACrE,CAAC;QAEF,IAAI,CAAC,gCAAgC,EAAE;YACrC,OAAO,CAAC,IAAI,CACV,yDAAyD,IAAI,CAAC,WAAW,EAAE,CAC5E,CAAC;YACF,OAAO;SACR;QAED,IACE,iBAAiB,CAAC,8BAA8B,CAAC,IAAI,CAAC,WAAW,CAAC;aAC/D,MAAM,GAAG,CAAC,EACb;YACA,OAAO,CAAC,IAAI,CACV,iGAAiG,CAClG,CAAC;SACH;QAED,OAAO,gCAAgC,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC;CACF;AAED,OAAO,EAAE,2BAA2B,IAAI,OAAO,EAAE,2BAA2B,EAAE,CAAC"}
|
|
@@ -5,6 +5,8 @@ import { getToolGroup } from '../../../store/ToolGroupManager';
|
|
|
5
5
|
import { addOrUpdateVTKContourSets } from './vtkContour/addOrUpdateVTKContourSets';
|
|
6
6
|
import removeContourFromElement from './removeContourFromElement';
|
|
7
7
|
import { deleteConfigCache } from './vtkContour/contourConfigCache';
|
|
8
|
+
import { polySeg } from '../../../stateManagement/segmentation';
|
|
9
|
+
let polySegConversionInProgress = false;
|
|
8
10
|
function removeSegmentationRepresentation(toolGroupId, segmentationRepresentationUID, renderImmediate = false) {
|
|
9
11
|
_removeContourFromToolGroupViewports(toolGroupId, segmentationRepresentationUID);
|
|
10
12
|
SegmentationState.removeSegmentationRepresentation(toolGroupId, segmentationRepresentationUID);
|
|
@@ -23,12 +25,18 @@ async function render(viewport, representationConfig, toolGroupConfig) {
|
|
|
23
25
|
if (!segmentation) {
|
|
24
26
|
return;
|
|
25
27
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
28
|
+
let contourData = segmentation.representationData[Representations.Contour];
|
|
29
|
+
if (!contourData &&
|
|
30
|
+
polySeg.canComputeRequestedRepresentation(representationConfig.segmentationRepresentationUID) &&
|
|
31
|
+
!polySegConversionInProgress) {
|
|
32
|
+
polySegConversionInProgress = true;
|
|
33
|
+
contourData = await polySeg.computeAndAddContourRepresentation(segmentationId, {
|
|
34
|
+
segmentationRepresentationUID: representationConfig.segmentationRepresentationUID,
|
|
35
|
+
viewport,
|
|
36
|
+
});
|
|
30
37
|
}
|
|
31
|
-
|
|
38
|
+
const { geometryIds } = contourData;
|
|
39
|
+
if (!geometryIds?.length || !(viewport instanceof BaseVolumeViewport)) {
|
|
32
40
|
return;
|
|
33
41
|
}
|
|
34
42
|
addOrUpdateVTKContourSets(viewport, geometryIds, representationConfig, toolGroupConfig);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contourDisplay.js","sourceRoot":"","sources":["../../../../../src/tools/displayTools/Contour/contourDisplay.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,
|
|
1
|
+
{"version":3,"file":"contourDisplay.js","sourceRoot":"","sources":["../../../../../src/tools/displayTools/Contour/contourDisplay.ts"],"names":[],"mappings":"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"}
|
|
@@ -60,7 +60,7 @@ async function render(viewport, representation, toolGroupConfig) {
|
|
|
60
60
|
}
|
|
61
61
|
let labelmapData = segmentation.representationData[Representations.Labelmap];
|
|
62
62
|
let actorEntry = viewport.getActor(segmentationRepresentationUID);
|
|
63
|
-
if (!
|
|
63
|
+
if (!labelmapData &&
|
|
64
64
|
polySeg.canComputeRequestedRepresentation(segmentationRepresentationUID) &&
|
|
65
65
|
!polySegConversionInProgress) {
|
|
66
66
|
polySegConversionInProgress = true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"labelmapDisplay.js","sourceRoot":"","sources":["../../../../../src/tools/displayTools/Labelmap/labelmapDisplay.ts"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,MAAM,oDAAoD,CAAC;AACtF,OAAO,wBAAwB,MAAM,sDAAsD,CAAC;AAE5F,OAAO,EACL,KAAK,EACL,sBAAsB,EACtB,aAAa,EAEb,cAAc,GACf,MAAM,qBAAqB,CAAC;AAE7B,OAAO,eAAe,MAAM,4CAA4C,CAAC;AACzE,OAAO,KAAK,iBAAiB,MAAM,yDAAyD,CAAC;AAC7F,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAW/D,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAC1D,OAAO,yBAAyB,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sDAAsD,CAAC;AAC5F,OAAO,EAAE,OAAO,EAAE,MAAM,uCAAuC,CAAC;AAEhE,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAC9B,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAE,CAAC;AAEtC,SAAS,gCAAgC;IACvC,MAAM,IAAI,GAAG,wBAAwB,CAAC,WAAW,EAAE,CAAC;IACpD,MAAM,IAAI,GAAG,oBAAoB,CAAC,WAAW,EAAE,CAAC;IAChD,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACpB,OAAO;QACL,IAAI;QACJ,IAAI;KACL,CAAC;AACJ,CAAC;AAED,IAAI,2BAA2B,GAAG,KAAK,CAAC;AAUxC,SAAS,gCAAgC,CACvC,WAAmB,EACnB,6BAAqC,EACrC,eAAe,GAAG,KAAK;IAEvB,qCAAqC,CACnC,WAAW,EACX,6BAA6B,CAC9B,CAAC;IACF,iBAAiB,CAAC,gCAAgC,CAChD,WAAW,EACX,6BAA6B,CAC9B,CAAC;IAEF,IAAI,eAAe,EAAE;QACnB,MAAM,aAAa,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC,gBAAgB,EAAE,CAAC;QACnE,aAAa,CAAC,OAAO,CAAC,CAAC,EAAE,UAAU,EAAE,iBAAiB,EAAE,EAAE,EAAE;YAC1D,MAAM,cAAc,GAAG,sBAAsB,CAC3C,UAAU,EACV,iBAAiB,CAClB,CAAC;YACF,cAAc,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QACnC,CAAC,CAAC,CAAC;KACJ;AACH,CAAC;AASD,SAAS,sBAAsB,CAAC,QAAQ,EAAE,kBAAkB;IAI1D,IAAI,CAAC,kBAAkB,EAAE;QACvB,OAAO,IAAI,CAAC;KACb;IACD,MAAM,YAAY,GAAG,QAAQ,CAAC,eAAe,EAAE,CAAC;IAChD,IAAI,CAAC,YAAY,EAAE;QACjB,OAAO,KAAK,CAAC;KACd;IACD,MAAM,EAAE,GAAG,EAAE,eAAe,EAAE,GAAG,YAAY,CAAC;IAC9C,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;IAEhD,IAAI,MAAM,EAAE;QACV,MAAM,gBAAgB,GAAG,KAAK,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;QAC7D,IACE,gBAAgB;YAChB,MAAM,CAAC,QAAQ,CAAC,mBAAmB;gBACjC,gBAAgB,CAAC,QAAQ,CAAC,mBAAmB,EAC/C;YACA,OAAO,IAAI,CAAC;SACb;KACF;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AASD,KAAK,UAAU,MAAM,CACnB,QAAsD,EACtD,cAA+C,EAC/C,eAAiD;IAEjD,MAAM,EACJ,aAAa,EACb,MAAM,EACN,cAAc,EACd,6BAA6B,EAC7B,cAAc,EACd,MAAM,EAAE,eAAe,GACxB,GAAG,cAAc,CAAC;IAEnB,MAAM,YAAY,GAAG,iBAAiB,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;IAEvE,IAAI,CAAC,YAAY,EAAE;QACjB,OAAO,CAAC,IAAI,CAAC,4CAA4C,EAAE,cAAc,CAAC,CAAC;QAC3E,OAAO;KACR;IAED,IAAI,YAAY,GAAG,YAAY,CAAC,kBAAkB,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IAE7E,IAAI,UAAU,GAAG,QAAQ,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC;IAElE,IACE,CAAC,
|
|
1
|
+
{"version":3,"file":"labelmapDisplay.js","sourceRoot":"","sources":["../../../../../src/tools/displayTools/Labelmap/labelmapDisplay.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,10 @@ import { BaseTool } from '../base';
|
|
|
8
8
|
import { surfaceDisplay } from './Surface';
|
|
9
9
|
import { contourDisplay } from './Contour';
|
|
10
10
|
import { labelmapDisplay } from './Labelmap';
|
|
11
|
+
import SegmentationRepresentations from '../../enums/SegmentationRepresentations';
|
|
12
|
+
import { addTool, state } from '../../store';
|
|
13
|
+
import PlanarFreehandContourSegmentationTool from '../annotation/PlanarFreehandContourSegmentationTool';
|
|
14
|
+
const planarContourToolName = PlanarFreehandContourSegmentationTool.toolName;
|
|
11
15
|
class SegmentationDisplayTool extends BaseTool {
|
|
12
16
|
constructor(toolProps = {}, defaultToolProps = {
|
|
13
17
|
configuration: {},
|
|
@@ -37,6 +41,9 @@ class SegmentationDisplayTool extends BaseTool {
|
|
|
37
41
|
[Representations.Contour]: contourDisplay,
|
|
38
42
|
[Representations.Surface]: surfaceDisplay,
|
|
39
43
|
};
|
|
44
|
+
if (representation.type === SegmentationRepresentations.Contour) {
|
|
45
|
+
this.addPlanarFreeHandToolIfAbsent(toolGroupId);
|
|
46
|
+
}
|
|
40
47
|
const display = renderers[representation.type];
|
|
41
48
|
for (const viewport of toolGroupViewports) {
|
|
42
49
|
const renderedViewport = display.render(viewport, representation, config);
|
|
@@ -73,6 +80,16 @@ class SegmentationDisplayTool extends BaseTool {
|
|
|
73
80
|
setSegmentationVisibility(toolGroupId, segmentationRepresentation.segmentationRepresentationUID, false);
|
|
74
81
|
});
|
|
75
82
|
}
|
|
83
|
+
addPlanarFreeHandToolIfAbsent(toolGroupId) {
|
|
84
|
+
if (!(planarContourToolName in state.tools)) {
|
|
85
|
+
addTool(PlanarFreehandContourSegmentationTool);
|
|
86
|
+
}
|
|
87
|
+
const toolGroup = getToolGroup(toolGroupId);
|
|
88
|
+
if (!toolGroup.hasTool(planarContourToolName)) {
|
|
89
|
+
toolGroup.addTool(planarContourToolName);
|
|
90
|
+
toolGroup.setToolPassive(planarContourToolName);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
76
93
|
_getMergedRepresentationsConfig(toolGroupId) {
|
|
77
94
|
const toolGroupConfig = segmentationConfig.getToolGroupSpecificConfig(toolGroupId);
|
|
78
95
|
const globalConfig = segmentationConfig.getGlobalConfig();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SegmentationDisplayTool.js","sourceRoot":"","sources":["../../../../src/tools/displayTools/SegmentationDisplayTool.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EAEtB,SAAS,IAAI,OAAO,GACrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,eAAe,MAAM,yCAAyC,CAAC;AACtE,OAAO,EAAE,MAAM,IAAI,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAClF,OAAO,EAAE,yBAAyB,EAAE,MAAM,kEAAkE,CAAC;AAC7G,OAAO,EAAE,8BAA8B,EAAE,MAAM,sDAAsD,CAAC;AACtG,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE5D,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAMnC,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"SegmentationDisplayTool.js","sourceRoot":"","sources":["../../../../src/tools/displayTools/SegmentationDisplayTool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import { getEnabledElement
|
|
1
|
+
import { getEnabledElement } from '@cornerstonejs/core';
|
|
2
2
|
import vtkMapper from '@kitware/vtk.js/Rendering/Core/Mapper';
|
|
3
3
|
import vtkActor from '@kitware/vtk.js/Rendering/Core/Actor';
|
|
4
|
-
import vtkClipClosedSurface from '@kitware/vtk.js/Filters/General/ClipClosedSurface';
|
|
5
4
|
import vtkPolyData from '@kitware/vtk.js/Common/DataModel/PolyData';
|
|
6
5
|
import vtkCellArray from '@kitware/vtk.js/Common/Core/CellArray';
|
|
7
|
-
import {
|
|
6
|
+
import { getSurfaceActorUID } from '../../../stateManagement/segmentation/helpers/clipAndCacheSurfacesForViewport';
|
|
8
7
|
function addOrUpdateSurfaceToElement(element, surface, segmentationRepresentationUID) {
|
|
9
8
|
const actorUID = getSurfaceActorUID(segmentationRepresentationUID, surface.id);
|
|
10
9
|
const enabledElement = getEnabledElement(element);
|
|
@@ -45,37 +44,7 @@ function addOrUpdateSurfaceToElement(element, surface, segmentationRepresentatio
|
|
|
45
44
|
surfacePolyData.setPolys(triangles);
|
|
46
45
|
const mapper = vtkMapper.newInstance({});
|
|
47
46
|
let clippingFilter;
|
|
48
|
-
|
|
49
|
-
clippingFilter = vtkClipClosedSurface.newInstance({
|
|
50
|
-
clippingPlanes: [],
|
|
51
|
-
activePlaneId: 2,
|
|
52
|
-
passPointData: false,
|
|
53
|
-
});
|
|
54
|
-
clippingFilter.setInputData(surfacePolyData);
|
|
55
|
-
clippingFilter.setGenerateOutline(true);
|
|
56
|
-
clippingFilter.setGenerateFaces(false);
|
|
57
|
-
clippingFilter.update();
|
|
58
|
-
const filteredData = clippingFilter.getOutputData();
|
|
59
|
-
mapper.setInputData(filteredData);
|
|
60
|
-
const viewportPlanes = viewport.getClippingPlanesForActor?.();
|
|
61
|
-
const evt = {
|
|
62
|
-
detail: {
|
|
63
|
-
actorEntry: {
|
|
64
|
-
actor: {
|
|
65
|
-
getMapper: () => mapper,
|
|
66
|
-
},
|
|
67
|
-
clippingFilter,
|
|
68
|
-
uid: actorUID,
|
|
69
|
-
},
|
|
70
|
-
vtkPlanes: viewportPlanes,
|
|
71
|
-
},
|
|
72
|
-
};
|
|
73
|
-
updateSurfacePlanes(evt);
|
|
74
|
-
element.addEventListener(Enums.Events.CLIPPING_PLANES_UPDATED, updateSurfacePlanes);
|
|
75
|
-
}
|
|
76
|
-
else {
|
|
77
|
-
mapper.setInputData(surfacePolyData);
|
|
78
|
-
}
|
|
47
|
+
mapper.setInputData(surfacePolyData);
|
|
79
48
|
const actor = vtkActor.newInstance();
|
|
80
49
|
actor.setMapper(mapper);
|
|
81
50
|
actor.getProperty().setColor(color[0] / 255, color[1] / 255, color[2] / 255);
|
|
@@ -91,17 +60,5 @@ function addOrUpdateSurfaceToElement(element, surface, segmentationRepresentatio
|
|
|
91
60
|
viewport.getRenderer().resetCameraClippingRange();
|
|
92
61
|
}, 0);
|
|
93
62
|
}
|
|
94
|
-
function updateSurfacePlanes(evt) {
|
|
95
|
-
const { actorEntry, vtkPlanes, viewport } = evt.detail;
|
|
96
|
-
if (!actorEntry?.clippingFilter || vtkPlanes.length === 0) {
|
|
97
|
-
return;
|
|
98
|
-
}
|
|
99
|
-
const sliceIndex = viewport.getSliceIndex();
|
|
100
|
-
const mapper = actorEntry.actor.getMapper();
|
|
101
|
-
const { viewPlaneNormal } = viewport.getCamera();
|
|
102
|
-
const cacheId = generateCacheId(viewport, viewPlaneNormal, sliceIndex);
|
|
103
|
-
const polyData = getOrCreatePolyData(actorEntry, cacheId, vtkPlanes);
|
|
104
|
-
mapper.setInputData(polyData);
|
|
105
|
-
}
|
|
106
63
|
export default addOrUpdateSurfaceToElement;
|
|
107
64
|
//# sourceMappingURL=addOrUpdateSurfaceToElement.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addOrUpdateSurfaceToElement.js","sourceRoot":"","sources":["../../../../../src/tools/displayTools/Surface/addOrUpdateSurfaceToElement.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"addOrUpdateSurfaceToElement.js","sourceRoot":"","sources":["../../../../../src/tools/displayTools/Surface/addOrUpdateSurfaceToElement.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,24 +1,10 @@
|
|
|
1
|
-
import
|
|
2
|
-
import vtkCellArray from '@kitware/vtk.js/Common/Core/CellArray';
|
|
3
|
-
import { cache, getEnabledElementByIds, Enums, getWebWorkerManager, eventTarget, triggerEvent, utilities, VolumeViewport3D, } from '@cornerstonejs/core';
|
|
1
|
+
import { cache, getEnabledElementByIds, VolumeViewport3D, } from '@cornerstonejs/core';
|
|
4
2
|
import * as SegmentationState from '../../../stateManagement/segmentation/segmentationState';
|
|
5
3
|
import Representations from '../../../enums/SegmentationRepresentations';
|
|
6
4
|
import { getToolGroup } from '../../../store/ToolGroupManager';
|
|
7
|
-
import { registerDisplayToolsWorker } from '../registerDisplayToolsWorker';
|
|
8
5
|
import removeSurfaceFromElement from './removeSurfaceFromElement';
|
|
9
6
|
import addOrUpdateSurfaceToElement from './addOrUpdateSurfaceToElement';
|
|
10
7
|
import { polySeg } from '../../../stateManagement/segmentation';
|
|
11
|
-
import { pointToString } from '../../../utilities';
|
|
12
|
-
import { WorkerTypes } from '../../../enums';
|
|
13
|
-
const workerManager = getWebWorkerManager();
|
|
14
|
-
const polyDataCache = new Map();
|
|
15
|
-
const currentViewportNormal = new Map();
|
|
16
|
-
const triggerWorkerProgress = (eventTarget, progress) => {
|
|
17
|
-
triggerEvent(eventTarget, Enums.Events.WEB_WORKER_PROGRESS, {
|
|
18
|
-
progress,
|
|
19
|
-
type: WorkerTypes.DISPLAY_TOOL_CLIP_SURFACE,
|
|
20
|
-
});
|
|
21
|
-
};
|
|
22
8
|
function removeSegmentationRepresentation(toolGroupId, segmentationRepresentationUID, renderImmediate = false) {
|
|
23
9
|
_removeSurfaceFromToolGroupViewports(toolGroupId, segmentationRepresentationUID);
|
|
24
10
|
SegmentationState.removeSegmentationRepresentation(toolGroupId, segmentationRepresentationUID);
|
|
@@ -30,12 +16,15 @@ function removeSegmentationRepresentation(toolGroupId, segmentationRepresentatio
|
|
|
30
16
|
});
|
|
31
17
|
}
|
|
32
18
|
}
|
|
33
|
-
async function render(viewport, representation
|
|
34
|
-
const { colorLUTIndex,
|
|
19
|
+
async function render(viewport, representation) {
|
|
20
|
+
const { colorLUTIndex, segmentationId, segmentationRepresentationUID } = representation;
|
|
35
21
|
const segmentation = SegmentationState.getSegmentation(segmentationId);
|
|
36
22
|
if (!segmentation) {
|
|
37
23
|
return;
|
|
38
24
|
}
|
|
25
|
+
if (!(viewport instanceof VolumeViewport3D)) {
|
|
26
|
+
throw new Error('Surface rendering is only supported in 3D viewports, if you need to visualize the surface cuts in 2D viewports, you can use the Contour representation, see polySeg converters');
|
|
27
|
+
}
|
|
39
28
|
let SurfaceData = segmentation.representationData[Representations.Surface];
|
|
40
29
|
if (!SurfaceData &&
|
|
41
30
|
polySeg.canComputeRequestedRepresentation(segmentationRepresentationUID)) {
|
|
@@ -54,13 +43,7 @@ async function render(viewport, representation, toolGroupConfig) {
|
|
|
54
43
|
const surfaces = [];
|
|
55
44
|
geometryIds.forEach((geometryId, segmentIndex) => {
|
|
56
45
|
const geometry = cache.getGeometry(geometryId);
|
|
57
|
-
if (!geometry) {
|
|
58
|
-
throw new Error(`No Surfaces found for geometryId ${geometryId}`);
|
|
59
|
-
}
|
|
60
|
-
if (geometry.type !== Enums.GeometryType.SURFACE) {
|
|
61
|
-
throw new Error(`Geometry type ${geometry.type} not supported for rendering.`);
|
|
62
|
-
}
|
|
63
|
-
if (!geometry.data) {
|
|
46
|
+
if (!geometry?.data) {
|
|
64
47
|
console.warn(`No Surfaces found for geometryId ${geometryId}. Skipping render.`);
|
|
65
48
|
return;
|
|
66
49
|
}
|
|
@@ -70,9 +53,6 @@ async function render(viewport, representation, toolGroupConfig) {
|
|
|
70
53
|
addOrUpdateSurfaceToElement(viewport.element, surface, segmentationRepresentationUID);
|
|
71
54
|
surfaces.push(surface);
|
|
72
55
|
});
|
|
73
|
-
if (!(viewport instanceof VolumeViewport3D)) {
|
|
74
|
-
generateAndCacheClippedSurfaces(surfaces, viewport, segmentationRepresentationUID);
|
|
75
|
-
}
|
|
76
56
|
viewport.render();
|
|
77
57
|
}
|
|
78
58
|
function _removeSurfaceFromToolGroupViewports(toolGroupId, segmentationRepresentationUID) {
|
|
@@ -87,120 +67,9 @@ function _removeSurfaceFromToolGroupViewports(toolGroupId, segmentationRepresent
|
|
|
87
67
|
removeSurfaceFromElement(enabledElement.viewport.element, segmentationRepresentationUID);
|
|
88
68
|
}
|
|
89
69
|
}
|
|
90
|
-
async function generateAndCacheClippedSurfaces(surfaces, viewport, segmentationRepresentationUID) {
|
|
91
|
-
registerDisplayToolsWorker();
|
|
92
|
-
const planesInfo = viewport.getSlicesClippingPlanes?.();
|
|
93
|
-
if (!planesInfo) {
|
|
94
|
-
return;
|
|
95
|
-
}
|
|
96
|
-
const currentSliceIndex = viewport.getSliceIndex();
|
|
97
|
-
planesInfo.sort((a, b) => {
|
|
98
|
-
const diffA = Math.abs(a.sliceIndex - currentSliceIndex);
|
|
99
|
-
const diffB = Math.abs(b.sliceIndex - currentSliceIndex);
|
|
100
|
-
return diffA - diffB;
|
|
101
|
-
});
|
|
102
|
-
const pointsAndPolys = surfaces.map((surface) => {
|
|
103
|
-
const id = surface.id;
|
|
104
|
-
const points = surface.getPoints();
|
|
105
|
-
const polys = surface.getPolys();
|
|
106
|
-
return { id, points, polys };
|
|
107
|
-
});
|
|
108
|
-
const camera = viewport.getCamera();
|
|
109
|
-
function cameraModifiedCallback(evt) {
|
|
110
|
-
const { camera } = evt.detail;
|
|
111
|
-
const { viewPlaneNormal } = camera;
|
|
112
|
-
const surface1 = surfaces[0];
|
|
113
|
-
if (utilities.isEqual(viewPlaneNormal, currentViewportNormal.get(surface1.id))) {
|
|
114
|
-
return;
|
|
115
|
-
}
|
|
116
|
-
currentViewportNormal.set(surface1.id, viewPlaneNormal);
|
|
117
|
-
workerManager.terminate('displayTools');
|
|
118
|
-
setTimeout(() => {
|
|
119
|
-
generateAndCacheClippedSurfaces(surfaces, viewport, segmentationRepresentationUID);
|
|
120
|
-
}, 0);
|
|
121
|
-
viewport.render();
|
|
122
|
-
}
|
|
123
|
-
viewport.element.removeEventListener(Enums.Events.CAMERA_MODIFIED, cameraModifiedCallback);
|
|
124
|
-
viewport.element.addEventListener(Enums.Events.CAMERA_MODIFIED, cameraModifiedCallback);
|
|
125
|
-
triggerWorkerProgress(eventTarget, 0);
|
|
126
|
-
await workerManager
|
|
127
|
-
.executeTask('displayTools', 'clipSurfaceWithPlanes', {
|
|
128
|
-
planesInfo,
|
|
129
|
-
pointsAndPolys,
|
|
130
|
-
}, {
|
|
131
|
-
callbacks: [
|
|
132
|
-
({ progress }) => {
|
|
133
|
-
triggerWorkerProgress(eventTarget, progress);
|
|
134
|
-
},
|
|
135
|
-
({ sliceIndex, polyDataResults }) => {
|
|
136
|
-
polyDataResults.forEach((polyDataResult, surfaceId) => {
|
|
137
|
-
const actorUID = `${segmentationRepresentationUID}_${surfaceId}`;
|
|
138
|
-
const cacheId = generateCacheId(viewport, camera.viewPlaneNormal, sliceIndex);
|
|
139
|
-
updatePolyDataCache(actorUID, cacheId, polyDataResult);
|
|
140
|
-
});
|
|
141
|
-
},
|
|
142
|
-
],
|
|
143
|
-
})
|
|
144
|
-
.catch((error) => {
|
|
145
|
-
console.error(error);
|
|
146
|
-
});
|
|
147
|
-
triggerWorkerProgress(eventTarget, 100);
|
|
148
|
-
}
|
|
149
|
-
export function getSurfaceActorUID(segmentationRepresentationUID, surfaceId) {
|
|
150
|
-
return `${segmentationRepresentationUID}_${surfaceId}`;
|
|
151
|
-
}
|
|
152
|
-
export function generateCacheId(viewport, viewPlaneNormal, sliceIndex) {
|
|
153
|
-
return `${viewport.id}-${pointToString(viewPlaneNormal)}-${sliceIndex}`;
|
|
154
|
-
}
|
|
155
|
-
export function getOrCreatePolyData(actorEntry, cacheId, vtkPlanes) {
|
|
156
|
-
let actorCache = polyDataCache.get(actorEntry.uid);
|
|
157
|
-
if (!actorCache) {
|
|
158
|
-
actorCache = new Map();
|
|
159
|
-
polyDataCache.set(actorEntry.uid, actorCache);
|
|
160
|
-
}
|
|
161
|
-
let polyData = actorCache.get(cacheId);
|
|
162
|
-
if (!polyData) {
|
|
163
|
-
const clippingFilter = actorEntry.clippingFilter;
|
|
164
|
-
clippingFilter.setClippingPlanes(vtkPlanes);
|
|
165
|
-
try {
|
|
166
|
-
clippingFilter.update();
|
|
167
|
-
polyData = clippingFilter.getOutputData();
|
|
168
|
-
actorCache.set(cacheId, polyData);
|
|
169
|
-
}
|
|
170
|
-
catch (e) {
|
|
171
|
-
console.error('Error clipping surface', e);
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
return polyData;
|
|
175
|
-
}
|
|
176
|
-
export function updatePolyDataCache(actorUID, cacheId, polyDataResult) {
|
|
177
|
-
const { points, lines } = polyDataResult;
|
|
178
|
-
const polyData = vtkPolyData.newInstance();
|
|
179
|
-
polyData.getPoints().setData(points, 3);
|
|
180
|
-
const linesArray = vtkCellArray.newInstance({
|
|
181
|
-
values: Int16Array.from(lines),
|
|
182
|
-
});
|
|
183
|
-
polyData.setLines(linesArray);
|
|
184
|
-
let actorCache = polyDataCache.get(actorUID);
|
|
185
|
-
if (!actorCache) {
|
|
186
|
-
actorCache = new Map();
|
|
187
|
-
polyDataCache.set(actorUID, actorCache);
|
|
188
|
-
}
|
|
189
|
-
actorCache.set(cacheId, polyData);
|
|
190
|
-
}
|
|
191
|
-
export function getSortedPlanesInfo(viewport) {
|
|
192
|
-
const planesInfo = viewport.getSlicesClippingPlanes?.();
|
|
193
|
-
const currentSliceIndex = viewport.getSliceIndex();
|
|
194
|
-
planesInfo.sort((a, b) => {
|
|
195
|
-
const diffA = Math.abs(a.sliceIndex - currentSliceIndex);
|
|
196
|
-
const diffB = Math.abs(b.sliceIndex - currentSliceIndex);
|
|
197
|
-
return diffA - diffB;
|
|
198
|
-
});
|
|
199
|
-
return planesInfo;
|
|
200
|
-
}
|
|
201
70
|
export default {
|
|
202
71
|
render,
|
|
203
72
|
removeSegmentationRepresentation,
|
|
204
73
|
};
|
|
205
|
-
export { render, removeSegmentationRepresentation
|
|
74
|
+
export { render, removeSegmentationRepresentation };
|
|
206
75
|
//# sourceMappingURL=surfaceDisplay.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"surfaceDisplay.js","sourceRoot":"","sources":["../../../../../src/tools/displayTools/Surface/surfaceDisplay.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"surfaceDisplay.js","sourceRoot":"","sources":["../../../../../src/tools/displayTools/Surface/surfaceDisplay.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,12 +5,15 @@ export function addContourSegmentationAnnotation(annotation) {
|
|
|
5
5
|
}
|
|
6
6
|
const { segmentationId, segmentIndex } = annotation.data.segmentation;
|
|
7
7
|
const segmentation = getSegmentation(segmentationId);
|
|
8
|
+
if (!segmentation.representationData.CONTOUR) {
|
|
9
|
+
segmentation.representationData.CONTOUR = { annotationUIDsMap: new Map() };
|
|
10
|
+
}
|
|
8
11
|
const { annotationUIDsMap } = segmentation.representationData.CONTOUR;
|
|
9
12
|
let annotationsUIDsSet = annotationUIDsMap.get(segmentIndex);
|
|
10
13
|
if (!annotationsUIDsSet) {
|
|
11
14
|
annotationsUIDsSet = new Set();
|
|
12
15
|
annotationUIDsMap.set(segmentIndex, annotationsUIDsSet);
|
|
13
16
|
}
|
|
14
|
-
annotationsUIDsSet.add(annotation.annotationUID);
|
|
17
|
+
annotationUIDsMap.set(segmentIndex, annotationsUIDsSet.add(annotation.annotationUID));
|
|
15
18
|
}
|
|
16
19
|
//# sourceMappingURL=addContourSegmentationAnnotation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addContourSegmentationAnnotation.js","sourceRoot":"","sources":["../../../../src/utilities/contourSegmentation/addContourSegmentationAnnotation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sDAAsD,CAAC;AAOvF,MAAM,UAAU,gCAAgC,CAC9C,UAAyC;IAEzC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,EAAE;QACjC,MAAM,IAAI,KAAK,CACb,gFAAgF,CACjF,CAAC;KACH;IAED,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;IACtE,MAAM,YAAY,GAAG,eAAe,CAAC,cAAc,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"addContourSegmentationAnnotation.js","sourceRoot":"","sources":["../../../../src/utilities/contourSegmentation/addContourSegmentationAnnotation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sDAAsD,CAAC;AAOvF,MAAM,UAAU,gCAAgC,CAC9C,UAAyC;IAEzC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,EAAE;QACjC,MAAM,IAAI,KAAK,CACb,gFAAgF,CACjF,CAAC;KACH;IAED,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;IACtE,MAAM,YAAY,GAAG,eAAe,CAAC,cAAc,CAAC,CAAC;IAErD,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,OAAO,EAAE;QAC5C,YAAY,CAAC,kBAAkB,CAAC,OAAO,GAAG,EAAE,iBAAiB,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC;KAC5E;IAED,MAAM,EAAE,iBAAiB,EAAE,GAAG,YAAY,CAAC,kBAAkB,CAAC,OAAO,CAAC;IAEtE,IAAI,kBAAkB,GAAG,iBAAiB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAE7D,IAAI,CAAC,kBAAkB,EAAE;QACvB,kBAAkB,GAAG,IAAI,GAAG,EAAE,CAAC;QAC/B,iBAAiB,CAAC,GAAG,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;KACzD;IAED,iBAAiB,CAAC,GAAG,CACnB,YAAY,EACZ,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,aAAa,CAAC,CACjD,CAAC;AACJ,CAAC"}
|
|
@@ -7,6 +7,9 @@ export function removeContourSegmentationAnnotation(annotation) {
|
|
|
7
7
|
const segmentation = state.getSegmentation(segmentationId);
|
|
8
8
|
const { annotationUIDsMap } = segmentation.representationData.CONTOUR;
|
|
9
9
|
const annotationsUIDsSet = annotationUIDsMap.get(segmentIndex);
|
|
10
|
+
if (!annotationsUIDsSet) {
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
10
13
|
annotationsUIDsSet.delete(annotation.annotationUID);
|
|
11
14
|
if (!annotationsUIDsSet.size) {
|
|
12
15
|
annotationUIDsMap.delete(segmentIndex);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"removeContourSegmentationAnnotation.js","sourceRoot":"","sources":["../../../../src/utilities/contourSegmentation/removeContourSegmentationAnnotation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oCAAoC,CAAC;AAS3D,MAAM,UAAU,mCAAmC,CACjD,UAAyC;IAEzC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,EAAE;QACjC,MAAM,IAAI,KAAK,CACb,mFAAmF,CACpF,CAAC;KACH;IAED,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;IACtE,MAAM,YAAY,GAAG,KAAK,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;IAC3D,MAAM,EAAE,iBAAiB,EAAE,GAAG,YAAY,CAAC,kBAAkB,CAAC,OAAO,CAAC;IACtE,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAE/D,kBAAkB,CAAC,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IAGpD,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE;QAC5B,iBAAiB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;KACxC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"removeContourSegmentationAnnotation.js","sourceRoot":"","sources":["../../../../src/utilities/contourSegmentation/removeContourSegmentationAnnotation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oCAAoC,CAAC;AAS3D,MAAM,UAAU,mCAAmC,CACjD,UAAyC;IAEzC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,EAAE;QACjC,MAAM,IAAI,KAAK,CACb,mFAAmF,CACpF,CAAC;KACH;IAED,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;IACtE,MAAM,YAAY,GAAG,KAAK,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;IAC3D,MAAM,EAAE,iBAAiB,EAAE,GAAG,YAAY,CAAC,kBAAkB,CAAC,OAAO,CAAC;IACtE,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAE/D,IAAI,CAAC,kBAAkB,EAAE;QACvB,OAAO;KACR;IAED,kBAAkB,CAAC,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IAGpD,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE;QAC5B,iBAAiB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;KACxC;AACH,CAAC"}
|
|
@@ -1,15 +1,41 @@
|
|
|
1
|
-
export default function getAABB(polyline) {
|
|
1
|
+
export default function getAABB(polyline, options) {
|
|
2
|
+
let polylineToUse = polyline;
|
|
3
|
+
const numDimensions = options?.numDimensions || 2;
|
|
4
|
+
const is3D = numDimensions === 3;
|
|
5
|
+
if (!Array.isArray(polyline[0])) {
|
|
6
|
+
const currentPolyline = polyline;
|
|
7
|
+
const totalPoints = currentPolyline.length / numDimensions;
|
|
8
|
+
polylineToUse = new Array(currentPolyline.length / numDimensions);
|
|
9
|
+
for (let i = 0, len = totalPoints; i < len; i++) {
|
|
10
|
+
polylineToUse[i] = [
|
|
11
|
+
currentPolyline[i * numDimensions],
|
|
12
|
+
currentPolyline[i * numDimensions + 1],
|
|
13
|
+
];
|
|
14
|
+
if (is3D) {
|
|
15
|
+
polylineToUse[i].push(currentPolyline[i * numDimensions + 2]);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
2
19
|
let minX = Infinity;
|
|
3
20
|
let minY = Infinity;
|
|
4
21
|
let maxX = -Infinity;
|
|
5
22
|
let maxY = -Infinity;
|
|
6
|
-
|
|
7
|
-
|
|
23
|
+
let minZ = Infinity;
|
|
24
|
+
let maxZ = -Infinity;
|
|
25
|
+
polylineToUse = polylineToUse;
|
|
26
|
+
for (let i = 0, len = polylineToUse.length; i < len; i++) {
|
|
27
|
+
const [x, y, z] = polylineToUse[i];
|
|
8
28
|
minX = minX < x ? minX : x;
|
|
9
29
|
minY = minY < y ? minY : y;
|
|
10
30
|
maxX = maxX > x ? maxX : x;
|
|
11
31
|
maxY = maxY > y ? maxY : y;
|
|
32
|
+
if (is3D) {
|
|
33
|
+
minZ = minZ < z ? minZ : z;
|
|
34
|
+
maxZ = maxZ > z ? maxZ : z;
|
|
35
|
+
}
|
|
12
36
|
}
|
|
13
|
-
return
|
|
37
|
+
return is3D
|
|
38
|
+
? { minX, maxX, minY, maxY, minZ, maxZ }
|
|
39
|
+
: { minX, maxX, minY, maxY };
|
|
14
40
|
}
|
|
15
41
|
//# sourceMappingURL=getAABB.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getAABB.js","sourceRoot":"","sources":["../../../../../src/utilities/math/polyline/getAABB.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getAABB.js","sourceRoot":"","sources":["../../../../../src/utilities/math/polyline/getAABB.ts"],"names":[],"mappings":"AAWA,MAAM,CAAC,OAAO,UAAU,OAAO,CAC7B,QAAoD,EACpD,OAEC;IAID,IAAI,aAAa,GAAG,QAAQ,CAAC;IAC7B,MAAM,aAAa,GAAG,OAAO,EAAE,aAAa,IAAI,CAAC,CAAC;IAClD,MAAM,IAAI,GAAG,aAAa,KAAK,CAAC,CAAC;IAEjC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE;QAC/B,MAAM,eAAe,GAAG,QAAoB,CAAC;QAI7C,MAAM,WAAW,GAAG,eAAe,CAAC,MAAM,GAAG,aAAa,CAAC;QAE3D,aAAa,GAAG,IAAI,KAAK,CAAC,eAAe,CAAC,MAAM,GAAG,aAAa,CAE9C,CAAC;QAEnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,WAAW,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;YAC/C,aAAa,CAAC,CAAC,CAAC,GAAG;gBACjB,eAAe,CAAC,CAAC,GAAG,aAAa,CAAC;gBAClC,eAAe,CAAC,CAAC,GAAG,aAAa,GAAG,CAAC,CAAC;aACvC,CAAC;YAEF,IAAI,IAAI,EAAE;gBACR,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,GAAG,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC;aAC/D;SACF;KACF;IAED,IAAI,IAAI,GAAG,QAAQ,CAAC;IACpB,IAAI,IAAI,GAAG,QAAQ,CAAC;IACpB,IAAI,IAAI,GAAG,CAAC,QAAQ,CAAC;IACrB,IAAI,IAAI,GAAG,CAAC,QAAQ,CAAC;IACrB,IAAI,IAAI,GAAG,QAAQ,CAAC;IACpB,IAAI,IAAI,GAAG,CAAC,QAAQ,CAAC;IAErB,aAAa,GAAG,aAAgD,CAAC;IAEjE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;QACxD,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QAGnC,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3B,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3B,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3B,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAE3B,IAAI,IAAI,EAAE;YACR,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3B,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;SAC5B;KACF;IAED,OAAO,IAAI;QACT,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;QACxC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACjC,CAAC"}
|
|
@@ -2,11 +2,13 @@ import filterAnnotationsWithinSlice from './filterAnnotationsWithinSlice';
|
|
|
2
2
|
import getWorldWidthAndHeightFromCorners from './getWorldWidthAndHeightFromCorners';
|
|
3
3
|
import filterAnnotationsForDisplay from './filterAnnotationsForDisplay';
|
|
4
4
|
import getPointInLineOfSightWithCriteria from './getPointInLineOfSightWithCriteria';
|
|
5
|
+
import { isPlaneIntersectingAABB } from './isPlaneIntersectingAABB';
|
|
5
6
|
export default {
|
|
6
7
|
filterAnnotationsWithinSlice,
|
|
7
8
|
getWorldWidthAndHeightFromCorners,
|
|
8
9
|
filterAnnotationsForDisplay,
|
|
9
10
|
getPointInLineOfSightWithCriteria,
|
|
11
|
+
isPlaneIntersectingAABB,
|
|
10
12
|
};
|
|
11
|
-
export { filterAnnotationsWithinSlice, getWorldWidthAndHeightFromCorners, filterAnnotationsForDisplay, getPointInLineOfSightWithCriteria, };
|
|
13
|
+
export { filterAnnotationsWithinSlice, getWorldWidthAndHeightFromCorners, filterAnnotationsForDisplay, getPointInLineOfSightWithCriteria, isPlaneIntersectingAABB, };
|
|
12
14
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utilities/planar/index.ts"],"names":[],"mappings":"AAAA,OAAO,4BAA4B,MAAM,gCAAgC,CAAC;AAC1E,OAAO,iCAAiC,MAAM,qCAAqC,CAAC;AACpF,OAAO,2BAA2B,MAAM,+BAA+B,CAAC;AACxE,OAAO,iCAAiC,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utilities/planar/index.ts"],"names":[],"mappings":"AAAA,OAAO,4BAA4B,MAAM,gCAAgC,CAAC;AAC1E,OAAO,iCAAiC,MAAM,qCAAqC,CAAC;AACpF,OAAO,2BAA2B,MAAM,+BAA+B,CAAC;AACxE,OAAO,iCAAiC,MAAM,qCAAqC,CAAC;AACpF,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,eAAe;IACb,4BAA4B;IAC5B,iCAAiC;IACjC,2BAA2B;IAC3B,iCAAiC;IACjC,uBAAuB;CACxB,CAAC;AAEF,OAAO,EACL,4BAA4B,EAC5B,iCAAiC,EACjC,2BAA2B,EAC3B,iCAAiC,EACjC,uBAAuB,GACxB,CAAC"}
|