@cornerstonejs/core 2.0.0-beta.20 → 2.0.0-beta.22
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/RenderingEngine/BaseVolumeViewport.d.ts +23 -13
- package/dist/esm/RenderingEngine/BaseVolumeViewport.js +52 -50
- package/dist/esm/RenderingEngine/CanvasActor/CanvasMapper.d.ts +1 -1
- package/dist/esm/RenderingEngine/CanvasActor/CanvasProperties.d.ts +1 -1
- package/dist/esm/RenderingEngine/CanvasActor/index.js +2 -1
- package/dist/esm/RenderingEngine/RenderingEngine.d.ts +8 -10
- package/dist/esm/RenderingEngine/RenderingEngine.js +20 -18
- package/dist/esm/RenderingEngine/StackViewport.d.ts +28 -19
- package/dist/esm/RenderingEngine/StackViewport.js +81 -58
- package/dist/esm/RenderingEngine/VideoViewport.d.ts +19 -28
- package/dist/esm/RenderingEngine/VideoViewport.js +61 -24
- package/dist/esm/RenderingEngine/Viewport.d.ts +25 -14
- package/dist/esm/RenderingEngine/Viewport.js +24 -15
- package/dist/esm/RenderingEngine/VolumeViewport.d.ts +21 -9
- package/dist/esm/RenderingEngine/VolumeViewport.js +95 -10
- package/dist/esm/RenderingEngine/VolumeViewport3D.d.ts +3 -3
- package/dist/esm/RenderingEngine/VolumeViewport3D.js +10 -3
- package/dist/esm/RenderingEngine/WSIViewport.d.ts +58 -0
- package/dist/esm/RenderingEngine/WSIViewport.js +414 -0
- package/dist/esm/RenderingEngine/helpers/addImageSlicesToViewports.d.ts +1 -1
- package/dist/esm/RenderingEngine/helpers/addImageSlicesToViewports.js +3 -3
- package/dist/esm/RenderingEngine/helpers/addVolumesToViewports.d.ts +1 -1
- package/dist/esm/RenderingEngine/helpers/cpuFallback/colors/colormap.d.ts +1 -1
- package/dist/esm/RenderingEngine/helpers/cpuFallback/colors/colormap.js +1 -1
- package/dist/esm/RenderingEngine/helpers/cpuFallback/colors/lookupTable.d.ts +2 -2
- package/dist/esm/RenderingEngine/helpers/cpuFallback/colors/lookupTable.js +15 -5
- package/dist/esm/RenderingEngine/helpers/cpuFallback/drawImageSync.d.ts +1 -1
- package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/calculateTransform.d.ts +1 -1
- package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/canvasToPixel.d.ts +1 -1
- package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/correctShift.d.ts +3 -3
- package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/createViewport.d.ts +1 -1
- package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/doesImageNeedToBeRendered.d.ts +1 -1
- package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/fitToWindow.d.ts +1 -1
- package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/generateColorLUT.d.ts +1 -1
- package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/generateColorLUT.js +1 -1
- package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/generateLut.d.ts +1 -1
- package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/generateLut.js +2 -2
- package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/getDefaultViewport.d.ts +1 -1
- package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/getImageFitScale.d.ts +1 -1
- package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/getImageSize.d.ts +1 -1
- package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/getLut.d.ts +1 -1
- package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/getLut.js +1 -1
- package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/getTransform.d.ts +1 -1
- package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/initializeRenderCanvas.d.ts +1 -1
- package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/lutMatches.d.ts +2 -1
- package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/lutMatches.js +1 -1
- package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/pixelToCanvas.d.ts +1 -1
- package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/renderColorImage.d.ts +1 -1
- package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/renderColorImage.js +3 -4
- package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/renderGrayscaleImage.d.ts +1 -1
- package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/renderGrayscaleImage.js +2 -3
- package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/renderPseudoColorImage.js +3 -3
- package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/resetCamera.d.ts +1 -1
- package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/resize.d.ts +1 -1
- package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/saveLastRendered.d.ts +1 -1
- package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/setDefaultViewport.d.ts +1 -1
- package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/setToPixelCoordinateSystem.d.ts +1 -1
- package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/storedColorPixelDataToCanvasImageData.d.ts +1 -1
- package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/storedColorPixelDataToCanvasImageData.js +1 -1
- package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageData.d.ts +1 -1
- package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageData.js +1 -1
- package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataColorLUT.js +1 -1
- package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataPET.d.ts +1 -1
- package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataPET.js +1 -1
- package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataPseudocolorLUT.js +1 -1
- package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataPseudocolorLUTPET.js +1 -1
- package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataRGBA.d.ts +1 -1
- package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/storedPixelDataToCanvasImageDataRGBA.js +1 -1
- package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/storedRGBAPixelDataToCanvasImageData.d.ts +1 -1
- package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/storedRGBAPixelDataToCanvasImageData.js +1 -1
- package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/transform.d.ts +1 -1
- package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/validator.d.ts +2 -2
- package/dist/esm/RenderingEngine/helpers/createVolumeActor.d.ts +3 -3
- package/dist/esm/RenderingEngine/helpers/createVolumeActor.js +4 -7
- package/dist/esm/RenderingEngine/helpers/createVolumeMapper.d.ts +4 -1
- package/dist/esm/RenderingEngine/helpers/getOrCreateCanvas.js +5 -4
- package/dist/esm/RenderingEngine/helpers/setDefaultVolumeVOI.d.ts +2 -2
- package/dist/esm/RenderingEngine/helpers/setDefaultVolumeVOI.js +13 -37
- package/dist/esm/RenderingEngine/helpers/setVolumesForViewports.d.ts +1 -1
- package/dist/esm/RenderingEngine/helpers/viewportTypeToViewportClass.d.ts +2 -0
- package/dist/esm/RenderingEngine/helpers/viewportTypeToViewportClass.js +2 -0
- package/dist/esm/RenderingEngine/helpers/volumeNewImageEventDispatcher.d.ts +1 -1
- package/dist/esm/RenderingEngine/helpers/volumeNewImageEventDispatcher.js +4 -4
- package/dist/esm/RenderingEngine/renderingEngineCache.d.ts +1 -1
- package/dist/esm/RenderingEngine/vtkClasses/vtkSlabCamera.d.ts +4 -2
- package/dist/esm/RenderingEngine/vtkClasses/vtkStreamingOpenGLTexture.js +87 -78
- package/dist/esm/RenderingEngine/vtkClasses/vtkStreamingOpenGLViewNodeFactory.js +1 -1
- package/dist/esm/RenderingEngine/vtkClasses/vtkStreamingOpenGLVolumeMapper.js +83 -42
- package/dist/esm/Settings.d.ts +1 -1
- package/dist/esm/cache/cache.d.ts +15 -19
- package/dist/esm/cache/cache.js +112 -57
- package/dist/esm/cache/classes/Contour.d.ts +4 -4
- package/dist/esm/cache/classes/ContourSet.d.ts +3 -3
- package/dist/esm/cache/classes/ImageVolume.d.ts +19 -19
- package/dist/esm/cache/classes/ImageVolume.js +49 -254
- package/dist/esm/cache/classes/Surface.d.ts +3 -3
- package/dist/esm/cache/index.d.ts +1 -2
- package/dist/esm/cache/index.js +1 -2
- package/dist/esm/constants/cpuColormaps.d.ts +1 -1
- package/dist/esm/constants/viewportPresets.d.ts +1 -1
- package/dist/esm/enums/GenerateImageType.d.ts +5 -0
- package/dist/esm/enums/GenerateImageType.js +6 -0
- package/dist/esm/enums/MetadataModules.d.ts +2 -1
- package/dist/esm/enums/MetadataModules.js +1 -0
- package/dist/esm/enums/ViewportType.d.ts +2 -1
- package/dist/esm/enums/ViewportType.js +1 -0
- package/dist/esm/enums/index.d.ts +2 -2
- package/dist/esm/enums/index.js +2 -2
- package/dist/esm/eventTarget.js +2 -3
- package/dist/esm/getEnabledElement.d.ts +1 -1
- package/dist/esm/global.d.ts +0 -1
- package/dist/esm/index.d.ts +9 -5
- package/dist/esm/index.js +8 -4
- package/dist/esm/init.d.ts +5 -8
- package/dist/esm/init.js +22 -83
- package/dist/esm/loaders/ProgressiveRetrieveImages.d.ts +5 -5
- package/dist/esm/loaders/ProgressiveRetrieveImages.js +7 -3
- package/dist/esm/loaders/configuration/interleavedRetrieve.d.ts +1 -1
- package/dist/esm/loaders/fillNearbyFrames.d.ts +2 -2
- package/dist/esm/loaders/geometryLoader.d.ts +3 -3
- package/dist/esm/loaders/geometryLoader.js +1 -1
- package/dist/esm/loaders/imageLoader.d.ts +12 -17
- package/dist/esm/loaders/imageLoader.js +179 -96
- package/dist/esm/loaders/utils/contourSet/createContourSet.d.ts +1 -1
- package/dist/esm/loaders/utils/contourSet/validateContourSet.d.ts +1 -1
- package/dist/esm/loaders/utils/surface/createSurface.d.ts +1 -1
- package/dist/esm/loaders/utils/surface/validateSurface.d.ts +1 -1
- package/dist/esm/loaders/volumeLoader.d.ts +15 -22
- package/dist/esm/loaders/volumeLoader.js +88 -207
- package/dist/esm/metaData.d.ts +2 -4
- package/dist/esm/requestPool/requestPoolManager.d.ts +7 -9
- package/dist/esm/requestPool/requestPoolManager.js +1 -1
- package/dist/esm/types/AABB2.d.ts +2 -2
- package/dist/esm/types/AABB3.d.ts +2 -2
- package/dist/esm/types/ActorSliceRange.d.ts +5 -5
- package/dist/esm/types/BoundsIJK.d.ts +1 -1
- package/dist/esm/types/BoundsLPS.d.ts +1 -1
- package/dist/esm/types/CPUFallbackColormap.d.ts +3 -3
- package/dist/esm/types/CPUFallbackColormapData.d.ts +4 -4
- package/dist/esm/types/CPUFallbackColormapsData.d.ts +3 -5
- package/dist/esm/types/CPUFallbackEnabledElement.d.ts +2 -37
- package/dist/esm/types/CPUFallbackLUT.d.ts +4 -3
- package/dist/esm/types/CPUFallbackLookupTable.d.ts +2 -2
- package/dist/esm/types/CPUFallbackRenderingTools.d.ts +5 -5
- package/dist/esm/types/CPUFallbackTransform.d.ts +3 -3
- package/dist/esm/types/CPUFallbackViewport.d.ts +6 -6
- package/dist/esm/types/CPUFallbackViewportDisplayedArea.d.ts +3 -3
- package/dist/esm/types/CPUIImageData.d.ts +17 -9
- package/dist/esm/types/Color.d.ts +1 -1
- package/dist/esm/types/Colormap.d.ts +7 -7
- package/dist/esm/types/ContourData.d.ts +6 -6
- package/dist/esm/types/Cornerstone3DConfig.d.ts +7 -7
- package/dist/esm/types/CustomEventType.d.ts +2 -2
- package/dist/esm/types/EventTypes.d.ts +55 -55
- package/dist/esm/types/FlipDirection.d.ts +3 -3
- package/dist/esm/types/IActor.d.ts +3 -3
- package/dist/esm/types/ICache.d.ts +4 -4
- package/dist/esm/types/ICachedGeometry.d.ts +3 -3
- package/dist/esm/types/ICachedImage.d.ts +3 -2
- package/dist/esm/types/ICachedVolume.d.ts +3 -2
- package/dist/esm/types/ICamera.d.ts +3 -3
- package/dist/esm/types/IContour.d.ts +4 -3
- package/dist/esm/types/IContourSet.d.ts +5 -2
- package/dist/esm/types/IDynamicImageVolume.d.ts +3 -3
- package/dist/esm/types/IEnabledElement.d.ts +2 -2
- package/dist/esm/types/IGeometry.d.ts +4 -4
- package/dist/esm/types/IImage.d.ts +48 -11
- package/dist/esm/types/IImageCalibration.d.ts +2 -2
- package/dist/esm/types/IImageData.d.ts +11 -4
- package/dist/esm/types/IImageFrame.d.ts +42 -0
- package/dist/esm/types/IImageFrame.js +1 -0
- package/dist/esm/types/IImageVolume.d.ts +17 -14
- package/dist/esm/types/ILoadObject.d.ts +3 -3
- package/dist/esm/types/IPointsManager.d.ts +23 -0
- package/dist/esm/types/IPointsManager.js +1 -0
- package/dist/esm/types/IRLEVoxelMap.d.ts +16 -0
- package/dist/esm/types/IRLEVoxelMap.js +1 -0
- package/dist/esm/types/IRegisterImageLoader.d.ts +2 -2
- package/dist/esm/types/IRenderingEngine.d.ts +11 -12
- package/dist/esm/types/IRetrieveConfiguration.d.ts +6 -6
- package/dist/esm/types/IStackInput.d.ts +1 -1
- package/dist/esm/types/IStackViewport.d.ts +69 -2
- package/dist/esm/types/IStreamingImageVolume.d.ts +3 -4
- package/dist/esm/types/IStreamingVolumeProperties.d.ts +5 -5
- package/dist/esm/types/ISurface.d.ts +1 -1
- package/dist/esm/types/ITransferFunctionNode.d.ts +9 -0
- package/dist/esm/types/ITransferFunctionNode.js +1 -0
- package/dist/esm/types/IVideoViewport.d.ts +40 -2
- package/dist/esm/types/IViewport.d.ts +62 -41
- package/dist/esm/types/IVolume.d.ts +2 -2
- package/dist/esm/types/IVolumeInput.d.ts +2 -2
- package/dist/esm/types/IVolumeViewport.d.ts +17 -16
- package/dist/esm/types/IVoxelManager.d.ts +54 -0
- package/dist/esm/types/IVoxelManager.js +1 -0
- package/dist/esm/types/IWSIViewport.d.ts +16 -0
- package/dist/esm/types/IWSIViewport.js +1 -0
- package/dist/esm/types/ImageLoadListener.d.ts +2 -2
- package/dist/esm/types/ImageLoaderFn.d.ts +3 -3
- package/dist/esm/types/ImagePixelModule.d.ts +1 -1
- package/dist/esm/types/ImagePlaneModule.d.ts +2 -2
- package/dist/esm/types/ImageSliceData.d.ts +3 -3
- package/dist/esm/types/ImageVolumeProps.d.ts +4 -4
- package/dist/esm/types/Mat3.d.ts +1 -1
- package/dist/esm/types/Metadata.d.ts +6 -6
- package/dist/esm/types/MetadataModuleTypes.d.ts +65 -0
- package/dist/esm/types/MetadataModuleTypes.js +1 -0
- package/dist/esm/types/OrientationVectors.d.ts +4 -4
- package/dist/esm/types/Plane.d.ts +1 -1
- package/dist/esm/types/Point2.d.ts +1 -1
- package/dist/esm/types/Point3.d.ts +3 -3
- package/dist/esm/types/Point4.d.ts +1 -1
- package/dist/esm/types/RGB.d.ts +1 -1
- package/dist/esm/types/ScalingParameters.d.ts +7 -7
- package/dist/esm/types/StackViewportProperties.d.ts +3 -3
- package/dist/esm/types/SurfaceData.d.ts +5 -5
- package/dist/esm/types/TransformMatrix2D.d.ts +1 -1
- package/dist/esm/types/VideoViewportProperties.d.ts +3 -3
- package/dist/esm/types/VideoViewportTypes.d.ts +7 -7
- package/dist/esm/types/ViewportInputOptions.d.ts +7 -7
- package/dist/esm/types/ViewportPreset.d.ts +1 -1
- package/dist/esm/types/ViewportProperties.d.ts +5 -5
- package/dist/esm/types/VolumeLoaderFn.d.ts +4 -3
- package/dist/esm/types/VolumeProps.d.ts +10 -5
- package/dist/esm/types/VolumeViewportProperties.d.ts +3 -3
- package/dist/esm/types/WSIViewportProperties.d.ts +3 -0
- package/dist/esm/types/WSIViewportProperties.js +1 -0
- package/dist/esm/types/WSIViewportTypes.d.ts +13 -0
- package/dist/esm/types/WSIViewportTypes.js +1 -0
- package/dist/esm/types/displayArea.d.ts +4 -4
- package/dist/esm/types/index.d.ts +16 -8
- package/dist/esm/types/voi.d.ts +4 -4
- package/dist/esm/utilities/PointsManager.d.ts +8 -10
- package/dist/esm/utilities/ProgressiveIterator.d.ts +1 -1
- package/dist/esm/utilities/ProgressiveIterator.js +3 -1
- package/dist/esm/utilities/RLEVoxelMap.d.ts +3 -8
- package/dist/esm/utilities/RLEVoxelMap.js +19 -19
- package/dist/esm/utilities/VoxelManager.d.ts +82 -20
- package/dist/esm/utilities/VoxelManager.js +466 -60
- package/dist/esm/utilities/actorCheck.d.ts +1 -1
- package/dist/esm/utilities/applyPreset.d.ts +2 -2
- package/dist/esm/utilities/calculateViewportsSpatialRegistration.d.ts +1 -1
- package/dist/esm/utilities/calculateViewportsSpatialRegistration.js +5 -5
- package/dist/esm/utilities/calibratedPixelSpacingMetadataProvider.d.ts +1 -1
- package/dist/esm/utilities/colormap.d.ts +1 -1
- package/dist/esm/utilities/convertStackToVolumeViewport.d.ts +2 -2
- package/dist/esm/utilities/convertStackToVolumeViewport.js +4 -4
- package/dist/esm/utilities/convertVolumeToStackViewport.d.ts +1 -1
- package/dist/esm/utilities/convertVolumeToStackViewport.js +3 -2
- package/dist/esm/utilities/createLinearRGBTransferFunction.d.ts +1 -1
- package/dist/esm/utilities/createLinearRGBTransferFunction.js +1 -3
- package/dist/esm/utilities/createSigmoidRGBTransferFunction.d.ts +2 -3
- package/dist/esm/utilities/createSigmoidRGBTransferFunction.js +8 -7
- package/dist/esm/utilities/decimate.d.ts +1 -1
- package/dist/esm/utilities/eventListener/TargetEventListeners.js +5 -3
- package/dist/esm/utilities/generateVolumePropsFromImageIds.d.ts +1 -1
- package/dist/esm/utilities/generateVolumePropsFromImageIds.js +33 -80
- package/dist/esm/utilities/genericMetadataProvider.d.ts +9 -2
- package/dist/esm/utilities/genericMetadataProvider.js +7 -1
- package/dist/esm/utilities/getBufferConfiguration.d.ts +2 -3
- package/dist/esm/utilities/getBufferConfiguration.js +5 -15
- package/dist/esm/utilities/getClosestImageId.js +1 -1
- package/dist/esm/utilities/getClosestStackImageIndexForPoint.d.ts +1 -1
- package/dist/esm/utilities/getClosestStackImageIndexForPoint.js +2 -2
- package/dist/esm/utilities/getCurrentVolumeViewportSlice.d.ts +4 -5
- package/dist/esm/utilities/getCurrentVolumeViewportSlice.js +8 -58
- package/dist/esm/utilities/getImageLegacy.d.ts +1 -1
- package/dist/esm/utilities/getImageLegacy.js +1 -1
- package/dist/esm/utilities/getImageSliceDataForVolumeViewport.d.ts +1 -1
- package/dist/esm/utilities/getMinMax.d.ts +2 -1
- package/dist/esm/utilities/getScalingParameters.d.ts +1 -1
- package/dist/esm/utilities/getScalingParameters.js +4 -4
- package/dist/esm/utilities/getSpacingInNormalDirection.d.ts +2 -2
- package/dist/esm/utilities/getTargetVolumeAndSpacingInNormalDir.d.ts +1 -1
- package/dist/esm/utilities/getTargetVolumeAndSpacingInNormalDir.js +2 -2
- package/dist/esm/utilities/getViewportImageCornersInWorld.d.ts +1 -1
- package/dist/esm/utilities/getViewportImageIds.d.ts +1 -1
- package/dist/esm/utilities/getViewportImageIds.js +1 -1
- package/dist/esm/utilities/getViewportModality.d.ts +7 -3
- package/dist/esm/utilities/getViewportModality.js +9 -6
- package/dist/esm/utilities/getViewportsWithImageURI.d.ts +2 -2
- package/dist/esm/utilities/getViewportsWithVolumeId.d.ts +2 -2
- package/dist/esm/utilities/getViewportsWithVolumeId.js +3 -7
- package/dist/esm/utilities/getVoiFromSigmoidRGBTransferFunction.d.ts +1 -1
- package/dist/esm/utilities/getVolumeActorCorners.d.ts +2 -2
- package/dist/esm/utilities/getVolumeId.js +2 -2
- package/dist/esm/utilities/getVolumeSliceRangeInfo.d.ts +1 -1
- package/dist/esm/utilities/getVolumeViewportScrollInfo.d.ts +1 -1
- package/dist/esm/utilities/getVolumeViewportsContainingSameVolumes.d.ts +2 -2
- package/dist/esm/utilities/hasFloatScalingParameters.d.ts +1 -1
- package/dist/esm/utilities/imageRetrieveMetadataProvider.d.ts +1 -1
- package/dist/esm/utilities/imageToWorldCoords.d.ts +1 -1
- package/dist/esm/utilities/imageToWorldCoords.js +2 -2
- package/dist/esm/utilities/index.d.ts +3 -8
- package/dist/esm/utilities/index.js +4 -8
- package/dist/esm/utilities/indexWithinDimensions.d.ts +1 -1
- package/dist/esm/utilities/invertRgbTransferFunction.d.ts +2 -1
- package/dist/esm/utilities/isEqual.js +6 -1
- package/dist/esm/utilities/isPTPrescaledWithSUV.d.ts +1 -1
- package/dist/esm/utilities/isPTPrescaledWithSUV.js +1 -1
- package/dist/esm/utilities/isValidVolume.js +1 -1
- package/dist/esm/utilities/loadImageToCanvas.d.ts +6 -6
- package/dist/esm/utilities/loadImageToCanvas.js +1 -1
- package/dist/esm/utilities/makeVolumeMetadata.d.ts +2 -2
- package/dist/esm/utilities/makeVolumeMetadata.js +5 -5
- package/dist/esm/utilities/planar.d.ts +2 -2
- package/dist/esm/utilities/renderToCanvasCPU.d.ts +1 -1
- package/dist/esm/utilities/renderToCanvasGPU.d.ts +2 -2
- package/dist/esm/utilities/renderToCanvasGPU.js +1 -1
- package/dist/esm/utilities/scaleRgbTransferFunction.d.ts +2 -1
- package/dist/esm/utilities/snapFocalPointToSlice.d.ts +1 -1
- package/dist/esm/utilities/sortImageIdsAndGetSpacing.d.ts +5 -5
- package/dist/esm/utilities/sortImageIdsAndGetSpacing.js +2 -1
- package/dist/esm/utilities/transformCanvasToIJK.d.ts +2 -2
- package/dist/esm/utilities/transformIJKToCanvas.d.ts +1 -1
- package/dist/esm/utilities/triggerEvent.js +1 -1
- package/dist/esm/utilities/updateVTKImageDataWithCornerstoneImage.d.ts +2 -2
- package/dist/esm/utilities/updateVTKImageDataWithCornerstoneImage.js +1 -1
- package/dist/esm/utilities/uuidv4.js +3 -1
- package/dist/esm/utilities/worldToImageCoords.d.ts +1 -1
- package/dist/esm/utilities/worldToImageCoords.js +2 -2
- package/dist/umd/index.js +1 -1
- package/dist/umd/index.js.map +1 -1
- package/package.json +6 -6
- package/dist/esm/cache/utils/restoreImagesFromBuffer.d.ts +0 -2
- package/dist/esm/cache/utils/restoreImagesFromBuffer.js +0 -28
- package/dist/esm/enums/SharedArrayBufferModes.d.ts +0 -6
- package/dist/esm/enums/SharedArrayBufferModes.js +0 -7
- package/dist/esm/utilities/cacheUtils.d.ts +0 -2
- package/dist/esm/utilities/cacheUtils.js +0 -86
- package/dist/esm/utilities/createFloat32SharedArray.d.ts +0 -2
- package/dist/esm/utilities/createFloat32SharedArray.js +0 -27
- package/dist/esm/utilities/createInt16SharedArray.d.ts +0 -2
- package/dist/esm/utilities/createInt16SharedArray.js +0 -11
- package/dist/esm/utilities/createUInt16SharedArray.d.ts +0 -2
- package/dist/esm/utilities/createUInt16SharedArray.js +0 -11
- package/dist/esm/utilities/createUint8SharedArray.d.ts +0 -2
- package/dist/esm/utilities/createUint8SharedArray.js +0 -12
- package/dist/esm/utilities/getScalarDataType.d.ts +0 -2
- package/dist/esm/utilities/getScalarDataType.js +0 -19
- package/dist/esm/utilities/isTypedArray.d.ts +0 -1
- package/dist/esm/utilities/isTypedArray.js +0 -11
|
@@ -2,11 +2,11 @@ import { vec3 } from 'gl-matrix';
|
|
|
2
2
|
import { Events as EVENTS, VideoEnums as VideoViewportEnum, MetadataModules, } from '../enums';
|
|
3
3
|
import * as metaData from '../metaData';
|
|
4
4
|
import { Transform } from './helpers/cpuFallback/rendering/transform';
|
|
5
|
-
import
|
|
5
|
+
import triggerEvent from '../utilities/triggerEvent';
|
|
6
6
|
import Viewport from './Viewport';
|
|
7
7
|
import { getOrCreateCanvas } from './helpers';
|
|
8
8
|
import CanvasActor from './CanvasActor';
|
|
9
|
-
import cache from '../cache';
|
|
9
|
+
import cache from '../cache/cache';
|
|
10
10
|
class VideoViewport extends Viewport {
|
|
11
11
|
static { this.frameRangeExtractor = /(\/frames\/|[&?]frameNumber=)([^/&?]*)/i; }
|
|
12
12
|
constructor(props) {
|
|
@@ -23,7 +23,6 @@ class VideoViewport extends Viewport {
|
|
|
23
23
|
this.playbackRate = 1;
|
|
24
24
|
this.frameRange = [0, 0];
|
|
25
25
|
this.fps = 30;
|
|
26
|
-
this.numberOfFrames = 0;
|
|
27
26
|
this.videoCamera = {
|
|
28
27
|
panWorld: [0, 0],
|
|
29
28
|
parallelScale: 1,
|
|
@@ -41,16 +40,21 @@ class VideoViewport extends Viewport {
|
|
|
41
40
|
voiRange: { ...this.voiRange },
|
|
42
41
|
};
|
|
43
42
|
};
|
|
43
|
+
this.getMiddleSliceData = () => {
|
|
44
|
+
throw new Error('Method not implemented.');
|
|
45
|
+
};
|
|
46
|
+
this.useCustomRenderingPipeline = true;
|
|
44
47
|
this.resetCamera = () => {
|
|
45
48
|
this.refreshRenderValues();
|
|
46
49
|
this.canvasContext.fillRect(0, 0, this.canvas.width, this.canvas.height);
|
|
47
|
-
if (this.isPlaying
|
|
50
|
+
if (!this.isPlaying) {
|
|
48
51
|
this.renderFrame();
|
|
49
52
|
}
|
|
50
53
|
return true;
|
|
51
54
|
};
|
|
52
55
|
this.getNumberOfSlices = () => {
|
|
53
|
-
|
|
56
|
+
const computedSlices = Math.round((this.videoElement.duration * this.fps) / this.scrollSpeed);
|
|
57
|
+
return isNaN(computedSlices) ? this.numberOfFrames : computedSlices;
|
|
54
58
|
};
|
|
55
59
|
this.getFrameOfReferenceUID = () => {
|
|
56
60
|
return this.videoElement.src;
|
|
@@ -63,7 +67,7 @@ class VideoViewport extends Viewport {
|
|
|
63
67
|
canvas.height = clientHeight;
|
|
64
68
|
}
|
|
65
69
|
this.refreshRenderValues();
|
|
66
|
-
if (this.isPlaying
|
|
70
|
+
if (!this.isPlaying) {
|
|
67
71
|
this.renderFrame();
|
|
68
72
|
}
|
|
69
73
|
};
|
|
@@ -98,7 +102,9 @@ class VideoViewport extends Viewport {
|
|
|
98
102
|
};
|
|
99
103
|
this.indexToCanvas = (indexPos) => {
|
|
100
104
|
const transform = this.getTransform();
|
|
101
|
-
return
|
|
105
|
+
return transform
|
|
106
|
+
.transformPoint(indexPos)
|
|
107
|
+
.map((it) => it / devicePixelRatio);
|
|
102
108
|
};
|
|
103
109
|
this.customRenderViewportToCanvas = () => {
|
|
104
110
|
this.renderFrame();
|
|
@@ -109,7 +115,7 @@ class VideoViewport extends Viewport {
|
|
|
109
115
|
const ctx = this.canvasContext;
|
|
110
116
|
ctx.resetTransform();
|
|
111
117
|
ctx.transform(transformationMatrix[0], transformationMatrix[1], transformationMatrix[2], transformationMatrix[3], transformationMatrix[4], transformationMatrix[5]);
|
|
112
|
-
ctx.drawImage(this.videoElement, 0, 0, this.videoWidth, this.videoHeight);
|
|
118
|
+
ctx.drawImage(this.videoElement, 0, 0, this.videoWidth || 1024, this.videoHeight || 1024);
|
|
113
119
|
for (const actor of this.getActors()) {
|
|
114
120
|
actor.actor.render(this, this.canvasContext);
|
|
115
121
|
}
|
|
@@ -126,11 +132,13 @@ class VideoViewport extends Viewport {
|
|
|
126
132
|
element: this.element,
|
|
127
133
|
viewportId: this.id,
|
|
128
134
|
viewport: this,
|
|
135
|
+
imageIndex: this.getCurrentImageIdIndex(),
|
|
136
|
+
numberOfSlices: this.numberOfFrames,
|
|
129
137
|
renderingEngineId: this.renderingEngineId,
|
|
130
138
|
time: this.videoElement.currentTime,
|
|
131
139
|
duration: this.videoElement.duration,
|
|
132
140
|
});
|
|
133
|
-
this.initialRender
|
|
141
|
+
this.initialRender();
|
|
134
142
|
const frame = this.getFrameNumber();
|
|
135
143
|
if (this.isPlaying) {
|
|
136
144
|
if (frame < this.frameRange[0]) {
|
|
@@ -204,7 +212,7 @@ class VideoViewport extends Viewport {
|
|
|
204
212
|
this.hasPixelSpacing = !!imagePlaneModule.columnPixelSpacing;
|
|
205
213
|
return {
|
|
206
214
|
bitsAllocated: 8,
|
|
207
|
-
|
|
215
|
+
numberOfComponents: 3,
|
|
208
216
|
origin,
|
|
209
217
|
rows,
|
|
210
218
|
columns,
|
|
@@ -216,15 +224,23 @@ class VideoViewport extends Viewport {
|
|
|
216
224
|
imagePlaneModule,
|
|
217
225
|
};
|
|
218
226
|
}
|
|
227
|
+
setDataIds(imageIds, options) {
|
|
228
|
+
this.setVideo(imageIds[0], (options.viewReference.sliceIndex || 0) + 1);
|
|
229
|
+
}
|
|
219
230
|
setVideo(imageId, frameNumber) {
|
|
220
231
|
this.imageId = Array.isArray(imageId) ? imageId[0] : imageId;
|
|
221
|
-
const
|
|
232
|
+
const imageUrlModule = metaData.get(MetadataModules.IMAGE_URL, imageId);
|
|
233
|
+
if (!imageUrlModule?.rendered) {
|
|
234
|
+
throw new Error(`Video Image ID ${imageId} does not have a rendered video view`);
|
|
235
|
+
}
|
|
236
|
+
const { rendered } = imageUrlModule;
|
|
222
237
|
const generalSeries = metaData.get(MetadataModules.GENERAL_SERIES, imageId);
|
|
223
238
|
this.modality = generalSeries?.Modality;
|
|
224
239
|
this.metadata = this.getImageDataMetadata(imageId);
|
|
240
|
+
let { cineRate, numberOfFrames } = metaData.get(MetadataModules.CINE, imageId);
|
|
241
|
+
this.numberOfFrames = numberOfFrames;
|
|
225
242
|
return this.setVideoURL(rendered).then(() => {
|
|
226
|
-
|
|
227
|
-
if (!numberOfFrames) {
|
|
243
|
+
if (!numberOfFrames || numberOfFrames === 1) {
|
|
228
244
|
numberOfFrames = Math.round(this.videoElement.duration * (cineRate || 30));
|
|
229
245
|
}
|
|
230
246
|
if (!cineRate) {
|
|
@@ -281,18 +297,18 @@ class VideoViewport extends Viewport {
|
|
|
281
297
|
async play() {
|
|
282
298
|
try {
|
|
283
299
|
if (!this.isPlaying) {
|
|
284
|
-
await this.videoElement.play();
|
|
285
300
|
this.isPlaying = true;
|
|
301
|
+
await this.videoElement.play();
|
|
286
302
|
this.renderWhilstPlaying();
|
|
287
303
|
}
|
|
288
304
|
}
|
|
289
305
|
catch (e) {
|
|
290
306
|
}
|
|
291
307
|
}
|
|
292
|
-
|
|
308
|
+
pause() {
|
|
293
309
|
try {
|
|
294
|
-
await this.videoElement.pause();
|
|
295
310
|
this.isPlaying = false;
|
|
311
|
+
this.videoElement.pause();
|
|
296
312
|
}
|
|
297
313
|
catch (e) {
|
|
298
314
|
}
|
|
@@ -346,6 +362,9 @@ class VideoViewport extends Viewport {
|
|
|
346
362
|
videoElement.addEventListener('seeked', seekEventListener);
|
|
347
363
|
}
|
|
348
364
|
}
|
|
365
|
+
getSliceViewInfo() {
|
|
366
|
+
throw new Error('Method not implemented.');
|
|
367
|
+
}
|
|
349
368
|
async setFrameNumber(frame) {
|
|
350
369
|
this.setTime((frame - 1) / this.fps);
|
|
351
370
|
}
|
|
@@ -404,7 +423,7 @@ class VideoViewport extends Viewport {
|
|
|
404
423
|
});
|
|
405
424
|
}
|
|
406
425
|
getScalarData() {
|
|
407
|
-
if (this.scalarData
|
|
426
|
+
if (this.scalarData.frameNumber === this.getFrameNumber()) {
|
|
408
427
|
return this.scalarData;
|
|
409
428
|
}
|
|
410
429
|
const canvas = document.createElement('canvas');
|
|
@@ -427,8 +446,12 @@ class VideoViewport extends Viewport {
|
|
|
427
446
|
spacing,
|
|
428
447
|
origin: metadata.origin,
|
|
429
448
|
direction: metadata.direction,
|
|
430
|
-
metadata: {
|
|
449
|
+
metadata: {
|
|
450
|
+
Modality: this.modality,
|
|
451
|
+
FrameOfReferenceUID: metadata.FrameOfReferenceUID,
|
|
452
|
+
},
|
|
431
453
|
getScalarData: () => this.getScalarData(),
|
|
454
|
+
scalarData: this.getScalarData(),
|
|
432
455
|
imageData: {
|
|
433
456
|
getDirection: () => metadata.direction,
|
|
434
457
|
getDimensions: () => metadata.dimensions,
|
|
@@ -462,7 +485,7 @@ class VideoViewport extends Viewport {
|
|
|
462
485
|
const testURI = framesMatch
|
|
463
486
|
? imageURI.substring(0, framesMatch.index)
|
|
464
487
|
: imageURI;
|
|
465
|
-
return this.imageId.
|
|
488
|
+
return this.imageId.includes(testURI);
|
|
466
489
|
}
|
|
467
490
|
setVOI(voiRange) {
|
|
468
491
|
this.voiRange = voiRange;
|
|
@@ -527,7 +550,7 @@ class VideoViewport extends Viewport {
|
|
|
527
550
|
}
|
|
528
551
|
this.canvasContext.fillStyle = 'rgba(0,0,0,1)';
|
|
529
552
|
this.canvasContext.fillRect(0, 0, this.canvas.width, this.canvas.height);
|
|
530
|
-
if (this.isPlaying
|
|
553
|
+
if (!this.isPlaying) {
|
|
531
554
|
this.renderFrame();
|
|
532
555
|
}
|
|
533
556
|
}
|
|
@@ -573,15 +596,23 @@ class VideoViewport extends Viewport {
|
|
|
573
596
|
return false;
|
|
574
597
|
}
|
|
575
598
|
const match = referencedImageId.match(VideoViewport.frameRangeExtractor);
|
|
576
|
-
if (!match
|
|
599
|
+
if (!match[2]) {
|
|
577
600
|
return true;
|
|
578
601
|
}
|
|
579
602
|
const range = match[2].split('-').map((it) => Number(it));
|
|
580
603
|
const frame = currentIndex + 1;
|
|
581
604
|
return range[0] <= frame && frame <= (range[1] ?? range[0]);
|
|
582
605
|
}
|
|
606
|
+
setViewReference(viewRef) {
|
|
607
|
+
if (typeof viewRef.sliceIndex === 'number') {
|
|
608
|
+
this.setFrameNumber(viewRef.sliceIndex + 1);
|
|
609
|
+
}
|
|
610
|
+
else if (Array.isArray(viewRef.sliceIndex)) {
|
|
611
|
+
this.setFrameRange(viewRef.sliceIndex);
|
|
612
|
+
}
|
|
613
|
+
}
|
|
583
614
|
getViewReference(viewRefSpecifier) {
|
|
584
|
-
let sliceIndex = viewRefSpecifier
|
|
615
|
+
let sliceIndex = viewRefSpecifier.sliceIndex;
|
|
585
616
|
if (!sliceIndex) {
|
|
586
617
|
sliceIndex = this.isPlaying
|
|
587
618
|
? [this.frameRange[0] - 1, this.frameRange[1] - 1]
|
|
@@ -600,7 +631,7 @@ class VideoViewport extends Viewport {
|
|
|
600
631
|
return Math.round(this.videoElement.currentTime * this.fps);
|
|
601
632
|
}
|
|
602
633
|
getSliceIndex() {
|
|
603
|
-
return this.getCurrentImageIdIndex();
|
|
634
|
+
return this.getCurrentImageIdIndex() / this.scrollSpeed;
|
|
604
635
|
}
|
|
605
636
|
getCamera() {
|
|
606
637
|
const { parallelScale } = this.videoCamera;
|
|
@@ -618,6 +649,9 @@ class VideoViewport extends Viewport {
|
|
|
618
649
|
viewPlaneNormal: [0, 0, 1],
|
|
619
650
|
};
|
|
620
651
|
}
|
|
652
|
+
getFrameRate() {
|
|
653
|
+
return this.fps;
|
|
654
|
+
}
|
|
621
655
|
getPan() {
|
|
622
656
|
const panWorld = this.videoCamera.panWorld;
|
|
623
657
|
return [panWorld[0], panWorld[1]];
|
|
@@ -673,7 +707,10 @@ class VideoViewport extends Viewport {
|
|
|
673
707
|
if (imageActor) {
|
|
674
708
|
actors.push({ uid: stackInput.actorUID, actor: imageActor });
|
|
675
709
|
if (stackInput.callback) {
|
|
676
|
-
stackInput.callback({
|
|
710
|
+
stackInput.callback({
|
|
711
|
+
imageActor: imageActor,
|
|
712
|
+
imageId: stackInput.imageId,
|
|
713
|
+
});
|
|
677
714
|
}
|
|
678
715
|
}
|
|
679
716
|
});
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import type { vtkCamera } from '@kitware/vtk.js/Rendering/Core/Camera';
|
|
2
2
|
import vtkPlane from '@kitware/vtk.js/Common/DataModel/Plane';
|
|
3
|
+
import type { mat4 } from 'gl-matrix';
|
|
3
4
|
import ViewportStatus from '../enums/ViewportStatus';
|
|
4
5
|
import ViewportType from '../enums/ViewportType';
|
|
5
6
|
import type { ICamera, ActorEntry, IRenderingEngine, ViewportInputOptions, Point2, Point3, FlipDirection, DisplayArea, ViewPresentation, ViewReference, ViewportProperties } from '../types';
|
|
6
|
-
import type { ViewportInput, IViewport, ViewReferenceSpecifier, ReferenceCompatibleOptions, ViewPresentationSelector } from '../types/IViewport';
|
|
7
|
+
import type { ViewportInput, IViewport, ViewReferenceSpecifier, ReferenceCompatibleOptions, ViewPresentationSelector, DataSetOptions } from '../types/IViewport';
|
|
7
8
|
import type { vtkSlabCamera } from './vtkClasses/vtkSlabCamera';
|
|
8
|
-
import IImageCalibration from '../types/IImageCalibration';
|
|
9
|
+
import type IImageCalibration from '../types/IImageCalibration';
|
|
9
10
|
import { InterpolationType } from '../enums';
|
|
11
|
+
import type vtkRenderer from '@kitware/vtk.js/Rendering/Core/Renderer';
|
|
10
12
|
declare class Viewport implements IViewport {
|
|
11
13
|
static readonly CameraViewPresentation: ViewPresentationSelector;
|
|
12
14
|
static readonly TransferViewPresentation: ViewPresentationSelector;
|
|
@@ -24,8 +26,8 @@ declare class Viewport implements IViewport {
|
|
|
24
26
|
sy: number;
|
|
25
27
|
sWidth: number;
|
|
26
28
|
sHeight: number;
|
|
27
|
-
_actors: Map<string,
|
|
28
|
-
readonly defaultOptions:
|
|
29
|
+
_actors: Map<string, ActorEntry>;
|
|
30
|
+
readonly defaultOptions: ViewportInputOptions;
|
|
29
31
|
options: ViewportInputOptions;
|
|
30
32
|
_suppressCameraModifiedEvents: boolean;
|
|
31
33
|
readonly suppressEvents: boolean;
|
|
@@ -52,22 +54,30 @@ declare class Viewport implements IViewport {
|
|
|
52
54
|
removeWidgets: () => void;
|
|
53
55
|
setRendered(): void;
|
|
54
56
|
getRenderingEngine(): IRenderingEngine;
|
|
55
|
-
getRenderer():
|
|
57
|
+
getRenderer(): vtkRenderer;
|
|
56
58
|
render(): void;
|
|
57
59
|
setOptions(options: ViewportInputOptions, immediate?: boolean): void;
|
|
58
60
|
reset(immediate?: boolean): void;
|
|
61
|
+
getSliceViewInfo(): {
|
|
62
|
+
width: number;
|
|
63
|
+
height: number;
|
|
64
|
+
sliceIndex: number;
|
|
65
|
+
slicePlane: number;
|
|
66
|
+
sliceToIndexMatrix: mat4;
|
|
67
|
+
indexToSliceMatrix: mat4;
|
|
68
|
+
};
|
|
59
69
|
protected flip({ flipHorizontal, flipVertical }: FlipDirection): void;
|
|
60
70
|
private getDefaultImageData;
|
|
61
71
|
getDefaultActor(): ActorEntry;
|
|
62
|
-
getActors():
|
|
63
|
-
getActorUIDs():
|
|
72
|
+
getActors(): ActorEntry[];
|
|
73
|
+
getActorUIDs(): string[];
|
|
64
74
|
getActor(actorUID: string): ActorEntry;
|
|
65
75
|
getActorUIDByIndex(index: number): string;
|
|
66
76
|
getActorByIndex(index: number): ActorEntry;
|
|
67
|
-
setActors(actors:
|
|
77
|
+
setActors(actors: ActorEntry[]): void;
|
|
68
78
|
_removeActor(actorUID: string): void;
|
|
69
|
-
removeActors(actorUIDs:
|
|
70
|
-
addActors(actors:
|
|
79
|
+
removeActors(actorUIDs: string[]): void;
|
|
80
|
+
addActors(actors: ActorEntry[], resetCameraPanAndZoom?: boolean): void;
|
|
71
81
|
addActor(actorEntry: ActorEntry): void;
|
|
72
82
|
removeAllActors(): void;
|
|
73
83
|
protected resetCameraNoEvent(): void;
|
|
@@ -84,6 +94,7 @@ declare class Viewport implements IViewport {
|
|
|
84
94
|
getPan(initialCamera?: ICamera): Point2;
|
|
85
95
|
getCurrentImageIdIndex(): number;
|
|
86
96
|
getSliceIndex(): number;
|
|
97
|
+
getImageData(): any;
|
|
87
98
|
getViewReferenceId(_specifier?: ViewReferenceSpecifier): string;
|
|
88
99
|
setPan(pan: Point2, storeAsInitialCamera?: boolean): void;
|
|
89
100
|
getZoom(compareCamera?: ICamera): number;
|
|
@@ -97,7 +108,7 @@ declare class Viewport implements IViewport {
|
|
|
97
108
|
triggerCameraModifiedEventIfNecessary(previousCamera: ICamera, updatedCamera: ICamera): void;
|
|
98
109
|
updateCameraClippingPlanesAndRange(): void;
|
|
99
110
|
protected updateClippingPlanesForActors(updatedCamera: ICamera): Promise<void>;
|
|
100
|
-
setOrientationOfClippingPlanes(vtkPlanes:
|
|
111
|
+
setOrientationOfClippingPlanes(vtkPlanes: vtkPlane[], slabThickness: number, viewPlaneNormal: Point3, focalPoint: Point3): void;
|
|
101
112
|
getClippingPlanesForActor(actorEntry?: ActorEntry): vtkPlane[];
|
|
102
113
|
private _getWorldDistanceViewUpAndViewRight;
|
|
103
114
|
getViewReference(viewRefSpecifier?: ViewReferenceSpecifier): ViewReference;
|
|
@@ -105,14 +116,14 @@ declare class Viewport implements IViewport {
|
|
|
105
116
|
getViewPresentation(viewPresSel?: ViewPresentationSelector): ViewPresentation;
|
|
106
117
|
setViewReference(viewRef: ViewReference): void;
|
|
107
118
|
setViewPresentation(viewPres: ViewPresentation): void;
|
|
108
|
-
|
|
109
|
-
_getCorners(bounds: Array<number>): Array<number>[];
|
|
119
|
+
_getCorners(bounds: number[]): number[][];
|
|
110
120
|
_getFocalPointForResetCamera(centeredFocalPoint: Point3, previousCamera: ICamera, { resetPan, resetToCenter }: {
|
|
111
121
|
resetPan?: boolean;
|
|
112
122
|
resetToCenter?: boolean;
|
|
113
123
|
}): Point3;
|
|
114
124
|
_isInBounds(point: Point3, bounds: number[]): boolean;
|
|
115
|
-
_getEdges(bounds:
|
|
125
|
+
_getEdges(bounds: number[]): [number[], number[]][];
|
|
116
126
|
static boundsRadius(bounds: number[]): number;
|
|
127
|
+
setDataIds(_imageIds: string[], _options?: DataSetOptions): void;
|
|
117
128
|
}
|
|
118
129
|
export default Viewport;
|
|
@@ -6,10 +6,12 @@ import Events from '../enums/Events';
|
|
|
6
6
|
import ViewportStatus from '../enums/ViewportStatus';
|
|
7
7
|
import ViewportType from '../enums/ViewportType';
|
|
8
8
|
import renderingEngineCache from './renderingEngineCache';
|
|
9
|
-
import {
|
|
9
|
+
import { actorIsA, isImageActor } from '../utilities/actorCheck';
|
|
10
|
+
import triggerEvent from '../utilities/triggerEvent';
|
|
11
|
+
import * as planar from '../utilities/planar';
|
|
12
|
+
import isEqual from '../utilities/isEqual';
|
|
10
13
|
import hasNaNValues from '../utilities/hasNaNValues';
|
|
11
14
|
import { RENDERING_DEFAULTS } from '../constants';
|
|
12
|
-
import { getConfiguration } from '../init';
|
|
13
15
|
import { InterpolationType } from '../enums';
|
|
14
16
|
class Viewport {
|
|
15
17
|
static { this.CameraViewPresentation = {
|
|
@@ -94,7 +96,7 @@ class Viewport {
|
|
|
94
96
|
if (!renderingEngine || renderingEngine.hasBeenDestroyed) {
|
|
95
97
|
throw new Error('Rendering engine has been destroyed');
|
|
96
98
|
}
|
|
97
|
-
return renderingEngine.offscreenMultiRenderWindow
|
|
99
|
+
return renderingEngine.offscreenMultiRenderWindow?.getRenderer(this.id);
|
|
98
100
|
}
|
|
99
101
|
render() {
|
|
100
102
|
const renderingEngine = this.getRenderingEngine();
|
|
@@ -115,6 +117,9 @@ class Viewport {
|
|
|
115
117
|
this.render();
|
|
116
118
|
}
|
|
117
119
|
}
|
|
120
|
+
getSliceViewInfo() {
|
|
121
|
+
throw new Error('Method not implemented.');
|
|
122
|
+
}
|
|
118
123
|
flip({ flipHorizontal, flipVertical }) {
|
|
119
124
|
const imageData = this.getDefaultImageData();
|
|
120
125
|
if (!imageData) {
|
|
@@ -218,7 +223,9 @@ class Viewport {
|
|
|
218
223
|
console.warn('Viewport::addActors::Rendering engine has not been initialized or has been destroyed');
|
|
219
224
|
return;
|
|
220
225
|
}
|
|
221
|
-
actors.forEach((actor) =>
|
|
226
|
+
actors.forEach((actor) => {
|
|
227
|
+
this.addActor(actor);
|
|
228
|
+
});
|
|
222
229
|
this.resetCamera({
|
|
223
230
|
resetPan: resetCameraPanAndZoom,
|
|
224
231
|
resetZoom: resetCameraPanAndZoom,
|
|
@@ -476,11 +483,11 @@ class Viewport {
|
|
|
476
483
|
renderer.invokeEvent(RESET_CAMERA_EVENT);
|
|
477
484
|
this.triggerCameraModifiedEventIfNecessary(previousCamera, modifiedCamera);
|
|
478
485
|
if (imageData &&
|
|
479
|
-
this.options
|
|
486
|
+
this.options.displayArea &&
|
|
480
487
|
resetZoom &&
|
|
481
488
|
resetPan &&
|
|
482
489
|
resetToCenter) {
|
|
483
|
-
this.setDisplayArea(this.options
|
|
490
|
+
this.setDisplayArea(this.options.displayArea);
|
|
484
491
|
}
|
|
485
492
|
return true;
|
|
486
493
|
}
|
|
@@ -496,7 +503,7 @@ class Viewport {
|
|
|
496
503
|
const zero3 = this.canvasToWorld([0, 0]);
|
|
497
504
|
const initialCanvasFocal = this.worldToCanvas(vec3.subtract([0, 0, 0], initialCamera.focalPoint, zero3));
|
|
498
505
|
const currentCanvasFocal = this.worldToCanvas(vec3.subtract([0, 0, 0], focalPoint, zero3));
|
|
499
|
-
const result =
|
|
506
|
+
const result = vec2.subtract([0, 0], initialCanvasFocal, currentCanvasFocal);
|
|
500
507
|
return result;
|
|
501
508
|
}
|
|
502
509
|
getCurrentImageIdIndex() {
|
|
@@ -505,6 +512,9 @@ class Viewport {
|
|
|
505
512
|
getSliceIndex() {
|
|
506
513
|
throw new Error('Not implemented');
|
|
507
514
|
}
|
|
515
|
+
getImageData() {
|
|
516
|
+
throw new Error('Not implemented');
|
|
517
|
+
}
|
|
508
518
|
getViewReferenceId(_specifier) {
|
|
509
519
|
return null;
|
|
510
520
|
}
|
|
@@ -654,7 +664,7 @@ class Viewport {
|
|
|
654
664
|
}
|
|
655
665
|
if (cameraModifiedOutOfPlane || viewUpHasChanged) {
|
|
656
666
|
const actorEntry = this.getDefaultActor();
|
|
657
|
-
if (!actorEntry
|
|
667
|
+
if (!actorEntry.actor) {
|
|
658
668
|
return;
|
|
659
669
|
}
|
|
660
670
|
if (!actorIsA(actorEntry, 'vtkActor')) {
|
|
@@ -697,7 +707,7 @@ class Viewport {
|
|
|
697
707
|
}
|
|
698
708
|
const mapper = actorEntry.actor.getMapper();
|
|
699
709
|
let vtkPlanes = actorEntry?.clippingFilter
|
|
700
|
-
? actorEntry
|
|
710
|
+
? actorEntry?.clippingFilter.getClippingPlanes()
|
|
701
711
|
: mapper.getClippingPlanes();
|
|
702
712
|
if (vtkPlanes.length === 0 && actorEntry?.clippingFilter) {
|
|
703
713
|
vtkPlanes = [vtkPlane.newInstance(), vtkPlane.newInstance()];
|
|
@@ -744,7 +754,7 @@ class Viewport {
|
|
|
744
754
|
}
|
|
745
755
|
const mapper = actorEntry.actor.getMapper();
|
|
746
756
|
let vtkPlanes = actorEntry?.clippingFilter
|
|
747
|
-
? actorEntry
|
|
757
|
+
? actorEntry?.clippingFilter.getClippingPlanes()
|
|
748
758
|
: mapper.getClippingPlanes();
|
|
749
759
|
if (vtkPlanes.length === 0 && actorEntry?.clippingFilter) {
|
|
750
760
|
vtkPlanes = [vtkPlane.newInstance(), vtkPlane.newInstance()];
|
|
@@ -810,7 +820,7 @@ class Viewport {
|
|
|
810
820
|
if (viewPlaneNormal &&
|
|
811
821
|
!isEqual(viewPlaneNormal, camera.viewPlaneNormal) &&
|
|
812
822
|
!isEqual(vec3.negate(camera.viewPlaneNormal, camera.viewPlaneNormal), viewPlaneNormal)) {
|
|
813
|
-
return options?.withOrientation
|
|
823
|
+
return options?.withOrientation;
|
|
814
824
|
}
|
|
815
825
|
return true;
|
|
816
826
|
}
|
|
@@ -856,10 +866,6 @@ class Viewport {
|
|
|
856
866
|
this.setRotation(rotation);
|
|
857
867
|
}
|
|
858
868
|
}
|
|
859
|
-
_shouldUseNativeDataType() {
|
|
860
|
-
const { useNorm16Texture, preferSizeOverAccuracy } = getConfiguration().rendering;
|
|
861
|
-
return useNorm16Texture || preferSizeOverAccuracy;
|
|
862
|
-
}
|
|
863
869
|
_getCorners(bounds) {
|
|
864
870
|
return [
|
|
865
871
|
[bounds[0], bounds[2], bounds[4]],
|
|
@@ -928,5 +934,8 @@ class Viewport {
|
|
|
928
934
|
const radius = Math.sqrt(w1 + w2 + w3 || 1) * 0.5;
|
|
929
935
|
return radius;
|
|
930
936
|
}
|
|
937
|
+
setDataIds(_imageIds, _options) {
|
|
938
|
+
throw new Error('Unsupported operatoin setDataIds');
|
|
939
|
+
}
|
|
931
940
|
}
|
|
932
941
|
export default Viewport;
|
|
@@ -1,13 +1,15 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { mat4 } from 'gl-matrix';
|
|
2
|
+
import type { BlendModes } from '../enums';
|
|
3
|
+
import { OrientationAxis } from '../enums';
|
|
2
4
|
import type { IVolumeInput, OrientationVectors, Point3, ViewReference, ViewReferenceSpecifier } from '../types';
|
|
3
5
|
import type { ViewportInput } from '../types/IViewport';
|
|
4
6
|
import BaseVolumeViewport from './BaseVolumeViewport';
|
|
5
7
|
declare class VolumeViewport extends BaseVolumeViewport {
|
|
6
8
|
private _useAcquisitionPlaneForViewPlane;
|
|
7
9
|
constructor(props: ViewportInput);
|
|
8
|
-
setVolumes(volumeInputArray:
|
|
10
|
+
setVolumes(volumeInputArray: IVolumeInput[], immediate?: boolean, suppressEvents?: boolean): Promise<void>;
|
|
9
11
|
getNumberOfSlices: () => number;
|
|
10
|
-
addVolumes(volumeInputArray:
|
|
12
|
+
addVolumes(volumeInputArray: IVolumeInput[], immediate?: boolean, suppressEvents?: boolean): Promise<void>;
|
|
11
13
|
setOrientation(orientation: OrientationAxis | OrientationVectors, immediate?: boolean): void;
|
|
12
14
|
private _getAcquisitionPlaneOrientation;
|
|
13
15
|
private _setViewPlaneToAcquisitionPlane;
|
|
@@ -17,20 +19,30 @@ declare class VolumeViewport extends BaseVolumeViewport {
|
|
|
17
19
|
resetSlabThickness(): void;
|
|
18
20
|
getCurrentImageIdIndex: (volumeId?: string) => number;
|
|
19
21
|
getSliceIndex: () => number;
|
|
22
|
+
getSliceViewInfo(): {
|
|
23
|
+
sliceIndex: number;
|
|
24
|
+
slicePlane: number;
|
|
25
|
+
width: number;
|
|
26
|
+
height: number;
|
|
27
|
+
sliceToIndexMatrix: mat4;
|
|
28
|
+
indexToSliceMatrix: mat4;
|
|
29
|
+
};
|
|
30
|
+
getCurrentSlicePixelData(): import("../types").PixelDataTypedArray;
|
|
20
31
|
getCurrentImageId: () => string | undefined;
|
|
21
32
|
getViewReference(viewRefSpecifier?: ViewReferenceSpecifier): ViewReference;
|
|
22
33
|
resetProperties(volumeId?: string): void;
|
|
23
34
|
private _resetProperties;
|
|
24
|
-
|
|
35
|
+
private setCameraClippingRange;
|
|
36
|
+
getSlicesClippingPlanes(): {
|
|
25
37
|
sliceIndex: number;
|
|
26
|
-
planes:
|
|
38
|
+
planes: {
|
|
27
39
|
normal: Point3;
|
|
28
40
|
origin: Point3;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
getSlicePlaneCoordinates: () =>
|
|
41
|
+
}[];
|
|
42
|
+
}[];
|
|
43
|
+
getSlicePlaneCoordinates: () => {
|
|
32
44
|
sliceIndex: number;
|
|
33
45
|
point: Point3;
|
|
34
|
-
}
|
|
46
|
+
}[];
|
|
35
47
|
}
|
|
36
48
|
export default VolumeViewport;
|