@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,108 +1,117 @@
|
|
|
1
1
|
import macro from '@kitware/vtk.js/macros';
|
|
2
2
|
import vtkOpenGLTexture from '@kitware/vtk.js/Rendering/OpenGL/Texture';
|
|
3
|
-
import
|
|
4
|
-
import { getConfiguration } from '../../init';
|
|
3
|
+
import cache from '../../cache';
|
|
5
4
|
function vtkStreamingOpenGLTexture(publicAPI, model) {
|
|
6
5
|
model.classHierarchy.push('vtkStreamingOpenGLTexture');
|
|
6
|
+
model.updatedFrames = [];
|
|
7
|
+
model.volumeId = null;
|
|
7
8
|
const superCreate3DFilterableFromRaw = publicAPI.create3DFilterableFromRaw;
|
|
8
|
-
publicAPI.create3DFilterableFromRaw = (width, height, depth,
|
|
9
|
+
publicAPI.create3DFilterableFromRaw = (width, height, depth, numberOfComponents, dataType, data, preferSizeOverAccuracy) => {
|
|
9
10
|
model.inputDataType = dataType;
|
|
10
|
-
model.inputNumComps =
|
|
11
|
-
superCreate3DFilterableFromRaw(width, height, depth,
|
|
11
|
+
model.inputNumComps = numberOfComponents;
|
|
12
|
+
superCreate3DFilterableFromRaw(width, height, depth, numberOfComponents, dataType, data, preferSizeOverAccuracy);
|
|
12
13
|
};
|
|
13
|
-
publicAPI.update3DFromRaw = (
|
|
14
|
-
const {
|
|
15
|
-
if (!
|
|
14
|
+
publicAPI.update3DFromRaw = () => {
|
|
15
|
+
const { volumeId } = model;
|
|
16
|
+
if (!volumeId) {
|
|
16
17
|
return;
|
|
17
18
|
}
|
|
19
|
+
const volume = cache.getVolume(volumeId);
|
|
18
20
|
model._openGLRenderWindow.activateTexture(publicAPI);
|
|
19
21
|
publicAPI.createTexture();
|
|
20
22
|
publicAPI.bind();
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
bytesPerVoxel = 1;
|
|
25
|
-
TypedArrayConstructor = Uint8Array;
|
|
26
|
-
}
|
|
27
|
-
else if (data instanceof Int16Array) {
|
|
28
|
-
bytesPerVoxel = 2;
|
|
29
|
-
TypedArrayConstructor = Int16Array;
|
|
30
|
-
}
|
|
31
|
-
else if (data instanceof Uint16Array) {
|
|
32
|
-
bytesPerVoxel = 2;
|
|
33
|
-
TypedArrayConstructor = Uint16Array;
|
|
23
|
+
if (volume.isDynamicVolume()) {
|
|
24
|
+
updateDynamicVolumeTexture();
|
|
25
|
+
return;
|
|
34
26
|
}
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
27
|
+
return (publicAPI.hasUpdatedFrames() && updateTextureImagesUsingVoxelManager());
|
|
28
|
+
};
|
|
29
|
+
const superModified = publicAPI.modified;
|
|
30
|
+
publicAPI.setUpdatedFrame = (frameIndex) => {
|
|
31
|
+
model.updatedFrames[frameIndex] = true;
|
|
32
|
+
superModified();
|
|
33
|
+
};
|
|
34
|
+
publicAPI.modified = () => {
|
|
35
|
+
superModified();
|
|
36
|
+
const volume = cache.getVolume(model.volumeId);
|
|
37
|
+
if (!volume) {
|
|
38
|
+
return;
|
|
38
39
|
}
|
|
39
|
-
|
|
40
|
-
|
|
40
|
+
const imageIds = volume.imageIds;
|
|
41
|
+
for (let i = 0; i < imageIds.length; i++) {
|
|
42
|
+
model.updatedFrames[i] = true;
|
|
41
43
|
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
44
|
+
};
|
|
45
|
+
function updateTextureImagesUsingVoxelManager() {
|
|
46
|
+
const volume = cache.getVolume(model.volumeId);
|
|
47
|
+
const imageIds = volume.imageIds;
|
|
48
|
+
for (let i = 0; i < model.updatedFrames.length; i++) {
|
|
49
|
+
if (model.updatedFrames[i]) {
|
|
50
|
+
const image = cache.getImage(imageIds[i]);
|
|
51
|
+
if (!image) {
|
|
52
|
+
continue;
|
|
53
|
+
}
|
|
54
|
+
const data = image.voxelManager.getScalarData();
|
|
55
|
+
const gl = model.context;
|
|
56
|
+
const dataType = data.constructor.name;
|
|
57
|
+
const [pixData] = publicAPI.updateArrayDataTypeForGL(dataType, [data]);
|
|
58
|
+
publicAPI.bind();
|
|
59
|
+
const zOffset = i;
|
|
60
|
+
gl.texSubImage3D(model.target, 0, 0, 0, zOffset, model.width, model.height, 1, model.format, model.openGLDataType, pixData);
|
|
61
|
+
publicAPI.deactivate();
|
|
62
|
+
model.updatedFrames[i] = null;
|
|
45
63
|
}
|
|
46
64
|
}
|
|
47
|
-
model.updatedFrames = [];
|
|
48
65
|
if (model.generateMipmap) {
|
|
49
66
|
model.context.generateMipmap(model.target);
|
|
50
67
|
}
|
|
51
68
|
publicAPI.deactivate();
|
|
52
69
|
return true;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
const
|
|
56
|
-
const
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
let blockHeight = Math.floor((bytesPerVoxel * MAX_TEXTURE_SIZE) / model.width);
|
|
63
|
-
blockHeight = Math.min(blockHeight, model.height);
|
|
64
|
-
const { useNorm16Texture, preferSizeOverAccuracy } = getConfiguration().rendering;
|
|
65
|
-
if (useNorm16Texture && !preferSizeOverAccuracy) {
|
|
66
|
-
blockHeight = 1;
|
|
67
|
-
}
|
|
68
|
-
const multiRowBlockLength = rowLength * blockHeight;
|
|
69
|
-
const multiRowBlockLengthInBytes = multiRowBlockLength * bytesPerVoxel;
|
|
70
|
-
const normalBlocks = Math.floor(model.height / blockHeight);
|
|
71
|
-
const lastBlockHeight = model.height % blockHeight;
|
|
72
|
-
const multiRowLastBlockLength = rowLength * lastBlockHeight;
|
|
73
|
-
for (let block = 0; block < normalBlocks; block++) {
|
|
74
|
-
const yOffset = block * blockHeight;
|
|
75
|
-
let dataView = new TypedArrayConstructor(buffer, zOffset + block * multiRowBlockLengthInBytes, multiRowBlockLength);
|
|
76
|
-
if (model.useHalfFloat &&
|
|
77
|
-
(TypedArrayConstructor === Uint16Array ||
|
|
78
|
-
TypedArrayConstructor === Int16Array)) {
|
|
79
|
-
for (let idx = 0; idx < dataView.length; idx++) {
|
|
80
|
-
dataView[idx] = HalfFloat.toHalf(dataView[idx]);
|
|
81
|
-
}
|
|
82
|
-
if (TypedArrayConstructor === Int16Array) {
|
|
83
|
-
dataView = new Uint16Array(dataView);
|
|
84
|
-
}
|
|
70
|
+
}
|
|
71
|
+
function updateDynamicVolumeTexture() {
|
|
72
|
+
const volume = cache.getVolume(model.volumeId);
|
|
73
|
+
const imageIds = volume.getCurrentTimePointImageIds();
|
|
74
|
+
for (let i = 0; i < imageIds.length; i++) {
|
|
75
|
+
const imageId = imageIds[i];
|
|
76
|
+
const image = cache.getImage(imageId);
|
|
77
|
+
if (!image) {
|
|
78
|
+
continue;
|
|
85
79
|
}
|
|
86
|
-
|
|
80
|
+
const data = image.voxelManager.getScalarData();
|
|
81
|
+
const gl = model.context;
|
|
82
|
+
const dataType = data.constructor.name;
|
|
83
|
+
const [pixData] = publicAPI.updateArrayDataTypeForGL(dataType, [data]);
|
|
84
|
+
publicAPI.bind();
|
|
85
|
+
let zOffset = i;
|
|
86
|
+
gl.texSubImage3D(model.target, 0, 0, 0, zOffset, model.width, model.height, 1, model.format, model.openGLDataType, pixData);
|
|
87
|
+
publicAPI.deactivate();
|
|
87
88
|
}
|
|
88
|
-
if (
|
|
89
|
-
|
|
90
|
-
const dataView = new TypedArrayConstructor(buffer, zOffset + normalBlocks * multiRowBlockLengthInBytes, multiRowLastBlockLength);
|
|
91
|
-
gl.texSubImage3D(model.target, 0, 0, yOffset, frameIndex, model.width, lastBlockHeight, 1, model.format, model.openGLDataType, dataView);
|
|
89
|
+
if (model.generateMipmap) {
|
|
90
|
+
model.context.generateMipmap(model.target);
|
|
92
91
|
}
|
|
92
|
+
publicAPI.deactivate();
|
|
93
|
+
return true;
|
|
94
|
+
}
|
|
95
|
+
publicAPI.hasUpdatedFrames = () => !model.updatedFrames.length || model.updatedFrames.some((frame) => frame);
|
|
96
|
+
publicAPI.getUpdatedFrames = () => model.updatedFrames;
|
|
97
|
+
publicAPI.setVolumeId = (volumeId) => {
|
|
98
|
+
model.volumeId = volumeId;
|
|
93
99
|
};
|
|
94
|
-
publicAPI.
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
};
|
|
102
|
-
};
|
|
103
|
-
publicAPI.setUpdatedFrame = (frameIndex) => {
|
|
104
|
-
model.updatedFrames[frameIndex] = true;
|
|
100
|
+
publicAPI.getVolumeId = () => model.volumeId;
|
|
101
|
+
publicAPI.setTextureParameters = ({ width, height, depth, numberOfComponents, dataType, }) => {
|
|
102
|
+
model.width ??= width;
|
|
103
|
+
model.height ??= height;
|
|
104
|
+
model.depth ??= depth;
|
|
105
|
+
model.inputNumComps ??= numberOfComponents;
|
|
106
|
+
model.inputDataType ??= dataType;
|
|
105
107
|
};
|
|
108
|
+
publicAPI.getTextureParameters = () => ({
|
|
109
|
+
width: model.width,
|
|
110
|
+
height: model.height,
|
|
111
|
+
depth: model.depth,
|
|
112
|
+
numberOfComponents: model.inputNumComps,
|
|
113
|
+
dataType: model.inputDataType,
|
|
114
|
+
});
|
|
106
115
|
}
|
|
107
116
|
const DEFAULT_VALUES = {
|
|
108
117
|
updatedFrames: [],
|
|
@@ -31,7 +31,7 @@ function vtkStreamingOpenGLViewNodeFactory(publicAPI, model) {
|
|
|
31
31
|
let isObject = false;
|
|
32
32
|
const keys = Object.keys(model.overrides);
|
|
33
33
|
while (className && !isObject) {
|
|
34
|
-
if (keys.
|
|
34
|
+
if (keys.includes(className)) {
|
|
35
35
|
isObject = true;
|
|
36
36
|
}
|
|
37
37
|
else {
|
|
@@ -2,8 +2,10 @@ import macro from '@kitware/vtk.js/macros';
|
|
|
2
2
|
import vtkOpenGLVolumeMapper from '@kitware/vtk.js/Rendering/OpenGL/VolumeMapper';
|
|
3
3
|
import { Filter } from '@kitware/vtk.js/Rendering/OpenGL/Texture/Constants';
|
|
4
4
|
import { VtkDataTypes } from '@kitware/vtk.js/Common/Core/DataArray/Constants';
|
|
5
|
+
import { getTransferFunctionHash } from '@kitware/vtk.js/Rendering/OpenGL/RenderWindow/resourceSharingHelper';
|
|
5
6
|
import vtkDataArray from '@kitware/vtk.js/Common/Core/DataArray';
|
|
6
7
|
import { Representation } from '@kitware/vtk.js/Rendering/Core/Property/Constants';
|
|
8
|
+
import vtkOpenGLTexture from '@kitware/vtk.js/Rendering/OpenGL/Texture';
|
|
7
9
|
function vtkStreamingOpenGLVolumeMapper(publicAPI, model) {
|
|
8
10
|
model.classHierarchy.push('vtkStreamingOpenGLVolumeMapper');
|
|
9
11
|
publicAPI.buildBufferObjects = (ren, actor) => {
|
|
@@ -11,10 +13,6 @@ function vtkStreamingOpenGLVolumeMapper(publicAPI, model) {
|
|
|
11
13
|
if (!image) {
|
|
12
14
|
return;
|
|
13
15
|
}
|
|
14
|
-
const scalars = image.getPointData() && image.getPointData().getScalars();
|
|
15
|
-
if (!scalars) {
|
|
16
|
-
return;
|
|
17
|
-
}
|
|
18
16
|
const vprop = actor.getProperty();
|
|
19
17
|
if (!model.jitterTexture.getHandle()) {
|
|
20
18
|
const oTable = new Uint8Array(32 * 32);
|
|
@@ -25,18 +23,22 @@ function vtkStreamingOpenGLVolumeMapper(publicAPI, model) {
|
|
|
25
23
|
model.jitterTexture.setMagnificationFilter(Filter.LINEAR);
|
|
26
24
|
model.jitterTexture.create2DFromRaw(32, 32, 1, VtkDataTypes.UNSIGNED_CHAR, oTable);
|
|
27
25
|
}
|
|
28
|
-
const
|
|
29
|
-
const
|
|
30
|
-
const
|
|
31
|
-
|
|
32
|
-
|
|
26
|
+
const { numberOfComponents: numIComps } = image.get('numberOfComponents');
|
|
27
|
+
const useIndependentComps = publicAPI.useIndependentComponents(vprop);
|
|
28
|
+
const scalarOpacityFunc = vprop.getScalarOpacity();
|
|
29
|
+
const opTex = model._openGLRenderWindow.getGraphicsResourceForObject(scalarOpacityFunc);
|
|
30
|
+
let toString = getTransferFunctionHash(scalarOpacityFunc, useIndependentComps, numIComps);
|
|
31
|
+
const reBuildOp = !opTex?.oglObject || opTex.hash !== toString;
|
|
32
|
+
if (reBuildOp) {
|
|
33
|
+
model.opacityTexture = vtkOpenGLTexture.newInstance();
|
|
34
|
+
model.opacityTexture.setOpenGLRenderWindow(model._openGLRenderWindow);
|
|
33
35
|
const oWidth = 1024;
|
|
34
36
|
const oSize = oWidth * 2 * numIComps;
|
|
35
37
|
const ofTable = new Float32Array(oSize);
|
|
36
38
|
const tmpTable = new Float32Array(oWidth);
|
|
37
39
|
for (let c = 0; c < numIComps; ++c) {
|
|
38
40
|
const ofun = vprop.getScalarOpacity(c);
|
|
39
|
-
const opacityFactor =
|
|
41
|
+
const opacityFactor = publicAPI.getCurrentSampleDistance(ren) /
|
|
40
42
|
vprop.getScalarOpacityUnitDistance(c);
|
|
41
43
|
const oRange = ofun.getRange();
|
|
42
44
|
ofun.getTable(oRange[0], oRange[1], oWidth, tmpTable, 1);
|
|
@@ -46,7 +48,7 @@ function vtkStreamingOpenGLVolumeMapper(publicAPI, model) {
|
|
|
46
48
|
ofTable[c * oWidth * 2 + i + oWidth] = ofTable[c * oWidth * 2 + i];
|
|
47
49
|
}
|
|
48
50
|
}
|
|
49
|
-
model.opacityTexture.
|
|
51
|
+
model.opacityTexture.resetFormatAndType();
|
|
50
52
|
model.opacityTexture.setMinificationFilter(Filter.LINEAR);
|
|
51
53
|
model.opacityTexture.setMagnificationFilter(Filter.LINEAR);
|
|
52
54
|
if (model._openGLRenderWindow.getWebgl2() ||
|
|
@@ -55,19 +57,34 @@ function vtkStreamingOpenGLVolumeMapper(publicAPI, model) {
|
|
|
55
57
|
model.opacityTexture.create2DFromRaw(oWidth, 2 * numIComps, 1, VtkDataTypes.FLOAT, ofTable);
|
|
56
58
|
}
|
|
57
59
|
else {
|
|
58
|
-
const oTable = new
|
|
60
|
+
const oTable = new Uint8ClampedArray(oSize);
|
|
59
61
|
for (let i = 0; i < oSize; ++i) {
|
|
60
62
|
oTable[i] = 255.0 * ofTable[i];
|
|
61
63
|
}
|
|
62
64
|
model.opacityTexture.create2DFromRaw(oWidth, 2 * numIComps, 1, VtkDataTypes.UNSIGNED_CHAR, oTable);
|
|
63
65
|
}
|
|
64
|
-
|
|
66
|
+
if (scalarOpacityFunc) {
|
|
67
|
+
model._openGLRenderWindow.setGraphicsResourceForObject(scalarOpacityFunc, model.opacityTexture, toString);
|
|
68
|
+
if (scalarOpacityFunc !== model._scalarOpacityFunc) {
|
|
69
|
+
model._openGLRenderWindow.registerGraphicsResourceUser(scalarOpacityFunc, publicAPI);
|
|
70
|
+
model._openGLRenderWindow.unregisterGraphicsResourceUser(model._scalarOpacityFunc, publicAPI);
|
|
71
|
+
}
|
|
72
|
+
model._scalarOpacityFunc = scalarOpacityFunc;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
model.opacityTexture = opTex.oglObject;
|
|
65
77
|
}
|
|
66
|
-
|
|
67
|
-
|
|
78
|
+
const colorTransferFunc = vprop.getRGBTransferFunction();
|
|
79
|
+
toString = getTransferFunctionHash(colorTransferFunc, useIndependentComps, numIComps);
|
|
80
|
+
const cTex = model._openGLRenderWindow.getGraphicsResourceForObject(colorTransferFunc);
|
|
81
|
+
const reBuildC = !cTex?.oglObject?.getHandle() || cTex?.hash !== toString;
|
|
82
|
+
if (reBuildC) {
|
|
83
|
+
model.colorTexture = vtkOpenGLTexture.newInstance();
|
|
84
|
+
model.colorTexture.setOpenGLRenderWindow(model._openGLRenderWindow);
|
|
68
85
|
const cWidth = 1024;
|
|
69
86
|
const cSize = cWidth * 2 * numIComps * 3;
|
|
70
|
-
const cTable = new
|
|
87
|
+
const cTable = new Uint8ClampedArray(cSize);
|
|
71
88
|
const tmpTable = new Float32Array(cWidth * 3);
|
|
72
89
|
for (let c = 0; c < numIComps; ++c) {
|
|
73
90
|
const cfun = vprop.getRGBTransferFunction(c);
|
|
@@ -78,39 +95,57 @@ function vtkStreamingOpenGLVolumeMapper(publicAPI, model) {
|
|
|
78
95
|
cTable[c * cWidth * 6 + i + cWidth * 3] = 255.0 * tmpTable[i];
|
|
79
96
|
}
|
|
80
97
|
}
|
|
81
|
-
model.colorTexture.
|
|
98
|
+
model.colorTexture.resetFormatAndType();
|
|
82
99
|
model.colorTexture.setMinificationFilter(Filter.LINEAR);
|
|
83
100
|
model.colorTexture.setMagnificationFilter(Filter.LINEAR);
|
|
84
101
|
model.colorTexture.create2DFromRaw(cWidth, 2 * numIComps, 3, VtkDataTypes.UNSIGNED_CHAR, cTable);
|
|
85
|
-
|
|
102
|
+
if (colorTransferFunc) {
|
|
103
|
+
model._openGLRenderWindow.setGraphicsResourceForObject(colorTransferFunc, model.colorTexture, toString);
|
|
104
|
+
if (colorTransferFunc !== model._colorTransferFunc) {
|
|
105
|
+
model._openGLRenderWindow.registerGraphicsResourceUser(colorTransferFunc, publicAPI);
|
|
106
|
+
model._openGLRenderWindow.unregisterGraphicsResourceUser(model._colorTransferFunc, publicAPI);
|
|
107
|
+
}
|
|
108
|
+
model._colorTransferFunc = colorTransferFunc;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
else {
|
|
112
|
+
model.colorTexture = cTex.oglObject;
|
|
86
113
|
}
|
|
87
114
|
publicAPI.updateLabelOutlineThicknessTexture(actor);
|
|
88
|
-
toString = `${image.getMTime()}`;
|
|
115
|
+
toString = `${image.getMTime()}-${model.scalarTexture.getMTime()}`;
|
|
89
116
|
if (model.scalarTextureString !== toString) {
|
|
90
117
|
const dims = image.getDimensions();
|
|
118
|
+
model.scalarTexture.setOpenGLRenderWindow(model._openGLRenderWindow);
|
|
119
|
+
model.scalarTexture.enableUseHalfFloat(false);
|
|
91
120
|
const previousTextureParameters = model.scalarTexture.getTextureParameters();
|
|
92
|
-
const dataType = image.
|
|
93
|
-
const data = image.getPointData().getScalars().getData();
|
|
121
|
+
const dataType = image.get('dataType').dataType;
|
|
94
122
|
let shouldReset = true;
|
|
95
|
-
if (previousTextureParameters
|
|
96
|
-
previousTextureParameters
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
shouldReset = false;
|
|
123
|
+
if (previousTextureParameters?.dataType === dataType) {
|
|
124
|
+
if (previousTextureParameters?.width === dims[0]) {
|
|
125
|
+
if (previousTextureParameters?.height === dims[1]) {
|
|
126
|
+
if (previousTextureParameters?.depth === dims[2]) {
|
|
127
|
+
shouldReset = false;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
103
130
|
}
|
|
104
131
|
}
|
|
105
132
|
if (shouldReset) {
|
|
106
|
-
model.
|
|
107
|
-
model.scalarTexture.
|
|
133
|
+
const norm16Ext = model.context.getExtension('EXT_texture_norm16');
|
|
134
|
+
model.scalarTexture.setOglNorm16Ext(norm16Ext);
|
|
108
135
|
model.scalarTexture.resetFormatAndType();
|
|
109
|
-
model.scalarTexture.
|
|
136
|
+
model.scalarTexture.setTextureParameters({
|
|
137
|
+
width: dims[0],
|
|
138
|
+
height: dims[1],
|
|
139
|
+
depth: dims[2],
|
|
140
|
+
numberOfComponents: numIComps,
|
|
141
|
+
dataType,
|
|
142
|
+
});
|
|
143
|
+
model.scalarTexture.create3DFromRaw(dims[0], dims[1], dims[2], numIComps, dataType, null);
|
|
144
|
+
model.scalarTexture.update3DFromRaw();
|
|
110
145
|
}
|
|
111
146
|
else {
|
|
112
147
|
model.scalarTexture.deactivate();
|
|
113
|
-
model.scalarTexture.update3DFromRaw(
|
|
148
|
+
model.scalarTexture.update3DFromRaw();
|
|
114
149
|
}
|
|
115
150
|
model.scalarTextureString = toString;
|
|
116
151
|
}
|
|
@@ -146,16 +181,22 @@ function vtkStreamingOpenGLVolumeMapper(publicAPI, model) {
|
|
|
146
181
|
}
|
|
147
182
|
model.VBOBuildTime.modified();
|
|
148
183
|
};
|
|
149
|
-
publicAPI.
|
|
150
|
-
if (model.
|
|
151
|
-
|
|
184
|
+
publicAPI.getNeedToRebuildBufferObjects = (ren, actor) => {
|
|
185
|
+
if (model.VBOBuildTime.getMTime() < publicAPI.getMTime() ||
|
|
186
|
+
model.VBOBuildTime.getMTime() < actor.getMTime() ||
|
|
187
|
+
model.VBOBuildTime.getMTime() < model.renderable.getMTime() ||
|
|
188
|
+
model.VBOBuildTime.getMTime() < actor.getProperty().getMTime() ||
|
|
189
|
+
model.VBOBuildTime.getMTime() < model.currentInput.getMTime() ||
|
|
190
|
+
model.VBOBuildTime.getMTime() < model.scalarTexture?.getMTime() ||
|
|
191
|
+
model.VBOBuildTime.getMTime() < model.colorTexture?.getMTime() ||
|
|
192
|
+
model.VBOBuildTime.getMTime() <
|
|
193
|
+
model.labelOutlineThicknessTexture?.getMTime() ||
|
|
194
|
+
!model.scalarTexture?.getHandle() ||
|
|
195
|
+
!model.colorTexture?.getHandle() ||
|
|
196
|
+
!model.labelOutlineThicknessTexture?.getHandle()) {
|
|
197
|
+
return true;
|
|
152
198
|
}
|
|
153
|
-
|
|
154
|
-
return [usize, vsize];
|
|
155
|
-
};
|
|
156
|
-
publicAPI.getRenderTargetOffset = () => {
|
|
157
|
-
const { lowerLeftU, lowerLeftV } = model._openGLRenderer.getTiledSizeAndOrigin();
|
|
158
|
-
return [lowerLeftU, lowerLeftV];
|
|
199
|
+
return false;
|
|
159
200
|
};
|
|
160
201
|
}
|
|
161
202
|
const DEFAULT_VALUES = {};
|
package/dist/esm/Settings.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ export default class Settings {
|
|
|
8
8
|
import(root: Record<string, unknown>): void;
|
|
9
9
|
dump(): Record<string, unknown>;
|
|
10
10
|
static assert(subject: Settings): Settings;
|
|
11
|
-
static getDefaultSettings(subfield?: any): Settings |
|
|
11
|
+
static getDefaultSettings(subfield?: any): Settings | unknown;
|
|
12
12
|
static getRuntimeSettings(): Settings;
|
|
13
13
|
static getObjectSettings(subject: unknown, from?: unknown): Settings;
|
|
14
14
|
static extendRuntimeSettings(): Settings;
|
|
@@ -1,48 +1,44 @@
|
|
|
1
|
-
import { ICache, IImage, IGeometry, IImageLoadObject, IVolumeLoadObject, IGeometryLoadObject, ICachedImage, IImageVolume } from '../types';
|
|
1
|
+
import type { ICache, IImage, IGeometry, IImageLoadObject, IVolumeLoadObject, IGeometryLoadObject, ICachedImage, IImageVolume } from '../types';
|
|
2
2
|
declare class Cache implements ICache {
|
|
3
3
|
private readonly _imageCache;
|
|
4
4
|
private readonly _volumeCache;
|
|
5
5
|
private readonly _geometryCache;
|
|
6
6
|
private _imageCacheSize;
|
|
7
|
-
private _volumeCacheSize;
|
|
8
7
|
private _maxCacheSize;
|
|
9
|
-
private _maxInstanceSize;
|
|
10
|
-
constructor();
|
|
11
8
|
setMaxCacheSize: (newMaxCacheSize: number) => void;
|
|
12
|
-
isCacheable: (byteLength:
|
|
9
|
+
isCacheable: (byteLength: any) => boolean;
|
|
13
10
|
getMaxCacheSize: () => number;
|
|
14
|
-
getMaxInstanceSize: () => number;
|
|
15
11
|
getCacheSize: () => number;
|
|
16
12
|
getBytesAvailable(): number;
|
|
17
13
|
private _decacheImage;
|
|
18
14
|
private _decacheVolume;
|
|
19
15
|
purgeCache: () => void;
|
|
20
16
|
purgeVolumeCache: () => void;
|
|
21
|
-
decacheIfNecessaryUntilBytesAvailable(numBytes: number, volumeImageIds?:
|
|
17
|
+
decacheIfNecessaryUntilBytesAvailable(numBytes: number, volumeImageIds?: string[]): number | undefined;
|
|
22
18
|
private _putImageCommon;
|
|
23
|
-
putImageLoadObject(imageId: string, imageLoadObject: IImageLoadObject): Promise<
|
|
19
|
+
putImageLoadObject(imageId: string, imageLoadObject: IImageLoadObject): Promise<void>;
|
|
24
20
|
putImageSync(imageId: string, image: IImage): void;
|
|
25
|
-
getImageLoadObject(imageId: string): IImageLoadObject;
|
|
21
|
+
getImageLoadObject(imageId: string): IImageLoadObject | undefined;
|
|
26
22
|
isLoaded(imageId: string): boolean;
|
|
27
23
|
getVolumeContainingImageId(imageId: string): {
|
|
28
24
|
volume: IImageVolume;
|
|
29
25
|
imageIdIndex: number;
|
|
30
|
-
};
|
|
26
|
+
} | undefined;
|
|
31
27
|
getCachedImageBasedOnImageURI(imageId: string): ICachedImage | undefined;
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
28
|
+
private _putVolumeCommon;
|
|
29
|
+
putVolumeSync(volumeId: string, volume: IImageVolume): void;
|
|
30
|
+
putVolumeLoadObject(volumeId: string, volumeLoadObject: IVolumeLoadObject): Promise<void>;
|
|
31
|
+
getVolumeLoadObject: (volumeId: string) => IVolumeLoadObject | undefined;
|
|
32
|
+
getGeometry: (geometryId: string) => IGeometry | undefined;
|
|
33
|
+
getImage: (imageId: string) => IImage | undefined;
|
|
34
|
+
getVolume: (volumeId: string) => IImageVolume | undefined;
|
|
35
|
+
getVolumes: () => IImageVolume[];
|
|
36
|
+
filterVolumesByReferenceId: (volumeId: string) => IImageVolume[];
|
|
39
37
|
removeImageLoadObject: (imageId: string) => void;
|
|
40
38
|
removeVolumeLoadObject: (volumeId: string) => void;
|
|
41
39
|
putGeometryLoadObject: (geometryId: string, geometryLoadObject: IGeometryLoadObject) => Promise<void>;
|
|
42
40
|
incrementImageCacheSize: (increment: number) => void;
|
|
43
|
-
incrementVolumeCacheSize: (increment: number) => void;
|
|
44
41
|
decrementImageCacheSize: (decrement: number) => void;
|
|
45
|
-
decrementVolumeCacheSize: (decrement: number) => void;
|
|
46
42
|
}
|
|
47
43
|
declare const cache: Cache;
|
|
48
44
|
export default cache;
|