@cornerstonejs/tools 2.0.0-beta.26 → 2.0.0-beta.28
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/esm/eventListeners/index.d.ts +2 -2
- package/dist/esm/eventListeners/index.js +2 -2
- package/dist/esm/eventListeners/mouse/mouseDownListener.js +8 -0
- package/dist/esm/eventListeners/segmentation/imageChangeEventListener.js +18 -12
- package/dist/esm/eventListeners/segmentation/index.d.ts +1 -3
- package/dist/esm/eventListeners/segmentation/index.js +1 -3
- package/dist/esm/eventListeners/segmentation/labelmap/onLabelmapSegmentationDataModified.js +13 -10
- package/dist/esm/eventListeners/segmentation/segmentationDataModifiedEventListener.js +2 -3
- package/dist/esm/index.d.ts +2 -2
- package/dist/esm/index.js +2 -2
- package/dist/esm/init.js +1 -5
- package/dist/esm/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.d.ts +2 -0
- package/dist/esm/stateManagement/annotation/FrameOfReferenceSpecificAnnotationManager.js +6 -5
- package/dist/esm/stateManagement/annotation/annotationState.js +11 -2
- package/dist/esm/stateManagement/index.d.ts +1 -4
- package/dist/esm/stateManagement/index.js +1 -3
- package/dist/esm/stateManagement/segmentation/SegmentationRenderingEngine.js +9 -6
- package/dist/esm/stateManagement/segmentation/SegmentationStateManager.d.ts +43 -25
- package/dist/esm/stateManagement/segmentation/SegmentationStateManager.js +207 -162
- package/dist/esm/stateManagement/segmentation/SegmentationStyle.d.ts +42 -0
- package/dist/esm/stateManagement/segmentation/SegmentationStyle.js +162 -0
- package/dist/esm/stateManagement/segmentation/activeSegmentation.d.ts +4 -5
- package/dist/esm/stateManagement/segmentation/activeSegmentation.js +10 -14
- package/dist/esm/stateManagement/segmentation/addColorLUT.d.ts +2 -2
- package/dist/esm/stateManagement/segmentation/addColorLUT.js +15 -1
- package/dist/esm/stateManagement/segmentation/addSegmentationRepresentationsToViewport.d.ts +15 -0
- package/dist/esm/stateManagement/segmentation/addSegmentationRepresentationsToViewport.js +49 -0
- package/dist/esm/stateManagement/segmentation/addSegmentations.d.ts +1 -1
- package/dist/esm/stateManagement/segmentation/addSegmentations.js +11 -7
- package/dist/esm/stateManagement/segmentation/config/index.d.ts +2 -2
- package/dist/esm/stateManagement/segmentation/config/index.js +2 -2
- package/dist/esm/stateManagement/segmentation/config/segmentationColor.d.ts +4 -4
- package/dist/esm/stateManagement/segmentation/config/segmentationColor.js +24 -24
- package/dist/esm/stateManagement/segmentation/config/segmentationVisibility.d.ts +22 -7
- package/dist/esm/stateManagement/segmentation/config/segmentationVisibility.js +29 -29
- package/dist/esm/stateManagement/segmentation/config/styleHelpers.d.ts +39 -0
- package/dist/esm/stateManagement/segmentation/config/styleHelpers.js +48 -0
- package/dist/esm/stateManagement/segmentation/getActiveSegmentation.d.ts +2 -0
- package/dist/esm/stateManagement/segmentation/{getGlobalConfig.js → getActiveSegmentation.js} +2 -2
- package/dist/esm/stateManagement/segmentation/getCurrentLabelmapImageIdForViewport.d.ts +1 -1
- package/dist/esm/stateManagement/segmentation/getGlobalStyle.d.ts +3 -0
- package/dist/esm/stateManagement/segmentation/getGlobalStyle.js +4 -0
- package/dist/esm/stateManagement/segmentation/getSegmentationRepresentation.d.ts +9 -1
- package/dist/esm/stateManagement/segmentation/getSegmentationRepresentation.js +10 -2
- package/dist/esm/stateManagement/segmentation/getSegmentationRepresentationVisibility.d.ts +5 -1
- package/dist/esm/stateManagement/segmentation/getSegmentationRepresentationVisibility.js +2 -2
- package/dist/esm/stateManagement/segmentation/getViewportIdsWithSegmentation.js +5 -5
- package/dist/esm/stateManagement/segmentation/getViewportSegmentations.d.ts +3 -0
- package/dist/esm/stateManagement/segmentation/getViewportSegmentations.js +15 -0
- package/dist/esm/stateManagement/segmentation/helpers/clearSegmentValue.d.ts +1 -0
- package/dist/esm/stateManagement/segmentation/helpers/clearSegmentValue.js +31 -0
- package/dist/esm/stateManagement/segmentation/helpers/clipAndCacheSurfacesForViewport.d.ts +1 -2
- package/dist/esm/stateManagement/segmentation/helpers/clipAndCacheSurfacesForViewport.js +4 -6
- package/dist/esm/stateManagement/segmentation/{convertVolumeToStackSegmentation.d.ts → helpers/computeStackLabelmapFromVolume.d.ts} +2 -2
- package/dist/esm/stateManagement/segmentation/{convertVolumeToStackSegmentation.js → helpers/computeStackLabelmapFromVolume.js} +8 -5
- package/dist/esm/stateManagement/segmentation/helpers/computeVolumeLabelmapFromStack.d.ts +3 -0
- package/dist/esm/stateManagement/segmentation/helpers/computeVolumeLabelmapFromStack.js +4 -0
- package/dist/esm/stateManagement/segmentation/helpers/convertStackToVolumeLabelmap.d.ts +1 -0
- package/dist/esm/stateManagement/segmentation/helpers/convertStackToVolumeLabelmap.js +7 -0
- package/dist/esm/stateManagement/segmentation/helpers/getSegmentationActor.d.ts +8 -0
- package/dist/esm/stateManagement/segmentation/helpers/getSegmentationActor.js +27 -0
- package/dist/esm/stateManagement/segmentation/helpers/index.d.ts +2 -1
- package/dist/esm/stateManagement/segmentation/helpers/index.js +2 -1
- package/dist/esm/stateManagement/segmentation/helpers/normalizeSegmentationInput.js +4 -6
- package/dist/esm/stateManagement/segmentation/helpers/updateStackSegmentationState.js +1 -1
- package/dist/esm/stateManagement/segmentation/index.d.ts +14 -7
- package/dist/esm/stateManagement/segmentation/index.js +14 -7
- package/dist/esm/stateManagement/segmentation/{addRepresentationData.d.ts → internalAddRepresentationData.d.ts} +2 -2
- package/dist/esm/stateManagement/segmentation/{addRepresentationData.js → internalAddRepresentationData.js} +5 -2
- package/dist/esm/stateManagement/segmentation/internalAddSegmentationRepresentation.d.ts +1 -1
- package/dist/esm/stateManagement/segmentation/internalAddSegmentationRepresentation.js +18 -58
- package/dist/esm/stateManagement/segmentation/polySeg/Contour/contourComputationStrategies.js +9 -10
- package/dist/esm/stateManagement/segmentation/polySeg/Contour/utils/extractContourData.js +8 -5
- package/dist/esm/stateManagement/segmentation/polySeg/Labelmap/computeAndAddLabelmapRepresentation.js +9 -2
- package/dist/esm/stateManagement/segmentation/polySeg/Labelmap/convertContourToLabelmap.js +2 -2
- package/dist/esm/stateManagement/segmentation/polySeg/Labelmap/labelmapComputationStrategies.js +4 -6
- package/dist/esm/stateManagement/segmentation/polySeg/Surface/convertLabelmapToSurface.d.ts +1 -1
- package/dist/esm/stateManagement/segmentation/polySeg/Surface/convertLabelmapToSurface.js +4 -4
- package/dist/esm/stateManagement/segmentation/polySeg/Surface/createAndCacheSurfacesFromRaw.js +1 -7
- package/dist/esm/stateManagement/segmentation/polySeg/Surface/surfaceComputationStrategies.js +1 -3
- package/dist/esm/stateManagement/segmentation/polySeg/Surface/updateSurfaceData.js +9 -8
- package/dist/esm/stateManagement/segmentation/polySeg/canComputeRequestedRepresentation.d.ts +2 -1
- package/dist/esm/stateManagement/segmentation/polySeg/canComputeRequestedRepresentation.js +3 -9
- package/dist/esm/stateManagement/segmentation/polySeg/computeAndAddRepresentation.d.ts +1 -1
- package/dist/esm/stateManagement/segmentation/polySeg/computeAndAddRepresentation.js +7 -5
- package/dist/esm/stateManagement/segmentation/removeSegmentationRepresentations.d.ts +14 -2
- package/dist/esm/stateManagement/segmentation/removeSegmentationRepresentations.js +69 -19
- package/dist/esm/stateManagement/segmentation/segmentationState.d.ts +6 -18
- package/dist/esm/stateManagement/segmentation/segmentationState.js +9 -18
- package/dist/esm/stateManagement/segmentation/setActiveSegmentation.d.ts +1 -0
- package/dist/esm/stateManagement/segmentation/setActiveSegmentation.js +5 -0
- package/dist/esm/stateManagement/segmentation/setGlobalStyle.d.ts +3 -0
- package/dist/esm/stateManagement/segmentation/setGlobalStyle.js +8 -0
- package/dist/esm/stateManagement/segmentation/setSegmentationRepresentationVisibility.d.ts +5 -1
- package/dist/esm/stateManagement/segmentation/setSegmentationRepresentationVisibility.js +2 -2
- package/dist/esm/stateManagement/segmentation/triggerSegmentationEvents.d.ts +1 -3
- package/dist/esm/stateManagement/segmentation/triggerSegmentationEvents.js +1 -3
- package/dist/esm/store/ToolGroupManager/ToolGroup.d.ts +2 -1
- package/dist/esm/store/ToolGroupManager/ToolGroup.js +23 -9
- package/dist/esm/store/ToolGroupManager/createToolGroup.d.ts +1 -1
- package/dist/esm/store/ToolGroupManager/createToolGroup.js +3 -3
- package/dist/esm/tools/AdvancedMagnifyTool.js +1 -1
- package/dist/esm/tools/CrosshairsTool.js +1 -2
- package/dist/esm/tools/MIPJumpToClickTool.js +1 -1
- package/dist/esm/tools/ReferenceLinesTool.js +5 -2
- package/dist/esm/tools/StackScrollTool.d.ts +4 -0
- package/dist/esm/tools/StackScrollTool.js +104 -15
- package/dist/esm/tools/WindowLevelTool.js +3 -2
- package/dist/esm/tools/annotation/AngleTool.js +1 -1
- package/dist/esm/tools/annotation/BidirectionalTool.js +1 -1
- package/dist/esm/tools/annotation/CircleROITool.js +1 -1
- package/dist/esm/tools/annotation/EllipticalROITool.js +1 -1
- package/dist/esm/tools/annotation/HeightTool.js +1 -1
- package/dist/esm/tools/annotation/LengthTool.js +1 -1
- package/dist/esm/tools/annotation/LivewireContourTool.js +3 -3
- package/dist/esm/tools/annotation/PlanarFreehandROITool.js +1 -1
- package/dist/esm/tools/annotation/ProbeTool.js +2 -2
- package/dist/esm/tools/annotation/RectangleROITool.js +1 -1
- package/dist/esm/tools/annotation/SplineROITool.js +2 -3
- package/dist/esm/tools/annotation/UltrasoundDirectionalTool.js +1 -1
- package/dist/esm/tools/base/BaseTool.d.ts +1 -2
- package/dist/esm/tools/base/BaseTool.js +5 -18
- package/dist/esm/tools/base/ContourSegmentationBaseTool.js +28 -25
- package/dist/esm/tools/displayTools/Contour/contourConfig.d.ts +3 -3
- package/dist/esm/tools/displayTools/Contour/contourConfig.js +2 -2
- package/dist/esm/tools/displayTools/Contour/contourDisplay.d.ts +1 -1
- package/dist/esm/tools/displayTools/Contour/contourDisplay.js +4 -7
- package/dist/esm/tools/displayTools/Contour/contourHandler/handleContourSegmentation.js +26 -57
- package/dist/esm/tools/displayTools/Contour/removeContourFromElement.d.ts +1 -1
- package/dist/esm/tools/displayTools/Contour/removeContourFromElement.js +2 -4
- package/dist/esm/tools/displayTools/Labelmap/addLabelmapToElement.d.ts +1 -1
- package/dist/esm/tools/displayTools/Labelmap/addLabelmapToElement.js +39 -10
- package/dist/esm/tools/displayTools/Labelmap/labelmapConfig.d.ts +3 -5
- package/dist/esm/tools/displayTools/Labelmap/labelmapConfig.js +3 -16
- package/dist/esm/tools/displayTools/Labelmap/labelmapDisplay.d.ts +1 -1
- package/dist/esm/tools/displayTools/Labelmap/labelmapDisplay.js +86 -90
- package/dist/esm/tools/displayTools/Labelmap/removeLabelmapFromElement.d.ts +1 -1
- package/dist/esm/tools/displayTools/Labelmap/removeLabelmapFromElement.js +3 -2
- package/dist/esm/tools/displayTools/Surface/addOrUpdateSurfaceToElement.d.ts +1 -1
- package/dist/esm/tools/displayTools/Surface/addOrUpdateSurfaceToElement.js +3 -3
- package/dist/esm/tools/displayTools/Surface/removeSurfaceFromElement.d.ts +2 -2
- package/dist/esm/tools/displayTools/Surface/removeSurfaceFromElement.js +5 -3
- package/dist/esm/tools/displayTools/Surface/surfaceConfig.d.ts +3 -3
- package/dist/esm/tools/displayTools/Surface/surfaceConfig.js +2 -2
- package/dist/esm/tools/displayTools/Surface/surfaceDisplay.d.ts +1 -1
- package/dist/esm/tools/displayTools/Surface/surfaceDisplay.js +7 -8
- package/dist/esm/tools/index.d.ts +1 -2
- package/dist/esm/tools/index.js +1 -2
- package/dist/esm/tools/segmentation/BrushTool.d.ts +0 -4
- package/dist/esm/tools/segmentation/BrushTool.js +23 -22
- package/dist/esm/tools/segmentation/CircleROIStartEndThresholdTool.js +2 -2
- package/dist/esm/tools/segmentation/CircleScissorsTool.d.ts +1 -1
- package/dist/esm/tools/segmentation/CircleScissorsTool.js +11 -10
- package/dist/esm/tools/segmentation/PaintFillTool.js +5 -7
- package/dist/esm/tools/segmentation/RectangleROIStartEndThresholdTool.js +2 -2
- package/dist/esm/tools/segmentation/RectangleScissorsTool.d.ts +0 -1
- package/dist/esm/tools/segmentation/RectangleScissorsTool.js +9 -10
- package/dist/esm/tools/segmentation/SegmentSelectTool.d.ts +2 -2
- package/dist/esm/tools/segmentation/SegmentSelectTool.js +17 -26
- package/dist/esm/tools/segmentation/SphereScissorsTool.d.ts +0 -1
- package/dist/esm/tools/segmentation/SphereScissorsTool.js +6 -9
- package/dist/esm/tools/segmentation/strategies/BrushStrategy.d.ts +2 -0
- package/dist/esm/tools/segmentation/strategies/BrushStrategy.js +2 -0
- package/dist/esm/tools/segmentation/strategies/compositions/determineSegmentIndex.js +1 -2
- package/dist/esm/tools/segmentation/strategies/compositions/dynamicThreshold.js +1 -1
- package/dist/esm/tools/segmentation/strategies/compositions/preview.js +3 -3
- package/dist/esm/tools/segmentation/strategies/compositions/regionFill.js +4 -4
- package/dist/esm/tools/segmentation/strategies/compositions/setValue.js +1 -1
- package/dist/esm/tools/segmentation/strategies/fillCircle.js +3 -3
- package/dist/esm/tools/segmentation/strategies/fillSphere.js +3 -3
- package/dist/esm/tools/segmentation/strategies/utils/getStrategyData.js +21 -6
- package/dist/esm/types/AnnotationGroupSelector.js +0 -1
- package/dist/esm/types/AnnotationRenderContext.js +0 -1
- package/dist/esm/types/AnnotationStyle.js +0 -1
- package/dist/esm/types/AnnotationTypes.js +0 -1
- package/dist/esm/types/BoundsIJK.js +0 -1
- package/dist/esm/types/CINETypes.js +0 -1
- package/dist/esm/types/CalculatorTypes.js +0 -1
- package/dist/esm/types/CardinalSplineProps.js +0 -1
- package/dist/esm/types/ClosestControlPoint.js +0 -1
- package/dist/esm/types/ClosestPoint.js +0 -1
- package/dist/esm/types/ClosestSplinePoint.js +0 -1
- package/dist/esm/types/ContourSegmentationAnnotation.js +0 -1
- package/dist/esm/types/ContourTypes.d.ts +1 -2
- package/dist/esm/types/ContourTypes.js +0 -1
- package/dist/esm/types/ControlPointInfo.js +0 -1
- package/dist/esm/types/CursorTypes.js +0 -1
- package/dist/esm/types/EventTypes.d.ts +2 -2
- package/dist/esm/types/EventTypes.js +0 -1
- package/dist/esm/types/FloodFillTypes.js +0 -1
- package/dist/esm/types/IAnnotationManager.js +0 -1
- package/dist/esm/types/IBaseTool.js +0 -1
- package/dist/esm/types/IDistance.js +0 -1
- package/dist/esm/types/IPoints.js +0 -1
- package/dist/esm/types/ISculptToolShape.js +0 -1
- package/dist/esm/types/ISetToolModeOptions.js +0 -1
- package/dist/esm/types/ISpline.js +0 -1
- package/dist/esm/types/ISynchronizerEventHandler.js +0 -1
- package/dist/esm/types/IToolClassReference.js +0 -1
- package/dist/esm/types/IToolGroup.js +0 -1
- package/dist/esm/types/ITouchPoints.js +0 -1
- package/dist/esm/types/InteractionTypes.js +0 -1
- package/dist/esm/types/InternalToolTypes.js +0 -1
- package/dist/esm/types/InterpolationTypes.js +0 -1
- package/dist/esm/types/JumpToSliceOptions.js +0 -1
- package/dist/esm/types/LabelmapToolOperationData.d.ts +0 -1
- package/dist/esm/types/LabelmapToolOperationData.js +0 -1
- package/dist/esm/types/LabelmapTypes.d.ts +3 -7
- package/dist/esm/types/LabelmapTypes.js +0 -1
- package/dist/esm/types/PlanarBoundingBox.js +0 -1
- package/dist/esm/types/PolySeg.d.ts +1 -1
- package/dist/esm/types/PolySeg.js +0 -1
- package/dist/esm/types/SVGDrawingHelper.js +0 -1
- package/dist/esm/types/ScrollOptions.js +0 -1
- package/dist/esm/types/SegmentationStateTypes.d.ts +35 -56
- package/dist/esm/types/SegmentationStateTypes.js +0 -1
- package/dist/esm/types/SplineCurveSegment.js +0 -1
- package/dist/esm/types/SplineLineSegment.js +0 -1
- package/dist/esm/types/SplineProps.js +0 -1
- package/dist/esm/types/SurfaceTypes.d.ts +1 -1
- package/dist/esm/types/SurfaceTypes.js +0 -1
- package/dist/esm/types/ToolAction.js +0 -1
- package/dist/esm/types/ToolHandle.js +0 -1
- package/dist/esm/types/ToolProps.js +0 -1
- package/dist/esm/types/ToolSpecificAnnotationTypes.js +0 -1
- package/dist/esm/types/index.d.ts +2 -2
- package/dist/esm/types/index.js +0 -1
- package/dist/esm/utilities/cine/playClip.js +1 -1
- package/dist/esm/utilities/contours/updateContourPolyline.js +3 -0
- package/dist/esm/utilities/index.d.ts +2 -1
- package/dist/esm/utilities/index.js +2 -1
- package/dist/esm/utilities/math/circle/_types.js +0 -1
- package/dist/esm/utilities/math/polyline/planarFreehandROIInternalTypes.js +0 -1
- package/dist/esm/utilities/pointInSurroundingSphereCallback.d.ts +8 -0
- package/dist/esm/utilities/pointInSurroundingSphereCallback.js +71 -0
- package/dist/esm/utilities/segmentation/createLabelmapVolumeForViewport.js +2 -2
- package/dist/esm/utilities/segmentation/getSegmentIndexAtLabelmapBorder.js +10 -9
- package/dist/esm/utilities/segmentation/getSegmentIndexAtWorldPoint.js +9 -8
- package/dist/esm/utilities/segmentation/getUniqueSegmentIndices.js +14 -16
- package/dist/esm/utilities/segmentation/index.d.ts +1 -3
- package/dist/esm/utilities/segmentation/index.js +1 -3
- package/dist/esm/utilities/voi/colorbar/ColorbarCanvas.js +3 -0
- package/dist/esm/utilities/voi/colorbar/ViewportColorbar.js +1 -1
- package/dist/esm/utilities/voi/colorbar/types/ColorbarCanvasProps.js +0 -1
- package/dist/esm/utilities/voi/colorbar/types/ColorbarCommonProps.js +0 -1
- package/dist/esm/utilities/voi/colorbar/types/ColorbarImageRange.js +0 -1
- package/dist/esm/utilities/voi/colorbar/types/ColorbarProps.js +0 -1
- package/dist/esm/utilities/voi/colorbar/types/ColorbarSize.js +0 -1
- package/dist/esm/utilities/voi/colorbar/types/ColorbarTicksProps.js +0 -1
- package/dist/esm/utilities/voi/colorbar/types/ColorbarTicksStyle.js +0 -1
- package/dist/esm/utilities/voi/colorbar/types/ColorbarVOIRange.js +0 -1
- package/dist/esm/utilities/voi/colorbar/types/ViewportColorbarProps.js +0 -1
- package/dist/esm/utilities/voi/colorbar/types/index.js +0 -1
- package/dist/esm/widgets/types/WidgetProps.js +0 -1
- package/dist/esm/widgets/types/WidgetSize.js +0 -1
- package/dist/esm/widgets/types/index.js +0 -1
- package/dist/esm/workers/polySegConverters.js +4 -3
- package/package.json +73 -20
- package/dist/esm/eventListeners/segmentation/segmentationRepresentationModifiedEventListener.d.ts +0 -3
- package/dist/esm/eventListeners/segmentation/segmentationRepresentationModifiedEventListener.js +0 -14
- package/dist/esm/eventListeners/segmentation/segmentationRepresentationRemovedEventListener.d.ts +0 -3
- package/dist/esm/eventListeners/segmentation/segmentationRepresentationRemovedEventListener.js +0 -8
- package/dist/esm/stateManagement/segmentation/addSegmentation.d.ts +0 -2
- package/dist/esm/stateManagement/segmentation/addSegmentation.js +0 -11
- package/dist/esm/stateManagement/segmentation/addSegmentationRepresentationState.d.ts +0 -2
- package/dist/esm/stateManagement/segmentation/addSegmentationRepresentationState.js +0 -10
- package/dist/esm/stateManagement/segmentation/addSegmentationRepresentations.d.ts +0 -8
- package/dist/esm/stateManagement/segmentation/addSegmentationRepresentations.js +0 -19
- package/dist/esm/stateManagement/segmentation/config/segmentationConfig.d.ts +0 -14
- package/dist/esm/stateManagement/segmentation/config/segmentationConfig.js +0 -54
- package/dist/esm/stateManagement/segmentation/events/triggerSegmentationRepresentationModified.d.ts +0 -1
- package/dist/esm/stateManagement/segmentation/events/triggerSegmentationRepresentationModified.js +0 -8
- package/dist/esm/stateManagement/segmentation/events/triggerSegmentationRepresentationRemoved.d.ts +0 -1
- package/dist/esm/stateManagement/segmentation/events/triggerSegmentationRepresentationRemoved.js +0 -8
- package/dist/esm/stateManagement/segmentation/getActiveSegmentationRepresentation.d.ts +0 -2
- package/dist/esm/stateManagement/segmentation/getActiveSegmentationRepresentation.js +0 -5
- package/dist/esm/stateManagement/segmentation/getAllSegmentationRepresentations.d.ts +0 -2
- package/dist/esm/stateManagement/segmentation/getAllSegmentationRepresentations.js +0 -6
- package/dist/esm/stateManagement/segmentation/getGlobalConfig.d.ts +0 -2
- package/dist/esm/stateManagement/segmentation/getPerSegmentConfig.d.ts +0 -2
- package/dist/esm/stateManagement/segmentation/getPerSegmentConfig.js +0 -5
- package/dist/esm/stateManagement/segmentation/getSegmentationRepresentationConfig.d.ts +0 -2
- package/dist/esm/stateManagement/segmentation/getSegmentationRepresentationConfig.js +0 -5
- package/dist/esm/stateManagement/segmentation/getSegmentationRepresentationViewportStates.d.ts +0 -7
- package/dist/esm/stateManagement/segmentation/getSegmentationRepresentationViewportStates.js +0 -6
- package/dist/esm/stateManagement/segmentation/getSegmentationRepresentations.d.ts +0 -2
- package/dist/esm/stateManagement/segmentation/getSegmentationRepresentations.js +0 -12
- package/dist/esm/stateManagement/segmentation/getSegmentationRepresentationsForSegmentation.d.ts +0 -2
- package/dist/esm/stateManagement/segmentation/getSegmentationRepresentationsForSegmentation.js +0 -5
- package/dist/esm/stateManagement/segmentation/removeRepresentation.d.ts +0 -1
- package/dist/esm/stateManagement/segmentation/removeRepresentation.js +0 -9
- package/dist/esm/stateManagement/segmentation/setActiveSegmentationRepresentation.d.ts +0 -1
- package/dist/esm/stateManagement/segmentation/setActiveSegmentationRepresentation.js +0 -9
- package/dist/esm/stateManagement/segmentation/setGlobalConfig.d.ts +0 -2
- package/dist/esm/stateManagement/segmentation/setGlobalConfig.js +0 -9
- package/dist/esm/stateManagement/segmentation/setPerSegmentConfig.d.ts +0 -2
- package/dist/esm/stateManagement/segmentation/setPerSegmentConfig.js +0 -9
- package/dist/esm/stateManagement/segmentation/setSegmentationRepresentationConfig.d.ts +0 -2
- package/dist/esm/stateManagement/segmentation/setSegmentationRepresentationConfig.js +0 -9
- package/dist/esm/tools/VolumeRotateMouseWheelTool.d.ts +0 -9
- package/dist/esm/tools/VolumeRotateMouseWheelTool.js +0 -52
- package/dist/esm/tools/displayTools/Contour/contourHandler/contourConfigCache.d.ts +0 -9
- package/dist/esm/tools/displayTools/Contour/contourHandler/contourConfigCache.js +0 -10
- package/dist/esm/tools/segmentation/strategies/utils/stackVolumeCheck.d.ts +0 -5
- package/dist/esm/tools/segmentation/strategies/utils/stackVolumeCheck.js +0 -13
- package/dist/esm/utilities/segmentation/getDefaultRepresentationConfig.d.ts +0 -2
- package/dist/esm/utilities/segmentation/getDefaultRepresentationConfig.js +0 -11
- package/dist/esm/utilities/segmentation/isValidRepresentationConfig.d.ts +0 -2
- package/dist/esm/utilities/segmentation/isValidRepresentationConfig.js +0 -10
- package/dist/umd/17dd54813d5acc10bf8f.wasm +0 -0
- package/dist/umd/78.index.js +0 -3
- package/dist/umd/78.index.js.LICENSE.txt +0 -5
- package/dist/umd/78.index.js.map +0 -1
- package/dist/umd/985.index.js +0 -2
- package/dist/umd/985.index.js.map +0 -1
- package/dist/umd/index.js +0 -3
- package/dist/umd/index.js.LICENSE.txt +0 -6
- package/dist/umd/index.js.map +0 -1
package/dist/umd/78.index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"78.index.js","mappings":"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","sources":["webpack://cornerstoneTools3D/../../node_modules/@icr/polyseg-wasm/dist/ICRPolySeg.js","webpack://cornerstoneTools3D/../../node_modules/@icr/polyseg-wasm/dist/index.js","webpack://cornerstoneTools3D/../../node_modules/comlink/dist/esm/comlink.mjs"],"sourcesContent":["\nvar ICRPolySegApp = (() => {\n var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;\n \n return (\nfunction(ICRPolySegApp) {\n ICRPolySegApp = ICRPolySegApp || {};\n\nvar Module=typeof ICRPolySegApp!=\"undefined\"?ICRPolySegApp:{};var readyPromiseResolve,readyPromiseReject;Module[\"ready\"]=new Promise(function(resolve,reject){readyPromiseResolve=resolve;readyPromiseReject=reject});var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram=\"./this.program\";var quit_=(status,toThrow)=>{throw toThrow};var ENVIRONMENT_IS_WEB=true;var ENVIRONMENT_IS_WORKER=false;var scriptDirectory=\"\";function locateFile(path){if(Module[\"locateFile\"]){return Module[\"locateFile\"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!=\"undefined\"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf(\"blob:\")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,\"\").lastIndexOf(\"/\")+1)}else{scriptDirectory=\"\"}{read_=url=>{var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,false);xhr.responseType=\"arraybuffer\";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=(url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,true);xhr.responseType=\"arraybuffer\";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=title=>document.title=title}else{}var out=Module[\"print\"]||console.log.bind(console);var err=Module[\"printErr\"]||console.warn.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module[\"arguments\"])arguments_=Module[\"arguments\"];if(Module[\"thisProgram\"])thisProgram=Module[\"thisProgram\"];if(Module[\"quit\"])quit_=Module[\"quit\"];var POINTER_SIZE=4;var wasmBinary;if(Module[\"wasmBinary\"])wasmBinary=Module[\"wasmBinary\"];var noExitRuntime=Module[\"noExitRuntime\"]||true;if(typeof WebAssembly!=\"object\"){abort(\"no native wasm support detected\")}var wasmMemory;var ABORT=false;var EXITSTATUS;var UTF8Decoder=typeof TextDecoder!=\"undefined\"?new TextDecoder(\"utf8\"):undefined;function UTF8ArrayToString(heapOrArray,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str=\"\";while(idx<endPtr){var u0=heapOrArray[idx++];if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=heapOrArray[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=heapOrArray[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u0=(u0&7)<<18|u1<<12|u2<<6|heapOrArray[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):\"\"}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i<str.length;++i){var c=str.charCodeAt(i);if(c<=127){len++}else if(c<=2047){len+=2}else if(c>=55296&&c<=57343){len+=4;++i}else{len+=3}}return len}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module[\"HEAP8\"]=HEAP8=new Int8Array(buf);Module[\"HEAP16\"]=HEAP16=new Int16Array(buf);Module[\"HEAP32\"]=HEAP32=new Int32Array(buf);Module[\"HEAPU8\"]=HEAPU8=new Uint8Array(buf);Module[\"HEAPU16\"]=HEAPU16=new Uint16Array(buf);Module[\"HEAPU32\"]=HEAPU32=new Uint32Array(buf);Module[\"HEAPF32\"]=HEAPF32=new Float32Array(buf);Module[\"HEAPF64\"]=HEAPF64=new Float64Array(buf)}var INITIAL_MEMORY=Module[\"INITIAL_MEMORY\"]||16777216;var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function keepRuntimeAlive(){return noExitRuntime}function preRun(){if(Module[\"preRun\"]){if(typeof Module[\"preRun\"]==\"function\")Module[\"preRun\"]=[Module[\"preRun\"]];while(Module[\"preRun\"].length){addOnPreRun(Module[\"preRun\"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function postRun(){if(Module[\"postRun\"]){if(typeof Module[\"postRun\"]==\"function\")Module[\"postRun\"]=[Module[\"postRun\"]];while(Module[\"postRun\"].length){addOnPostRun(Module[\"postRun\"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module[\"monitorRunDependencies\"]){Module[\"monitorRunDependencies\"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module[\"monitorRunDependencies\"]){Module[\"monitorRunDependencies\"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){if(Module[\"onAbort\"]){Module[\"onAbort\"](what)}what=\"Aborted(\"+what+\")\";err(what);ABORT=true;EXITSTATUS=1;what+=\". Build with -sASSERTIONS for more info.\";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix=\"data:application/octet-stream;base64,\";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}var wasmBinaryFile;wasmBinaryFile=\"ICRPolySeg.wasm\";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw\"both async and sync fetching of the wasm failed\"}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch==\"function\"){return fetch(wasmBinaryFile,{credentials:\"same-origin\"}).then(function(response){if(!response[\"ok\"]){throw\"failed to load wasm binary file at '\"+wasmBinaryFile+\"'\"}return response[\"arrayBuffer\"]()}).catch(function(){return getBinary(wasmBinaryFile)})}}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={\"a\":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module[\"asm\"]=exports;wasmMemory=Module[\"asm\"][\"Q\"];updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module[\"asm\"][\"T\"];addOnInit(Module[\"asm\"][\"R\"]);removeRunDependency(\"wasm-instantiate\")}addRunDependency(\"wasm-instantiate\");function receiveInstantiationResult(result){receiveInstance(result[\"instance\"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(function(instance){return instance}).then(receiver,function(reason){err(\"failed to asynchronously prepare wasm: \"+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==\"function\"&&!isDataURI(wasmBinaryFile)&&typeof fetch==\"function\"){return fetch(wasmBinaryFile,{credentials:\"same-origin\"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiationResult,function(reason){err(\"wasm streaming compile failed: \"+reason);err(\"falling back to ArrayBuffer instantiation\");return instantiateArrayBuffer(receiveInstantiationResult)})})}else{return instantiateArrayBuffer(receiveInstantiationResult)}}if(Module[\"instantiateWasm\"]){try{var exports=Module[\"instantiateWasm\"](info,receiveInstance);return exports}catch(e){err(\"Module.instantiateWasm callback failed with error: \"+e);readyPromiseReject(e)}}instantiateAsync().catch(readyPromiseReject);return{}}var ASM_CONSTS={638383:$0=>{if(Module.updateProgress){Module.updateProgress($0)}}};function ExitStatus(status){this.name=\"ExitStatus\";this.message=\"Program terminated with exit(\"+status+\")\";this.status=status}function callRuntimeCallbacks(callbacks){while(callbacks.length>0){callbacks.shift()(Module)}}function ExceptionInfo(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24;this.set_type=function(type){HEAPU32[this.ptr+4>>2]=type};this.get_type=function(){return HEAPU32[this.ptr+4>>2]};this.set_destructor=function(destructor){HEAPU32[this.ptr+8>>2]=destructor};this.get_destructor=function(){return HEAPU32[this.ptr+8>>2]};this.set_refcount=function(refcount){HEAP32[this.ptr>>2]=refcount};this.set_caught=function(caught){caught=caught?1:0;HEAP8[this.ptr+12>>0]=caught};this.get_caught=function(){return HEAP8[this.ptr+12>>0]!=0};this.set_rethrown=function(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13>>0]=rethrown};this.get_rethrown=function(){return HEAP8[this.ptr+13>>0]!=0};this.init=function(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor);this.set_refcount(0);this.set_caught(false);this.set_rethrown(false)};this.add_ref=function(){var value=HEAP32[this.ptr>>2];HEAP32[this.ptr>>2]=value+1};this.release_ref=function(){var prev=HEAP32[this.ptr>>2];HEAP32[this.ptr>>2]=prev-1;return prev===1};this.set_adjusted_ptr=function(adjustedPtr){HEAPU32[this.ptr+16>>2]=adjustedPtr};this.get_adjusted_ptr=function(){return HEAPU32[this.ptr+16>>2]};this.get_exception_ptr=function(){var isPointer=___cxa_is_pointer_type(this.get_type());if(isPointer){return HEAPU32[this.excPtr>>2]}var adjusted=this.get_adjusted_ptr();if(adjusted!==0)return adjusted;return this.excPtr}}var exceptionLast=0;var uncaughtExceptionCount=0;function ___cxa_throw(ptr,type,destructor){var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw ptr}var SYSCALLS={varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret}};function ___syscall_getcwd(buf,size){}function ___syscall_getdents64(fd,dirp,count){}function ___syscall_openat(dirfd,path,flags,varargs){SYSCALLS.varargs=varargs}function ___syscall_readlinkat(dirfd,path,buf,bufsize){}function ___syscall_stat64(path,buf){}var structRegistrations={};function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function simpleReadValueFromPointer(pointer){return this[\"fromWireType\"](HEAP32[pointer>>2])}var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return\"_unknown\"}name=name.replace(/[^a-zA-Z0-9_]/g,\"$\");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return\"_\"+name}return name}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return new Function(\"body\",\"return function \"+name+\"() {\\n\"+' \"use strict\";'+\" return body.apply(this, arguments);\\n\"+\"};\\n\")(body)}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+\"\\n\"+stack.replace(/^Error(:[^\\n]*)?\\n/,\"\")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return this.name+\": \"+this.message}};return errorClass}var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError(\"Mismatched type converter count\")}for(var i=0;i<myTypes.length;++i){registerType(myTypes[i],myTypeConverters[i])}}var typeConverters=new Array(dependentTypes.length);var unregisteredTypes=[];var registered=0;dependentTypes.forEach((dt,i)=>{if(registeredTypes.hasOwnProperty(dt)){typeConverters[i]=registeredTypes[dt]}else{unregisteredTypes.push(dt);if(!awaitingDependencies.hasOwnProperty(dt)){awaitingDependencies[dt]=[]}awaitingDependencies[dt].push(()=>{typeConverters[i]=registeredTypes[dt];++registered;if(registered===unregisteredTypes.length){onComplete(typeConverters)}})}});if(0===unregisteredTypes.length){onComplete(typeConverters)}}function __embind_finalize_value_object(structType){var reg=structRegistrations[structType];delete structRegistrations[structType];var rawConstructor=reg.rawConstructor;var rawDestructor=reg.rawDestructor;var fieldRecords=reg.fields;var fieldTypes=fieldRecords.map(field=>field.getterReturnType).concat(fieldRecords.map(field=>field.setterArgumentType));whenDependentTypesAreResolved([structType],fieldTypes,fieldTypes=>{var fields={};fieldRecords.forEach((field,i)=>{var fieldName=field.fieldName;var getterReturnType=fieldTypes[i];var getter=field.getter;var getterContext=field.getterContext;var setterArgumentType=fieldTypes[i+fieldRecords.length];var setter=field.setter;var setterContext=field.setterContext;fields[fieldName]={read:ptr=>{return getterReturnType[\"fromWireType\"](getter(getterContext,ptr))},write:(ptr,o)=>{var destructors=[];setter(setterContext,ptr,setterArgumentType[\"toWireType\"](destructors,o));runDestructors(destructors)}}});return[{name:reg.name,\"fromWireType\":function(ptr){var rv={};for(var i in fields){rv[i]=fields[i].read(ptr)}rawDestructor(ptr);return rv},\"toWireType\":function(destructors,o){for(var fieldName in fields){if(!(fieldName in o)){throw new TypeError('Missing field: \"'+fieldName+'\"')}}var ptr=rawConstructor();for(fieldName in fields){fields[fieldName].write(ptr,o[fieldName])}if(destructors!==null){destructors.push(rawDestructor,ptr)}return ptr},\"argPackAdvance\":8,\"readValueFromPointer\":simpleReadValueFromPointer,destructorFunction:rawDestructor}]})}function __embind_register_bigint(primitiveType,name,size,minRange,maxRange){}function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError(\"Unknown type size: \"+size)}}function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret=\"\";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}function registerType(rawType,registeredInstance,options={}){if(!(\"argPackAdvance\"in registeredInstance)){throw new TypeError(\"registerType registeredInstance requires argPackAdvance\")}var name=registeredInstance.name;if(!rawType){throwBindingError('type \"'+name+'\" must have a positive integer typeid pointer')}if(registeredTypes.hasOwnProperty(rawType)){if(options.ignoreDuplicateRegistrations){return}else{throwBindingError(\"Cannot register type '\"+name+\"' twice\")}}registeredTypes[rawType]=registeredInstance;delete typeDependencies[rawType];if(awaitingDependencies.hasOwnProperty(rawType)){var callbacks=awaitingDependencies[rawType];delete awaitingDependencies[rawType];callbacks.forEach(cb=>cb())}}function __embind_register_bool(rawType,name,size,trueValue,falseValue){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,\"fromWireType\":function(wt){return!!wt},\"toWireType\":function(destructors,o){return o?trueValue:falseValue},\"argPackAdvance\":8,\"readValueFromPointer\":function(pointer){var heap;if(size===1){heap=HEAP8}else if(size===2){heap=HEAP16}else if(size===4){heap=HEAP32}else{throw new TypeError(\"Unknown boolean type size: \"+name)}return this[\"fromWireType\"](heap[pointer>>shift])},destructorFunction:null})}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function count_emval_handles(){var count=0;for(var i=5;i<emval_handle_array.length;++i){if(emval_handle_array[i]!==undefined){++count}}return count}function get_first_emval(){for(var i=5;i<emval_handle_array.length;++i){if(emval_handle_array[i]!==undefined){return emval_handle_array[i]}}return null}function init_emval(){Module[\"count_emval_handles\"]=count_emval_handles;Module[\"get_first_emval\"]=get_first_emval}var Emval={toValue:handle=>{if(!handle){throwBindingError(\"Cannot use deleted val. handle = \"+handle)}return emval_handle_array[handle].value},toHandle:value=>{switch(value){case undefined:return 1;case null:return 2;case true:return 3;case false:return 4;default:{var handle=emval_free_list.length?emval_free_list.pop():emval_handle_array.length;emval_handle_array[handle]={refcount:1,value:value};return handle}}}};function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,\"fromWireType\":function(handle){var rv=Emval.toValue(handle);__emval_decref(handle);return rv},\"toWireType\":function(destructors,value){return Emval.toHandle(value)},\"argPackAdvance\":8,\"readValueFromPointer\":simpleReadValueFromPointer,destructorFunction:null})}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this[\"fromWireType\"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this[\"fromWireType\"](HEAPF64[pointer>>3])};default:throw new TypeError(\"Unknown float type: \"+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,\"fromWireType\":function(value){return value},\"toWireType\":function(destructors,value){return value},\"argPackAdvance\":8,\"readValueFromPointer\":floatReadValueFromPointer(name,shift),destructorFunction:null})}function new_(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError(\"new_ called with constructor type \"+typeof constructor+\" which is not a function\")}var dummy=createNamedFunction(constructor.name||\"unknownFunctionName\",function(){});dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc){var argCount=argTypes.length;if(argCount<2){throwBindingError(\"argTypes array size mismatch! Must at least get return value and 'this' types!\")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i<argTypes.length;++i){if(argTypes[i]!==null&&argTypes[i].destructorFunction===undefined){needsDestructorStack=true;break}}var returns=argTypes[0].name!==\"void\";var argsList=\"\";var argsListWired=\"\";for(var i=0;i<argCount-2;++i){argsList+=(i!==0?\", \":\"\")+\"arg\"+i;argsListWired+=(i!==0?\", \":\"\")+\"arg\"+i+\"Wired\"}var invokerFnBody=\"return function \"+makeLegalFunctionName(humanName)+\"(\"+argsList+\") {\\n\"+\"if (arguments.length !== \"+(argCount-2)+\") {\\n\"+\"throwBindingError('function \"+humanName+\" called with ' + arguments.length + ' arguments, expected \"+(argCount-2)+\" args!');\\n\"+\"}\\n\";if(needsDestructorStack){invokerFnBody+=\"var destructors = [];\\n\"}var dtorStack=needsDestructorStack?\"destructors\":\"null\";var args1=[\"throwBindingError\",\"invoker\",\"fn\",\"runDestructors\",\"retType\",\"classParam\"];var args2=[throwBindingError,cppInvokerFunc,cppTargetFunc,runDestructors,argTypes[0],argTypes[1]];if(isClassMethodFunc){invokerFnBody+=\"var thisWired = classParam.toWireType(\"+dtorStack+\", this);\\n\"}for(var i=0;i<argCount-2;++i){invokerFnBody+=\"var arg\"+i+\"Wired = argType\"+i+\".toWireType(\"+dtorStack+\", arg\"+i+\"); // \"+argTypes[i+2].name+\"\\n\";args1.push(\"argType\"+i);args2.push(argTypes[i+2])}if(isClassMethodFunc){argsListWired=\"thisWired\"+(argsListWired.length>0?\", \":\"\")+argsListWired}invokerFnBody+=(returns?\"var rv = \":\"\")+\"invoker(fn\"+(argsListWired.length>0?\", \":\"\")+argsListWired+\");\\n\";if(needsDestructorStack){invokerFnBody+=\"runDestructors(destructors);\\n\"}else{for(var i=isClassMethodFunc?1:2;i<argTypes.length;++i){var paramName=i===1?\"thisWired\":\"arg\"+(i-2)+\"Wired\";if(argTypes[i].destructorFunction!==null){invokerFnBody+=paramName+\"_dtor(\"+paramName+\"); // \"+argTypes[i].name+\"\\n\";args1.push(paramName+\"_dtor\");args2.push(argTypes[i].destructorFunction)}}}if(returns){invokerFnBody+=\"var ret = retType.fromWireType(rv);\\n\"+\"return ret;\\n\"}else{}invokerFnBody+=\"}\\n\";args1.push(invokerFnBody);var invokerFunction=new_(Function,args1).apply(null,args2);return invokerFunction}function ensureOverloadTable(proto,methodName,humanName){if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError(\"Function '\"+humanName+\"' called with an invalid number of arguments (\"+arguments.length+\") - expects one of (\"+proto[methodName].overloadTable+\")!\")}return proto[methodName].overloadTable[arguments.length].apply(this,arguments)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}}function exposePublicSymbol(name,value,numArguments){if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError(\"Cannot register public name '\"+name+\"' twice\")}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError(\"Cannot register multiple overloads of a function with the same number of arguments (\"+numArguments+\")!\")}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}}function heap32VectorToArray(count,firstElement){var array=[];for(var i=0;i<count;i++){array.push(HEAPU32[firstElement+i*4>>2])}return array}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError(\"Replacing nonexistant public symbol\")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function dynCallLegacy(sig,ptr,args){var f=Module[\"dynCall_\"+sig];return args&&args.length?f.apply(null,[ptr].concat(args)):f.call(null,ptr)}var wasmTableMirror=[];function getWasmTableEntry(funcPtr){var func=wasmTableMirror[funcPtr];if(!func){if(funcPtr>=wasmTableMirror.length)wasmTableMirror.length=funcPtr+1;wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr)}return func}function dynCall(sig,ptr,args){if(sig.includes(\"j\")){return dynCallLegacy(sig,ptr,args)}var rtn=getWasmTableEntry(ptr).apply(null,args);return rtn}function getDynCaller(sig,ptr){var argCache=[];return function(){argCache.length=0;Object.assign(argCache,arguments);return dynCall(sig,ptr,argCache)}}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(){if(signature.includes(\"j\")){return getDynCaller(signature,rawFunction)}return getWasmTableEntry(rawFunction)}var fp=makeDynCaller();if(typeof fp!=\"function\"){throwBindingError(\"unknown function pointer with signature \"+signature+\": \"+rawFunction)}return fp}var UnboundTypeError=undefined;function getTypeName(type){var ptr=___getTypeName(type);var rv=readLatin1String(ptr);_free(ptr);return rv}function throwUnboundTypeError(message,types){var unboundTypes=[];var seen={};function visit(type){if(seen[type]){return}if(registeredTypes[type]){return}if(typeDependencies[type]){typeDependencies[type].forEach(visit);return}unboundTypes.push(type);seen[type]=true}types.forEach(visit);throw new UnboundTypeError(message+\": \"+unboundTypes.map(getTypeName).join([\", \"]))}function __embind_register_function(name,argCount,rawArgTypesAddr,signature,rawInvoker,fn){var argTypes=heap32VectorToArray(argCount,rawArgTypesAddr);name=readLatin1String(name);rawInvoker=embind__requireFunction(signature,rawInvoker);exposePublicSymbol(name,function(){throwUnboundTypeError(\"Cannot call \"+name+\" due to unbound types\",argTypes)},argCount-1);whenDependentTypesAreResolved([],argTypes,function(argTypes){var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));replacePublicSymbol(name,craftInvokerFunction(name,invokerArgsArray,null,rawInvoker,fn),argCount-1);return[]})}function integerReadValueFromPointer(name,shift,signed){switch(shift){case 0:return signed?function readS8FromPointer(pointer){return HEAP8[pointer]}:function readU8FromPointer(pointer){return HEAPU8[pointer]};case 1:return signed?function readS16FromPointer(pointer){return HEAP16[pointer>>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError(\"Unknown integer type: \"+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=value=>value;if(minRange===0){var bitshift=32-8*size;fromWireType=value=>value<<bitshift>>>bitshift}var isUnsignedType=name.includes(\"unsigned\");var checkAssertions=(value,toTypeName)=>{};var toWireType;if(isUnsignedType){toWireType=function(destructors,value){checkAssertions(value,this.name);return value>>>0}}else{toWireType=function(destructors,value){checkAssertions(value,this.name);return value}}registerType(primitiveType,{name:name,\"fromWireType\":fromWireType,\"toWireType\":toWireType,\"argPackAdvance\":8,\"readValueFromPointer\":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(buffer,data,size)}name=readLatin1String(name);registerType(rawType,{name:name,\"fromWireType\":decodeMemoryView,\"argPackAdvance\":8,\"readValueFromPointer\":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name===\"std::string\";registerType(rawType,{name:name,\"fromWireType\":function(value){var length=HEAPU32[value>>2];var payload=value+4;var str;if(stdStringIsUTF8){var decodeStartPtr=payload;for(var i=0;i<=length;++i){var currentBytePtr=payload+i;if(i==length||HEAPU8[currentBytePtr]==0){var maxRead=currentBytePtr-decodeStartPtr;var stringSegment=UTF8ToString(decodeStartPtr,maxRead);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}}else{var a=new Array(length);for(var i=0;i<length;++i){a[i]=String.fromCharCode(HEAPU8[payload+i])}str=a.join(\"\")}_free(value);return str},\"toWireType\":function(destructors,value){if(value instanceof ArrayBuffer){value=new Uint8Array(value)}var length;var valueIsOfTypeString=typeof value==\"string\";if(!(valueIsOfTypeString||value instanceof Uint8Array||value instanceof Uint8ClampedArray||value instanceof Int8Array)){throwBindingError(\"Cannot pass non-string to std::string\")}if(stdStringIsUTF8&&valueIsOfTypeString){length=lengthBytesUTF8(value)}else{length=value.length}var base=_malloc(4+length+1);var ptr=base+4;HEAPU32[base>>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr,length+1)}else{if(valueIsOfTypeString){for(var i=0;i<length;++i){var charCode=value.charCodeAt(i);if(charCode>255){_free(ptr);throwBindingError(\"String has UTF-16 code units that do not fit in 8 bits\")}HEAPU8[ptr+i]=charCode}}else{for(var i=0;i<length;++i){HEAPU8[ptr+i]=value[i]}}}if(destructors!==null){destructors.push(_free,base)}return base},\"argPackAdvance\":8,\"readValueFromPointer\":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}var UTF16Decoder=typeof TextDecoder!=\"undefined\"?new TextDecoder(\"utf-16le\"):undefined;function UTF16ToString(ptr,maxBytesToRead){var endPtr=ptr;var idx=endPtr>>1;var maxIdx=idx+maxBytesToRead/2;while(!(idx>=maxIdx)&&HEAPU16[idx])++idx;endPtr=idx<<1;if(endPtr-ptr>32&&UTF16Decoder)return UTF16Decoder.decode(HEAPU8.subarray(ptr,endPtr));var str=\"\";for(var i=0;!(i>=maxBytesToRead/2);++i){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)break;str+=String.fromCharCode(codeUnit)}return str}function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite<str.length*2?maxBytesToWrite/2:str.length;for(var i=0;i<numCharsToWrite;++i){var codeUnit=str.charCodeAt(i);HEAP16[outPtr>>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr}function lengthBytesUTF16(str){return str.length*2}function UTF32ToString(ptr,maxBytesToRead){var i=0;var str=\"\";while(!(i>=maxBytesToRead/4)){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}return str}function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i<str.length;++i){var codeUnit=str.charCodeAt(i);if(codeUnit>=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr}function lengthBytesUTF32(str){var len=0;for(var i=0;i<str.length;++i){var codeUnit=str.charCodeAt(i);if(codeUnit>=55296&&codeUnit<=57343)++i;len+=4}return len}function __embind_register_std_wstring(rawType,charSize,name){name=readLatin1String(name);var decodeString,encodeString,getHeap,lengthBytesUTF,shift;if(charSize===2){decodeString=UTF16ToString;encodeString=stringToUTF16;lengthBytesUTF=lengthBytesUTF16;getHeap=()=>HEAPU16;shift=1}else if(charSize===4){decodeString=UTF32ToString;encodeString=stringToUTF32;lengthBytesUTF=lengthBytesUTF32;getHeap=()=>HEAPU32;shift=2}registerType(rawType,{name:name,\"fromWireType\":function(value){var length=HEAPU32[value>>2];var HEAP=getHeap();var str;var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i*charSize;if(i==length||HEAP[currentBytePtr>>shift]==0){var maxReadBytes=currentBytePtr-decodeStartPtr;var stringSegment=decodeString(decodeStartPtr,maxReadBytes);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+charSize}}_free(value);return str},\"toWireType\":function(destructors,value){if(!(typeof value==\"string\")){throwBindingError(\"Cannot pass non-string to C++ string type \"+name)}var length=lengthBytesUTF(value);var ptr=_malloc(4+length+charSize);HEAPU32[ptr>>2]=length>>shift;encodeString(value,ptr+4,length+charSize);if(destructors!==null){destructors.push(_free,ptr)}return ptr},\"argPackAdvance\":8,\"readValueFromPointer\":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_value_object(rawType,name,constructorSignature,rawConstructor,destructorSignature,rawDestructor){structRegistrations[rawType]={name:readLatin1String(name),rawConstructor:embind__requireFunction(constructorSignature,rawConstructor),rawDestructor:embind__requireFunction(destructorSignature,rawDestructor),fields:[]}}function __embind_register_value_object_field(structType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext){structRegistrations[structType].fields.push({fieldName:readLatin1String(fieldName),getterReturnType:getterReturnType,getter:embind__requireFunction(getterSignature,getter),getterContext:getterContext,setterArgumentType:setterArgumentType,setter:embind__requireFunction(setterSignature,setter),setterContext:setterContext})}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,\"argPackAdvance\":0,\"fromWireType\":function(){return undefined},\"toWireType\":function(destructors,o){return undefined}})}function requireRegisteredType(rawType,humanName){var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(humanName+\" has unknown type \"+getTypeName(rawType))}return impl}function __emval_as(handle,returnType,destructorsRef){handle=Emval.toValue(handle);returnType=requireRegisteredType(returnType,\"emval::as\");var destructors=[];var rd=Emval.toHandle(destructors);HEAPU32[destructorsRef>>2]=rd;return returnType[\"toWireType\"](destructors,handle)}var emval_symbols={};function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}return symbol}var emval_methodCallers=[];function __emval_call_void_method(caller,handle,methodName,args){caller=emval_methodCallers[caller];handle=Emval.toValue(handle);methodName=getStringOrSymbol(methodName);caller(handle,methodName,null,args)}function emval_get_global(){if(typeof globalThis==\"object\"){return globalThis}return function(){return Function}()(\"return this\")()}function __emval_get_global(name){if(name===0){return Emval.toHandle(emval_get_global())}else{name=getStringOrSymbol(name);return Emval.toHandle(emval_get_global()[name])}}function emval_addMethodCaller(caller){var id=emval_methodCallers.length;emval_methodCallers.push(caller);return id}function emval_lookupTypes(argCount,argTypes){var a=new Array(argCount);for(var i=0;i<argCount;++i){a[i]=requireRegisteredType(HEAPU32[argTypes+i*POINTER_SIZE>>2],\"parameter \"+i)}return a}var emval_registeredMethods=[];function __emval_get_method_caller(argCount,argTypes){var types=emval_lookupTypes(argCount,argTypes);var retType=types[0];var signatureName=retType.name+\"_$\"+types.slice(1).map(function(t){return t.name}).join(\"_\")+\"$\";var returnId=emval_registeredMethods[signatureName];if(returnId!==undefined){return returnId}var params=[\"retType\"];var args=[retType];var argsList=\"\";for(var i=0;i<argCount-1;++i){argsList+=(i!==0?\", \":\"\")+\"arg\"+i;params.push(\"argType\"+i);args.push(types[1+i])}var functionName=makeLegalFunctionName(\"methodCaller_\"+signatureName);var functionBody=\"return function \"+functionName+\"(handle, name, destructors, args) {\\n\";var offset=0;for(var i=0;i<argCount-1;++i){functionBody+=\" var arg\"+i+\" = argType\"+i+\".readValueFromPointer(args\"+(offset?\"+\"+offset:\"\")+\");\\n\";offset+=types[i+1][\"argPackAdvance\"]}functionBody+=\" var rv = handle[name](\"+argsList+\");\\n\";for(var i=0;i<argCount-1;++i){if(types[i+1][\"deleteObject\"]){functionBody+=\" argType\"+i+\".deleteObject(arg\"+i+\");\\n\"}}if(!retType.isVoid){functionBody+=\" return retType.toWireType(destructors, rv);\\n\"}functionBody+=\"};\\n\";params.push(functionBody);var invokerFunction=new_(Function,params).apply(null,args);returnId=emval_addMethodCaller(invokerFunction);emval_registeredMethods[signatureName]=returnId;return returnId}function __emval_get_property(handle,key){handle=Emval.toValue(handle);key=Emval.toValue(key);return Emval.toHandle(handle[key])}function __emval_incref(handle){if(handle>4){emval_handle_array[handle].refcount+=1}}function craftEmvalAllocator(argCount){var argsList=\"\";for(var i=0;i<argCount;++i){argsList+=(i!==0?\", \":\"\")+\"arg\"+i}var getMemory=()=>HEAPU32;var functionBody=\"return function emval_allocator_\"+argCount+\"(constructor, argTypes, args) {\\n\"+\" var HEAPU32 = getMemory();\\n\";for(var i=0;i<argCount;++i){functionBody+=\"var argType\"+i+\" = requireRegisteredType(HEAPU32[((argTypes)>>2)], 'parameter \"+i+\"');\\n\"+\"var arg\"+i+\" = argType\"+i+\".readValueFromPointer(args);\\n\"+\"args += argType\"+i+\"['argPackAdvance'];\\n\"+\"argTypes += 4;\\n\"}functionBody+=\"var obj = new constructor(\"+argsList+\");\\n\"+\"return valueToHandle(obj);\\n\"+\"}\\n\";return new Function(\"requireRegisteredType\",\"Module\",\"valueToHandle\",\"getMemory\",functionBody)(requireRegisteredType,Module,Emval.toHandle,getMemory)}var emval_newers={};function __emval_new(handle,argCount,argTypes,args){handle=Emval.toValue(handle);var newer=emval_newers[argCount];if(!newer){newer=craftEmvalAllocator(argCount);emval_newers[argCount]=newer}return newer(handle,argTypes,args)}function __emval_new_cstring(v){return Emval.toHandle(getStringOrSymbol(v))}function __emval_run_destructors(handle){var destructors=Emval.toValue(handle);runDestructors(destructors);__emval_decref(handle)}function __emval_take_value(type,arg){type=requireRegisteredType(type,\"_emval_take_value\");var v=type[\"readValueFromPointer\"](arg);return Emval.toHandle(v)}function _abort(){abort(\"\")}var readEmAsmArgsArray=[];function readEmAsmArgs(sigPtr,buf){readEmAsmArgsArray.length=0;var ch;buf>>=2;while(ch=HEAPU8[sigPtr++]){buf+=ch!=105&buf;readEmAsmArgsArray.push(ch==105?HEAP32[buf]:HEAPF64[buf++>>1]);++buf}return readEmAsmArgsArray}function runEmAsmFunction(code,sigPtr,argbuf){var args=readEmAsmArgs(sigPtr,argbuf);return ASM_CONSTS[code].apply(null,args)}function _emscripten_asm_const_int(code,sigPtr,argbuf){return runEmAsmFunction(code,sigPtr,argbuf)}function getHeapMax(){return 2147483648}function _emscripten_get_heap_max(){return getHeapMax()}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function emscripten_realloc_buffer(size){try{wasmMemory.grow(size-buffer.byteLength+65535>>>16);updateGlobalBufferAndViews(wasmMemory.buffer);return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=HEAPU8.length;requestedSize=requestedSize>>>0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}let alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}var ENV={};function getExecutableName(){return thisProgram||\"./this.program\"}function getEnvStrings(){if(!getEnvStrings.strings){var lang=(typeof navigator==\"object\"&&navigator.languages&&navigator.languages[0]||\"C\").replace(\"-\",\"_\")+\".UTF-8\";var env={\"USER\":\"web_user\",\"LOGNAME\":\"web_user\",\"PATH\":\"/\",\"PWD\":\"/\",\"HOME\":\"/home/web_user\",\"LANG\":lang,\"_\":getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(x+\"=\"+env[x])}getEnvStrings.strings=strings}return getEnvStrings.strings}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}function _environ_get(__environ,environ_buf){var bufSize=0;getEnvStrings().forEach(function(string,i){var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>2]=ptr;writeAsciiToMemory(string,ptr);bufSize+=string.length+1});return 0}function _environ_sizes_get(penviron_count,penviron_buf_size){var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1});HEAPU32[penviron_buf_size>>2]=bufSize;return 0}function _fd_close(fd){return 52}function _fd_read(fd,iov,iovcnt,pnum){return 52}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){return 70}var printCharBuffers=[null,[],[]];function printChar(stream,curr){var buffer=printCharBuffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}}function _fd_write(fd,iov,iovcnt,pnum){var num=0;for(var i=0;i<iovcnt;i++){var ptr=HEAPU32[iov>>2];var len=HEAPU32[iov+4>>2];iov+=8;for(var j=0;j<len;j++){printChar(fd,HEAPU8[ptr+j])}num+=len}HEAPU32[pnum>>2]=num;return 0}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]){}return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):\"\"};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={\"%c\":\"%a %b %d %H:%M:%S %Y\",\"%D\":\"%m/%d/%y\",\"%F\":\"%Y-%m-%d\",\"%h\":\"%b\",\"%r\":\"%I:%M:%S %p\",\"%R\":\"%H:%M\",\"%T\":\"%H:%M:%S\",\"%x\":\"%m/%d/%y\",\"%X\":\"%H:%M:%S\",\"%Ec\":\"%c\",\"%EC\":\"%C\",\"%Ex\":\"%m/%d/%y\",\"%EX\":\"%H:%M:%S\",\"%Ey\":\"%y\",\"%EY\":\"%Y\",\"%Od\":\"%d\",\"%Oe\":\"%e\",\"%OH\":\"%H\",\"%OI\":\"%I\",\"%Om\":\"%m\",\"%OM\":\"%M\",\"%OS\":\"%S\",\"%Ou\":\"%u\",\"%OU\":\"%U\",\"%OV\":\"%V\",\"%Ow\":\"%w\",\"%OW\":\"%W\",\"%Oy\":\"%y\"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,\"g\"),EXPANSION_RULES_1[rule])}var WEEKDAYS=[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"];var MONTHS=[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"];function leadingSomething(value,digits,character){var str=typeof value==\"number\"?value.toString():value||\"\";while(str.length<digits){str=character[0]+str}return str}function leadingNulls(value,digits){return leadingSomething(value,digits,\"0\")}function compareByDay(date1,date2){function sgn(value){return value<0?-1:value>0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}return thisDate.getFullYear()}return thisDate.getFullYear()-1}var EXPANSION_RULES_2={\"%a\":function(date){return WEEKDAYS[date.tm_wday].substring(0,3)},\"%A\":function(date){return WEEKDAYS[date.tm_wday]},\"%b\":function(date){return MONTHS[date.tm_mon].substring(0,3)},\"%B\":function(date){return MONTHS[date.tm_mon]},\"%C\":function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)},\"%d\":function(date){return leadingNulls(date.tm_mday,2)},\"%e\":function(date){return leadingSomething(date.tm_mday,2,\" \")},\"%g\":function(date){return getWeekBasedYear(date).toString().substring(2)},\"%G\":function(date){return getWeekBasedYear(date)},\"%H\":function(date){return leadingNulls(date.tm_hour,2)},\"%I\":function(date){var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)},\"%j\":function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)},\"%m\":function(date){return leadingNulls(date.tm_mon+1,2)},\"%M\":function(date){return leadingNulls(date.tm_min,2)},\"%n\":function(){return\"\\n\"},\"%p\":function(date){if(date.tm_hour>=0&&date.tm_hour<12){return\"AM\"}return\"PM\"},\"%S\":function(date){return leadingNulls(date.tm_sec,2)},\"%t\":function(){return\"\\t\"},\"%u\":function(date){return date.tm_wday||7},\"%U\":function(date){var days=date.tm_yday+7-date.tm_wday;return leadingNulls(Math.floor(days/7),2)},\"%V\":function(date){var val=Math.floor((date.tm_yday+7-(date.tm_wday+6)%7)/7);if((date.tm_wday+371-date.tm_yday-2)%7<=2){val++}if(!val){val=52;var dec31=(date.tm_wday+7-date.tm_yday-1)%7;if(dec31==4||dec31==5&&__isLeapYear(date.tm_year%400-1)){val++}}else if(val==53){var jan1=(date.tm_wday+371-date.tm_yday)%7;if(jan1!=4&&(jan1!=3||!__isLeapYear(date.tm_year)))val=1}return leadingNulls(val,2)},\"%w\":function(date){return date.tm_wday},\"%W\":function(date){var days=date.tm_yday+7-(date.tm_wday+6)%7;return leadingNulls(Math.floor(days/7),2)},\"%y\":function(date){return(date.tm_year+1900).toString().substring(2)},\"%Y\":function(date){return date.tm_year+1900},\"%z\":function(date){var off=date.tm_gmtoff;var ahead=off>=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?\"+\":\"-\")+String(\"0000\"+off).slice(-4)},\"%Z\":function(date){return date.tm_zone},\"%%\":function(){return\"%\"}};pattern=pattern.replace(/%%/g,\"\\0\\0\");for(var rule in EXPANSION_RULES_2){if(pattern.includes(rule)){pattern=pattern.replace(new RegExp(rule,\"g\"),EXPANSION_RULES_2[rule](date))}}pattern=pattern.replace(/\\0\\0/g,\"%\");var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _strftime_l(s,maxsize,format,tm,loc){return _strftime(s,maxsize,format,tm)}function _proc_exit(code){EXITSTATUS=code;if(!keepRuntimeAlive()){if(Module[\"onExit\"])Module[\"onExit\"](code);ABORT=true}quit_(code,new ExitStatus(code))}function exitJS(status,implicit){EXITSTATUS=status;_proc_exit(status)}function handleException(e){if(e instanceof ExitStatus||e==\"unwind\"){return EXITSTATUS}quit_(1,e)}InternalError=Module[\"InternalError\"]=extendError(Error,\"InternalError\");embind_init_charCodes();BindingError=Module[\"BindingError\"]=extendError(Error,\"BindingError\");init_emval();UnboundTypeError=Module[\"UnboundTypeError\"]=extendError(Error,\"UnboundTypeError\");var asmLibraryArg={\"b\":___cxa_throw,\"J\":___syscall_getcwd,\"F\":___syscall_getdents64,\"L\":___syscall_openat,\"E\":___syscall_readlinkat,\"G\":___syscall_stat64,\"x\":__embind_finalize_value_object,\"A\":__embind_register_bigint,\"O\":__embind_register_bool,\"N\":__embind_register_emval,\"v\":__embind_register_float,\"g\":__embind_register_function,\"d\":__embind_register_integer,\"c\":__embind_register_memory_view,\"u\":__embind_register_std_string,\"m\":__embind_register_std_wstring,\"y\":__embind_register_value_object,\"e\":__embind_register_value_object_field,\"P\":__embind_register_void,\"r\":__emval_as,\"i\":__emval_call_void_method,\"a\":__emval_decref,\"p\":__emval_get_global,\"j\":__emval_get_method_caller,\"s\":__emval_get_property,\"f\":__emval_incref,\"o\":__emval_new,\"w\":__emval_new_cstring,\"q\":__emval_run_destructors,\"k\":__emval_take_value,\"n\":_abort,\"h\":_emscripten_asm_const_int,\"D\":_emscripten_get_heap_max,\"M\":_emscripten_memcpy_big,\"C\":_emscripten_resize_heap,\"H\":_environ_get,\"I\":_environ_sizes_get,\"l\":_fd_close,\"K\":_fd_read,\"z\":_fd_seek,\"t\":_fd_write,\"B\":_strftime_l};var asm=createWasm();var ___wasm_call_ctors=Module[\"___wasm_call_ctors\"]=function(){return(___wasm_call_ctors=Module[\"___wasm_call_ctors\"]=Module[\"asm\"][\"R\"]).apply(null,arguments)};var _main=Module[\"_main\"]=function(){return(_main=Module[\"_main\"]=Module[\"asm\"][\"S\"]).apply(null,arguments)};var _malloc=Module[\"_malloc\"]=function(){return(_malloc=Module[\"_malloc\"]=Module[\"asm\"][\"U\"]).apply(null,arguments)};var _free=Module[\"_free\"]=function(){return(_free=Module[\"_free\"]=Module[\"asm\"][\"V\"]).apply(null,arguments)};var ___getTypeName=Module[\"___getTypeName\"]=function(){return(___getTypeName=Module[\"___getTypeName\"]=Module[\"asm\"][\"W\"]).apply(null,arguments)};var __embind_initialize_bindings=Module[\"__embind_initialize_bindings\"]=function(){return(__embind_initialize_bindings=Module[\"__embind_initialize_bindings\"]=Module[\"asm\"][\"X\"]).apply(null,arguments)};var ___cxa_is_pointer_type=Module[\"___cxa_is_pointer_type\"]=function(){return(___cxa_is_pointer_type=Module[\"___cxa_is_pointer_type\"]=Module[\"asm\"][\"Y\"]).apply(null,arguments)};var dynCall_viij=Module[\"dynCall_viij\"]=function(){return(dynCall_viij=Module[\"dynCall_viij\"]=Module[\"asm\"][\"Z\"]).apply(null,arguments)};var dynCall_vij=Module[\"dynCall_vij\"]=function(){return(dynCall_vij=Module[\"dynCall_vij\"]=Module[\"asm\"][\"_\"]).apply(null,arguments)};var dynCall_iij=Module[\"dynCall_iij\"]=function(){return(dynCall_iij=Module[\"dynCall_iij\"]=Module[\"asm\"][\"$\"]).apply(null,arguments)};var dynCall_viji=Module[\"dynCall_viji\"]=function(){return(dynCall_viji=Module[\"dynCall_viji\"]=Module[\"asm\"][\"aa\"]).apply(null,arguments)};var dynCall_jiji=Module[\"dynCall_jiji\"]=function(){return(dynCall_jiji=Module[\"dynCall_jiji\"]=Module[\"asm\"][\"ba\"]).apply(null,arguments)};var dynCall_viijii=Module[\"dynCall_viijii\"]=function(){return(dynCall_viijii=Module[\"dynCall_viijii\"]=Module[\"asm\"][\"ca\"]).apply(null,arguments)};var dynCall_iiiiij=Module[\"dynCall_iiiiij\"]=function(){return(dynCall_iiiiij=Module[\"dynCall_iiiiij\"]=Module[\"asm\"][\"da\"]).apply(null,arguments)};var dynCall_iiiiijj=Module[\"dynCall_iiiiijj\"]=function(){return(dynCall_iiiiijj=Module[\"dynCall_iiiiijj\"]=Module[\"asm\"][\"ea\"]).apply(null,arguments)};var dynCall_iiiiiijj=Module[\"dynCall_iiiiiijj\"]=function(){return(dynCall_iiiiiijj=Module[\"dynCall_iiiiiijj\"]=Module[\"asm\"][\"fa\"]).apply(null,arguments)};var ___start_em_js=Module[\"___start_em_js\"]=638316;var ___stop_em_js=Module[\"___stop_em_js\"]=638383;var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){var entryFunction=Module[\"_main\"];var argc=0;var argv=0;try{var ret=entryFunction(argc,argv);exitJS(ret,true);return ret}catch(e){return handleException(e)}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module[\"calledRun\"]=true;if(ABORT)return;initRuntime();preMain();readyPromiseResolve(Module);if(Module[\"onRuntimeInitialized\"])Module[\"onRuntimeInitialized\"]();if(shouldRunNow)callMain(args);postRun()}if(Module[\"setStatus\"]){Module[\"setStatus\"](\"Running...\");setTimeout(function(){setTimeout(function(){Module[\"setStatus\"](\"\")},1);doRun()},1)}else{doRun()}}if(Module[\"preInit\"]){if(typeof Module[\"preInit\"]==\"function\")Module[\"preInit\"]=[Module[\"preInit\"]];while(Module[\"preInit\"].length>0){Module[\"preInit\"].pop()()}}var shouldRunNow=true;if(Module[\"noInitialRun\"])shouldRunNow=false;run();\n\n\n return ICRPolySegApp.ready\n}\n);\n})();\nexport default ICRPolySegApp;","import launcher from './ICRPolySeg.js';\r\nimport wasm from './ICRPolySeg.wasm';\r\n\r\nexport default class ICRPolySeg {\r\n constructor() {\r\n this._instance;\r\n }\r\n\r\n get instance() {\r\n if (this._instance) {\r\n return this._instance;\r\n }\r\n\r\n throw new Error('ICRPolySeg is not initialized.');\r\n }\r\n\r\n async initialize(params = {}) {\r\n this._instance = await launcher({\r\n locateFile: (f) => {\r\n if (f.endsWith('.wasm')) {\r\n return wasm;\r\n }\r\n return f;\r\n },\r\n ...params\r\n });\r\n }\r\n}\r\n","/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\nconst proxyMarker = Symbol(\"Comlink.proxy\");\nconst createEndpoint = Symbol(\"Comlink.endpoint\");\nconst releaseProxy = Symbol(\"Comlink.releaseProxy\");\nconst finalizer = Symbol(\"Comlink.finalizer\");\nconst throwMarker = Symbol(\"Comlink.thrown\");\nconst isObject = (val) => (typeof val === \"object\" && val !== null) || typeof val === \"function\";\n/**\n * Internal transfer handle to handle objects marked to proxy.\n */\nconst proxyTransferHandler = {\n canHandle: (val) => isObject(val) && val[proxyMarker],\n serialize(obj) {\n const { port1, port2 } = new MessageChannel();\n expose(obj, port1);\n return [port2, [port2]];\n },\n deserialize(port) {\n port.start();\n return wrap(port);\n },\n};\n/**\n * Internal transfer handler to handle thrown exceptions.\n */\nconst throwTransferHandler = {\n canHandle: (value) => isObject(value) && throwMarker in value,\n serialize({ value }) {\n let serialized;\n if (value instanceof Error) {\n serialized = {\n isError: true,\n value: {\n message: value.message,\n name: value.name,\n stack: value.stack,\n },\n };\n }\n else {\n serialized = { isError: false, value };\n }\n return [serialized, []];\n },\n deserialize(serialized) {\n if (serialized.isError) {\n throw Object.assign(new Error(serialized.value.message), serialized.value);\n }\n throw serialized.value;\n },\n};\n/**\n * Allows customizing the serialization of certain values.\n */\nconst transferHandlers = new Map([\n [\"proxy\", proxyTransferHandler],\n [\"throw\", throwTransferHandler],\n]);\nfunction isAllowedOrigin(allowedOrigins, origin) {\n for (const allowedOrigin of allowedOrigins) {\n if (origin === allowedOrigin || allowedOrigin === \"*\") {\n return true;\n }\n if (allowedOrigin instanceof RegExp && allowedOrigin.test(origin)) {\n return true;\n }\n }\n return false;\n}\nfunction expose(obj, ep = globalThis, allowedOrigins = [\"*\"]) {\n ep.addEventListener(\"message\", function callback(ev) {\n if (!ev || !ev.data) {\n return;\n }\n if (!isAllowedOrigin(allowedOrigins, ev.origin)) {\n console.warn(`Invalid origin '${ev.origin}' for comlink proxy`);\n return;\n }\n const { id, type, path } = Object.assign({ path: [] }, ev.data);\n const argumentList = (ev.data.argumentList || []).map(fromWireValue);\n let returnValue;\n try {\n const parent = path.slice(0, -1).reduce((obj, prop) => obj[prop], obj);\n const rawValue = path.reduce((obj, prop) => obj[prop], obj);\n switch (type) {\n case \"GET\" /* MessageType.GET */:\n {\n returnValue = rawValue;\n }\n break;\n case \"SET\" /* MessageType.SET */:\n {\n parent[path.slice(-1)[0]] = fromWireValue(ev.data.value);\n returnValue = true;\n }\n break;\n case \"APPLY\" /* MessageType.APPLY */:\n {\n returnValue = rawValue.apply(parent, argumentList);\n }\n break;\n case \"CONSTRUCT\" /* MessageType.CONSTRUCT */:\n {\n const value = new rawValue(...argumentList);\n returnValue = proxy(value);\n }\n break;\n case \"ENDPOINT\" /* MessageType.ENDPOINT */:\n {\n const { port1, port2 } = new MessageChannel();\n expose(obj, port2);\n returnValue = transfer(port1, [port1]);\n }\n break;\n case \"RELEASE\" /* MessageType.RELEASE */:\n {\n returnValue = undefined;\n }\n break;\n default:\n return;\n }\n }\n catch (value) {\n returnValue = { value, [throwMarker]: 0 };\n }\n Promise.resolve(returnValue)\n .catch((value) => {\n return { value, [throwMarker]: 0 };\n })\n .then((returnValue) => {\n const [wireValue, transferables] = toWireValue(returnValue);\n ep.postMessage(Object.assign(Object.assign({}, wireValue), { id }), transferables);\n if (type === \"RELEASE\" /* MessageType.RELEASE */) {\n // detach and deactive after sending release response above.\n ep.removeEventListener(\"message\", callback);\n closeEndPoint(ep);\n if (finalizer in obj && typeof obj[finalizer] === \"function\") {\n obj[finalizer]();\n }\n }\n })\n .catch((error) => {\n // Send Serialization Error To Caller\n const [wireValue, transferables] = toWireValue({\n value: new TypeError(\"Unserializable return value\"),\n [throwMarker]: 0,\n });\n ep.postMessage(Object.assign(Object.assign({}, wireValue), { id }), transferables);\n });\n });\n if (ep.start) {\n ep.start();\n }\n}\nfunction isMessagePort(endpoint) {\n return endpoint.constructor.name === \"MessagePort\";\n}\nfunction closeEndPoint(endpoint) {\n if (isMessagePort(endpoint))\n endpoint.close();\n}\nfunction wrap(ep, target) {\n return createProxy(ep, [], target);\n}\nfunction throwIfProxyReleased(isReleased) {\n if (isReleased) {\n throw new Error(\"Proxy has been released and is not useable\");\n }\n}\nfunction releaseEndpoint(ep) {\n return requestResponseMessage(ep, {\n type: \"RELEASE\" /* MessageType.RELEASE */,\n }).then(() => {\n closeEndPoint(ep);\n });\n}\nconst proxyCounter = new WeakMap();\nconst proxyFinalizers = \"FinalizationRegistry\" in globalThis &&\n new FinalizationRegistry((ep) => {\n const newCount = (proxyCounter.get(ep) || 0) - 1;\n proxyCounter.set(ep, newCount);\n if (newCount === 0) {\n releaseEndpoint(ep);\n }\n });\nfunction registerProxy(proxy, ep) {\n const newCount = (proxyCounter.get(ep) || 0) + 1;\n proxyCounter.set(ep, newCount);\n if (proxyFinalizers) {\n proxyFinalizers.register(proxy, ep, proxy);\n }\n}\nfunction unregisterProxy(proxy) {\n if (proxyFinalizers) {\n proxyFinalizers.unregister(proxy);\n }\n}\nfunction createProxy(ep, path = [], target = function () { }) {\n let isProxyReleased = false;\n const proxy = new Proxy(target, {\n get(_target, prop) {\n throwIfProxyReleased(isProxyReleased);\n if (prop === releaseProxy) {\n return () => {\n unregisterProxy(proxy);\n releaseEndpoint(ep);\n isProxyReleased = true;\n };\n }\n if (prop === \"then\") {\n if (path.length === 0) {\n return { then: () => proxy };\n }\n const r = requestResponseMessage(ep, {\n type: \"GET\" /* MessageType.GET */,\n path: path.map((p) => p.toString()),\n }).then(fromWireValue);\n return r.then.bind(r);\n }\n return createProxy(ep, [...path, prop]);\n },\n set(_target, prop, rawValue) {\n throwIfProxyReleased(isProxyReleased);\n // FIXME: ES6 Proxy Handler `set` methods are supposed to return a\n // boolean. To show good will, we return true asynchronously ¯\\_(ツ)_/¯\n const [value, transferables] = toWireValue(rawValue);\n return requestResponseMessage(ep, {\n type: \"SET\" /* MessageType.SET */,\n path: [...path, prop].map((p) => p.toString()),\n value,\n }, transferables).then(fromWireValue);\n },\n apply(_target, _thisArg, rawArgumentList) {\n throwIfProxyReleased(isProxyReleased);\n const last = path[path.length - 1];\n if (last === createEndpoint) {\n return requestResponseMessage(ep, {\n type: \"ENDPOINT\" /* MessageType.ENDPOINT */,\n }).then(fromWireValue);\n }\n // We just pretend that `bind()` didn’t happen.\n if (last === \"bind\") {\n return createProxy(ep, path.slice(0, -1));\n }\n const [argumentList, transferables] = processArguments(rawArgumentList);\n return requestResponseMessage(ep, {\n type: \"APPLY\" /* MessageType.APPLY */,\n path: path.map((p) => p.toString()),\n argumentList,\n }, transferables).then(fromWireValue);\n },\n construct(_target, rawArgumentList) {\n throwIfProxyReleased(isProxyReleased);\n const [argumentList, transferables] = processArguments(rawArgumentList);\n return requestResponseMessage(ep, {\n type: \"CONSTRUCT\" /* MessageType.CONSTRUCT */,\n path: path.map((p) => p.toString()),\n argumentList,\n }, transferables).then(fromWireValue);\n },\n });\n registerProxy(proxy, ep);\n return proxy;\n}\nfunction myFlat(arr) {\n return Array.prototype.concat.apply([], arr);\n}\nfunction processArguments(argumentList) {\n const processed = argumentList.map(toWireValue);\n return [processed.map((v) => v[0]), myFlat(processed.map((v) => v[1]))];\n}\nconst transferCache = new WeakMap();\nfunction transfer(obj, transfers) {\n transferCache.set(obj, transfers);\n return obj;\n}\nfunction proxy(obj) {\n return Object.assign(obj, { [proxyMarker]: true });\n}\nfunction windowEndpoint(w, context = globalThis, targetOrigin = \"*\") {\n return {\n postMessage: (msg, transferables) => w.postMessage(msg, targetOrigin, transferables),\n addEventListener: context.addEventListener.bind(context),\n removeEventListener: context.removeEventListener.bind(context),\n };\n}\nfunction toWireValue(value) {\n for (const [name, handler] of transferHandlers) {\n if (handler.canHandle(value)) {\n const [serializedValue, transferables] = handler.serialize(value);\n return [\n {\n type: \"HANDLER\" /* WireValueType.HANDLER */,\n name,\n value: serializedValue,\n },\n transferables,\n ];\n }\n }\n return [\n {\n type: \"RAW\" /* WireValueType.RAW */,\n value,\n },\n transferCache.get(value) || [],\n ];\n}\nfunction fromWireValue(value) {\n switch (value.type) {\n case \"HANDLER\" /* WireValueType.HANDLER */:\n return transferHandlers.get(value.name).deserialize(value.value);\n case \"RAW\" /* WireValueType.RAW */:\n return value.value;\n }\n}\nfunction requestResponseMessage(ep, msg, transfers) {\n return new Promise((resolve) => {\n const id = generateUUID();\n ep.addEventListener(\"message\", function l(ev) {\n if (!ev.data || !ev.data.id || ev.data.id !== id) {\n return;\n }\n ep.removeEventListener(\"message\", l);\n resolve(ev.data);\n });\n if (ep.start) {\n ep.start();\n }\n ep.postMessage(Object.assign({ id }, msg), transfers);\n });\n}\nfunction generateUUID() {\n return new Array(4)\n .fill(0)\n .map(() => Math.floor(Math.random() * Number.MAX_SAFE_INTEGER).toString(16))\n .join(\"-\");\n}\n\nexport { createEndpoint, expose, finalizer, proxy, proxyMarker, releaseProxy, transfer, transferHandlers, windowEndpoint, wrap };\n//# sourceMappingURL=comlink.mjs.map\n"],"names":["_scriptDir","document","currentScript","src","undefined","ICRPolySegApp","readyPromiseResolve","readyPromiseReject","Module","Promise","resolve","reject","readBinary","moduleOverrides","Object","assign","arguments_","thisProgram","quit_","status","toThrow","scriptDirectory","indexOf","substr","replace","lastIndexOf","out","console","log","bind","err","warn","wasmBinary","wasmMemory","noExitRuntime","WebAssembly","abort","EXITSTATUS","buffer","HEAP8","HEAPU8","HEAP16","HEAPU16","HEAP32","HEAPU32","HEAPF32","HEAPF64","ABORT","UTF8Decoder","TextDecoder","UTF8ArrayToString","heapOrArray","idx","maxBytesToRead","endIdx","endPtr","decode","subarray","str","u0","u1","u2","String","fromCharCode","ch","UTF8ToString","ptr","stringToUTF8Array","heap","outIdx","maxBytesToWrite","startIdx","i","length","u","charCodeAt","lengthBytesUTF8","len","c","updateGlobalBufferAndViews","buf","Int8Array","Int16Array","Int32Array","Uint8Array","Uint16Array","Uint32Array","Float32Array","Float64Array","wasmTable","__ATPRERUN__","__ATINIT__","__ATMAIN__","__ATPOSTRUN__","runDependencies","runDependencyWatcher","dependenciesFulfilled","what","e","RuntimeError","wasmBinaryFile","path","isDataURI","filename","startsWith","getBinary","file","ASM_CONSTS","$0","updateProgress","ExitStatus","this","name","message","callRuntimeCallbacks","callbacks","shift","ExceptionInfo","excPtr","set_type","type","get_type","set_destructor","destructor","get_destructor","set_refcount","refcount","set_caught","caught","get_caught","set_rethrown","rethrown","get_rethrown","init","set_adjusted_ptr","add_ref","value","release_ref","prev","adjustedPtr","get_adjusted_ptr","get_exception_ptr","___cxa_is_pointer_type","adjusted","SYSCALLS","varargs","get","getStr","structRegistrations","runDestructors","destructors","pop","del","simpleReadValueFromPointer","pointer","awaitingDependencies","registeredTypes","typeDependencies","char_0","char_9","makeLegalFunctionName","f","createNamedFunction","body","Function","extendError","baseErrorType","errorName","errorClass","stack","Error","toString","prototype","create","constructor","InternalError","throwInternalError","whenDependentTypesAreResolved","myTypes","dependentTypes","getTypeConverters","onComplete","typeConverters","myTypeConverters","registerType","forEach","Array","unregisteredTypes","registered","dt","hasOwnProperty","push","getShiftFromSize","size","TypeError","embind_charCodes","readLatin1String","ret","BindingError","throwBindingError","rawType","registeredInstance","options","ignoreDuplicateRegistrations","cb","emval_free_list","emval_handle_array","__emval_decref","handle","Emval","floatReadValueFromPointer","new_","argumentList","dummy","obj","r","apply","wasmTableMirror","getWasmTableEntry","funcPtr","func","embind__requireFunction","signature","rawFunction","sig","argCache","fp","includes","arguments","args","concat","call","dynCallLegacy","dynCall","UnboundTypeError","getTypeName","___getTypeName","rv","_free","integerReadValueFromPointer","signed","UTF16Decoder","UTF16ToString","maxIdx","codeUnit","stringToUTF16","outPtr","startPtr","numCharsToWrite","lengthBytesUTF16","UTF32ToString","utf32","stringToUTF32","lengthBytesUTF32","requireRegisteredType","humanName","impl","emval_symbols","getStringOrSymbol","address","symbol","emval_methodCallers","emval_get_global","globalThis","emval_registeredMethods","emval_newers","readEmAsmArgsArray","emscripten_realloc_buffer","grow","byteLength","ENV","getEnvStrings","strings","env","navigator","languages","x","printCharBuffers","printChar","stream","curr","__isLeapYear","year","__MONTH_DAYS_LEAP","__MONTH_DAYS_REGULAR","codes","embind_init_charCodes","count","calledRun","asmLibraryArg","fd","dirp","dirfd","flags","bufsize","structType","reg","rawConstructor","rawDestructor","fieldRecords","fields","map","field","getterReturnType","setterArgumentType","fieldTypes","fieldName","getter","getterContext","setter","setterContext","read","write","o","destructorFunction","primitiveType","minRange","maxRange","trueValue","falseValue","wt","argCount","rawArgTypesAddr","rawInvoker","fn","argTypes","firstElement","array","heap32VectorToArray","numArguments","overloadTable","proto","methodName","prevFunc","ensureOverloadTable","exposePublicSymbol","types","unboundTypes","seen","visit","join","throwUnboundTypeError","invokerArgsArray","slice","replacePublicSymbol","classType","cppInvokerFunc","cppTargetFunc","isClassMethodFunc","needsDestructorStack","returns","argsList","argsListWired","invokerFnBody","dtorStack","args1","args2","paramName","craftInvokerFunction","fromWireType","bitshift","isUnsignedType","dataTypeIndex","TA","decodeMemoryView","data","stdStringIsUTF8","payload","decodeStartPtr","currentBytePtr","stringSegment","a","ArrayBuffer","valueIsOfTypeString","Uint8ClampedArray","base","_malloc","charCode","charSize","decodeString","encodeString","getHeap","lengthBytesUTF","HEAP","constructorSignature","destructorSignature","getterSignature","setterSignature","isVoid","returnType","destructorsRef","rd","caller","emval_lookupTypes","retType","signatureName","t","returnId","params","id","functionBody","offset","key","newer","craftEmvalAllocator","v","arg","code","sigPtr","argbuf","readEmAsmArgs","runEmAsmFunction","dest","num","copyWithin","requestedSize","oldSize","maxHeapSize","cutDown","overGrownHeapSize","Math","min","max","__environ","environ_buf","bufSize","string","writeAsciiToMemory","penviron_count","penviron_buf_size","iov","iovcnt","pnum","offset_low","offset_high","whence","newOffset","j","s","maxsize","format","tm","loc","tm_zone","date","tm_sec","tm_min","tm_hour","tm_mday","tm_mon","tm_year","tm_wday","tm_yday","tm_isdst","tm_gmtoff","pattern","EXPANSION_RULES_1","rule","RegExp","WEEKDAYS","MONTHS","leadingSomething","digits","character","leadingNulls","compareByDay","date1","date2","sgn","compare","getFullYear","getMonth","getDate","getFirstWeekStartDate","janFourth","getDay","Date","getWeekBasedYear","thisDate","days","newDate","getTime","leap","currentMonth","daysInCurrentMonth","setDate","setMonth","setFullYear","__addDays","janFourthThisYear","janFourthNextYear","firstWeekStartThisYear","firstWeekStartNextYear","EXPANSION_RULES_2","substring","twelveHour","index","sum","__arraySum","floor","val","jan1","dec31","off","ahead","abs","stringy","u8array","bytes","set","writeArrayToMemory","_strftime","info","receiveInstance","instance","module","exports","unshift","clearInterval","callback","removeRunDependency","receiveInstantiationResult","result","instantiateArrayBuffer","receiver","fetch","then","credentials","response","catch","binary","instantiate","reason","instantiateStreaming","createWasm","callMain","entryFunction","handleException","run","doRun","shouldRunNow","postRun","preRun","setTimeout","runCaller","ready","ICRPolySeg","_instance","initialize","locateFile","endsWith","proxyMarker","Symbol","createEndpoint","releaseProxy","finalizer","throwMarker","isObject","transferHandlers","Map","canHandle","serialize","port1","port2","MessageChannel","expose","deserialize","port","start","createProxy","target","serialized","isError","ep","allowedOrigins","addEventListener","ev","origin","allowedOrigin","test","isAllowedOrigin","fromWireValue","returnValue","parent","reduce","prop","rawValue","proxy","transfers","transferCache","transfer","wireValue","transferables","toWireValue","postMessage","removeEventListener","closeEndPoint","error","endpoint","isMessagePort","close","throwIfProxyReleased","isReleased","releaseEndpoint","requestResponseMessage","proxyCounter","WeakMap","proxyFinalizers","FinalizationRegistry","newCount","isProxyReleased","Proxy","_target","unregister","unregisterProxy","p","_thisArg","rawArgumentList","last","processArguments","construct","register","registerProxy","processed","arr","handler","serializedValue","msg","fill","random","Number","MAX_SAFE_INTEGER","l"],"sourceRoot":""}
|
package/dist/umd/985.index.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@cornerstonejs/core"),require("@kitware/vtk.js/Common/DataModel/ImageData"),require("@kitware/vtk.js/Common/Core/DataArray"),require("@kitware/vtk.js/Common/DataModel/Plane"),require("@kitware/vtk.js/Common/DataModel/PolyData"),require("@kitware/vtk.js/Filters/General/ContourLoopExtraction"),require("@kitware/vtk.js/Filters/Core/Cutter"),require("gl-matrix")):"function"==typeof define&&define.amd?define(["@cornerstonejs/core","@kitware/vtk.js/Common/DataModel/ImageData","@kitware/vtk.js/Common/Core/DataArray","@kitware/vtk.js/Common/DataModel/Plane","@kitware/vtk.js/Common/DataModel/PolyData","@kitware/vtk.js/Filters/General/ContourLoopExtraction","@kitware/vtk.js/Filters/Core/Cutter","gl-matrix"],t):"object"==typeof exports?exports.cornerstoneTools3D=t(require("@cornerstonejs/core"),require("@kitware/vtk.js/Common/DataModel/ImageData"),require("@kitware/vtk.js/Common/Core/DataArray"),require("@kitware/vtk.js/Common/DataModel/Plane"),require("@kitware/vtk.js/Common/DataModel/PolyData"),require("@kitware/vtk.js/Filters/General/ContourLoopExtraction"),require("@kitware/vtk.js/Filters/Core/Cutter"),require("gl-matrix")):e.cornerstoneTools3D=t(e.cornerstone3D,e["@kitware/vtk.js/Common/DataModel/ImageData"],e["@kitware/vtk.js/Common/Core/DataArray"],e["@kitware/vtk.js/Common/DataModel/Plane"],e["@kitware/vtk.js/Common/DataModel/PolyData"],e["@kitware/vtk.js/Filters/General/ContourLoopExtraction"],e["@kitware/vtk.js/Filters/Core/Cutter"],e.window)}(self,((e,t,n,a,o,r,i,s)=>(()=>{"use strict";var l,c,m={280:(e,t,n)=>{var a=n(758),o=n(953),r=n(283),i=n.n(r),s=n(785),l=n.n(s),c=n(699),m=n(864),u=n.n(m),g=n(70),p=n.n(g),f=n(336),d=n.n(f),h=n(481),v=n.n(h);const{EPSILON:y}=o.CONSTANTS;function D(e,t){return function(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],a=1/0,o=n?-1/0:0,r=1/0,i=n?-1/0:0,s=1/0,l=n?-1/0:0;const c=3===e[0]?.length;for(let t=0;t<e.length;t++){const n=e[t];a=Math.min(n[0],a),o=Math.max(n[0],o),r=Math.min(n[1],r),i=Math.max(n[1],i),c&&(s=Math.min(n[2]??s,s),l=Math.max(n[2]??l,l))}return t?(a=Math.max(n?t[0]+y:0,a),o=Math.min(n?t[0]-y:t[0]-1,o),r=Math.max(n?t[1]+y:0,r),i=Math.min(n?t[1]-y:t[1]-1,i),c&&3===t.length&&(s=Math.max(n?t[2]+y:0,s),l=Math.min(n?t[2]-y:t[2]-1,l))):n||(a=Math.max(0,a),o=Math.min(1/0,o),r=Math.max(0,r),i=Math.min(1/0,i),c&&(s=Math.max(0,s),l=Math.min(1/0,l))),c?[[a,o],[r,i],[s,l]]:[[a,o],[r,i],null]}(e,t,!0)}function x(e){let t;const n=o.utilities.getRandomSampleFromArray(e,50);for(let e=0;e<3;e++)if(n.every(((t,n,a)=>Math.abs(t[e]-a[0][e])<1e-6))){t=e;break}if(void 0===t)throw new Error("Cannot find a shared dimension index for polyline, probably oblique plane");const a=[],r=(t+1)%3,i=(t+2)%3;for(let t=0;t<e.length;t++)a.push([e[t][r],e[t][i]]);return{sharedDimensionIndex:t,projectedPolyline:a}}var w=n(976);function I(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{closed:void 0};if(e.length<3)return!1;const a=e.length;let o=0;const{closed:r,holes:i}=n;if(i?.length)for(const e of i)if(I(e,t))return!1;const s=!(void 0===r?function(e){if(e.length<3)return!1;const t=e.length,n=function(e,t){if(e.length!==t.length)throw Error("Both points should have the same dimensionality");const[n,a,o=0]=e,[r,i,s=0]=t,l=r-n,c=i-a,m=s-o;return l*l+c*c+m*m}(e[0],e[t-1]);return w.glMatrix.equals(0,n)}(e):r),l=e.length-(s?1:2);for(let n=0;n<=l;n++){const r=e[n],i=e[n===a-1?0:n+1],s=r[0]>=i[0]?r[0]:i[0],l=r[1]>=i[1]?r[1]:i[1],c=r[1]<=i[1]?r[1]:i[1];if(t[0]<=s&&t[1]>=c&&t[1]<l){let e=r[0]===i[0];if(!e){const n=(t[1]-r[1])*(i[0]-r[0])/(i[1]-r[1])+r[0];e=t[0]<=n}o+=e?1:0}}return!!(o%2)}function S(e,t){let n=e;const a=t?.numDimensions||2,o=3===a;if(!Array.isArray(e[0])){const t=e,r=t.length/a;n=new Array(t.length/a);for(let e=0,i=r;e<i;e++)n[e]=[t[e*a],t[e*a+1]],o&&n[e].push(t[e*a+2])}let r=1/0,i=1/0,s=-1/0,l=-1/0,c=1/0,m=-1/0;for(let e=0,t=n.length;e<t;e++){const[t,a,u]=n[e];r=r<t?r:t,i=i<a?i:a,s=s>t?s:t,l=l>a?l:a,o&&(c=c<u?c:u,m=m>u?m:u)}return o?{minX:r,maxX:s,minY:i,maxY:l,minZ:c,maxZ:m}:{minX:r,maxX:s,minY:i,maxY:l}}const k=(e,t,n,a,o,r,i,s)=>{const l=[w.vec3.fromValues(n,a,o),w.vec3.fromValues(r,a,o),w.vec3.fromValues(n,i,o),w.vec3.fromValues(r,i,o),w.vec3.fromValues(n,a,s),w.vec3.fromValues(r,a,s),w.vec3.fromValues(n,i,s),w.vec3.fromValues(r,i,s)],c=w.vec3.fromValues(t[0],t[1],t[2]),m=w.vec3.fromValues(e[0],e[1],e[2]),u=-w.vec3.dot(c,m);let g=null;for(const e of l){const t=w.vec3.dot(c,e)+u;if(null===g)g=Math.sign(t);else if(Math.sign(t)!==g)return!0}return!1},M={polySeg:null,polySegInitializing:!1,polySegInitializingPromise:null,async initializePolySeg(e){this.polySegInitializing?await this.polySegInitializingPromise:this.polySeg?.instance||(this.polySegInitializing=!0,this.polySegInitializingPromise=new Promise((t=>{this.polySeg=new c.Z,this.polySeg.initialize({updateProgress:e}).then((()=>{this.polySegInitializing=!1,t()}))})),await this.polySegInitializingPromise)},async convertContourToSurface(e){const{polylines:t,numPointsArray:n}=e;for(var a=arguments.length,o=new Array(a>1?a-1:0),r=1;r<a;r++)o[r-1]=arguments[r];const[i]=o;return await this.initializePolySeg(i),await this.polySeg.instance.convertContourRoiToSurface(t,n)},async convertLabelmapToSurface(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),a=1;a<t;a++)n[a-1]=arguments[a];const[o]=n;return await this.initializePolySeg(o),this.polySeg.instance.convertLabelmapToSurface(e.scalarData,e.dimensions,e.spacing,e.direction,e.origin,[e.segmentIndex])},async convertContourToVolumeLabelmap(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),a=1;a<t;a++)n[a-1]=arguments[a];const[r]=n,s=await new c.Z;await s.initialize({updateProgress:r});const{segmentIndices:m,scalarData:u,annotationUIDsInSegmentMap:g,dimensions:p,origin:f,direction:d,spacing:h}=e,v=o.utilities.VoxelManager.createScalarVolumeVoxelManager({dimensions:p,scalarData:u}),y=i().newInstance();y.setDimensions(p),y.setOrigin(f),y.setDirection(d),y.setSpacing(h);const w=l().newInstance({name:"Pixels",numberOfComponents:1,values:u});y.getPointData().setScalars(w),y.modified();for(const e of m){const t=g.get(e);for(const n of t){if(!n.polyline)continue;const{polyline:t,holesPolyline:a}=n,r=D(t),[i,s,l]=o.utilities.transformWorldToIndex(y,[r[0][0],r[1][0],r[2][0]]),[c,m,g]=o.utilities.transformWorldToIndex(y,[r[0][1],r[1][1],r[2][1]]),{projectedPolyline:f,sharedDimensionIndex:d}=x(t),h=a?.map((e=>{const{projectedPolyline:t}=x(e);return t})),w=(d+1)%3,S=(d+2)%3;o.utilities.VoxelManager.createScalarVolumeVoxelManager({dimensions:p,scalarData:u}).forEach((t=>{let{pointIJK:n}=t;v.setAtIJKPoint(n,e)}),{imageData:y,isInObject:e=>{const t=[e[w],e[S]];return I(f,t,{holes:h})},boundsIJK:[[i,c],[s,m],[l,g]]})}}return v.scalarData},async convertContourToStackLabelmap(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),a=1;a<t;a++)n[a-1]=arguments[a];const[r]=n,s=await new c.Z;await s.initialize({updateProgress:r});const{segmentationsInfo:m,annotationUIDsInSegmentMap:u,segmentIndices:g}=e,p=new Map;m.forEach(((e,t)=>{const{dimensions:n,scalarData:a,direction:r,spacing:s,origin:c}=e,m=o.utilities.VoxelManager.createScalarVolumeVoxelManager({dimensions:n,scalarData:a}),u=i().newInstance();u.setDimensions(n),u.setOrigin(c),u.setDirection(r),u.setSpacing(s);const g=l().newInstance({name:"Pixels",numberOfComponents:1,values:a});u.getPointData().setScalars(g),u.modified(),p.set(t,{manager:m,imageData:u})}));for(const e of g){const t=u.get(e);for(const n of t){if(!n.polyline)continue;const{polyline:t,holesPolyline:a,referencedImageId:r}=n,i=D(t),{manager:s,imageData:l}=p.get(r),[c,m,u]=o.utilities.transformWorldToIndex(l,[i[0][0],i[1][0],i[2][0]]),[g,f,d]=o.utilities.transformWorldToIndex(l,[i[0][1],i[1][1],i[2][1]]),{projectedPolyline:h,sharedDimensionIndex:v}=x(t),y=a?.map((e=>{const{projectedPolyline:t}=x(e);return t})),w=(v+1)%3,S=(v+2)%3;o.utilities.VoxelManager.createScalarVolumeVoxelManager({dimensions:l.getDimensions(),scalarData:l.getPointData().getScalars().getData()}).forEach((t=>{let{pointIJK:n}=t;s.setAtIJKPoint(n,e)}),{imageData:l,isInObject:e=>{const t=[e[w],e[S]];return I(h,t,{holes:y})},boundsIJK:[[c,g],[m,f],[u,d]]})}}return m.forEach(((e,t)=>{const{manager:n}=p.get(t);e.scalarData=n.scalarData})),m},async convertSurfaceToVolumeLabelmap(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),a=1;a<t;a++)n[a-1]=arguments[a];const[o]=n;return await this.initializePolySeg(o),this.polySeg.instance.convertSurfaceToLabelmap(e.points,e.polys,e.dimensions,e.spacing,e.direction,e.origin)},async convertSurfacesToVolumeLabelmap(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),a=1;a<t;a++)n[a-1]=arguments[a];const[r]=n;await this.initializePolySeg(r);const{segmentsInfo:s}=e,c=Array.from(s.keys()).map((t=>{const{points:n,polys:a}=s.get(t);return{...this.polySeg.instance.convertSurfaceToLabelmap(n,a,e.dimensions,e.spacing,e.direction,e.origin),segmentIndex:t}})),m=await Promise.all(c),u=i().newInstance();u.setDimensions(e.dimensions),u.setOrigin(e.origin),u.setSpacing(e.spacing),u.setDirection(e.direction);const g=e.dimensions[0]*e.dimensions[1]*e.dimensions[2],p=l().newInstance({name:"Pixels",numberOfComponents:1,values:new Uint8Array(g)});u.getPointData().setScalars(p),u.modified();const{dimensions:f}=e,d=u.getPointData().getScalars().getData(),h=o.utilities.VoxelManager.createScalarVolumeVoxelManager({dimensions:f,scalarData:d}),v=m.map((e=>{const{data:t,dimensions:n,direction:a,origin:r,spacing:s}=e,c=i().newInstance();c.setDimensions(n),c.setOrigin(r),c.setSpacing(s),c.setDirection(a);const m=l().newInstance({name:"Pixels",numberOfComponents:1,values:t});c.getPointData().setScalars(m),c.modified();const u=o.utilities.VoxelManager.createScalarVolumeVoxelManager({dimensions:n,scalarData:t}),g=c.getExtent();return{volume:c,voxelManager:u,extent:g,scalarData:t,segmentIndex:e.segmentIndex}}));return o.utilities.VoxelManager.createScalarVolumeVoxelManager({dimensions:u.getDimensions(),scalarData:u.getPointData().getScalars().getData()}).forEach((e=>{let{pointIJK:t,pointLPS:n}=e;try{for(const e of v){const{volume:a,extent:o,voxelManager:r,segmentIndex:i}=e,s=a.worldToIndex(n);if(s[0]<o[0]||s[0]>o[1]||s[1]<o[2]||s[1]>o[3]||s[2]<o[4]||s[2]>o[5])continue;const l=s.map(Math.round);if(r.getAtIJK(...l)>0){h.setAtIJKPoint(t,i);break}}}catch(e){}}),{imageData:u}),h.scalarData},getSurfacesAABBs(e){let{surfacesInfo:t}=e;const n=new Map;for(const{points:e,id:a}of t){const t=S(e,{numDimensions:3});n.set(a,t)}return n},cutSurfacesIntoPlanes(e,t,n){let{planesInfo:a,surfacesInfo:o,surfacesAABB:r=new Map}=e;const i=a.length,s=v().newInstance(),l=u().newInstance();s.setCutFunction(l);const c=p().newInstance();try{for(const[e,m]of a.entries()){const{sliceIndex:a,planes:u}=m,g=new Map;for(const e of o){const{points:t,polys:n,id:a}=e,o=r.get(a)||S(t,{numDimensions:3});r.has(a)||r.set(a,o);const{minX:i,minY:m,minZ:p,maxX:f,maxY:h,maxZ:v}=o,{origin:y,normal:D}=u[0];if(!k(y,D,i,m,p,f,h,v))continue;c.getPoints().setData(t,3),c.getPolys().setData(n,3),c.modified(),s.setInputData(c),l.setOrigin(y),l.setNormal(D);try{s.update()}catch(e){console.warn("Error during clipping",e);continue}const x=s.getOutputData(),w=x;w.buildLinks();const I=d().newInstance();I.setInputData(w);const M=I.getOutputData();x&&g.set(a,{points:M.getPoints().getData(),lines:M.getLines().getData(),numberOfCells:M.getLines().getNumberOfCells()})}t({progress:(e+1)/i}),n({sliceIndex:a,polyDataResults:g})}}catch(e){console.warn("Error during processing",e)}finally{o=null,l.delete()}}};(0,a.Jj)(M)},785:e=>{e.exports=n},283:e=>{e.exports=t},864:e=>{e.exports=a},70:e=>{e.exports=o},481:e=>{e.exports=i},336:e=>{e.exports=r},953:t=>{t.exports=e},976:e=>{e.exports=s}},u={};function g(e){var t=u[e];if(void 0!==t)return t.exports;var n=u[e]={exports:{}};return m[e](n,n.exports,g),n.exports}return g.m=m,g.x=()=>{var e=g.O(void 0,[78],(()=>g(280)));return g.O(e)},l=[],g.O=(e,t,n,a)=>{if(!t){var o=1/0;for(c=0;c<l.length;c++){t=l[c][0],n=l[c][1],a=l[c][2];for(var r=!0,i=0;i<t.length;i++)(!1&a||o>=a)&&Object.keys(g.O).every((e=>g.O[e](t[i])))?t.splice(i--,1):(r=!1,a<o&&(o=a));if(r){l.splice(c--,1);var s=n();void 0!==s&&(e=s)}}return e}a=a||0;for(var c=l.length;c>0&&l[c-1][2]>a;c--)l[c]=l[c-1];l[c]=[t,n,a]},g.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return g.d(t,{a:t}),t},g.d=(e,t)=>{for(var n in t)g.o(t,n)&&!g.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},g.f={},g.e=e=>Promise.all(Object.keys(g.f).reduce(((t,n)=>(g.f[n](e,t),t)),[])),g.u=e=>e+".index.js",g.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),g.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{var e;g.g.importScripts&&(e=g.g.location+"");var t=g.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var n=t.getElementsByTagName("script");if(n.length)for(var a=n.length-1;a>-1&&!e;)e=n[a--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),g.p=e})(),(()=>{var e={985:1};g.f.i=(t,n)=>{e[t]||importScripts(g.p+g.u(t))};var t=self.webpackChunkcornerstoneTools3D=self.webpackChunkcornerstoneTools3D||[],n=t.push.bind(t);t.push=t=>{var a=t[0],o=t[1],r=t[2];for(var i in o)g.o(o,i)&&(g.m[i]=o[i]);for(r&&r(g);a.length;)e[a.pop()]=1;n(t)}})(),c=g.x,g.x=()=>g.e(78).then(c),g.x()})()));
|
|
2
|
-
//# sourceMappingURL=985.index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"985.index.js","mappings":"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","sources":["webpack://cornerstoneTools3D/webpack/universalModuleDefinition","webpack://cornerstoneTools3D/webpack/runtime/chunk loaded","webpack://cornerstoneTools3D/webpack/runtime/startup chunk dependencies","webpack://cornerstoneTools3D/./src/utilities/boundingBox/getBoundingBoxAroundShape.ts","webpack://cornerstoneTools3D/./src/utilities/math/polyline/projectTo2D.ts","webpack://cornerstoneTools3D/./src/utilities/math/polyline/containsPoint.ts","webpack://cornerstoneTools3D/./src/utilities/math/polyline/isClosed.ts","webpack://cornerstoneTools3D/./src/utilities/math/point/distanceToPointSquared.ts","webpack://cornerstoneTools3D/./src/utilities/math/polyline/getAABB.ts","webpack://cornerstoneTools3D/./src/utilities/planar/isPlaneIntersectingAABB.ts","webpack://cornerstoneTools3D/./src/workers/polySegConverters.js","webpack://cornerstoneTools3D/external umd \"@kitware/vtk.js/Common/Core/DataArray\"","webpack://cornerstoneTools3D/external umd \"@kitware/vtk.js/Common/DataModel/ImageData\"","webpack://cornerstoneTools3D/external umd \"@kitware/vtk.js/Common/DataModel/Plane\"","webpack://cornerstoneTools3D/external umd \"@kitware/vtk.js/Common/DataModel/PolyData\"","webpack://cornerstoneTools3D/external umd \"@kitware/vtk.js/Filters/Core/Cutter\"","webpack://cornerstoneTools3D/external umd \"@kitware/vtk.js/Filters/General/ContourLoopExtraction\"","webpack://cornerstoneTools3D/external umd {\"root\":\"cornerstone3D\",\"commonjs\":\"@cornerstonejs/core\",\"commonjs2\":\"@cornerstonejs/core\",\"amd\":\"@cornerstonejs/core\"}","webpack://cornerstoneTools3D/external umd {\"root\":\"window\",\"commonjs\":\"gl-matrix\",\"commonjs2\":\"gl-matrix\",\"amd\":\"gl-matrix\"}","webpack://cornerstoneTools3D/webpack/bootstrap","webpack://cornerstoneTools3D/webpack/runtime/compat get default export","webpack://cornerstoneTools3D/webpack/runtime/define property getters","webpack://cornerstoneTools3D/webpack/runtime/ensure chunk","webpack://cornerstoneTools3D/webpack/runtime/get javascript chunk filename","webpack://cornerstoneTools3D/webpack/runtime/global","webpack://cornerstoneTools3D/webpack/runtime/hasOwnProperty shorthand","webpack://cornerstoneTools3D/webpack/runtime/publicPath","webpack://cornerstoneTools3D/webpack/runtime/importScripts chunk loading","webpack://cornerstoneTools3D/webpack/startup"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"@cornerstonejs/core\"), require(\"@kitware/vtk.js/Common/DataModel/ImageData\"), require(\"@kitware/vtk.js/Common/Core/DataArray\"), require(\"@kitware/vtk.js/Common/DataModel/Plane\"), require(\"@kitware/vtk.js/Common/DataModel/PolyData\"), require(\"@kitware/vtk.js/Filters/General/ContourLoopExtraction\"), require(\"@kitware/vtk.js/Filters/Core/Cutter\"), require(\"gl-matrix\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"@cornerstonejs/core\", \"@kitware/vtk.js/Common/DataModel/ImageData\", \"@kitware/vtk.js/Common/Core/DataArray\", \"@kitware/vtk.js/Common/DataModel/Plane\", \"@kitware/vtk.js/Common/DataModel/PolyData\", \"@kitware/vtk.js/Filters/General/ContourLoopExtraction\", \"@kitware/vtk.js/Filters/Core/Cutter\", \"gl-matrix\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"cornerstoneTools3D\"] = factory(require(\"@cornerstonejs/core\"), require(\"@kitware/vtk.js/Common/DataModel/ImageData\"), require(\"@kitware/vtk.js/Common/Core/DataArray\"), require(\"@kitware/vtk.js/Common/DataModel/Plane\"), require(\"@kitware/vtk.js/Common/DataModel/PolyData\"), require(\"@kitware/vtk.js/Filters/General/ContourLoopExtraction\"), require(\"@kitware/vtk.js/Filters/Core/Cutter\"), require(\"gl-matrix\"));\n\telse\n\t\troot[\"cornerstoneTools3D\"] = factory(root[\"cornerstone3D\"], root[\"@kitware/vtk.js/Common/DataModel/ImageData\"], root[\"@kitware/vtk.js/Common/Core/DataArray\"], root[\"@kitware/vtk.js/Common/DataModel/Plane\"], root[\"@kitware/vtk.js/Common/DataModel/PolyData\"], root[\"@kitware/vtk.js/Filters/General/ContourLoopExtraction\"], root[\"@kitware/vtk.js/Filters/Core/Cutter\"], root[\"window\"]);\n})(self, (__WEBPACK_EXTERNAL_MODULE__953__, __WEBPACK_EXTERNAL_MODULE__283__, __WEBPACK_EXTERNAL_MODULE__785__, __WEBPACK_EXTERNAL_MODULE__864__, __WEBPACK_EXTERNAL_MODULE__70__, __WEBPACK_EXTERNAL_MODULE__336__, __WEBPACK_EXTERNAL_MODULE__481__, __WEBPACK_EXTERNAL_MODULE__976__) => {\nreturn ","var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var next = __webpack_require__.x;\n__webpack_require__.x = () => {\n\treturn __webpack_require__.e(78).then(next);\n};","import type { Types } from '@cornerstonejs/core';\nimport { CONSTANTS } from '@cornerstonejs/core';\n\nconst { EPSILON } = CONSTANTS;\n\n/** Bounding box type */\ntype BoundingBox =\n | [Types.Point2, Types.Point2, null]\n | [Types.Point2, Types.Point2, Types.Point2];\n\nfunction calculateBoundingBox(\n points,\n dimensions,\n isWorld = false\n): BoundingBox {\n let xMin = Infinity;\n let xMax = isWorld ? -Infinity : 0;\n let yMin = Infinity;\n let yMax = isWorld ? -Infinity : 0;\n let zMin = Infinity;\n let zMax = isWorld ? -Infinity : 0;\n\n const is3D = points[0]?.length === 3;\n\n // use for loop for performance\n for (let i = 0; i < points.length; i++) {\n const p = points[i];\n xMin = Math.min(p[0], xMin);\n xMax = Math.max(p[0], xMax);\n yMin = Math.min(p[1], yMin);\n yMax = Math.max(p[1], yMax);\n\n if (is3D) {\n zMin = Math.min(p[2] ?? zMin, zMin);\n zMax = Math.max(p[2] ?? zMax, zMax);\n }\n }\n\n if (dimensions) {\n xMin = Math.max(isWorld ? dimensions[0] + EPSILON : 0, xMin);\n xMax = Math.min(\n isWorld ? dimensions[0] - EPSILON : dimensions[0] - 1,\n xMax\n );\n yMin = Math.max(isWorld ? dimensions[1] + EPSILON : 0, yMin);\n yMax = Math.min(\n isWorld ? dimensions[1] - EPSILON : dimensions[1] - 1,\n yMax\n );\n\n if (is3D && dimensions.length === 3) {\n zMin = Math.max(isWorld ? dimensions[2] + EPSILON : 0, zMin);\n zMax = Math.min(\n isWorld ? dimensions[2] - EPSILON : dimensions[2] - 1,\n zMax\n );\n }\n } else if (!isWorld) {\n // still need to bound to 0 and Infinity if no dimensions are provided for ijk\n xMin = Math.max(0, xMin);\n xMax = Math.min(Infinity, xMax);\n yMin = Math.max(0, yMin);\n yMax = Math.min(Infinity, yMax);\n\n if (is3D) {\n zMin = Math.max(0, zMin);\n zMax = Math.min(Infinity, zMax);\n }\n }\n\n return is3D\n ? [\n [xMin, xMax],\n [yMin, yMax],\n [zMin, zMax],\n ]\n : [[xMin, xMax], [yMin, yMax], null];\n}\n\n/**\n * With a given vertices (points) coordinates in 2D or 3D in IJK, it calculates the minimum and maximum\n * coordinate in each axis, and returns them. If clipBounds are provided it also\n * clip the min, max to the provided width, height and depth\n *\n * @param points - shape corner points coordinates either in IJK (image coordinate)\n * @param dimensions - bounds to clip the min, max\n * @returns [[xMin,xMax],[yMin,yMax], [zMin,zMax]]\n */\nexport function getBoundingBoxAroundShapeIJK(\n points: Types.Point2[] | Types.Point3[],\n dimensions?: Types.Point2 | Types.Point3\n): BoundingBox {\n return calculateBoundingBox(points, dimensions, false);\n}\n\n/**\n * With a given vertices (points) coordinates in 2D or 3D in World Coordinates, it calculates the minimum and maximum\n * coordinate in each axis, and returns them. If clipBounds are provided it also\n * clip the min, max to the provided width, height and depth\n *\n * @param points - shape corner points coordinates either in IJK (image coordinate)\n * @param clipBounds - bounds to clip the min, max\n * @returns [[xMin,xMax],[yMin,yMax], [zMin,zMax]]\n */\nexport function getBoundingBoxAroundShapeWorld(\n points: Types.Point2[] | Types.Point3[],\n clipBounds?: Types.Point2 | Types.Point3\n): BoundingBox {\n return calculateBoundingBox(points, clipBounds, true);\n}\n","import { utilities } from '@cornerstonejs/core';\nimport type { Types } from '@cornerstonejs/core';\n\nconst epsilon = 1e-6;\n\n/**\n * Projects a polyline from 3D to 2D by reducing one dimension.\n *\n * @param polyline - The polyline to be projected.\n * @returns An object containing the shared dimension index and the projected polyline in 2D.\n * @throws Error if a shared dimension index cannot be found for the polyline.\n */\nexport function projectTo2D(polyline: Types.Point3[]) {\n // We need to reduce one dimension to 2D, so basically\n // we need to find the dimension index that is shared by all points\n // Use the first three points, two is enough but three is more robust\n let sharedDimensionIndex;\n\n const testPoints = utilities.getRandomSampleFromArray(polyline, 50);\n\n for (let i = 0; i < 3; i++) {\n if (\n testPoints.every(\n (point, index, array) => Math.abs(point[i] - array[0][i]) < epsilon\n )\n ) {\n sharedDimensionIndex = i;\n break;\n }\n }\n\n if (sharedDimensionIndex === undefined) {\n throw new Error(\n 'Cannot find a shared dimension index for polyline, probably oblique plane'\n );\n }\n\n // convert polyline list and point to 2D\n const points2D = [] as Types.Point2[];\n\n const firstDim = (sharedDimensionIndex + 1) % 3;\n const secondDim = (sharedDimensionIndex + 2) % 3;\n\n for (let i = 0; i < polyline.length; i++) {\n points2D.push([polyline[i][firstDim], polyline[i][secondDim]]);\n }\n\n return {\n sharedDimensionIndex,\n projectedPolyline: points2D,\n };\n}\n","import type { Types } from '@cornerstonejs/core';\nimport isClosed from './isClosed';\n\n/**\n * Checks if a 2D point is inside the polyline.\n *\n * A point is inside a curve/polygon if the number of intersections between the horizontal\n * ray emanating from the given point and to the right and the line segments is odd.\n * https://www.eecs.umich.edu/courses/eecs380/HANDOUTS/PROJ2/InsidePoly.html\n *\n * Note that a point on the polyline is considered inside.\n *\n * @param polyline - Polyline points (2D)\n * @param point - 2D Point\n * @returns True if the point is inside the polyline or false otherwise\n */\nexport default function containsPoint(\n polyline: Types.Point2[],\n point: Types.Point2,\n options: {\n closed?: boolean;\n holes?: Types.Point2[][];\n } = {\n closed: undefined,\n }\n): boolean {\n if (polyline.length < 3) {\n return false;\n }\n\n const numPolylinePoints = polyline.length;\n let numIntersections = 0;\n\n const { closed, holes } = options;\n\n if (holes?.length) {\n for (const hole of holes) {\n if (containsPoint(hole, point)) {\n return false;\n }\n }\n }\n\n // Test intersection against [end, start] line segment if it should be closed\n const shouldClose = !(closed === undefined ? isClosed(polyline) : closed);\n const maxSegmentIndex = polyline.length - (shouldClose ? 1 : 2);\n\n for (let i = 0; i <= maxSegmentIndex; i++) {\n const p1 = polyline[i];\n\n // Calculating the next point index without using % (mod) operator like in\n // `(i + 1) % numPolylinePoints` to make it 20% faster\n const p2Index = i === numPolylinePoints - 1 ? 0 : i + 1;\n const p2 = polyline[p2Index];\n\n // Calculating min/max without using Math.min/max to make it ~3% faster\n const maxX = p1[0] >= p2[0] ? p1[0] : p2[0];\n const maxY = p1[1] >= p2[1] ? p1[1] : p2[1];\n const minY = p1[1] <= p2[1] ? p1[1] : p2[1];\n\n const mayIntersectLineSegment =\n point[0] <= maxX && point[1] >= minY && point[1] < maxY;\n\n if (mayIntersectLineSegment) {\n const isVerticalLine = p1[0] === p2[0];\n let intersects = isVerticalLine;\n\n if (!intersects) {\n const xIntersection =\n ((point[1] - p1[1]) * (p2[0] - p1[0])) / (p2[1] - p1[1]) + p1[0];\n\n intersects = point[0] <= xIntersection;\n }\n\n numIntersections += intersects ? 1 : 0;\n }\n }\n\n return !!(numIntersections % 2);\n}\n","import { glMatrix } from 'gl-matrix';\nimport type { Types } from '@cornerstonejs/core';\nimport { distanceToPointSquared } from '../point';\n\n/**\n * A polyline is considered closed if the start and end points are at the same position\n *\n * @param polyline - Polyline points (2D)\n * @returns True if the polyline is already closed or false otherwise\n */\nexport default function isClosed(polyline: Types.Point2[]): boolean {\n if (polyline.length < 3) {\n return false;\n }\n\n const numPolylinePoints = polyline.length;\n\n const firstPoint = polyline[0];\n const lastPoint = polyline[numPolylinePoints - 1];\n const distFirstToLastPoints = distanceToPointSquared(firstPoint, lastPoint);\n\n return glMatrix.equals(0, distFirstToLastPoints);\n}\n","import type { Types } from '@cornerstonejs/core';\n\ntype Point = Types.Point2 | Types.Point3;\n\n/**\n * Calculates the distance squared of a point to another point\n *\n * @param p1 - x,y or x,y,z of the point\n * @param p2 - x,y or x,y,z of the point\n * @returns distance\n */\nexport default function distanceToPointSquared(p1: Point, p2: Point): number {\n if (p1.length !== p2.length) {\n throw Error('Both points should have the same dimensionality');\n }\n\n const [x1, y1, z1 = 0] = p1;\n const [x2, y2, z2 = 0] = p2;\n const dx = x2 - x1;\n const dy = y2 - y1;\n const dz = z2 - z1;\n\n // Time to square 10M numbers:\n // (n * n) = 161ms | (n ** 2) = 199ms | Math.pow(n, 2) = 29529ms\n return dx * dx + dy * dy + dz * dz;\n}\n","import type { Types } from '@cornerstonejs/core';\n\n/**\n * Calculates the axis-aligned bounding box (AABB) of a polyline.\n *\n * @param polyline - The polyline represented as an array of points.\n * @param options - Additional options for calculating the AABB.\n * @param options.isWorld - Indicates whether the polyline represents points in 3D space (true) or 2D space (false).\n *\n * @returns The AABB of the polyline. If the polyline represents points in 3D space, returns an AABB3 object with properties minX, maxX, minY, maxY, minZ, and maxZ. If the polyline represents points in 2D space, returns an AABB2 object with properties minX, maxX, minY, and maxY.\n */\nexport default function getAABB(\n polyline: Types.Point2[] | Types.Point3[] | number[],\n options?: {\n numDimensions: number;\n }\n): Types.AABB2 | Types.AABB3 {\n // need to check if the polyline is array of arrays or just\n // a flat array of numbers\n let polylineToUse = polyline;\n const numDimensions = options?.numDimensions || 2;\n const is3D = numDimensions === 3;\n\n if (!Array.isArray(polyline[0])) {\n const currentPolyline = polyline as number[];\n // check the isWorld flag is provided or not which means every\n // 3 elements in the array represent a point in 3D space\n // otherwise, every 2 elements in the array represent a point in 2D space\n const totalPoints = currentPolyline.length / numDimensions;\n\n polylineToUse = new Array(currentPolyline.length / numDimensions) as\n | Types.Point2[]\n | Types.Point3[];\n\n for (let i = 0, len = totalPoints; i < len; i++) {\n polylineToUse[i] = [\n currentPolyline[i * numDimensions],\n currentPolyline[i * numDimensions + 1],\n ];\n\n if (is3D) {\n polylineToUse[i].push(currentPolyline[i * numDimensions + 2]);\n }\n }\n }\n\n let minX = Infinity;\n let minY = Infinity;\n let maxX = -Infinity;\n let maxY = -Infinity;\n let minZ = Infinity;\n let maxZ = -Infinity;\n\n polylineToUse = polylineToUse as Types.Point2[] | Types.Point3[];\n\n for (let i = 0, len = polylineToUse.length; i < len; i++) {\n const [x, y, z] = polylineToUse[i];\n\n // No Math.min/max calls for better performance\n minX = minX < x ? minX : x;\n minY = minY < y ? minY : y;\n maxX = maxX > x ? maxX : x;\n maxY = maxY > y ? maxY : y;\n\n if (is3D) {\n minZ = minZ < z ? minZ : z;\n maxZ = maxZ > z ? maxZ : z;\n }\n }\n\n return is3D\n ? { minX, maxX, minY, maxY, minZ, maxZ } // AABB3\n : { minX, maxX, minY, maxY }; // AABB2\n}\n","import { vec3 } from 'gl-matrix';\n\n/**\n * Checks if a plane intersects with an Axis-Aligned Bounding Box (AABB).\n *\n * @param origin - The origin point of the plane.\n * @param normal - The normal vector of the plane.\n * @param minX - The minimum x-coordinate of the AABB.\n * @param minY - The minimum y-coordinate of the AABB.\n * @param minZ - The minimum z-coordinate of the AABB.\n * @param maxX - The maximum x-coordinate of the AABB.\n * @param maxY - The maximum y-coordinate of the AABB.\n * @param maxZ - The maximum z-coordinate of the AABB.\n * @returns A boolean indicating whether the plane intersects with the AABB.\n */\nexport const isPlaneIntersectingAABB = (\n origin,\n normal,\n minX,\n minY,\n minZ,\n maxX,\n maxY,\n maxZ\n) => {\n const vertices = [\n vec3.fromValues(minX, minY, minZ),\n vec3.fromValues(maxX, minY, minZ),\n vec3.fromValues(minX, maxY, minZ),\n vec3.fromValues(maxX, maxY, minZ),\n vec3.fromValues(minX, minY, maxZ),\n vec3.fromValues(maxX, minY, maxZ),\n vec3.fromValues(minX, maxY, maxZ),\n vec3.fromValues(maxX, maxY, maxZ),\n ];\n\n const normalVec = vec3.fromValues(normal[0], normal[1], normal[2]);\n const originVec = vec3.fromValues(origin[0], origin[1], origin[2]);\n\n // Compute the distance from the plane to the origin using vec3.dot\n const planeDistance = -vec3.dot(normalVec, originVec);\n\n // Check if all vertices are on the same side of the plane\n let initialSign = null;\n for (const vertex of vertices) {\n // Calculate distance using vec3.dot to simplify the equation\n const distance = vec3.dot(normalVec, vertex) + planeDistance;\n if (initialSign === null) {\n initialSign = Math.sign(distance);\n } else if (Math.sign(distance) !== initialSign) {\n return true; // Found a vertex on the other side, so it intersects\n }\n }\n\n return false;\n};\n","import { expose } from 'comlink';\nimport { utilities } from '@cornerstonejs/core';\nimport vtkImageData from '@kitware/vtk.js/Common/DataModel/ImageData';\nimport vtkDataArray from '@kitware/vtk.js/Common/Core/DataArray';\nimport ICRPolySeg from '@icr/polyseg-wasm';\nimport vtkPlane from '@kitware/vtk.js/Common/DataModel/Plane';\nimport vtkPolyData from '@kitware/vtk.js/Common/DataModel/PolyData';\nimport vtkContourLoopExtraction from '@kitware/vtk.js/Filters/General/ContourLoopExtraction';\nimport vtkCutter from '@kitware/vtk.js/Filters/Core/Cutter';\n\nimport { getBoundingBoxAroundShapeWorld } from '../utilities/boundingBox';\nimport {\n containsPoint,\n getAABB,\n projectTo2D,\n} from '../utilities/math/polyline';\nimport { isPlaneIntersectingAABB } from '../utilities/planar';\n\n/**\n * Object containing methods for converting between different representations of\n * segmentations (e.g., contour, labelmap, surface, etc.) These logics\n * are used in a webworker to avoid blocking the main thread. You can\n * search for workerManager.executeTask('polySeg', ...) to see\n * how these methods are used.\n *\n * See also the webworker docs at packages/docs/docs/concepts/cornerstone-core/web-worker.md\n * to learn more about how to use web-workers in the context of Cornerstone.\n */\nconst polySegConverters = {\n /**\n * The polySeg instance that is used to convert between different representations\n */\n polySeg: null,\n /**\n * Utilities to keep track of the initialization state of the polySeg instance\n * and avoid initializing it multiple times\n */\n polySegInitializing: false,\n polySegInitializingPromise: null,\n /**\n * This method initializes the polySeg instance and sets it to this.polySeg\n */\n async initializePolySeg(progressCallback) {\n if (this.polySegInitializing) {\n await this.polySegInitializingPromise;\n return;\n }\n\n if (this.polySeg?.instance) {\n return;\n }\n\n this.polySegInitializing = true;\n this.polySegInitializingPromise = new Promise((resolve) => {\n this.polySeg = new ICRPolySeg();\n this.polySeg\n .initialize({\n updateProgress: progressCallback,\n })\n .then(() => {\n this.polySegInitializing = false;\n resolve();\n });\n });\n\n await this.polySegInitializingPromise;\n },\n /**\n * Converts a contour to a surface using the PolySeg library.\n * @param {Object} args - The arguments for the conversion.\n * @param {Array} args.polylines - The polylines representing the contour.\n * @param {Array} args.numPointsArray - The number of points in each polyline.\n * @param {...Function} callbacks - Optional callback functions.\n * @returns {Promise} - A promise that resolves to the converted surface.\n */\n async convertContourToSurface(args, ...callbacks) {\n const { polylines, numPointsArray } = args;\n const [progressCallback] = callbacks;\n await this.initializePolySeg(progressCallback);\n const results = await this.polySeg.instance.convertContourRoiToSurface(\n polylines,\n numPointsArray\n );\n\n return results;\n },\n /**\n * Converts a labelmap to a surface using the specified arguments.\n * @param {Object} args - The arguments for the conversion.\n * @param {Array} args.scalarData - The scalar data of the labelmap.\n * @param {Array} args.dimensions - The dimensions of the labelmap.\n * @param {Array} args.spacing - The spacing of the labelmap.\n * @param {Array} args.direction - The direction of the labelmap.\n * @param {Array} args.origin - The origin of the labelmap.\n * @param {number} args.segmentIndex - The segment index of the labelmap.\n * @param {Function} progressCallback - The callback function for progress updates.\n * @returns {Promise} - A promise that resolves with the converted surface results.\n */\n async convertLabelmapToSurface(args, ...callbacks) {\n const [progressCallback] = callbacks;\n await this.initializePolySeg(progressCallback);\n\n const results = this.polySeg.instance.convertLabelmapToSurface(\n args.scalarData,\n args.dimensions,\n args.spacing,\n args.direction,\n args.origin,\n [args.segmentIndex]\n );\n return results;\n },\n /**\n * Converts a contour to a volume labelmap.\n * @param {Object} args - The arguments for the conversion.\n * @param {Array} args.segmentIndices - The indices of the segments.\n * @param {Array} args.scalarData - The scalar data.\n * @param {Map} args.annotationUIDsInSegmentMap - The map of annotation UIDs in segment.\n * @param {Array} args.dimensions - The dimensions of the image data.\n * @param {Array} args.origin - The origin of the image data.\n * @param {Array} args.direction - The direction of the image data.\n * @param {Array} args.spacing - The spacing of the image data.\n * @param {...Function} callbacks - Optional callbacks.\n * @param {Function} callbacks[0] - The progress callback.\n * @returns {Array} - The scalar data of the segmentation voxel manager.\n */\n async convertContourToVolumeLabelmap(args, ...callbacks) {\n const [progressCallback] = callbacks;\n const polySeg = await new ICRPolySeg();\n await polySeg.initialize({\n updateProgress: progressCallback,\n });\n\n const {\n segmentIndices,\n scalarData,\n annotationUIDsInSegmentMap,\n dimensions,\n origin,\n direction,\n spacing,\n } = args;\n\n const segmentationVoxelManager =\n utilities.VoxelManager.createScalarVolumeVoxelManager({\n dimensions,\n scalarData,\n });\n\n const imageData = vtkImageData.newInstance();\n imageData.setDimensions(dimensions);\n imageData.setOrigin(origin);\n imageData.setDirection(direction);\n imageData.setSpacing(spacing);\n\n const scalarArray = vtkDataArray.newInstance({\n name: 'Pixels',\n numberOfComponents: 1,\n values: scalarData,\n });\n\n imageData.getPointData().setScalars(scalarArray);\n\n imageData.modified();\n\n for (const index of segmentIndices) {\n const annotations = annotationUIDsInSegmentMap.get(index);\n\n for (const annotation of annotations) {\n if (!annotation.polyline) {\n continue;\n }\n\n const { polyline, holesPolyline } = annotation;\n const bounds = getBoundingBoxAroundShapeWorld(polyline);\n\n const [iMin, jMin, kMin] = utilities.transformWorldToIndex(imageData, [\n bounds[0][0],\n bounds[1][0],\n bounds[2][0],\n ]);\n\n const [iMax, jMax, kMax] = utilities.transformWorldToIndex(imageData, [\n bounds[0][1],\n bounds[1][1],\n bounds[2][1],\n ]);\n\n const { projectedPolyline, sharedDimensionIndex } =\n projectTo2D(polyline);\n\n const holes = holesPolyline?.map((hole) => {\n const { projectedPolyline: projectedHole } = projectTo2D(hole);\n return projectedHole;\n });\n\n const firstDim = (sharedDimensionIndex + 1) % 3;\n const secondDim = (sharedDimensionIndex + 2) % 3;\n\n const voxels = utilities.VoxelManager.createScalarVolumeVoxelManager({\n dimensions,\n scalarData,\n });\n\n voxels.forEach(\n ({ pointIJK }) => {\n segmentationVoxelManager.setAtIJKPoint(pointIJK, index);\n },\n {\n imageData,\n isInObject: (pointLPS) => {\n const point2D = [pointLPS[firstDim], pointLPS[secondDim]];\n\n // Check if the point is inside any of the polylines for this segment\n const isInside = containsPoint(projectedPolyline, point2D, {\n holes,\n });\n\n return isInside;\n },\n boundsIJK: [\n [iMin, iMax],\n [jMin, jMax],\n [kMin, kMax],\n ],\n }\n );\n }\n }\n\n return segmentationVoxelManager.scalarData;\n },\n /**\n * Converts a contour to a stack labelmap.\n * @param {Object} args - The arguments for the conversion.\n * @param {Array} callbacks - Optional callbacks for progress updates.\n * @returns {Promise<Object>} - The converted segmentations information.\n */\n async convertContourToStackLabelmap(args, ...callbacks) {\n const [progressCallback] = callbacks;\n const polySeg = await new ICRPolySeg();\n await polySeg.initialize({\n updateProgress: progressCallback,\n });\n\n const { segmentationsInfo, annotationUIDsInSegmentMap, segmentIndices } =\n args;\n\n const segmentationVoxelManagers = new Map();\n\n segmentationsInfo.forEach((segmentationInfo, referencedImageId) => {\n const { dimensions, scalarData, direction, spacing, origin } =\n segmentationInfo;\n const manager = utilities.VoxelManager.createScalarVolumeVoxelManager({\n dimensions,\n scalarData,\n });\n\n const imageData = vtkImageData.newInstance();\n imageData.setDimensions(dimensions);\n imageData.setOrigin(origin);\n imageData.setDirection(direction);\n imageData.setSpacing(spacing);\n\n const scalarArray = vtkDataArray.newInstance({\n name: 'Pixels',\n numberOfComponents: 1,\n values: scalarData,\n });\n\n imageData.getPointData().setScalars(scalarArray);\n\n imageData.modified();\n\n segmentationVoxelManagers.set(referencedImageId, { manager, imageData });\n });\n\n for (const index of segmentIndices) {\n const annotations = annotationUIDsInSegmentMap.get(index);\n\n for (const annotation of annotations) {\n if (!annotation.polyline) {\n continue;\n }\n\n const { polyline, holesPolyline, referencedImageId } = annotation;\n const bounds = getBoundingBoxAroundShapeWorld(polyline);\n\n const { manager: segmentationVoxelManager, imageData } =\n segmentationVoxelManagers.get(referencedImageId);\n\n const [iMin, jMin, kMin] = utilities.transformWorldToIndex(imageData, [\n bounds[0][0],\n bounds[1][0],\n bounds[2][0],\n ]);\n\n const [iMax, jMax, kMax] = utilities.transformWorldToIndex(imageData, [\n bounds[0][1],\n bounds[1][1],\n bounds[2][1],\n ]);\n\n const { projectedPolyline, sharedDimensionIndex } =\n projectTo2D(polyline);\n\n const holes = holesPolyline?.map((hole) => {\n const { projectedPolyline: projectedHole } = projectTo2D(hole);\n return projectedHole;\n });\n\n const firstDim = (sharedDimensionIndex + 1) % 3;\n const secondDim = (sharedDimensionIndex + 2) % 3;\n\n const voxels = utilities.VoxelManager.createScalarVolumeVoxelManager({\n dimensions: imageData.getDimensions(),\n scalarData: imageData.getPointData().getScalars().getData(),\n });\n\n voxels.forEach(\n ({ pointIJK }) => {\n segmentationVoxelManager.setAtIJKPoint(pointIJK, index);\n },\n {\n imageData,\n isInObject: (pointLPS) => {\n const point2D = [pointLPS[firstDim], pointLPS[secondDim]];\n\n // Check if the point is inside any of the polylines for this segment\n const isInside = containsPoint(projectedPolyline, point2D, {\n holes,\n });\n\n return isInside;\n },\n boundsIJK: [\n [iMin, iMax],\n [jMin, jMax],\n [kMin, kMax],\n ],\n }\n );\n }\n }\n\n segmentationsInfo.forEach((segmentationInfo, referencedImageId) => {\n const { manager: segmentationVoxelManager } =\n segmentationVoxelManagers.get(referencedImageId);\n\n segmentationInfo.scalarData = segmentationVoxelManager.scalarData;\n });\n return segmentationsInfo;\n },\n /**\n * Converts a surface to a volume labelmap.\n *\n * @param {Object} args - The arguments for the conversion.\n * @param {Array} args.points - The points defining the surface.\n * @param {Array} args.polys - The polygons defining the surface.\n * @param {Array} args.dimensions - The dimensions of the volume.\n * @param {Array} args.spacing - The spacing between voxels in the volume.\n * @param {Array} args.direction - The direction of the volume.\n * @param {Array} args.origin - The origin of the volume.\n * @param {Function} progressCallback - The callback function for reporting progress.\n * @returns {Promise} - A promise that resolves with the converted labelmap.\n */\n async convertSurfaceToVolumeLabelmap(args, ...callbacks) {\n const [progressCallback] = callbacks;\n await this.initializePolySeg(progressCallback);\n\n const results = this.polySeg.instance.convertSurfaceToLabelmap(\n args.points,\n args.polys,\n args.dimensions,\n args.spacing,\n args.direction,\n args.origin\n );\n\n return results;\n },\n /**\n * Converts surfaces to a volume labelmap.\n * @param {Object} args - The arguments for the conversion.\n * @param {Map} args.segmentsInfo - A map containing information about the segments.\n * @param {Function} progressCallback - A callback function for reporting progress.\n * @returns {Uint8Array} - The resulting volume labelmap.\n */\n async convertSurfacesToVolumeLabelmap(args, ...callbacks) {\n const [progressCallback] = callbacks;\n await this.initializePolySeg(progressCallback);\n\n const { segmentsInfo } = args;\n\n const promises = Array.from(segmentsInfo.keys()).map((segmentIndex) => {\n const { points, polys } = segmentsInfo.get(segmentIndex);\n const result = this.polySeg.instance.convertSurfaceToLabelmap(\n points,\n polys,\n args.dimensions,\n args.spacing,\n args.direction,\n args.origin\n );\n\n return {\n ...result,\n segmentIndex,\n };\n });\n\n const results = await Promise.all(promises);\n\n const targetImageData = vtkImageData.newInstance();\n targetImageData.setDimensions(args.dimensions);\n targetImageData.setOrigin(args.origin);\n targetImageData.setSpacing(args.spacing);\n targetImageData.setDirection(args.direction);\n\n const totalSize =\n args.dimensions[0] * args.dimensions[1] * args.dimensions[2];\n\n const scalarArray = vtkDataArray.newInstance({\n name: 'Pixels',\n numberOfComponents: 1,\n values: new Uint8Array(totalSize),\n });\n\n targetImageData.getPointData().setScalars(scalarArray);\n targetImageData.modified();\n\n // we need to then consolidate the results into a single volume\n // by looping into each voxel with voxelmanager for each\n // and check if the voxel is inside any of the reconstructed\n // labelmaps\n const { dimensions } = args;\n const scalarData = targetImageData.getPointData().getScalars().getData();\n const segmentationVoxelManager =\n utilities.VoxelManager.createScalarVolumeVoxelManager({\n dimensions,\n scalarData,\n });\n\n const outputVolumesInfo = results.map((result) => {\n const { data, dimensions, direction, origin, spacing } = result;\n const volume = vtkImageData.newInstance();\n volume.setDimensions(dimensions);\n volume.setOrigin(origin);\n volume.setSpacing(spacing);\n volume.setDirection(direction);\n\n const scalarArray = vtkDataArray.newInstance({\n name: 'Pixels',\n numberOfComponents: 1,\n values: data,\n });\n\n volume.getPointData().setScalars(scalarArray);\n\n volume.modified();\n\n const voxelManager =\n utilities.VoxelManager.createScalarVolumeVoxelManager({\n dimensions,\n scalarData: data,\n });\n\n const extent = volume.getExtent(); // e.g., [0, 176, 0, 268, 0, 337] for dimensions of [177, 269, 338]\n\n return {\n volume,\n voxelManager,\n extent,\n scalarData: data,\n segmentIndex: result.segmentIndex,\n };\n });\n\n const voxels = utilities.VoxelManager.createScalarVolumeVoxelManager({\n dimensions: targetImageData.getDimensions(),\n scalarData: targetImageData.getPointData().getScalars().getData(),\n });\n\n voxels.forEach(\n ({ pointIJK, pointLPS }) => {\n // Check if the point is inside any of the reconstructed labelmaps\n // Todo: we can optimize this by returning early if the bounding box\n // of the point is outside the bounding box of the labelmap\n\n try {\n for (const volumeInfo of outputVolumesInfo) {\n const { volume, extent, voxelManager, segmentIndex } = volumeInfo;\n\n const index = volume.worldToIndex(pointLPS);\n\n // check if the ijk point is inside the volume\n if (\n index[0] < extent[0] ||\n index[0] > extent[1] ||\n index[1] < extent[2] ||\n index[1] > extent[3] ||\n index[2] < extent[4] ||\n index[2] > extent[5]\n ) {\n continue;\n }\n\n const roundedIndex = index.map(Math.round);\n const value = voxelManager.getAtIJK(...roundedIndex);\n if (value > 0) {\n segmentationVoxelManager.setAtIJKPoint(pointIJK, segmentIndex);\n break;\n }\n }\n } catch (error) {\n // right now there is weird error if the point is outside the volume\n }\n },\n { imageData: targetImageData }\n );\n\n return segmentationVoxelManager.scalarData;\n },\n getSurfacesAABBs({ surfacesInfo }) {\n const aabbs = new Map();\n for (const { points, id } of surfacesInfo) {\n const aabb = getAABB(points, { numDimensions: 3 });\n aabbs.set(id, aabb);\n }\n return aabbs;\n },\n /**\n * Cuts the surfaces into planes.\n *\n * @param {Object} options - The options object.\n * @param {Array} options.planesInfo - The information about the planes.\n * @param {Array} options.surfacesInfo - The information about the surfaces.\n * @param {Function} progressCallback - The callback function for progress updates.\n * @param {Function} updateCacheCallback - The callback function for updating the cache.\n */\n cutSurfacesIntoPlanes(\n { planesInfo, surfacesInfo, surfacesAABB = new Map() },\n progressCallback,\n updateCacheCallback\n ) {\n const numberOfPlanes = planesInfo.length;\n const cutter = vtkCutter.newInstance();\n\n const plane1 = vtkPlane.newInstance();\n\n cutter.setCutFunction(plane1);\n\n const surfacePolyData = vtkPolyData.newInstance();\n\n try {\n for (const [index, planeInfo] of planesInfo.entries()) {\n const { sliceIndex, planes } = planeInfo;\n\n const polyDataResults = new Map();\n for (const polyDataInfo of surfacesInfo) {\n const { points, polys, id } = polyDataInfo;\n\n const aabb3 =\n surfacesAABB.get(id) || getAABB(points, { numDimensions: 3 });\n\n if (!surfacesAABB.has(id)) {\n surfacesAABB.set(id, aabb3);\n }\n\n const { minX, minY, minZ, maxX, maxY, maxZ } = aabb3;\n\n const { origin, normal } = planes[0];\n\n // Check if the plane intersects the AABB\n if (\n !isPlaneIntersectingAABB(\n origin,\n normal,\n minX,\n minY,\n minZ,\n maxX,\n maxY,\n maxZ\n )\n ) {\n continue;\n }\n\n surfacePolyData.getPoints().setData(points, 3);\n surfacePolyData.getPolys().setData(polys, 3);\n surfacePolyData.modified();\n\n cutter.setInputData(surfacePolyData);\n plane1.setOrigin(origin);\n plane1.setNormal(normal);\n\n try {\n cutter.update();\n } catch (e) {\n console.warn('Error during clipping', e);\n continue;\n }\n\n const polyData = cutter.getOutputData();\n\n const cutterOutput = polyData;\n cutterOutput.buildLinks();\n const loopExtraction = vtkContourLoopExtraction.newInstance();\n loopExtraction.setInputData(cutterOutput);\n\n const loopOutput = loopExtraction.getOutputData();\n if (polyData) {\n polyDataResults.set(id, {\n points: loopOutput.getPoints().getData(),\n lines: loopOutput.getLines().getData(),\n numberOfCells: loopOutput.getLines().getNumberOfCells(),\n });\n }\n }\n\n progressCallback({ progress: (index + 1) / numberOfPlanes });\n\n updateCacheCallback({ sliceIndex, polyDataResults });\n }\n } catch (e) {\n console.warn('Error during processing', e);\n } finally {\n // Cleanup on completion\n surfacesInfo = null;\n plane1.delete();\n }\n },\n};\n\nexpose(polySegConverters);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__785__;","module.exports = __WEBPACK_EXTERNAL_MODULE__283__;","module.exports = __WEBPACK_EXTERNAL_MODULE__864__;","module.exports = __WEBPACK_EXTERNAL_MODULE__70__;","module.exports = __WEBPACK_EXTERNAL_MODULE__481__;","module.exports = __WEBPACK_EXTERNAL_MODULE__336__;","module.exports = __WEBPACK_EXTERNAL_MODULE__953__;","module.exports = __WEBPACK_EXTERNAL_MODULE__976__;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n// the startup function\n__webpack_require__.x = () => {\n\t// Load entry module and return exports\n\t// This entry module depends on other loaded chunks and execution need to be delayed\n\tvar __webpack_exports__ = __webpack_require__.O(undefined, [78], () => (__webpack_require__(280)))\n\t__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n\treturn __webpack_exports__;\n};\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks and sibling chunks for the entrypoint\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \".index.js\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && !scriptUrl) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","// no baseURI\n\n// object to store loaded chunks\n// \"1\" means \"already loaded\"\nvar installedChunks = {\n\t985: 1\n};\n\n// importScripts chunk loading\nvar installChunk = (data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\tfor(var moduleId in moreModules) {\n\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t}\n\t}\n\tif(runtime) runtime(__webpack_require__);\n\twhile(chunkIds.length)\n\t\tinstalledChunks[chunkIds.pop()] = 1;\n\tparentChunkLoadingFunction(data);\n};\n__webpack_require__.f.i = (chunkId, promises) => {\n\t// \"1\" is the signal for \"already loaded\"\n\tif(!installedChunks[chunkId]) {\n\t\tif(true) { // all chunks have JS\n\t\t\timportScripts(__webpack_require__.p + __webpack_require__.u(chunkId));\n\t\t}\n\t}\n};\n\nvar chunkLoadingGlobal = self[\"webpackChunkcornerstoneTools3D\"] = self[\"webpackChunkcornerstoneTools3D\"] || [];\nvar parentChunkLoadingFunction = chunkLoadingGlobal.push.bind(chunkLoadingGlobal);\nchunkLoadingGlobal.push = installChunk;\n\n// no HMR\n\n// no HMR manifest","// run startup\nvar __webpack_exports__ = __webpack_require__.x();\n"],"names":["root","factory","exports","module","require","define","amd","self","__WEBPACK_EXTERNAL_MODULE__953__","__WEBPACK_EXTERNAL_MODULE__283__","__WEBPACK_EXTERNAL_MODULE__785__","__WEBPACK_EXTERNAL_MODULE__864__","__WEBPACK_EXTERNAL_MODULE__70__","__WEBPACK_EXTERNAL_MODULE__336__","__WEBPACK_EXTERNAL_MODULE__481__","__WEBPACK_EXTERNAL_MODULE__976__","deferred","next","EPSILON","CONSTANTS","getBoundingBoxAroundShapeWorld","points","clipBounds","dimensions","isWorld","arguments","length","undefined","xMin","Infinity","xMax","yMin","yMax","zMin","zMax","is3D","i","p","Math","min","max","calculateBoundingBox","projectTo2D","polyline","sharedDimensionIndex","testPoints","utilities","every","point","index","array","abs","Error","points2D","firstDim","secondDim","push","projectedPolyline","containsPoint","options","closed","numPolylinePoints","numIntersections","holes","hole","shouldClose","distFirstToLastPoints","p1","p2","x1","y1","z1","x2","y2","z2","dx","dy","dz","distanceToPointSquared","glMatrix","isClosed","maxSegmentIndex","maxX","maxY","minY","intersects","xIntersection","getAABB","polylineToUse","numDimensions","Array","isArray","currentPolyline","totalPoints","len","minX","minZ","maxZ","x","y","z","isPlaneIntersectingAABB","origin","normal","vertices","vec3","normalVec","originVec","planeDistance","initialSign","vertex","distance","sign","polySegConverters","polySeg","polySegInitializing","polySegInitializingPromise","initializePolySeg","progressCallback","this","instance","Promise","resolve","ICRPolySeg","initialize","updateProgress","then","convertContourToSurface","args","polylines","numPointsArray","_len","callbacks","_key","convertContourRoiToSurface","convertLabelmapToSurface","_len2","_key2","scalarData","spacing","direction","segmentIndex","convertContourToVolumeLabelmap","_len3","_key3","segmentIndices","annotationUIDsInSegmentMap","segmentationVoxelManager","imageData","vtkImageData","setDimensions","setOrigin","setDirection","setSpacing","scalarArray","vtkDataArray","name","numberOfComponents","values","getPointData","setScalars","modified","annotations","get","annotation","holesPolyline","bounds","iMin","jMin","kMin","iMax","jMax","kMax","map","projectedHole","forEach","_ref","pointIJK","setAtIJKPoint","isInObject","pointLPS","point2D","boundsIJK","convertContourToStackLabelmap","_len4","_key4","segmentationsInfo","segmentationVoxelManagers","Map","segmentationInfo","referencedImageId","manager","set","getDimensions","getScalars","getData","_ref2","convertSurfaceToVolumeLabelmap","_len5","_key5","convertSurfaceToLabelmap","polys","convertSurfacesToVolumeLabelmap","_len6","_key6","segmentsInfo","promises","from","keys","results","all","targetImageData","totalSize","Uint8Array","outputVolumesInfo","result","data","volume","voxelManager","extent","getExtent","_ref3","volumeInfo","worldToIndex","roundedIndex","round","getAtIJK","error","getSurfacesAABBs","_ref4","surfacesInfo","aabbs","id","aabb","cutSurfacesIntoPlanes","_ref5","updateCacheCallback","planesInfo","surfacesAABB","numberOfPlanes","cutter","vtkCutter","plane1","vtkPlane","setCutFunction","surfacePolyData","vtkPolyData","planeInfo","entries","sliceIndex","planes","polyDataResults","polyDataInfo","aabb3","has","getPoints","setData","getPolys","setInputData","setNormal","update","e","console","warn","polyData","getOutputData","cutterOutput","buildLinks","loopExtraction","vtkContourLoopExtraction","loopOutput","lines","getLines","numberOfCells","getNumberOfCells","progress","delete","expose","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","m","__webpack_exports__","O","chunkIds","fn","priority","notFulfilled","fulfilled","j","Object","key","splice","r","n","getter","__esModule","d","a","definition","o","defineProperty","enumerable","f","chunkId","reduce","u","g","globalThis","Function","window","obj","prop","prototype","hasOwnProperty","call","scriptUrl","importScripts","location","document","currentScript","src","scripts","getElementsByTagName","replace","installedChunks","chunkLoadingGlobal","parentChunkLoadingFunction","bind","moreModules","runtime","pop"],"sourceRoot":""}
|