@cornerstonejs/core 2.0.0-beta.20 → 2.0.0-beta.21
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 +36 -44
- 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 +7 -8
- package/dist/esm/RenderingEngine/RenderingEngine.js +18 -17
- package/dist/esm/RenderingEngine/StackViewport.d.ts +29 -18
- package/dist/esm/RenderingEngine/StackViewport.js +66 -50
- package/dist/esm/RenderingEngine/VideoViewport.d.ts +19 -28
- package/dist/esm/RenderingEngine/VideoViewport.js +59 -22
- package/dist/esm/RenderingEngine/Viewport.d.ts +25 -14
- package/dist/esm/RenderingEngine/Viewport.js +20 -14
- package/dist/esm/RenderingEngine/VolumeViewport.d.ts +21 -9
- package/dist/esm/RenderingEngine/VolumeViewport.js +88 -8
- 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 +2 -2
- 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 +3 -6
- 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 +10 -35
- 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/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 +110 -56
- 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 +48 -254
- package/dist/esm/cache/classes/Surface.d.ts +3 -3
- 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 +4 -3
- package/dist/esm/index.js +3 -2
- package/dist/esm/init.d.ts +5 -8
- package/dist/esm/init.js +21 -82
- package/dist/esm/loaders/ProgressiveRetrieveImages.d.ts +5 -5
- package/dist/esm/loaders/ProgressiveRetrieveImages.js +3 -1
- 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/imageLoader.d.ts +12 -17
- package/dist/esm/loaders/imageLoader.js +174 -95
- 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 +14 -22
- package/dist/esm/loaders/volumeLoader.js +62 -210
- package/dist/esm/metaData.d.ts +2 -4
- package/dist/esm/requestPool/requestPoolManager.d.ts +7 -9
- 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 +14 -11
- 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 +12 -10
- 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 +4 -4
- 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 +1 -1
- 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/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/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/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/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/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/isTypedArray.d.ts +1 -1
- package/dist/esm/utilities/loadImageToCanvas.d.ts +6 -6
- package/dist/esm/utilities/makeVolumeMetadata.d.ts +2 -2
- 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/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/umd/index.js +1 -1
- package/dist/umd/index.js.map +1 -1
- package/package.json +5 -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
|
@@ -1,22 +1,31 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { mat4 } from 'gl-matrix';
|
|
2
|
+
import type { BlendModes, InterpolationType, OrientationAxis } from '../enums';
|
|
2
3
|
import type { FlipDirection, IImageData, IVolumeInput, OrientationVectors, Point2, Point3, VolumeViewportProperties, ViewReferenceSpecifier, ReferenceCompatibleOptions, ViewReference, IVolumeViewport } from '../types';
|
|
3
|
-
import { VoiModifiedEventDetail } from '../types/EventTypes';
|
|
4
|
+
import type { VoiModifiedEventDetail } from '../types/EventTypes';
|
|
4
5
|
import type { ViewportInput } from '../types/IViewport';
|
|
5
6
|
import Viewport from './Viewport';
|
|
7
|
+
import type { TransferFunctionNodes } from '../types/ITransferFunctionNode';
|
|
6
8
|
declare abstract class BaseVolumeViewport extends Viewport implements IVolumeViewport {
|
|
7
9
|
useCPURendering: boolean;
|
|
8
|
-
useNativeDataType: boolean;
|
|
9
10
|
private _FrameOfReferenceUID;
|
|
10
|
-
protected initialTransferFunctionNodes:
|
|
11
|
+
protected initialTransferFunctionNodes: TransferFunctionNodes;
|
|
11
12
|
private globalDefaultProperties;
|
|
12
13
|
private perVolumeIdDefaultProperties;
|
|
13
14
|
protected initialViewUp: Point3;
|
|
14
15
|
protected viewportProperties: VolumeViewportProperties;
|
|
16
|
+
private volumeIds;
|
|
15
17
|
constructor(props: ViewportInput);
|
|
16
18
|
static get useCustomRenderingPipeline(): boolean;
|
|
19
|
+
getSliceViewInfo(): {
|
|
20
|
+
width: number;
|
|
21
|
+
height: number;
|
|
22
|
+
sliceIndex: number;
|
|
23
|
+
slicePlane: number;
|
|
24
|
+
sliceToIndexMatrix: mat4;
|
|
25
|
+
indexToSliceMatrix: mat4;
|
|
26
|
+
};
|
|
17
27
|
protected applyViewOrientation(orientation: OrientationAxis | OrientationVectors, resetCamera?: boolean): void;
|
|
18
28
|
private initializeVolumeNewImageEventDispatcher;
|
|
19
|
-
protected resetVolumeViewportClippingRange(): void;
|
|
20
29
|
private setVOILUTFunction;
|
|
21
30
|
private setColormap;
|
|
22
31
|
private setOpacity;
|
|
@@ -39,9 +48,9 @@ declare abstract class BaseVolumeViewport extends Viewport implements IVolumeVie
|
|
|
39
48
|
getDefaultProperties: (volumeId?: string) => VolumeViewportProperties;
|
|
40
49
|
getProperties: (volumeId?: string) => VolumeViewportProperties;
|
|
41
50
|
private getColormap;
|
|
42
|
-
setVolumes(volumeInputArray:
|
|
43
|
-
addVolumes(volumeInputArray:
|
|
44
|
-
removeVolumeActors(actorUIDs:
|
|
51
|
+
setVolumes(volumeInputArray: IVolumeInput[], immediate?: boolean, suppressEvents?: boolean): Promise<void>;
|
|
52
|
+
addVolumes(volumeInputArray: IVolumeInput[], immediate?: boolean, suppressEvents?: boolean): Promise<void>;
|
|
53
|
+
removeVolumeActors(actorUIDs: string[], immediate?: boolean): void;
|
|
45
54
|
setOrientation(_orientation: OrientationAxis | OrientationVectors, _immediate?: boolean): void;
|
|
46
55
|
private initializeColorTransferFunction;
|
|
47
56
|
private _getApplicableVolumeActor;
|
|
@@ -59,12 +68,13 @@ declare abstract class BaseVolumeViewport extends Viewport implements IVolumeVie
|
|
|
59
68
|
protected _getOrientationVectors(orientation: OrientationAxis | OrientationVectors): OrientationVectors;
|
|
60
69
|
getSlabThickness(): number;
|
|
61
70
|
getIntensityFromWorld(point: Point3): number;
|
|
62
|
-
getImageIds: (volumeId?: string) =>
|
|
63
|
-
abstract getCurrentImageId(): string;
|
|
64
|
-
|
|
71
|
+
getImageIds: (volumeId?: string) => string[];
|
|
72
|
+
abstract getCurrentImageId(): string | undefined;
|
|
73
|
+
getVolumeId(specifier?: ViewReferenceSpecifier): string;
|
|
65
74
|
getViewReferenceId(specifier?: ViewReferenceSpecifier): string;
|
|
66
|
-
|
|
67
|
-
abstract
|
|
75
|
+
private _addVolumeId;
|
|
76
|
+
abstract setBlendMode(blendMode: BlendModes, filterActorUIDs?: string[], immediate?: boolean): void;
|
|
77
|
+
abstract setSlabThickness(slabThickness: number, filterActorUIDs?: string[]): void;
|
|
68
78
|
abstract resetSlabThickness(): void;
|
|
69
79
|
abstract resetProperties(volumeId?: string): void;
|
|
70
80
|
}
|
|
@@ -4,11 +4,10 @@ import vtkPiecewiseFunction from '@kitware/vtk.js/Common/DataModel/PiecewiseFunc
|
|
|
4
4
|
import { vec2, vec3 } from 'gl-matrix';
|
|
5
5
|
import cache from '../cache';
|
|
6
6
|
import { MPR_CAMERA_VALUES, RENDERING_DEFAULTS, VIEWPORT_PRESETS, } from '../constants';
|
|
7
|
-
import { Events, ViewportStatus, VOILUTFunctionType
|
|
7
|
+
import { Events, ViewportStatus, VOILUTFunctionType } from '../enums';
|
|
8
8
|
import ViewportType from '../enums/ViewportType';
|
|
9
9
|
import eventTarget from '../eventTarget';
|
|
10
10
|
import { getShouldUseCPURendering } from '../init';
|
|
11
|
-
import { loadVolume } from '../loaders/volumeLoader';
|
|
12
11
|
import { actorIsA, applyPreset, createSigmoidRGBTransferFunction, getVoiFromSigmoidRGBTransferFunction, imageIdToURI, invertRgbTransferFunction, triggerEvent, colormap as colormapUtils, isEqualNegative, getVolumeViewportScrollInfo, snapFocalPointToSlice, isEqual, } from '../utilities';
|
|
13
12
|
import { createVolumeActor } from './helpers';
|
|
14
13
|
import volumeNewImageEventDispatcher, { resetVolumeNewImageState, } from './helpers/volumeNewImageEventDispatcher';
|
|
@@ -21,9 +20,9 @@ class BaseVolumeViewport extends Viewport {
|
|
|
21
20
|
constructor(props) {
|
|
22
21
|
super(props);
|
|
23
22
|
this.useCPURendering = false;
|
|
24
|
-
this.useNativeDataType = false;
|
|
25
23
|
this.perVolumeIdDefaultProperties = new Map();
|
|
26
24
|
this.viewportProperties = {};
|
|
25
|
+
this.volumeIds = new Set();
|
|
27
26
|
this.setRotation = (rotation) => {
|
|
28
27
|
const panFit = this.getPan(this.fitToCanvasCamera);
|
|
29
28
|
const pan = this.getPan();
|
|
@@ -177,14 +176,14 @@ class BaseVolumeViewport extends Viewport {
|
|
|
177
176
|
canvasCoord[0] / devicePixelRatio,
|
|
178
177
|
canvasCoord[1] / devicePixelRatio,
|
|
179
178
|
];
|
|
180
|
-
vtkCamera.setIsPerformingCoordinateTransformation
|
|
179
|
+
vtkCamera.setIsPerformingCoordinateTransformation(false);
|
|
181
180
|
return canvasCoordWithDPR;
|
|
182
181
|
};
|
|
183
182
|
this.hasImageURI = (imageURI) => {
|
|
184
183
|
const volumeActors = this.getActors().filter((actorEntry) => actorIsA(actorEntry, 'vtkVolume'));
|
|
185
184
|
return volumeActors.some(({ uid }) => {
|
|
186
185
|
const volume = cache.getVolume(uid);
|
|
187
|
-
if (!volume
|
|
186
|
+
if (!volume?.imageIds) {
|
|
188
187
|
return false;
|
|
189
188
|
}
|
|
190
189
|
const volumeImageURIs = volume.imageIds.map(imageIdToURI);
|
|
@@ -204,7 +203,6 @@ class BaseVolumeViewport extends Viewport {
|
|
|
204
203
|
return imageVolume.imageIds;
|
|
205
204
|
};
|
|
206
205
|
this.useCPURendering = getShouldUseCPURendering();
|
|
207
|
-
this.useNativeDataType = this._shouldUseNativeDataType();
|
|
208
206
|
if (this.useCPURendering) {
|
|
209
207
|
throw new Error('VolumeViewports cannot be used whilst CPU Fallback Rendering is enabled.');
|
|
210
208
|
}
|
|
@@ -229,6 +227,9 @@ class BaseVolumeViewport extends Viewport {
|
|
|
229
227
|
static get useCustomRenderingPipeline() {
|
|
230
228
|
return false;
|
|
231
229
|
}
|
|
230
|
+
getSliceViewInfo() {
|
|
231
|
+
throw new Error('Method not implemented.');
|
|
232
|
+
}
|
|
232
233
|
applyViewOrientation(orientation, resetCamera = true) {
|
|
233
234
|
const { viewPlaneNormal, viewUp } = this._getOrientationVectors(orientation);
|
|
234
235
|
const camera = this.getVtkActiveCamera();
|
|
@@ -266,17 +267,8 @@ class BaseVolumeViewport extends Viewport {
|
|
|
266
267
|
this.element.addEventListener(Events.CAMERA_MODIFIED, volumeNewImageHandlerBound);
|
|
267
268
|
eventTarget.addEventListener(Events.ELEMENT_DISABLED, volumeNewImageCleanUpBound);
|
|
268
269
|
}
|
|
269
|
-
resetVolumeViewportClippingRange() {
|
|
270
|
-
const activeCamera = this.getVtkActiveCamera();
|
|
271
|
-
if (activeCamera.getParallelProjection()) {
|
|
272
|
-
activeCamera.setClippingRange(-RENDERING_DEFAULTS.MAXIMUM_RAY_DISTANCE, RENDERING_DEFAULTS.MAXIMUM_RAY_DISTANCE);
|
|
273
|
-
}
|
|
274
|
-
else {
|
|
275
|
-
activeCamera.setClippingRange(RENDERING_DEFAULTS.MINIMUM_SLAB_THICKNESS, RENDERING_DEFAULTS.MAXIMUM_RAY_DISTANCE);
|
|
276
|
-
}
|
|
277
|
-
}
|
|
278
270
|
setVOILUTFunction(voiLUTFunction, volumeId, suppressEvents) {
|
|
279
|
-
if (Object.values(VOILUTFunctionType).
|
|
271
|
+
if (!Object.values(VOILUTFunctionType).includes(voiLUTFunction)) {
|
|
280
272
|
voiLUTFunction = VOILUTFunctionType.LINEAR;
|
|
281
273
|
}
|
|
282
274
|
const { voiRange } = this.getProperties();
|
|
@@ -474,7 +466,7 @@ class BaseVolumeViewport extends Viewport {
|
|
|
474
466
|
return target;
|
|
475
467
|
}
|
|
476
468
|
const { viewPlaneNormal } = target;
|
|
477
|
-
const delta = viewRefSpecifier
|
|
469
|
+
const delta = viewRefSpecifier?.sliceIndex - this.getSliceIndex();
|
|
478
470
|
const { sliceRangeInfo } = getVolumeViewportScrollInfo(this, volumeId, true);
|
|
479
471
|
const { sliceRange, spacingInNormalDirection, camera } = sliceRangeInfo;
|
|
480
472
|
const { focalPoint, position } = camera;
|
|
@@ -538,7 +530,8 @@ class BaseVolumeViewport extends Viewport {
|
|
|
538
530
|
else if (refFrameOfReference === this.getFrameOfReferenceUID()) {
|
|
539
531
|
if (refViewPlaneNormal && !isNegativeNormal && !isSameNormal) {
|
|
540
532
|
this.setOrientation({ viewPlaneNormal: refViewPlaneNormal, viewUp });
|
|
541
|
-
|
|
533
|
+
this.setViewReference(viewRef);
|
|
534
|
+
return;
|
|
542
535
|
}
|
|
543
536
|
if (cameraFocalPoint) {
|
|
544
537
|
const focalDelta = vec3.subtract([0, 0, 0], cameraFocalPoint, focalPoint);
|
|
@@ -646,15 +639,18 @@ class BaseVolumeViewport extends Viewport {
|
|
|
646
639
|
async setVolumes(volumeInputArray, immediate = false, suppressEvents = false) {
|
|
647
640
|
const firstImageVolume = cache.getVolume(volumeInputArray[0].volumeId);
|
|
648
641
|
if (!firstImageVolume) {
|
|
649
|
-
throw new Error(`imageVolume with id: ${firstImageVolume.volumeId} does not exist`);
|
|
642
|
+
throw new Error(`imageVolume with id: ${firstImageVolume.volumeId} does not exist, you need to create/allocate the volume first`);
|
|
650
643
|
}
|
|
651
644
|
const FrameOfReferenceUID = firstImageVolume.metadata.FrameOfReferenceUID;
|
|
652
|
-
|
|
645
|
+
this._isValidVolumeInputArray(volumeInputArray, FrameOfReferenceUID);
|
|
653
646
|
this._FrameOfReferenceUID = FrameOfReferenceUID;
|
|
647
|
+
volumeInputArray.forEach((volumeInput) => {
|
|
648
|
+
this._addVolumeId(volumeInput.volumeId);
|
|
649
|
+
});
|
|
654
650
|
const volumeActors = [];
|
|
655
651
|
for (let i = 0; i < volumeInputArray.length; i++) {
|
|
656
652
|
const { volumeId, actorUID, slabThickness } = volumeInputArray[i];
|
|
657
|
-
const actor = await createVolumeActor(volumeInputArray[i], this.element, this.id, suppressEvents
|
|
653
|
+
const actor = await createVolumeActor(volumeInputArray[i], this.element, this.id, suppressEvents);
|
|
658
654
|
const uid = actorUID || volumeId;
|
|
659
655
|
volumeActors.push({
|
|
660
656
|
uid,
|
|
@@ -680,11 +676,14 @@ class BaseVolumeViewport extends Viewport {
|
|
|
680
676
|
throw new Error(`imageVolume with id: ${firstImageVolume.volumeId} does not exist`);
|
|
681
677
|
}
|
|
682
678
|
const volumeActors = [];
|
|
683
|
-
|
|
679
|
+
this._isValidVolumeInputArray(volumeInputArray, this._FrameOfReferenceUID);
|
|
680
|
+
volumeInputArray.forEach((volumeInput) => {
|
|
681
|
+
this._addVolumeId(volumeInput.volumeId);
|
|
682
|
+
});
|
|
684
683
|
for (let i = 0; i < volumeInputArray.length; i++) {
|
|
685
684
|
const { volumeId, visibility, actorUID, slabThickness } = volumeInputArray[i];
|
|
686
|
-
const actor = await createVolumeActor(volumeInputArray[i], this.element, this.id, suppressEvents
|
|
687
|
-
if (visibility
|
|
685
|
+
const actor = await createVolumeActor(volumeInputArray[i], this.element, this.id, suppressEvents);
|
|
686
|
+
if (!visibility) {
|
|
688
687
|
actor.setVisibility(false);
|
|
689
688
|
}
|
|
690
689
|
const uid = actorUID || volumeId;
|
|
@@ -727,7 +726,7 @@ class BaseVolumeViewport extends Viewport {
|
|
|
727
726
|
}
|
|
728
727
|
let volumeActor;
|
|
729
728
|
if (volumeId) {
|
|
730
|
-
volumeActor = this.getActor(volumeId)
|
|
729
|
+
volumeActor = this.getActor(volumeId).actor;
|
|
731
730
|
}
|
|
732
731
|
if (!volumeActor) {
|
|
733
732
|
volumeActor = actorEntries[0].actor;
|
|
@@ -738,11 +737,7 @@ class BaseVolumeViewport extends Viewport {
|
|
|
738
737
|
async _isValidVolumeInputArray(volumeInputArray, FrameOfReferenceUID) {
|
|
739
738
|
const numVolumes = volumeInputArray.length;
|
|
740
739
|
for (let i = 1; i < numVolumes; i++) {
|
|
741
|
-
const
|
|
742
|
-
const imageVolume = await loadVolume(volumeInput.volumeId);
|
|
743
|
-
if (!imageVolume) {
|
|
744
|
-
throw new Error(`imageVolume with id: ${imageVolume.volumeId} does not exist`);
|
|
745
|
-
}
|
|
740
|
+
const imageVolume = cache.getVolume(volumeInputArray[i].volumeId);
|
|
746
741
|
if (FrameOfReferenceUID !== imageVolume.metadata.FrameOfReferenceUID) {
|
|
747
742
|
throw new Error(`Volumes being added to viewport ${this.id} do not share the same FrameOfReferenceUID. This is not yet supported`);
|
|
748
743
|
}
|
|
@@ -758,10 +753,7 @@ class BaseVolumeViewport extends Viewport {
|
|
|
758
753
|
super.flip(flipDirection);
|
|
759
754
|
}
|
|
760
755
|
hasVolumeId(volumeId) {
|
|
761
|
-
|
|
762
|
-
return actorEntries.some((actorEntry) => {
|
|
763
|
-
return actorEntry.uid === volumeId;
|
|
764
|
-
});
|
|
756
|
+
return this.volumeIds.has(volumeId);
|
|
765
757
|
}
|
|
766
758
|
getImageData(volumeId) {
|
|
767
759
|
const defaultActor = this.getDefaultActor();
|
|
@@ -782,16 +774,17 @@ class BaseVolumeViewport extends Viewport {
|
|
|
782
774
|
spacing: vtkImageData.getSpacing(),
|
|
783
775
|
origin: vtkImageData.getOrigin(),
|
|
784
776
|
direction: vtkImageData.getDirection(),
|
|
785
|
-
scalarData: vtkImageData.getPointData().getScalars().isDeleted()
|
|
786
|
-
? null
|
|
787
|
-
: vtkImageData.getPointData().getScalars().getData(),
|
|
788
777
|
imageData: actor.getMapper().getInputData(),
|
|
789
778
|
metadata: {
|
|
790
779
|
Modality: volume?.metadata?.Modality,
|
|
791
780
|
FrameOfReferenceUID: volume?.metadata?.FrameOfReferenceUID,
|
|
792
781
|
},
|
|
782
|
+
get scalarData() {
|
|
783
|
+
return volume?.voxelManager?.getScalarData();
|
|
784
|
+
},
|
|
793
785
|
scaling: volume?.scaling,
|
|
794
786
|
hasPixelSpacing: true,
|
|
787
|
+
voxelManager: volume?.voxelManager,
|
|
795
788
|
};
|
|
796
789
|
}
|
|
797
790
|
_setVolumeActors(volumeActorEntries) {
|
|
@@ -836,12 +829,8 @@ class BaseVolumeViewport extends Viewport {
|
|
|
836
829
|
const { actor, uid } = actorEntry;
|
|
837
830
|
const imageData = actor.getMapper().getInputData();
|
|
838
831
|
const volume = cache.getVolume(uid);
|
|
839
|
-
const { dimensions } = volume;
|
|
840
832
|
const index = transformWorldToIndex(imageData, point);
|
|
841
|
-
|
|
842
|
-
index[1] * dimensions[0] +
|
|
843
|
-
index[0];
|
|
844
|
-
return volume.getScalarData()[voxelIndex];
|
|
833
|
+
return volume.voxelManager.getAtIJKPoint(index);
|
|
845
834
|
}
|
|
846
835
|
getVolumeId(specifier) {
|
|
847
836
|
const actorEntries = this.getActors();
|
|
@@ -852,7 +841,7 @@ class BaseVolumeViewport extends Viewport {
|
|
|
852
841
|
return actorEntries.find((actorEntry) => actorEntry.actor.getClassName() === 'vtkVolume')?.uid;
|
|
853
842
|
}
|
|
854
843
|
return actorEntries.find((actorEntry) => actorEntry.actor.getClassName() === 'vtkVolume' &&
|
|
855
|
-
actorEntry.uid === specifier
|
|
844
|
+
actorEntry.uid === specifier?.volumeId)?.uid;
|
|
856
845
|
}
|
|
857
846
|
getViewReferenceId(specifier = {}) {
|
|
858
847
|
let { volumeId, sliceIndex: sliceIndex } = specifier;
|
|
@@ -866,8 +855,11 @@ class BaseVolumeViewport extends Viewport {
|
|
|
866
855
|
const currentIndex = this.getSliceIndex();
|
|
867
856
|
sliceIndex ??= currentIndex;
|
|
868
857
|
const { viewPlaneNormal, focalPoint } = this.getCamera();
|
|
869
|
-
const querySeparator = volumeId.
|
|
858
|
+
const querySeparator = volumeId.includes('?') ? '&' : '?';
|
|
870
859
|
return `volumeId:${volumeId}${querySeparator}sliceIndex=${sliceIndex}&viewPlaneNormal=${viewPlaneNormal.join(',')}&focalPoint=${focalPoint.join(',')}`;
|
|
871
860
|
}
|
|
861
|
+
_addVolumeId(volumeId) {
|
|
862
|
+
this.volumeIds.add(volumeId);
|
|
863
|
+
}
|
|
872
864
|
}
|
|
873
865
|
export default BaseVolumeViewport;
|
|
@@ -75,7 +75,8 @@ export default class CanvasActor {
|
|
|
75
75
|
const { voxelManager } = image;
|
|
76
76
|
if (voxelManager) {
|
|
77
77
|
if (voxelManager.map.getRun) {
|
|
78
|
-
|
|
78
|
+
this.renderRLE(viewport, context, voxelManager);
|
|
79
|
+
return;
|
|
79
80
|
}
|
|
80
81
|
}
|
|
81
82
|
let { canvas } = this;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import type IStackViewport from '../types/IStackViewport';
|
|
2
|
-
import type IVideoViewport from '../types/IVideoViewport';
|
|
3
2
|
import type IRenderingEngine from '../types/IRenderingEngine';
|
|
4
3
|
import type IVolumeViewport from '../types/IVolumeViewport';
|
|
5
4
|
import type { IViewport } from '../types/IViewport';
|
|
@@ -8,7 +7,7 @@ declare class RenderingEngine implements IRenderingEngine {
|
|
|
8
7
|
readonly id: string;
|
|
9
8
|
hasBeenDestroyed: boolean;
|
|
10
9
|
offscreenMultiRenderWindow: any;
|
|
11
|
-
readonly offScreenCanvasContainer:
|
|
10
|
+
readonly offScreenCanvasContainer: HTMLDivElement;
|
|
12
11
|
private _viewports;
|
|
13
12
|
private _needsRender;
|
|
14
13
|
private _animationFrameSet;
|
|
@@ -17,16 +16,16 @@ declare class RenderingEngine implements IRenderingEngine {
|
|
|
17
16
|
constructor(id?: string);
|
|
18
17
|
enableElement(viewportInputEntry: PublicViewportInput): void;
|
|
19
18
|
disableElement(viewportId: string): void;
|
|
20
|
-
setViewports(publicViewportInputEntries:
|
|
19
|
+
setViewports(publicViewportInputEntries: PublicViewportInput[]): void;
|
|
21
20
|
resize(immediate?: boolean, keepCamera?: boolean): void;
|
|
22
21
|
getViewport(viewportId: string): IViewport;
|
|
23
|
-
getViewports():
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
getVolumeViewports():
|
|
22
|
+
getViewports(): IViewport[];
|
|
23
|
+
getStackViewport(viewportId: string): IStackViewport;
|
|
24
|
+
getStackViewports(): IStackViewport[];
|
|
25
|
+
getVolumeViewports(): IVolumeViewport[];
|
|
27
26
|
render(): void;
|
|
28
27
|
renderFrameOfReference: (FrameOfReferenceUID: string) => void;
|
|
29
|
-
renderViewports(viewportIds:
|
|
28
|
+
renderViewports(viewportIds: string[]): void;
|
|
30
29
|
renderViewport(viewportId: string): void;
|
|
31
30
|
destroy(): void;
|
|
32
31
|
fillCanvasWithBackgroundColor(canvas: HTMLCanvasElement, backgroundColor: [number, number, number]): void;
|
|
@@ -10,7 +10,6 @@ import StackViewport from './StackViewport';
|
|
|
10
10
|
import viewportTypeUsesCustomRenderingPipeline from './helpers/viewportTypeUsesCustomRenderingPipeline';
|
|
11
11
|
import getOrCreateCanvas from './helpers/getOrCreateCanvas';
|
|
12
12
|
import { getShouldUseCPURendering, isCornerstoneInitialized } from '../init';
|
|
13
|
-
import VideoViewport from './VideoViewport';
|
|
14
13
|
import viewportTypeToViewportClass from './helpers/viewportTypeToViewportClass';
|
|
15
14
|
import { OrientationAxis } from '../enums';
|
|
16
15
|
import VolumeViewport3D from './VolumeViewport3D';
|
|
@@ -27,7 +26,7 @@ class RenderingEngine {
|
|
|
27
26
|
return vp.id;
|
|
28
27
|
}
|
|
29
28
|
});
|
|
30
|
-
|
|
29
|
+
this.renderViewports(viewportIdsWithSameFrameOfReferenceUID);
|
|
31
30
|
};
|
|
32
31
|
this._renderFlaggedViewports = () => {
|
|
33
32
|
this._throwIfDestroyed();
|
|
@@ -165,21 +164,21 @@ class RenderingEngine {
|
|
|
165
164
|
this._throwIfDestroyed();
|
|
166
165
|
return this._getViewportsAsArray();
|
|
167
166
|
}
|
|
168
|
-
|
|
167
|
+
getStackViewport(viewportId) {
|
|
169
168
|
this._throwIfDestroyed();
|
|
170
|
-
const
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
}
|
|
174
|
-
|
|
169
|
+
const viewport = this.getViewport(viewportId);
|
|
170
|
+
if (!viewport) {
|
|
171
|
+
throw new Error(`Viewport with Id ${viewportId} does not exist`);
|
|
172
|
+
}
|
|
173
|
+
if (!(viewport instanceof StackViewport)) {
|
|
174
|
+
throw new Error(`Viewport with Id ${viewportId} is not a StackViewport.`);
|
|
175
|
+
}
|
|
176
|
+
return viewport;
|
|
175
177
|
}
|
|
176
|
-
|
|
178
|
+
getStackViewports() {
|
|
177
179
|
this._throwIfDestroyed();
|
|
178
180
|
const viewports = this.getViewports();
|
|
179
|
-
|
|
180
|
-
return viewport instanceof VideoViewport;
|
|
181
|
-
};
|
|
182
|
-
return viewports.filter(isVideoViewport);
|
|
181
|
+
return viewports.filter((vp) => vp instanceof StackViewport);
|
|
183
182
|
}
|
|
184
183
|
getVolumeViewports() {
|
|
185
184
|
this._throwIfDestroyed();
|
|
@@ -270,7 +269,7 @@ class RenderingEngine {
|
|
|
270
269
|
vp.setCamera(prevCamera);
|
|
271
270
|
}
|
|
272
271
|
});
|
|
273
|
-
if (immediate
|
|
272
|
+
if (immediate) {
|
|
274
273
|
this.render();
|
|
275
274
|
}
|
|
276
275
|
}
|
|
@@ -314,7 +313,7 @@ class RenderingEngine {
|
|
|
314
313
|
}
|
|
315
314
|
}
|
|
316
315
|
});
|
|
317
|
-
if (immediate
|
|
316
|
+
if (immediate) {
|
|
318
317
|
this.render();
|
|
319
318
|
}
|
|
320
319
|
}
|
|
@@ -426,7 +425,9 @@ class RenderingEngine {
|
|
|
426
425
|
triggerEvent(eventTarget, Events.ELEMENT_ENABLED, eventDetail);
|
|
427
426
|
}
|
|
428
427
|
setCustomViewports(viewportInputEntries) {
|
|
429
|
-
viewportInputEntries.forEach((vpie) =>
|
|
428
|
+
viewportInputEntries.forEach((vpie) => {
|
|
429
|
+
this.addCustomViewport(vpie);
|
|
430
|
+
});
|
|
430
431
|
}
|
|
431
432
|
setVtkjsDrivenViewports(viewportInputEntries) {
|
|
432
433
|
if (viewportInputEntries.length) {
|
|
@@ -517,7 +518,7 @@ class RenderingEngine {
|
|
|
517
518
|
this._render();
|
|
518
519
|
}
|
|
519
520
|
_render() {
|
|
520
|
-
if (this._needsRender.size > 0 && this._animationFrameSet
|
|
521
|
+
if (this._needsRender.size > 0 && !this._animationFrameSet) {
|
|
521
522
|
this._animationFrameHandle = window.requestAnimationFrame(this._renderFlaggedViewports);
|
|
522
523
|
this._animationFrameSet = true;
|
|
523
524
|
}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import type { vtkImageData as vtkImageDataType } from '@kitware/vtk.js/Common/DataModel/ImageData';
|
|
2
|
+
import { mat4 } from 'gl-matrix';
|
|
2
3
|
import type { ActorEntry, CPUIImageData, ICamera, IImage, IImageData, IImagesLoader, IStackInput, IStackViewport, ImageLoadListener, Mat3, Point2, Point3, Scaling, StackViewportProperties, ViewReference } from '../types';
|
|
3
|
-
import { ViewReferenceSpecifier, ReferenceCompatibleOptions, ViewportInput } from '../types/IViewport';
|
|
4
|
+
import type { ViewReferenceSpecifier, ReferenceCompatibleOptions, ViewportInput } from '../types/IViewport';
|
|
4
5
|
import Viewport from './Viewport';
|
|
5
6
|
import { InterpolationType, RequestType, ViewportStatus } from '../enums';
|
|
6
|
-
import { ImagePixelModule, ImagePlaneModule } from '../types';
|
|
7
|
-
|
|
7
|
+
import type { ImagePixelModule, ImagePlaneModule } from '../types';
|
|
8
|
+
import type vtkRenderer from '@kitware/vtk.js/Rendering/Core/Renderer';
|
|
9
|
+
export interface ImageDataMetaData {
|
|
8
10
|
bitsAllocated: number;
|
|
9
|
-
|
|
11
|
+
numberOfComponents: number;
|
|
10
12
|
origin: Point3;
|
|
11
13
|
direction: Mat3;
|
|
12
14
|
dimensions: Point3;
|
|
@@ -38,7 +40,6 @@ declare class StackViewport extends Viewport implements IStackViewport, IImagesL
|
|
|
38
40
|
private _calibrationEvent;
|
|
39
41
|
private _cpuFallbackEnabledElement?;
|
|
40
42
|
private useCPURendering;
|
|
41
|
-
private useNativeDataType;
|
|
42
43
|
private cpuImagePixelData;
|
|
43
44
|
private cpuRenderingInvalidated;
|
|
44
45
|
private csImage;
|
|
@@ -61,12 +62,12 @@ declare class StackViewport extends Viewport implements IStackViewport, IImagesL
|
|
|
61
62
|
resetCamera: (options?: any) => boolean;
|
|
62
63
|
canvasToWorld: (canvasPos: Point2) => Point3;
|
|
63
64
|
worldToCanvas: (worldPos: Point3) => Point2;
|
|
64
|
-
getRenderer: () =>
|
|
65
|
+
getRenderer: () => vtkRenderer;
|
|
65
66
|
getDefaultActor: () => ActorEntry;
|
|
66
|
-
getActors: () =>
|
|
67
|
+
getActors: () => ActorEntry[];
|
|
67
68
|
getActor: (actorUID: string) => ActorEntry;
|
|
68
|
-
setActors: (actors:
|
|
69
|
-
addActors: (actors:
|
|
69
|
+
setActors: (actors: ActorEntry[]) => void;
|
|
70
|
+
addActors: (actors: ActorEntry[]) => void;
|
|
70
71
|
addActor: (actorEntry: ActorEntry) => void;
|
|
71
72
|
removeAllActors: () => void;
|
|
72
73
|
private setVOI;
|
|
@@ -118,16 +119,16 @@ declare class StackViewport extends Viewport implements IStackViewport, IImagesL
|
|
|
118
119
|
getImageDataMetadata(image: IImage): ImageDataMetaData;
|
|
119
120
|
getImagePlaneReferenceData(sliceIndex?: number): ViewReference;
|
|
120
121
|
private _getCameraOrientation;
|
|
121
|
-
createVTKImageData({ origin, direction, dimensions, spacing,
|
|
122
|
+
createVTKImageData({ origin, direction, dimensions, spacing, numberOfComponents, pixelArray, }: {
|
|
122
123
|
origin: any;
|
|
123
124
|
direction: any;
|
|
124
125
|
dimensions: any;
|
|
125
126
|
spacing: any;
|
|
126
|
-
|
|
127
|
+
numberOfComponents: any;
|
|
127
128
|
pixelArray: any;
|
|
128
129
|
}): vtkImageDataType;
|
|
129
130
|
private _createVTKImageData;
|
|
130
|
-
setStack(imageIds:
|
|
131
|
+
setStack(imageIds: string[], currentImageIdIndex?: number): Promise<string>;
|
|
131
132
|
private _throwIfDestroyed;
|
|
132
133
|
private _checkVTKImageDataMatchesCornerstoneImage;
|
|
133
134
|
private _updateVTKImageDataFromCornerstoneImage;
|
|
@@ -136,12 +137,8 @@ declare class StackViewport extends Viewport implements IStackViewport, IImagesL
|
|
|
136
137
|
successCallback(imageId: any, image: any): void;
|
|
137
138
|
errorCallback(imageId: any, permanent: any, error: any): void;
|
|
138
139
|
getLoaderImageOptions(imageId: string): {
|
|
139
|
-
targetBuffer: {
|
|
140
|
-
type: string;
|
|
141
|
-
};
|
|
142
140
|
useRGBA: boolean;
|
|
143
141
|
transferSyntaxUID: any;
|
|
144
|
-
useNativeDataType: boolean;
|
|
145
142
|
priority: number;
|
|
146
143
|
requestType: RequestType;
|
|
147
144
|
additionalDetails: {
|
|
@@ -154,7 +151,15 @@ declare class StackViewport extends Viewport implements IStackViewport, IImagesL
|
|
|
154
151
|
renderImageObject: (image: any) => void;
|
|
155
152
|
private _setCSImage;
|
|
156
153
|
private _updateToDisplayImageCPU;
|
|
157
|
-
|
|
154
|
+
getSliceViewInfo(): {
|
|
155
|
+
width: number;
|
|
156
|
+
height: number;
|
|
157
|
+
sliceIndex: number;
|
|
158
|
+
slicePlane: number;
|
|
159
|
+
sliceToIndexMatrix: mat4;
|
|
160
|
+
indexToSliceMatrix: mat4;
|
|
161
|
+
};
|
|
162
|
+
addImages(stackInputs: IStackInput[]): void;
|
|
158
163
|
private _updateActorToDisplayImageId;
|
|
159
164
|
private _getInitialVOIRange;
|
|
160
165
|
private _getPTPreScaledRange;
|
|
@@ -178,12 +183,18 @@ declare class StackViewport extends Viewport implements IStackViewport, IImagesL
|
|
|
178
183
|
private _getValidVOILUTFunction;
|
|
179
184
|
getCurrentImageIdIndex: () => number;
|
|
180
185
|
getSliceIndex: () => number;
|
|
186
|
+
getSliceInfo(): {
|
|
187
|
+
sliceIndex: number;
|
|
188
|
+
slicePlane: number;
|
|
189
|
+
width: number;
|
|
190
|
+
height: number;
|
|
191
|
+
};
|
|
181
192
|
isReferenceViewable(viewRef: ViewReference, options?: ReferenceCompatibleOptions): boolean | unknown;
|
|
182
193
|
getViewReference(viewRefSpecifier?: ViewReferenceSpecifier): ViewReference;
|
|
183
194
|
setViewReference(viewRef: ViewReference): void;
|
|
184
195
|
getViewReferenceId(specifier?: ViewReferenceSpecifier): string;
|
|
185
196
|
getTargetImageIdIndex: () => number;
|
|
186
|
-
getImageIds: () =>
|
|
197
|
+
getImageIds: () => string[];
|
|
187
198
|
getCurrentImageId: () => string;
|
|
188
199
|
hasImageId: (imageId: string) => boolean;
|
|
189
200
|
hasImageURI: (imageURI: string) => boolean;
|