@cornerstonejs/core 5.0.0-beta.1 → 5.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/RenderingEngine/BaseRenderingEngine.d.ts +4 -5
- package/dist/esm/RenderingEngine/BaseRenderingEngine.js +57 -69
- package/dist/esm/RenderingEngine/BaseVolumeViewport.d.ts +6 -4
- package/dist/esm/RenderingEngine/BaseVolumeViewport.js +39 -30
- package/dist/esm/RenderingEngine/CanvasActor/CanvasMapper.d.ts +1 -0
- package/dist/esm/RenderingEngine/CanvasActor/CanvasMapper.js +3 -0
- package/dist/esm/RenderingEngine/CanvasActor/CanvasProperties.d.ts +10 -2
- package/dist/esm/RenderingEngine/CanvasActor/CanvasProperties.js +64 -6
- package/dist/esm/RenderingEngine/CanvasActor/index.d.ts +4 -0
- package/dist/esm/RenderingEngine/CanvasActor/index.js +59 -48
- package/dist/esm/RenderingEngine/ContextPoolRenderingEngine.d.ts +3 -4
- package/dist/esm/RenderingEngine/ContextPoolRenderingEngine.js +55 -37
- package/dist/esm/RenderingEngine/ECGViewport.d.ts +1 -1
- package/dist/esm/RenderingEngine/ECGViewport.js +34 -160
- package/dist/esm/RenderingEngine/GenericViewport/DefaultRenderPathResolver.d.ts +10 -0
- package/dist/esm/RenderingEngine/GenericViewport/DefaultRenderPathResolver.js +25 -0
- package/dist/esm/RenderingEngine/GenericViewport/ECG/CanvasECGRenderPath.d.ts +17 -0
- package/dist/esm/RenderingEngine/GenericViewport/ECG/CanvasECGRenderPath.js +144 -0
- package/dist/esm/RenderingEngine/GenericViewport/ECG/DefaultECGDataProvider.d.ts +5 -0
- package/dist/esm/RenderingEngine/GenericViewport/ECG/DefaultECGDataProvider.js +13 -0
- package/dist/esm/RenderingEngine/GenericViewport/ECG/ECGProjectionTypes.d.ts +42 -0
- package/dist/esm/RenderingEngine/GenericViewport/ECG/ECGProjectionTypes.js +2 -0
- package/dist/esm/RenderingEngine/GenericViewport/ECG/ECGRenderPathResolver.d.ts +4 -0
- package/dist/esm/RenderingEngine/GenericViewport/ECG/ECGRenderPathResolver.js +8 -0
- package/dist/esm/RenderingEngine/GenericViewport/ECG/ECGResolvedView.d.ts +27 -0
- package/dist/esm/RenderingEngine/GenericViewport/ECG/ECGResolvedView.js +121 -0
- package/dist/esm/RenderingEngine/GenericViewport/ECG/ECGViewport.d.ts +55 -0
- package/dist/esm/RenderingEngine/GenericViewport/ECG/ECGViewport.js +289 -0
- package/dist/esm/RenderingEngine/GenericViewport/ECG/ECGViewportLegacyAdapter.d.ts +13 -0
- package/dist/esm/RenderingEngine/GenericViewport/ECG/ECGViewportLegacyAdapter.js +70 -0
- package/dist/esm/RenderingEngine/GenericViewport/ECG/ECGViewportTypes.d.ts +69 -0
- package/dist/esm/RenderingEngine/GenericViewport/ECG/ECGViewportTypes.js +0 -0
- package/dist/esm/RenderingEngine/GenericViewport/ECG/ecgProjectionAdapter.d.ts +8 -0
- package/dist/esm/RenderingEngine/GenericViewport/ECG/ecgProjectionAdapter.js +12 -0
- package/dist/esm/RenderingEngine/GenericViewport/ECG/ecgProjectionPresentation.d.ts +7 -0
- package/dist/esm/RenderingEngine/GenericViewport/ECG/ecgProjectionPresentation.js +52 -0
- package/dist/esm/RenderingEngine/GenericViewport/ECG/ecgProjectionSnapshot.d.ts +2 -0
- package/dist/esm/RenderingEngine/GenericViewport/ECG/ecgProjectionSnapshot.js +94 -0
- package/dist/esm/RenderingEngine/GenericViewport/ECG/ecgViewportCamera.d.ts +27 -0
- package/dist/esm/RenderingEngine/GenericViewport/ECG/ecgViewportCamera.js +82 -0
- package/dist/esm/RenderingEngine/GenericViewport/ECG/index.d.ts +10 -0
- package/dist/esm/RenderingEngine/GenericViewport/ECG/index.js +8 -0
- package/dist/esm/RenderingEngine/GenericViewport/GenericViewport.d.ts +82 -0
- package/dist/esm/RenderingEngine/GenericViewport/GenericViewport.js +369 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/CpuImageSliceRenderPath.d.ts +24 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/CpuImageSliceRenderPath.js +456 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/CpuVolumeSliceRenderPath.d.ts +25 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/CpuVolumeSliceRenderPath.js +514 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/DefaultPlanarDataProvider.d.ts +6 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/DefaultPlanarDataProvider.js +80 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/PlanarCPUScalarViewportSampler.d.ts +47 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/PlanarCPUScalarViewportSampler.js +439 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/PlanarCPUVolumeSampler.d.ts +98 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/PlanarCPUVolumeSampler.js +686 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/PlanarLegacyCompatibilityController.d.ts +81 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/PlanarLegacyCompatibilityController.js +526 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/PlanarMountedData.d.ts +34 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/PlanarMountedData.js +111 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/PlanarProjectionTypes.d.ts +58 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/PlanarProjectionTypes.js +2 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/PlanarRenderPathDecisionService.d.ts +28 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/PlanarRenderPathDecisionService.js +145 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/PlanarRenderPathResolver.d.ts +4 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/PlanarRenderPathResolver.js +16 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/PlanarResolvedView.d.ts +91 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/PlanarResolvedView.js +305 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/PlanarViewReferenceController.d.ts +72 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/PlanarViewReferenceController.js +406 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/PlanarViewport.d.ts +187 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/PlanarViewport.js +1175 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/PlanarViewportLegacyAdapter.d.ts +44 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/PlanarViewportLegacyAdapter.js +279 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/PlanarViewportTypes.d.ts +151 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/PlanarViewportTypes.js +0 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/VtkImageMapperRenderPath.d.ts +21 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/VtkImageMapperRenderPath.js +259 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/VtkVolumeSliceRenderPath.d.ts +23 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/VtkVolumeSliceRenderPath.js +289 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/buildPlanarActorEntry.d.ts +10 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/buildPlanarActorEntry.js +54 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/index.d.ts +23 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/index.js +20 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/planarActorCompatibility.d.ts +4 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/planarActorCompatibility.js +42 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/planarAdapterCoordinateTransforms.d.ts +44 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/planarAdapterCoordinateTransforms.js +129 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/planarCPUVolumeSamplingUtils.d.ts +11 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/planarCPUVolumeSamplingUtils.js +54 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/planarCameraScale.d.ts +10 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/planarCameraScale.js +35 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/planarCpuImageTransforms.d.ts +3 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/planarCpuImageTransforms.js +35 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/planarCpuViewportMath.d.ts +10 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/planarCpuViewportMath.js +35 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/planarImageEvents.d.ts +22 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/planarImageEvents.js +28 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/planarLegacyCompatibility.d.ts +13 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/planarLegacyCompatibility.js +136 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/planarMath.d.ts +3 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/planarMath.js +15 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/planarOrientationVectors.d.ts +12 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/planarOrientationVectors.js +37 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/planarProjectionAdapter.d.ts +7 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/planarProjectionAdapter.js +28 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/planarProjectionFallback.d.ts +4 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/planarProjectionFallback.js +25 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/planarProjectionPresentation.d.ts +5 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/planarProjectionPresentation.js +95 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/planarProjectionSnapshot.d.ts +6 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/planarProjectionSnapshot.js +126 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/planarRenderCamera.d.ts +46 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/planarRenderCamera.js +332 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/planarRenderPathProjection.d.ts +51 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/planarRenderPathProjection.js +96 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/planarRenderPathSelector.d.ts +4 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/planarRenderPathSelector.js +12 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/planarRuntimeTypes.d.ts +86 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/planarRuntimeTypes.js +0 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/planarSliceBasis.d.ts +51 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/planarSliceBasis.js +330 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/planarViewPresentation.d.ts +16 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/planarViewPresentation.js +25 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/planarViewReference.d.ts +46 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/planarViewReference.js +243 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/planarViewState.d.ts +5 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/planarViewState.js +59 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/planarVolumePresentation.d.ts +10 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/planarVolumePresentation.js +223 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/planarVolumeSliceBlendMode.d.ts +5 -0
- package/dist/esm/RenderingEngine/GenericViewport/Planar/planarVolumeSliceBlendMode.js +36 -0
- package/dist/esm/RenderingEngine/GenericViewport/ResolvedViewportView.d.ts +12 -0
- package/dist/esm/RenderingEngine/GenericViewport/ResolvedViewportView.js +10 -0
- package/dist/esm/RenderingEngine/GenericViewport/Video/DefaultVideoDataProvider.d.ts +5 -0
- package/dist/esm/RenderingEngine/GenericViewport/Video/DefaultVideoDataProvider.js +18 -0
- package/dist/esm/RenderingEngine/GenericViewport/Video/HtmlVideoRenderPath.d.ts +19 -0
- package/dist/esm/RenderingEngine/GenericViewport/Video/HtmlVideoRenderPath.js +141 -0
- package/dist/esm/RenderingEngine/GenericViewport/Video/VideoProjectionTypes.d.ts +45 -0
- package/dist/esm/RenderingEngine/GenericViewport/Video/VideoProjectionTypes.js +2 -0
- package/dist/esm/RenderingEngine/GenericViewport/Video/VideoRenderPathResolver.d.ts +4 -0
- package/dist/esm/RenderingEngine/GenericViewport/Video/VideoRenderPathResolver.js +8 -0
- package/dist/esm/RenderingEngine/GenericViewport/Video/VideoResolvedView.d.ts +29 -0
- package/dist/esm/RenderingEngine/GenericViewport/Video/VideoResolvedView.js +108 -0
- package/dist/esm/RenderingEngine/GenericViewport/Video/VideoViewport.d.ts +59 -0
- package/dist/esm/RenderingEngine/GenericViewport/Video/VideoViewport.js +458 -0
- package/dist/esm/RenderingEngine/GenericViewport/Video/VideoViewportLegacyAdapter.d.ts +15 -0
- package/dist/esm/RenderingEngine/GenericViewport/Video/VideoViewportLegacyAdapter.js +114 -0
- package/dist/esm/RenderingEngine/GenericViewport/Video/VideoViewportTypes.d.ts +45 -0
- package/dist/esm/RenderingEngine/GenericViewport/Video/VideoViewportTypes.js +0 -0
- package/dist/esm/RenderingEngine/GenericViewport/Video/index.d.ts +10 -0
- package/dist/esm/RenderingEngine/GenericViewport/Video/index.js +8 -0
- package/dist/esm/RenderingEngine/GenericViewport/Video/videoProjectionAdapter.d.ts +8 -0
- package/dist/esm/RenderingEngine/GenericViewport/Video/videoProjectionAdapter.js +12 -0
- package/dist/esm/RenderingEngine/GenericViewport/Video/videoProjectionPresentation.d.ts +7 -0
- package/dist/esm/RenderingEngine/GenericViewport/Video/videoProjectionPresentation.js +66 -0
- package/dist/esm/RenderingEngine/GenericViewport/Video/videoProjectionSnapshot.d.ts +2 -0
- package/dist/esm/RenderingEngine/GenericViewport/Video/videoProjectionSnapshot.js +86 -0
- package/dist/esm/RenderingEngine/GenericViewport/Video/videoViewportCamera.d.ts +30 -0
- package/dist/esm/RenderingEngine/GenericViewport/Video/videoViewportCamera.js +105 -0
- package/dist/esm/RenderingEngine/GenericViewport/ViewportArchitectureTypes.d.ts +126 -0
- package/dist/esm/RenderingEngine/GenericViewport/ViewportArchitectureTypes.js +20 -0
- package/dist/esm/RenderingEngine/GenericViewport/ViewportCameraTypes.d.ts +12 -0
- package/dist/esm/RenderingEngine/GenericViewport/ViewportCameraTypes.js +0 -0
- package/dist/esm/RenderingEngine/GenericViewport/ViewportProjectionTypes.d.ts +101 -0
- package/dist/esm/RenderingEngine/GenericViewport/ViewportProjectionTypes.js +0 -0
- package/dist/esm/RenderingEngine/GenericViewport/Volume3D/DefaultVolume3DDataProvider.d.ts +8 -0
- package/dist/esm/RenderingEngine/GenericViewport/Volume3D/DefaultVolume3DDataProvider.js +58 -0
- package/dist/esm/RenderingEngine/GenericViewport/Volume3D/Volume3DProjectionTypes.d.ts +35 -0
- package/dist/esm/RenderingEngine/GenericViewport/Volume3D/Volume3DProjectionTypes.js +2 -0
- package/dist/esm/RenderingEngine/GenericViewport/Volume3D/Volume3DRenderPathResolver.d.ts +4 -0
- package/dist/esm/RenderingEngine/GenericViewport/Volume3D/Volume3DRenderPathResolver.js +9 -0
- package/dist/esm/RenderingEngine/GenericViewport/Volume3D/Volume3DResolvedView.d.ts +18 -0
- package/dist/esm/RenderingEngine/GenericViewport/Volume3D/Volume3DResolvedView.js +42 -0
- package/dist/esm/RenderingEngine/GenericViewport/Volume3D/VolumeViewport3DLegacyAdapter.d.ts +39 -0
- package/dist/esm/RenderingEngine/GenericViewport/Volume3D/VolumeViewport3DLegacyAdapter.js +296 -0
- package/dist/esm/RenderingEngine/GenericViewport/Volume3D/VtkGeometry3DRenderPath.d.ts +22 -0
- package/dist/esm/RenderingEngine/GenericViewport/Volume3D/VtkGeometry3DRenderPath.js +156 -0
- package/dist/esm/RenderingEngine/GenericViewport/Volume3D/VtkVolume3DRenderPath.d.ts +23 -0
- package/dist/esm/RenderingEngine/GenericViewport/Volume3D/VtkVolume3DRenderPath.js +205 -0
- package/dist/esm/RenderingEngine/GenericViewport/Volume3D/applyVolume3DCamera.d.ts +4 -0
- package/dist/esm/RenderingEngine/GenericViewport/Volume3D/applyVolume3DCamera.js +33 -0
- package/dist/esm/RenderingEngine/GenericViewport/Volume3D/index.d.ts +10 -0
- package/dist/esm/RenderingEngine/GenericViewport/Volume3D/index.js +8 -0
- package/dist/esm/RenderingEngine/GenericViewport/Volume3D/viewport3D.d.ts +60 -0
- package/dist/esm/RenderingEngine/GenericViewport/Volume3D/viewport3D.js +399 -0
- package/dist/esm/RenderingEngine/GenericViewport/Volume3D/viewport3DTypes.d.ts +88 -0
- package/dist/esm/RenderingEngine/GenericViewport/Volume3D/viewport3DTypes.js +0 -0
- package/dist/esm/RenderingEngine/GenericViewport/Volume3D/volume3DProjectionAdapter.d.ts +7 -0
- package/dist/esm/RenderingEngine/GenericViewport/Volume3D/volume3DProjectionAdapter.js +27 -0
- package/dist/esm/RenderingEngine/GenericViewport/Volume3D/volume3DProjectionCamera.d.ts +12 -0
- package/dist/esm/RenderingEngine/GenericViewport/Volume3D/volume3DProjectionCamera.js +35 -0
- package/dist/esm/RenderingEngine/GenericViewport/Volume3D/volume3DProjectionPresentation.d.ts +4 -0
- package/dist/esm/RenderingEngine/GenericViewport/Volume3D/volume3DProjectionPresentation.js +22 -0
- package/dist/esm/RenderingEngine/GenericViewport/Volume3D/volume3DProjectionSnapshot.d.ts +2 -0
- package/dist/esm/RenderingEngine/GenericViewport/Volume3D/volume3DProjectionSnapshot.js +52 -0
- package/dist/esm/RenderingEngine/GenericViewport/Volume3D/vtkVolume3DInitialCamera.d.ts +3 -0
- package/dist/esm/RenderingEngine/GenericViewport/Volume3D/vtkVolume3DInitialCamera.js +110 -0
- package/dist/esm/RenderingEngine/GenericViewport/WSI/DefaultWSIDataProvider.d.ts +6 -0
- package/dist/esm/RenderingEngine/GenericViewport/WSI/DefaultWSIDataProvider.js +35 -0
- package/dist/esm/RenderingEngine/GenericViewport/WSI/DicomMicroscopyRenderPath.d.ts +16 -0
- package/dist/esm/RenderingEngine/GenericViewport/WSI/DicomMicroscopyRenderPath.js +125 -0
- package/dist/esm/RenderingEngine/GenericViewport/WSI/WSIProjectionTypes.d.ts +40 -0
- package/dist/esm/RenderingEngine/GenericViewport/WSI/WSIProjectionTypes.js +2 -0
- package/dist/esm/RenderingEngine/GenericViewport/WSI/WSIRenderPathResolver.d.ts +4 -0
- package/dist/esm/RenderingEngine/GenericViewport/WSI/WSIRenderPathResolver.js +8 -0
- package/dist/esm/RenderingEngine/GenericViewport/WSI/WSIResolvedView.d.ts +26 -0
- package/dist/esm/RenderingEngine/GenericViewport/WSI/WSIResolvedView.js +104 -0
- package/dist/esm/RenderingEngine/GenericViewport/WSI/WSIViewport.d.ts +69 -0
- package/dist/esm/RenderingEngine/GenericViewport/WSI/WSIViewport.js +392 -0
- package/dist/esm/RenderingEngine/GenericViewport/WSI/WSIViewportLegacyAdapter.d.ts +22 -0
- package/dist/esm/RenderingEngine/GenericViewport/WSI/WSIViewportLegacyAdapter.js +144 -0
- package/dist/esm/RenderingEngine/GenericViewport/WSI/WSIViewportTypes.d.ts +58 -0
- package/dist/esm/RenderingEngine/GenericViewport/WSI/WSIViewportTypes.js +0 -0
- package/dist/esm/RenderingEngine/GenericViewport/WSI/index.d.ts +10 -0
- package/dist/esm/RenderingEngine/GenericViewport/WSI/index.js +8 -0
- package/dist/esm/RenderingEngine/GenericViewport/WSI/wsiProjectionAdapter.d.ts +8 -0
- package/dist/esm/RenderingEngine/GenericViewport/WSI/wsiProjectionAdapter.js +12 -0
- package/dist/esm/RenderingEngine/GenericViewport/WSI/wsiProjectionPresentation.d.ts +7 -0
- package/dist/esm/RenderingEngine/GenericViewport/WSI/wsiProjectionPresentation.js +47 -0
- package/dist/esm/RenderingEngine/GenericViewport/WSI/wsiProjectionSnapshot.d.ts +2 -0
- package/dist/esm/RenderingEngine/GenericViewport/WSI/wsiProjectionSnapshot.js +90 -0
- package/dist/esm/RenderingEngine/GenericViewport/WSI/wsiTransformUtils.d.ts +29 -0
- package/dist/esm/RenderingEngine/GenericViewport/WSI/wsiTransformUtils.js +128 -0
- package/dist/esm/RenderingEngine/GenericViewport/genericViewportDataSetAccess.d.ts +35 -0
- package/dist/esm/RenderingEngine/GenericViewport/genericViewportDataSetAccess.js +87 -0
- package/dist/esm/RenderingEngine/GenericViewport/genericViewportReferenceCompatibility.d.ts +18 -0
- package/dist/esm/RenderingEngine/GenericViewport/genericViewportReferenceCompatibility.js +238 -0
- package/dist/esm/RenderingEngine/GenericViewport/index.d.ts +23 -0
- package/dist/esm/RenderingEngine/GenericViewport/index.js +14 -0
- package/dist/esm/RenderingEngine/GenericViewport/setVtkCameraClippingRange.d.ts +2 -0
- package/dist/esm/RenderingEngine/GenericViewport/setVtkCameraClippingRange.js +8 -0
- package/dist/esm/RenderingEngine/GenericViewport/viewportProjection.d.ts +98 -0
- package/dist/esm/RenderingEngine/GenericViewport/viewportProjection.js +81 -0
- package/dist/esm/RenderingEngine/RenderingEngine.d.ts +3 -5
- package/dist/esm/RenderingEngine/RenderingEngine.js +3 -9
- package/dist/esm/RenderingEngine/StackViewport.d.ts +4 -1
- package/dist/esm/RenderingEngine/StackViewport.js +103 -53
- package/dist/esm/RenderingEngine/TiledRenderingEngine.d.ts +1 -0
- package/dist/esm/RenderingEngine/TiledRenderingEngine.js +23 -20
- package/dist/esm/RenderingEngine/VideoViewport.d.ts +5 -13
- package/dist/esm/RenderingEngine/VideoViewport.js +33 -68
- package/dist/esm/RenderingEngine/Viewport.d.ts +20 -5
- package/dist/esm/RenderingEngine/Viewport.js +149 -29
- package/dist/esm/RenderingEngine/VolumeViewport.js +26 -17
- package/dist/esm/RenderingEngine/VolumeViewport3D.js +2 -8
- package/dist/esm/RenderingEngine/WSIViewport.d.ts +12 -12
- package/dist/esm/RenderingEngine/WSIViewport.js +28 -101
- package/dist/esm/RenderingEngine/helpers/addVolumesToViewports.js +6 -8
- package/dist/esm/RenderingEngine/helpers/cpuFallback/colors/colormap.d.ts +4 -1
- package/dist/esm/RenderingEngine/helpers/cpuFallback/colors/colormap.js +157 -0
- package/dist/esm/RenderingEngine/helpers/cpuFallback/colors/index.d.ts +2 -3
- package/dist/esm/RenderingEngine/helpers/cpuFallback/colors/index.js +2 -3
- package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/calculateTransform.js +19 -4
- package/dist/esm/RenderingEngine/helpers/cpuFallback/rendering/renderPseudoColorImage.js +13 -3
- package/dist/esm/RenderingEngine/helpers/createVolumeSliceActor.d.ts +14 -0
- package/dist/esm/RenderingEngine/helpers/createVolumeSliceActor.js +69 -0
- package/dist/esm/RenderingEngine/helpers/getCameraVectors.d.ts +2 -1
- package/dist/esm/RenderingEngine/helpers/getCameraVectors.js +1 -1
- package/dist/esm/RenderingEngine/helpers/getProjectionScaleMatrix.d.ts +2 -0
- package/dist/esm/RenderingEngine/helpers/getProjectionScaleMatrix.js +10 -0
- package/dist/esm/RenderingEngine/helpers/index.d.ts +2 -1
- package/dist/esm/RenderingEngine/helpers/index.js +2 -1
- package/dist/esm/RenderingEngine/helpers/planarImageRendering.d.ts +51 -0
- package/dist/esm/RenderingEngine/helpers/planarImageRendering.js +116 -0
- package/dist/esm/RenderingEngine/helpers/planarVolumeRendering.d.ts +22 -0
- package/dist/esm/RenderingEngine/helpers/planarVolumeRendering.js +28 -0
- package/dist/esm/RenderingEngine/helpers/resolveViewportVolumeId.d.ts +1 -0
- package/dist/esm/RenderingEngine/helpers/resolveViewportVolumeId.js +19 -0
- package/dist/esm/RenderingEngine/helpers/setDefaultVolumeVOI.d.ts +3 -2
- package/dist/esm/RenderingEngine/helpers/setDefaultVolumeVOI.js +46 -15
- package/dist/esm/RenderingEngine/helpers/setVolumesForViewports.js +6 -9
- package/dist/esm/RenderingEngine/helpers/stats/RenderModesPanel.d.ts +19 -0
- package/dist/esm/RenderingEngine/helpers/stats/RenderModesPanel.js +228 -0
- package/dist/esm/RenderingEngine/helpers/stats/StatsOverlay.d.ts +22 -3
- package/dist/esm/RenderingEngine/helpers/stats/StatsOverlay.js +192 -18
- package/dist/esm/RenderingEngine/helpers/stats/constants.d.ts +13 -1
- package/dist/esm/RenderingEngine/helpers/stats/constants.js +14 -1
- package/dist/esm/RenderingEngine/helpers/stats/enums.d.ts +2 -1
- package/dist/esm/RenderingEngine/helpers/stats/enums.js +1 -0
- package/dist/esm/RenderingEngine/helpers/stats/types.d.ts +1 -1
- package/dist/esm/RenderingEngine/helpers/supportsVolumeCompatibilityApi.d.ts +4 -0
- package/dist/esm/RenderingEngine/helpers/supportsVolumeCompatibilityApi.js +7 -0
- package/dist/esm/RenderingEngine/helpers/viewportTypeToViewportClass.d.ts +27 -4
- package/dist/esm/RenderingEngine/helpers/viewportTypeToViewportClass.js +126 -11
- package/dist/esm/RenderingEngine/helpers/viewportTypeUsesCustomRenderingPipeline.d.ts +3 -1
- package/dist/esm/RenderingEngine/helpers/viewportTypeUsesCustomRenderingPipeline.js +9 -2
- package/dist/esm/RenderingEngine/helpers/vtkCanvasCoordinateTransforms.d.ts +12 -0
- package/dist/esm/RenderingEngine/helpers/vtkCanvasCoordinateTransforms.js +57 -0
- package/dist/esm/RenderingEngine/index.d.ts +69 -1
- package/dist/esm/RenderingEngine/index.js +40 -1
- package/dist/esm/RenderingEngine/vtkClasses/extendedVtkCamera.d.ts +38 -0
- package/dist/esm/RenderingEngine/vtkClasses/extendedVtkCamera.js +35 -0
- package/dist/esm/RenderingEngine/vtkClasses/index.d.ts +3 -1
- package/dist/esm/RenderingEngine/vtkClasses/index.js +3 -1
- package/dist/esm/RenderingEngine/vtkClasses/vtkSharedImageResliceMapper.d.ts +7 -0
- package/dist/esm/RenderingEngine/vtkClasses/vtkSharedImageResliceMapper.js +21 -0
- package/dist/esm/RenderingEngine/vtkClasses/vtkSlabCamera.d.ts +2 -0
- package/dist/esm/RenderingEngine/vtkClasses/vtkSlabCamera.js +9 -2
- package/dist/esm/RenderingEngine/vtkClasses/vtkStreamingOpenGLImageResliceMapper.d.ts +7 -0
- package/dist/esm/RenderingEngine/vtkClasses/vtkStreamingOpenGLImageResliceMapper.js +420 -0
- package/dist/esm/RenderingEngine/vtkClasses/vtkStreamingOpenGLViewNodeFactory.js +7 -0
- package/dist/esm/RenderingEngine/vtkClasses/vtkStreamingOpenGLVolumeMapper.js +9 -3
- package/dist/esm/cache/cache.d.ts +1 -1
- package/dist/esm/cache/cache.js +4 -1
- package/dist/esm/cache/classes/BaseStreamingImageVolume.js +6 -6
- package/dist/esm/cache/classes/ImageVolume.js +5 -0
- package/dist/esm/enums/CalibrationTypes.d.ts +4 -12
- package/dist/esm/enums/CalibrationTypes.js +3 -13
- package/dist/esm/enums/MetadataModules.d.ts +3 -38
- package/dist/esm/enums/MetadataModules.js +2 -39
- package/dist/esm/enums/ViewportStatus.d.ts +1 -0
- package/dist/esm/enums/ViewportStatus.js +1 -0
- package/dist/esm/enums/ViewportType.d.ts +6 -1
- package/dist/esm/enums/ViewportType.js +5 -0
- package/dist/esm/enums/ViewportTypes.d.ts +5 -0
- package/dist/esm/enums/ViewportTypes.js +23 -0
- package/dist/esm/enums/index.d.ts +2 -1
- package/dist/esm/enums/index.js +2 -1
- package/dist/esm/getEnabledElement.js +4 -1
- package/dist/esm/index.d.ts +74 -3
- package/dist/esm/index.js +43 -3
- package/dist/esm/init.d.ts +2 -1
- package/dist/esm/init.js +14 -1
- package/dist/esm/loaders/ProgressiveRetrieveImages.js +11 -11
- package/dist/esm/loaders/cornerstoneMeshLoader.js +1 -1
- package/dist/esm/loaders/imageLoader.d.ts +2 -1
- package/dist/esm/loaders/imageLoader.js +25 -10
- package/dist/esm/loaders/volumeLoader.js +8 -4
- package/dist/esm/metaData.d.ts +2 -8
- package/dist/esm/metaData.js +2 -75
- package/dist/esm/types/CPUFallbackViewport.d.ts +2 -0
- package/dist/esm/types/Cornerstone3DConfig.d.ts +11 -0
- package/dist/esm/types/EventTypes.d.ts +3 -3
- package/dist/esm/types/IActor.d.ts +33 -0
- package/dist/esm/types/IActor.js +8 -0
- package/dist/esm/types/ICamera.d.ts +11 -3
- package/dist/esm/types/IEnabledElement.d.ts +1 -1
- package/dist/esm/types/IImage.d.ts +1 -0
- package/dist/esm/types/IImageCalibration.d.ts +2 -11
- package/dist/esm/types/IViewport.d.ts +11 -1
- package/dist/esm/types/IWSIViewport.d.ts +3 -2
- package/dist/esm/types/ImagePlaneModule.d.ts +3 -1
- package/dist/esm/types/MetadataModuleTypes.d.ts +1 -70
- package/dist/esm/types/ViewportInputOptions.d.ts +2 -0
- package/dist/esm/types/ViewportTypeRegistry.d.ts +33 -0
- package/dist/esm/types/ViewportTypeRegistry.js +0 -0
- package/dist/esm/types/index.d.ts +8 -3
- package/dist/esm/types/index.js +2 -0
- package/dist/esm/utilities/ECGUtilities.d.ts +83 -0
- package/dist/esm/utilities/ECGUtilities.js +228 -0
- package/dist/esm/utilities/FrameRange.js +3 -2
- package/dist/esm/utilities/RLEVoxelMap.js +9 -7
- package/dist/esm/utilities/VideoUtilities.d.ts +34 -0
- package/dist/esm/utilities/VideoUtilities.js +102 -0
- package/dist/esm/utilities/VoxelManager.d.ts +20 -1
- package/dist/esm/utilities/VoxelManager.js +162 -27
- package/dist/esm/utilities/WSIUtilities.d.ts +119 -0
- package/dist/esm/utilities/WSIUtilities.js +110 -0
- package/dist/esm/utilities/buildMetadata.js +23 -23
- package/dist/esm/utilities/calculateSpacingBetweenImageIds.js +6 -5
- package/dist/esm/utilities/calibratedPixelSpacingMetadataProvider.d.ts +5 -5
- package/dist/esm/utilities/calibratedPixelSpacingMetadataProvider.js +2 -15
- package/dist/esm/utilities/clonePoint3.d.ts +3 -0
- package/dist/esm/utilities/clonePoint3.js +3 -0
- package/dist/esm/utilities/colormap.d.ts +2 -1
- package/dist/esm/utilities/colormap.js +43 -4
- package/dist/esm/utilities/convertColorArrayToRgbString.d.ts +1 -0
- package/dist/esm/utilities/convertColorArrayToRgbString.js +5 -0
- package/dist/esm/utilities/deepClone.d.ts +1 -1
- package/dist/esm/utilities/deepClone.js +46 -17
- package/dist/esm/utilities/genericMetadataProvider.js +2 -1
- package/dist/esm/utilities/genericViewportDataSetMetadataProvider.d.ts +8 -0
- package/dist/esm/utilities/genericViewportDataSetMetadataProvider.js +23 -0
- package/dist/esm/utilities/getAcquisitionPlaneOrientation.d.ts +2 -0
- package/dist/esm/utilities/getAcquisitionPlaneOrientation.js +7 -0
- package/dist/esm/utilities/getClosestImageId.js +2 -1
- package/dist/esm/utilities/getClosestStackImageIndexForPoint.js +2 -1
- package/dist/esm/utilities/getNormalizedAspectRatio.d.ts +2 -0
- package/dist/esm/utilities/getNormalizedAspectRatio.js +12 -0
- package/dist/esm/utilities/getPixelSpacingInformation.d.ts +5 -13
- package/dist/esm/utilities/getPixelSpacingInformation.js +4 -93
- package/dist/esm/utilities/getScalingParameters.js +4 -3
- package/dist/esm/utilities/getVOIRangeFromWindowLevel.d.ts +3 -0
- package/dist/esm/utilities/getVOIRangeFromWindowLevel.js +18 -0
- package/dist/esm/utilities/getViewportImageIds.js +1 -1
- package/dist/esm/utilities/getViewportsWithImageURI.d.ts +2 -4
- package/dist/esm/utilities/getViewportsWithImageURI.js +4 -1
- package/dist/esm/utilities/getViewportsWithVolumeId.d.ts +2 -2
- package/dist/esm/utilities/getViewportsWithVolumeId.js +4 -1
- package/dist/esm/utilities/getViewportsWithVolumeURI.d.ts +2 -2
- package/dist/esm/utilities/getViewportsWithVolumeURI.js +4 -1
- package/dist/esm/utilities/getVolumeViewReferenceId.d.ts +6 -0
- package/dist/esm/utilities/getVolumeViewReferenceId.js +6 -0
- package/dist/esm/utilities/getVolumeViewportScrollInfo.d.ts +1 -1
- package/dist/esm/utilities/getVolumeViewportsContainingSameVolumes.d.ts +2 -2
- package/dist/esm/utilities/getVolumeViewportsContainingSameVolumes.js +4 -1
- package/dist/esm/utilities/hasOwn.d.ts +1 -0
- package/dist/esm/utilities/hasOwn.js +3 -0
- package/dist/esm/utilities/imageIdToURI.d.ts +3 -1
- package/dist/esm/utilities/imageIdToURI.js +2 -4
- package/dist/esm/utilities/index.d.ts +13 -1
- package/dist/esm/utilities/index.js +13 -1
- package/dist/esm/utilities/isEqual.d.ts +3 -5
- package/dist/esm/utilities/isEqual.js +3 -48
- package/dist/esm/utilities/isValidVolume.js +19 -4
- package/dist/esm/utilities/isVideoTransferSyntax.d.ts +3 -1
- package/dist/esm/utilities/isVideoTransferSyntax.js +3 -25
- package/dist/esm/utilities/loadImageToCanvas.js +2 -2
- package/dist/esm/utilities/logger.d.ts +3 -14
- package/dist/esm/utilities/logger.js +2 -23
- package/dist/esm/utilities/rotateToViewCoordinates.js +7 -7
- package/dist/esm/utilities/scroll.d.ts +1 -1
- package/dist/esm/utilities/scroll.js +2 -1
- package/dist/esm/utilities/sortImageIdsAndGetSpacing.js +4 -3
- package/dist/esm/utilities/splitImageIdsBy4DTags.d.ts +2 -10
- package/dist/esm/utilities/splitImageIdsBy4DTags.js +2 -312
- package/dist/esm/utilities/toNumber.d.ts +3 -1
- package/dist/esm/utilities/toNumber.js +3 -3
- package/dist/esm/utilities/viewportCapabilities.d.ts +19 -0
- package/dist/esm/utilities/viewportCapabilities.js +32 -0
- package/dist/esm/version.d.ts +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/esm/webWorkerManager/webWorkerManager.js +3 -1
- package/package.json +16 -8
|
@@ -17,26 +17,25 @@ declare abstract class BaseRenderingEngine {
|
|
|
17
17
|
constructor(id?: string);
|
|
18
18
|
enableElement(viewportInputEntry: PublicViewportInput): void;
|
|
19
19
|
disableElement(viewportId: string): void;
|
|
20
|
+
disableViewport(viewportId: string): void;
|
|
20
21
|
setViewports(publicViewportInputEntries: PublicViewportInput[]): void;
|
|
21
22
|
resize(immediate?: boolean, keepCamera?: boolean): void;
|
|
22
|
-
getViewport(viewportId: string):
|
|
23
|
+
getViewport<T = IViewport>(viewportId: string): T;
|
|
23
24
|
getViewports(): IViewport[];
|
|
24
|
-
getStackViewport(viewportId: string): IStackViewport;
|
|
25
|
-
getStackViewports(): IStackViewport[];
|
|
26
|
-
getVolumeViewports(): IVolumeViewport[];
|
|
27
25
|
render(): void;
|
|
28
26
|
renderFrameOfReference: (FrameOfReferenceUID: string) => void;
|
|
29
27
|
renderViewports(viewportIds: string[]): void;
|
|
30
28
|
renderViewport(viewportId: string): void;
|
|
31
29
|
destroy(): void;
|
|
32
30
|
fillCanvasWithBackgroundColor(canvas: HTMLCanvasElement, backgroundColor: [number, number, number]): void;
|
|
31
|
+
private static readonly NEXT_TYPE_REMAP;
|
|
33
32
|
private _normalizeViewportInputEntry;
|
|
34
33
|
private _normalizeViewportInputEntries;
|
|
35
34
|
private _resizeUsingCustomResizeHandler;
|
|
36
35
|
private _removeViewport;
|
|
37
36
|
private addCustomViewport;
|
|
38
37
|
getRenderer(viewportId: any): import("@kitware/vtk.js/Rendering/Core/Renderer").vtkRenderer;
|
|
39
|
-
getOffscreenMultiRenderWindow(
|
|
38
|
+
getOffscreenMultiRenderWindow(_viewportId?: string): VtkOffscreenMultiRenderWindow;
|
|
40
39
|
private setCustomViewports;
|
|
41
40
|
protected _getViewportsAsArray(): IViewport[];
|
|
42
41
|
private _setViewportsToBeRenderedNextFrame;
|
|
@@ -4,14 +4,14 @@ import eventTarget from '../eventTarget';
|
|
|
4
4
|
import uuidv4 from '../utilities/uuidv4';
|
|
5
5
|
import triggerEvent from '../utilities/triggerEvent';
|
|
6
6
|
import ViewportType from '../enums/ViewportType';
|
|
7
|
-
import
|
|
8
|
-
import StackViewport from './StackViewport';
|
|
9
|
-
import viewportTypeUsesCustomRenderingPipeline from './helpers/viewportTypeUsesCustomRenderingPipeline';
|
|
7
|
+
import viewportTypeUsesCustomRenderingPipeline, { viewportUsesCustomRenderingPipeline, } from './helpers/viewportTypeUsesCustomRenderingPipeline';
|
|
10
8
|
import getOrCreateCanvas from './helpers/getOrCreateCanvas';
|
|
11
|
-
import { getShouldUseCPURendering, isCornerstoneInitialized, getConfiguration, } from '../init';
|
|
12
|
-
import
|
|
9
|
+
import { getShouldUseCPURendering, getUseGenericViewport, isCornerstoneInitialized, getConfiguration, } from '../init';
|
|
10
|
+
import { getViewportClassForInput } from './helpers/viewportTypeToViewportClass';
|
|
11
|
+
import ViewportStatus from '../enums/ViewportStatus';
|
|
13
12
|
import { OrientationAxis } from '../enums';
|
|
14
13
|
import { StatsOverlay } from './helpers/stats';
|
|
14
|
+
import { convertColorArrayToRgbString } from '../utilities/convertColorArrayToRgbString';
|
|
15
15
|
export const VIEWPORT_MIN_SIZE = 2;
|
|
16
16
|
class BaseRenderingEngine {
|
|
17
17
|
constructor(id) {
|
|
@@ -53,7 +53,7 @@ class BaseRenderingEngine {
|
|
|
53
53
|
}
|
|
54
54
|
const { type } = viewportInput;
|
|
55
55
|
const viewportUsesCustomRenderingPipeline = viewportTypeUsesCustomRenderingPipeline(type);
|
|
56
|
-
if (!
|
|
56
|
+
if (!viewportUsesCustomRenderingPipeline) {
|
|
57
57
|
this.enableVTKjsDrivenViewport(viewportInput);
|
|
58
58
|
}
|
|
59
59
|
else {
|
|
@@ -72,10 +72,8 @@ class BaseRenderingEngine {
|
|
|
72
72
|
}
|
|
73
73
|
this._resetViewport(viewport);
|
|
74
74
|
if (!viewportTypeUsesCustomRenderingPipeline(viewport.type) &&
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
this.offscreenMultiRenderWindow.removeRenderer(viewportId);
|
|
78
|
-
}
|
|
75
|
+
this.offscreenMultiRenderWindow) {
|
|
76
|
+
this.offscreenMultiRenderWindow.removeRenderer(viewportId);
|
|
79
77
|
}
|
|
80
78
|
this._removeViewport(viewportId);
|
|
81
79
|
viewport.isDisabled = true;
|
|
@@ -85,6 +83,9 @@ class BaseRenderingEngine {
|
|
|
85
83
|
this._clearAnimationFrame();
|
|
86
84
|
}
|
|
87
85
|
}
|
|
86
|
+
disableViewport(viewportId) {
|
|
87
|
+
this.disableElement(viewportId);
|
|
88
|
+
}
|
|
88
89
|
setViewports(publicViewportInputEntries) {
|
|
89
90
|
const viewportInputEntries = this._normalizeViewportInputEntries(publicViewportInputEntries);
|
|
90
91
|
this._throwIfDestroyed();
|
|
@@ -92,8 +93,7 @@ class BaseRenderingEngine {
|
|
|
92
93
|
const vtkDrivenViewportInputEntries = [];
|
|
93
94
|
const customRenderingViewportInputEntries = [];
|
|
94
95
|
viewportInputEntries.forEach((vpie) => {
|
|
95
|
-
if (!
|
|
96
|
-
!viewportTypeUsesCustomRenderingPipeline(vpie.type)) {
|
|
96
|
+
if (!viewportTypeUsesCustomRenderingPipeline(vpie.type)) {
|
|
97
97
|
vtkDrivenViewportInputEntries.push(vpie);
|
|
98
98
|
}
|
|
99
99
|
else {
|
|
@@ -114,7 +114,7 @@ class BaseRenderingEngine {
|
|
|
114
114
|
const vtkDrivenViewports = [];
|
|
115
115
|
const customRenderingViewports = [];
|
|
116
116
|
viewports.forEach((vpie) => {
|
|
117
|
-
if (!
|
|
117
|
+
if (!viewportUsesCustomRenderingPipeline(vpie)) {
|
|
118
118
|
vtkDrivenViewports.push(vpie);
|
|
119
119
|
}
|
|
120
120
|
else {
|
|
@@ -135,30 +135,6 @@ class BaseRenderingEngine {
|
|
|
135
135
|
this._throwIfDestroyed();
|
|
136
136
|
return this._getViewportsAsArray();
|
|
137
137
|
}
|
|
138
|
-
getStackViewport(viewportId) {
|
|
139
|
-
this._throwIfDestroyed();
|
|
140
|
-
const viewport = this.getViewport(viewportId);
|
|
141
|
-
if (!viewport) {
|
|
142
|
-
throw new Error(`Viewport with Id ${viewportId} does not exist`);
|
|
143
|
-
}
|
|
144
|
-
if (!(viewport instanceof StackViewport)) {
|
|
145
|
-
throw new Error(`Viewport with Id ${viewportId} is not a StackViewport.`);
|
|
146
|
-
}
|
|
147
|
-
return viewport;
|
|
148
|
-
}
|
|
149
|
-
getStackViewports() {
|
|
150
|
-
this._throwIfDestroyed();
|
|
151
|
-
const viewports = this.getViewports();
|
|
152
|
-
return viewports.filter((vp) => vp instanceof StackViewport);
|
|
153
|
-
}
|
|
154
|
-
getVolumeViewports() {
|
|
155
|
-
this._throwIfDestroyed();
|
|
156
|
-
const viewports = this.getViewports();
|
|
157
|
-
const isVolumeViewport = (viewport) => {
|
|
158
|
-
return viewport instanceof BaseVolumeViewport;
|
|
159
|
-
};
|
|
160
|
-
return viewports.filter(isVolumeViewport);
|
|
161
|
-
}
|
|
162
138
|
render() {
|
|
163
139
|
const viewports = this.getViewports();
|
|
164
140
|
const viewportIds = viewports.map((vp) => vp.id);
|
|
@@ -175,37 +151,40 @@ class BaseRenderingEngine {
|
|
|
175
151
|
return;
|
|
176
152
|
}
|
|
177
153
|
StatsOverlay.cleanup();
|
|
178
|
-
|
|
179
|
-
|
|
154
|
+
const viewports = this._getViewportsAsArray();
|
|
155
|
+
this._reset();
|
|
156
|
+
if (this.offscreenMultiRenderWindow) {
|
|
180
157
|
viewports.forEach((vp) => {
|
|
181
|
-
if (this.offscreenMultiRenderWindow
|
|
158
|
+
if (this.offscreenMultiRenderWindow &&
|
|
159
|
+
!viewportUsesCustomRenderingPipeline(vp) &&
|
|
160
|
+
this.offscreenMultiRenderWindow.getRenderer(vp.id)) {
|
|
182
161
|
this.offscreenMultiRenderWindow.removeRenderer(vp.id);
|
|
183
162
|
}
|
|
184
163
|
});
|
|
185
|
-
|
|
186
|
-
this.offscreenMultiRenderWindow.delete();
|
|
187
|
-
}
|
|
164
|
+
this.offscreenMultiRenderWindow.delete();
|
|
188
165
|
delete this.offscreenMultiRenderWindow;
|
|
189
166
|
}
|
|
190
|
-
this._reset();
|
|
191
167
|
renderingEngineCache.delete(this.id);
|
|
192
168
|
this.hasBeenDestroyed = true;
|
|
193
169
|
}
|
|
194
170
|
fillCanvasWithBackgroundColor(canvas, backgroundColor) {
|
|
195
171
|
const ctx = canvas.getContext('2d');
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
fillStyle = `rgb(${rgb[0]}, ${rgb[1]}, ${rgb[2]})`;
|
|
200
|
-
}
|
|
201
|
-
else {
|
|
202
|
-
fillStyle = 'black';
|
|
203
|
-
}
|
|
172
|
+
const fillStyle = backgroundColor
|
|
173
|
+
? convertColorArrayToRgbString(backgroundColor)
|
|
174
|
+
: 'black';
|
|
204
175
|
ctx.fillStyle = fillStyle;
|
|
205
176
|
ctx.fillRect(0, 0, canvas.width, canvas.height);
|
|
206
177
|
}
|
|
207
178
|
_normalizeViewportInputEntry(viewportInputEntry) {
|
|
208
|
-
const
|
|
179
|
+
const requestedType = viewportInputEntry.type;
|
|
180
|
+
let { type } = viewportInputEntry;
|
|
181
|
+
const { defaultOptions } = viewportInputEntry;
|
|
182
|
+
if (getUseGenericViewport()) {
|
|
183
|
+
const remapped = BaseRenderingEngine.NEXT_TYPE_REMAP[type];
|
|
184
|
+
if (remapped) {
|
|
185
|
+
type = remapped;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
209
188
|
let options = defaultOptions;
|
|
210
189
|
if (!options || Object.keys(options).length === 0) {
|
|
211
190
|
options = {
|
|
@@ -213,7 +192,7 @@ class BaseRenderingEngine {
|
|
|
213
192
|
orientation: null,
|
|
214
193
|
displayArea: null,
|
|
215
194
|
};
|
|
216
|
-
if (
|
|
195
|
+
if (requestedType === ViewportType.ORTHOGRAPHIC) {
|
|
217
196
|
options = {
|
|
218
197
|
...options,
|
|
219
198
|
orientation: OrientationAxis.AXIAL,
|
|
@@ -222,6 +201,10 @@ class BaseRenderingEngine {
|
|
|
222
201
|
}
|
|
223
202
|
return {
|
|
224
203
|
...viewportInputEntry,
|
|
204
|
+
requestedType: requestedType !== type || getUseGenericViewport()
|
|
205
|
+
? requestedType
|
|
206
|
+
: undefined,
|
|
207
|
+
type,
|
|
225
208
|
defaultOptions: options,
|
|
226
209
|
};
|
|
227
210
|
}
|
|
@@ -234,16 +217,7 @@ class BaseRenderingEngine {
|
|
|
234
217
|
}
|
|
235
218
|
_resizeUsingCustomResizeHandler(customRenderingViewports, keepCamera = true, immediate = true) {
|
|
236
219
|
customRenderingViewports.forEach((vp) => {
|
|
237
|
-
|
|
238
|
-
vp.resize();
|
|
239
|
-
}
|
|
240
|
-
});
|
|
241
|
-
customRenderingViewports.forEach((vp) => {
|
|
242
|
-
const prevCamera = vp.getCamera();
|
|
243
|
-
vp.resetCamera();
|
|
244
|
-
if (keepCamera) {
|
|
245
|
-
vp.setCamera(prevCamera);
|
|
246
|
-
}
|
|
220
|
+
vp.resizeForRenderingEngine({ keepCamera });
|
|
247
221
|
});
|
|
248
222
|
if (immediate) {
|
|
249
223
|
this.render();
|
|
@@ -278,8 +252,9 @@ class BaseRenderingEngine {
|
|
|
278
252
|
sHeight: clientHeight,
|
|
279
253
|
defaultOptions: defaultOptions || {},
|
|
280
254
|
};
|
|
281
|
-
const
|
|
282
|
-
const viewport = new
|
|
255
|
+
const ViewportClass = getViewportClassForInput(viewportInputEntry);
|
|
256
|
+
const viewport = new ViewportClass(viewportInput);
|
|
257
|
+
viewport.requestedType = type;
|
|
283
258
|
this._viewports.set(viewportId, viewport);
|
|
284
259
|
const eventDetail = {
|
|
285
260
|
element,
|
|
@@ -291,9 +266,9 @@ class BaseRenderingEngine {
|
|
|
291
266
|
getRenderer(viewportId) {
|
|
292
267
|
return this.offscreenMultiRenderWindow.getRenderer(viewportId);
|
|
293
268
|
}
|
|
294
|
-
getOffscreenMultiRenderWindow(
|
|
295
|
-
if (this.
|
|
296
|
-
throw new Error('Offscreen multi render window is not available
|
|
269
|
+
getOffscreenMultiRenderWindow(_viewportId) {
|
|
270
|
+
if (!this.offscreenMultiRenderWindow) {
|
|
271
|
+
throw new Error('Offscreen multi render window is not available.');
|
|
297
272
|
}
|
|
298
273
|
return this.offscreenMultiRenderWindow;
|
|
299
274
|
}
|
|
@@ -308,6 +283,10 @@ class BaseRenderingEngine {
|
|
|
308
283
|
_setViewportsToBeRenderedNextFrame(viewportIds) {
|
|
309
284
|
viewportIds.forEach((viewportId) => {
|
|
310
285
|
this._needsRender.add(viewportId);
|
|
286
|
+
const viewport = this._viewports.get(viewportId);
|
|
287
|
+
if (viewport) {
|
|
288
|
+
viewport.viewportStatus = ViewportStatus.NEEDS_RENDER;
|
|
289
|
+
}
|
|
311
290
|
});
|
|
312
291
|
this._render();
|
|
313
292
|
}
|
|
@@ -327,6 +306,7 @@ class BaseRenderingEngine {
|
|
|
327
306
|
};
|
|
328
307
|
viewport.removeWidgets();
|
|
329
308
|
triggerEvent(eventTarget, Events.ELEMENT_DISABLED, eventDetail);
|
|
309
|
+
viewport.destroy?.();
|
|
330
310
|
element.removeAttribute('data-viewport-uid');
|
|
331
311
|
element.removeAttribute('data-rendering-engine-uid');
|
|
332
312
|
const context = canvas.getContext('2d');
|
|
@@ -352,4 +332,12 @@ class BaseRenderingEngine {
|
|
|
352
332
|
}
|
|
353
333
|
}
|
|
354
334
|
}
|
|
335
|
+
BaseRenderingEngine.NEXT_TYPE_REMAP = {
|
|
336
|
+
[ViewportType.STACK]: ViewportType.PLANAR_NEXT,
|
|
337
|
+
[ViewportType.ORTHOGRAPHIC]: ViewportType.PLANAR_NEXT,
|
|
338
|
+
[ViewportType.VIDEO]: ViewportType.VIDEO_NEXT,
|
|
339
|
+
[ViewportType.WHOLE_SLIDE]: ViewportType.WHOLE_SLIDE_NEXT,
|
|
340
|
+
[ViewportType.ECG]: ViewportType.ECG_NEXT,
|
|
341
|
+
[ViewportType.VOLUME_3D]: ViewportType.VOLUME_3D_NEXT,
|
|
342
|
+
};
|
|
355
343
|
export default BaseRenderingEngine;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { mat4 } from 'gl-matrix';
|
|
2
2
|
import type { BlendModes, InterpolationType } from '../enums';
|
|
3
3
|
import { OrientationAxis } from '../enums';
|
|
4
|
-
import type { FlipDirection, IImageData, IVolumeInput, OrientationVectors, Point2, Point3, VolumeViewportProperties, ViewReferenceSpecifier, ReferenceCompatibleOptions, ViewReference, ICamera } from '../types';
|
|
4
|
+
import type { ActorEntry, FlipDirection, IImageData, IVolumeInput, OrientationVectors, Point2, Point3, VolumeViewportProperties, ViewReferenceSpecifier, ReferenceCompatibleOptions, ViewReference, ICamera } from '../types';
|
|
5
5
|
import type { VoiModifiedEventDetail } from '../types/EventTypes';
|
|
6
6
|
import type { PlaneRestriction, ViewportInput } from '../types/IViewport';
|
|
7
7
|
import type { TransferFunctionNodes } from '../types/ITransferFunctionNode';
|
|
@@ -20,6 +20,7 @@ declare abstract class BaseVolumeViewport extends Viewport {
|
|
|
20
20
|
private volumeIds;
|
|
21
21
|
constructor(props: ViewportInput);
|
|
22
22
|
static get useCustomRenderingPipeline(): boolean;
|
|
23
|
+
isOrientationChangeable(): boolean;
|
|
23
24
|
getSliceViewInfo(): {
|
|
24
25
|
width: number;
|
|
25
26
|
height: number;
|
|
@@ -46,7 +47,7 @@ declare abstract class BaseVolumeViewport extends Viewport {
|
|
|
46
47
|
isReferenceViewable(viewRef: ViewReference, options?: ReferenceCompatibleOptions): boolean;
|
|
47
48
|
scroll(delta?: number): void;
|
|
48
49
|
abstract isInAcquisitionPlane(): boolean;
|
|
49
|
-
setBestOrentation(inPlaneVector1:
|
|
50
|
+
setBestOrentation(inPlaneVector1: Point3, inPlaneVector2: Point3): void;
|
|
50
51
|
setViewPlane(planeRestriction: PlaneRestriction): void;
|
|
51
52
|
setViewReference(viewRef: ViewReference): void;
|
|
52
53
|
private setThreshold;
|
|
@@ -55,11 +56,12 @@ declare abstract class BaseVolumeViewport extends Viewport {
|
|
|
55
56
|
private setSmoothing;
|
|
56
57
|
protected shouldUseCustomRenderPass(): boolean;
|
|
57
58
|
getRenderPasses: () => any[];
|
|
59
|
+
protected _restoreVolumeRenderingDefaults(volumeActor: ActorEntry, volumeId: string): void;
|
|
58
60
|
resetToDefaultProperties(volumeId: string): void;
|
|
59
61
|
private setPreset;
|
|
60
62
|
setSampleDistanceMultiplier(multiplier: number): void;
|
|
61
63
|
getDefaultProperties: (volumeId?: string) => VolumeViewportProperties;
|
|
62
|
-
getProperties: (volumeId?: string) => VolumeViewportProperties;
|
|
64
|
+
getProperties: (volumeId?: string) => VolumeViewportProperties | undefined | null;
|
|
63
65
|
private getColormap;
|
|
64
66
|
setVolumes(volumeInputArray: IVolumeInput[], immediate?: boolean, suppressEvents?: boolean): Promise<void>;
|
|
65
67
|
addVolumes(volumeInputArray: IVolumeInput[], immediate?: boolean, suppressEvents?: boolean): Promise<void>;
|
|
@@ -88,7 +90,7 @@ declare abstract class BaseVolumeViewport extends Viewport {
|
|
|
88
90
|
getRendererContextPool(): vtkRenderer;
|
|
89
91
|
getRendererTiled(): vtkRenderer;
|
|
90
92
|
hasImageURI: (imageURI: string) => boolean;
|
|
91
|
-
protected _getViewUp(viewPlaneNormal:
|
|
93
|
+
protected _getViewUp(viewPlaneNormal: Point3): Point3;
|
|
92
94
|
protected _getOrientationVectors(orientation: OrientationAxis | OrientationVectors): OrientationVectors;
|
|
93
95
|
protected _getAcquisitionPlaneOrientation(): OrientationVectors;
|
|
94
96
|
getSlabThickness(): number;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import vtkColorTransferFunction from '@kitware/vtk.js/Rendering/Core/ColorTransferFunction';
|
|
2
|
-
import vtkColorMaps from '@kitware/vtk.js/Rendering/Core/ColorTransferFunction/ColorMaps';
|
|
3
2
|
import vtkPiecewiseFunction from '@kitware/vtk.js/Common/DataModel/PiecewiseFunction';
|
|
4
3
|
import { vec2, vec3 } from 'gl-matrix';
|
|
5
4
|
import cache from '../cache/cache';
|
|
@@ -14,13 +13,14 @@ import invertRgbTransferFunction from '../utilities/invertRgbTransferFunction';
|
|
|
14
13
|
import createSigmoidRGBTransferFunction from '../utilities/createSigmoidRGBTransferFunction';
|
|
15
14
|
import transformWorldToIndex from '../utilities/transformWorldToIndex';
|
|
16
15
|
import { findMatchingColormap, updateOpacity as colormapUpdateOpacity, updateThreshold as colormapUpdateThreshold, getThresholdValue, getMaxOpacity, } from '../utilities/colormap';
|
|
17
|
-
import
|
|
16
|
+
import getAcquisitionPlaneOrientation from '../utilities/getAcquisitionPlaneOrientation';
|
|
17
|
+
import { getTransferFunctionNodes, setTransferFunctionNodes, } from '../utilities/transferFunctionUtils';
|
|
18
18
|
import createVolumeActor from './helpers/createVolumeActor';
|
|
19
19
|
import volumeNewImageEventDispatcher, { resetVolumeNewImageState, } from './helpers/volumeNewImageEventDispatcher';
|
|
20
20
|
import Viewport from './Viewport';
|
|
21
21
|
import vtkSlabCamera from './vtkClasses/vtkSlabCamera';
|
|
22
22
|
import getVolumeViewportScrollInfo from '../utilities/getVolumeViewportScrollInfo';
|
|
23
|
-
import { actorIsA } from '../utilities/actorCheck';
|
|
23
|
+
import { actorIsA, isImageActor } from '../utilities/actorCheck';
|
|
24
24
|
import snapFocalPointToSlice from '../utilities/snapFocalPointToSlice';
|
|
25
25
|
import getVoiFromSigmoidRGBTransferFunction from '../utilities/getVoiFromSigmoidRGBTransferFunction';
|
|
26
26
|
import isEqual, { isEqualAbs, isEqualNegative } from '../utilities/isEqual';
|
|
@@ -31,6 +31,7 @@ import { getCameraVectors } from './helpers/getCameraVectors';
|
|
|
31
31
|
import { isContextPoolRenderingEngine } from './helpers/isContextPoolRenderingEngine';
|
|
32
32
|
import mprCameraValues from '../constants/mprCameraValues';
|
|
33
33
|
import { isInvalidNumber } from './helpers/isInvalidNumber';
|
|
34
|
+
import getVolumeViewReferenceId from '../utilities/getVolumeViewReferenceId';
|
|
34
35
|
import { createSharpeningRenderPass, createSmoothingRenderPass, } from './renderPasses';
|
|
35
36
|
class BaseVolumeViewport extends Viewport {
|
|
36
37
|
constructor(props) {
|
|
@@ -367,6 +368,9 @@ class BaseVolumeViewport extends Viewport {
|
|
|
367
368
|
static get useCustomRenderingPipeline() {
|
|
368
369
|
return false;
|
|
369
370
|
}
|
|
371
|
+
isOrientationChangeable() {
|
|
372
|
+
return true;
|
|
373
|
+
}
|
|
370
374
|
getSliceViewInfo() {
|
|
371
375
|
throw new Error('Method not implemented.');
|
|
372
376
|
}
|
|
@@ -391,7 +395,8 @@ class BaseVolumeViewport extends Viewport {
|
|
|
391
395
|
initializeVolumeNewImageEventDispatcher() {
|
|
392
396
|
const volumeNewImageHandlerBound = volumeNewImageHandler.bind(this);
|
|
393
397
|
const volumeNewImageCleanUpBound = volumeNewImageCleanUp.bind(this);
|
|
394
|
-
function volumeNewImageHandler(
|
|
398
|
+
function volumeNewImageHandler(event) {
|
|
399
|
+
const cameraEvent = event;
|
|
395
400
|
const { viewportId } = cameraEvent.detail;
|
|
396
401
|
if (viewportId !== this.id || this.isDisabled) {
|
|
397
402
|
return;
|
|
@@ -430,11 +435,7 @@ class BaseVolumeViewport extends Viewport {
|
|
|
430
435
|
}
|
|
431
436
|
const { volumeActor } = applicableVolumeActorInfo;
|
|
432
437
|
const cfun = vtkColorTransferFunction.newInstance();
|
|
433
|
-
|
|
434
|
-
const { name } = colormap;
|
|
435
|
-
if (!colormapObj) {
|
|
436
|
-
colormapObj = vtkColorMaps.getPresetByName(name);
|
|
437
|
-
}
|
|
438
|
+
const colormapObj = colormapUtils.resolveColormap(colormap.name);
|
|
438
439
|
if (!colormapObj) {
|
|
439
440
|
throw new Error(`Colormap ${colormap} not found`);
|
|
440
441
|
}
|
|
@@ -834,6 +835,21 @@ class BaseVolumeViewport extends Viewport {
|
|
|
834
835
|
shouldUseCustomRenderPass() {
|
|
835
836
|
return !this.useCPURendering;
|
|
836
837
|
}
|
|
838
|
+
_restoreVolumeRenderingDefaults(volumeActor, volumeId) {
|
|
839
|
+
if (!isImageActor(volumeActor)) {
|
|
840
|
+
return;
|
|
841
|
+
}
|
|
842
|
+
const properties = this.getDefaultProperties(volumeId);
|
|
843
|
+
if (properties?.preset || properties?.colormap) {
|
|
844
|
+
this.setProperties(properties, volumeId, true);
|
|
845
|
+
}
|
|
846
|
+
else {
|
|
847
|
+
const transferFunction = volumeActor.actor
|
|
848
|
+
.getProperty()
|
|
849
|
+
.getRGBTransferFunction(0);
|
|
850
|
+
setTransferFunctionNodes(transferFunction, this.initialTransferFunctionNodes);
|
|
851
|
+
}
|
|
852
|
+
}
|
|
837
853
|
resetToDefaultProperties(volumeId) {
|
|
838
854
|
const properties = this.globalDefaultProperties;
|
|
839
855
|
if (properties.colormap?.name) {
|
|
@@ -869,24 +885,21 @@ class BaseVolumeViewport extends Viewport {
|
|
|
869
885
|
return;
|
|
870
886
|
}
|
|
871
887
|
const { volumeActor } = applicableVolumeActorInfo;
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
});
|
|
877
|
-
}
|
|
878
|
-
if (!preset) {
|
|
888
|
+
const viewportPreset = typeof presetNameOrObj === 'string'
|
|
889
|
+
? VIEWPORT_PRESETS.find((preset) => preset.name === presetNameOrObj)
|
|
890
|
+
: presetNameOrObj;
|
|
891
|
+
if (!viewportPreset) {
|
|
879
892
|
return;
|
|
880
893
|
}
|
|
881
|
-
applyPreset(volumeActor,
|
|
882
|
-
this.viewportProperties.preset =
|
|
894
|
+
applyPreset(volumeActor, viewportPreset);
|
|
895
|
+
this.viewportProperties.preset = viewportPreset.name;
|
|
883
896
|
this.render();
|
|
884
897
|
if (!suppressEvents) {
|
|
885
898
|
triggerEvent(this.element, Events.PRESET_MODIFIED, {
|
|
886
899
|
viewportId: this.id,
|
|
887
900
|
volumeId: applicableVolumeActorInfo.volumeId,
|
|
888
901
|
actor: volumeActor,
|
|
889
|
-
presetName:
|
|
902
|
+
presetName: viewportPreset.name,
|
|
890
903
|
});
|
|
891
904
|
}
|
|
892
905
|
}
|
|
@@ -1159,13 +1172,7 @@ class BaseVolumeViewport extends Viewport {
|
|
|
1159
1172
|
if (!imageVolume) {
|
|
1160
1173
|
throw new Error(`imageVolume with id: ${volumeId} does not exist in cache`);
|
|
1161
1174
|
}
|
|
1162
|
-
|
|
1163
|
-
const viewPlaneNormal = direction.slice(6, 9).map((x) => -x);
|
|
1164
|
-
const viewUp = direction.slice(3, 6).map((x) => -x);
|
|
1165
|
-
return {
|
|
1166
|
-
viewPlaneNormal,
|
|
1167
|
-
viewUp,
|
|
1168
|
-
};
|
|
1175
|
+
return getAcquisitionPlaneOrientation(imageVolume);
|
|
1169
1176
|
}
|
|
1170
1177
|
getSlabThickness() {
|
|
1171
1178
|
const actors = this.getActors();
|
|
@@ -1215,10 +1222,12 @@ class BaseVolumeViewport extends Viewport {
|
|
|
1215
1222
|
}
|
|
1216
1223
|
const currentIndex = this.getSliceIndex();
|
|
1217
1224
|
sliceIndex ??= currentIndex;
|
|
1218
|
-
const { viewPlaneNormal
|
|
1219
|
-
|
|
1220
|
-
|
|
1221
|
-
|
|
1225
|
+
const { viewPlaneNormal } = this.getCamera();
|
|
1226
|
+
return getVolumeViewReferenceId({
|
|
1227
|
+
sliceIndex,
|
|
1228
|
+
viewPlaneNormal,
|
|
1229
|
+
volumeId,
|
|
1230
|
+
});
|
|
1222
1231
|
}
|
|
1223
1232
|
_addVolumeId(volumeId) {
|
|
1224
1233
|
this.volumeIds.add(volumeId);
|
|
@@ -4,12 +4,20 @@ export default class CanvasProperties {
|
|
|
4
4
|
private opacity;
|
|
5
5
|
private outlineOpacity;
|
|
6
6
|
private transferFunction;
|
|
7
|
+
private scalarOpacityFunction;
|
|
8
|
+
private colorCache;
|
|
7
9
|
constructor(actor: CanvasActor);
|
|
8
10
|
setRGBTransferFunction(index: any, cfun: any): void;
|
|
9
|
-
|
|
11
|
+
getRGBTransferFunction(index?: number): any;
|
|
12
|
+
setScalarOpacity(indexOrOpacity: any, scalarOpacityFunction?: any): void;
|
|
13
|
+
getScalarOpacity(): any;
|
|
14
|
+
getOpacity(): number;
|
|
10
15
|
setInterpolationTypeToNearest(): void;
|
|
11
16
|
setUseLabelOutline(): void;
|
|
12
17
|
setLabelOutlineOpacity(opacity: any): void;
|
|
13
18
|
setLabelOutlineThickness(): void;
|
|
14
|
-
|
|
19
|
+
modified(): void;
|
|
20
|
+
getColorBytes(index: number, destination?: Uint8ClampedArray | Uint8Array | number[], offset?: number): [number, number, number, number];
|
|
21
|
+
getColor(index: number): number[];
|
|
22
|
+
private invalidateColorCache;
|
|
15
23
|
}
|
|
@@ -3,12 +3,37 @@ export default class CanvasProperties {
|
|
|
3
3
|
this.opacity = 0.4;
|
|
4
4
|
this.outlineOpacity = 0.4;
|
|
5
5
|
this.transferFunction = [];
|
|
6
|
+
this.colorCache = new Map();
|
|
6
7
|
this.actor = actor;
|
|
7
8
|
}
|
|
8
9
|
setRGBTransferFunction(index, cfun) {
|
|
9
10
|
this.transferFunction[index] = cfun;
|
|
11
|
+
this.invalidateColorCache();
|
|
10
12
|
}
|
|
11
|
-
|
|
13
|
+
getRGBTransferFunction(index = 0) {
|
|
14
|
+
return this.transferFunction[index];
|
|
15
|
+
}
|
|
16
|
+
setScalarOpacity(indexOrOpacity, scalarOpacityFunction) {
|
|
17
|
+
if (scalarOpacityFunction?.getValue) {
|
|
18
|
+
this.scalarOpacityFunction = scalarOpacityFunction;
|
|
19
|
+
this.invalidateColorCache();
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
if (indexOrOpacity?.getValue) {
|
|
23
|
+
this.scalarOpacityFunction = indexOrOpacity;
|
|
24
|
+
this.invalidateColorCache();
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
if (typeof indexOrOpacity === 'number') {
|
|
28
|
+
this.opacity = indexOrOpacity;
|
|
29
|
+
this.invalidateColorCache();
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
getScalarOpacity() {
|
|
33
|
+
return this.scalarOpacityFunction;
|
|
34
|
+
}
|
|
35
|
+
getOpacity() {
|
|
36
|
+
return this.opacity;
|
|
12
37
|
}
|
|
13
38
|
setInterpolationTypeToNearest() {
|
|
14
39
|
}
|
|
@@ -19,11 +44,44 @@ export default class CanvasProperties {
|
|
|
19
44
|
}
|
|
20
45
|
setLabelOutlineThickness() {
|
|
21
46
|
}
|
|
47
|
+
modified() {
|
|
48
|
+
this.invalidateColorCache();
|
|
49
|
+
}
|
|
50
|
+
getColorBytes(index, destination, offset = 0) {
|
|
51
|
+
let color = this.colorCache.get(index);
|
|
52
|
+
if (!color) {
|
|
53
|
+
const cfun = this.transferFunction[0];
|
|
54
|
+
if (!cfun) {
|
|
55
|
+
color = [0, 0, 0, 0];
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
const rawOpacity = this.scalarOpacityFunction?.getValue
|
|
59
|
+
? this.scalarOpacityFunction.getValue(index)
|
|
60
|
+
: this.opacity;
|
|
61
|
+
const opacity = Math.min(Math.max(rawOpacity, 0), 1);
|
|
62
|
+
color = [
|
|
63
|
+
Math.round(Math.min(Math.max(cfun.getRedValue(index), 0), 1) * 255),
|
|
64
|
+
Math.round(Math.min(Math.max(cfun.getGreenValue(index), 0), 1) * 255),
|
|
65
|
+
Math.round(Math.min(Math.max(cfun.getBlueValue(index), 0), 1) * 255),
|
|
66
|
+
Math.round(opacity * 255),
|
|
67
|
+
];
|
|
68
|
+
}
|
|
69
|
+
this.colorCache.set(index, color);
|
|
70
|
+
}
|
|
71
|
+
if (destination) {
|
|
72
|
+
destination[offset] = color[0];
|
|
73
|
+
destination[offset + 1] = color[1];
|
|
74
|
+
destination[offset + 2] = color[2];
|
|
75
|
+
destination[offset + 3] = color[3];
|
|
76
|
+
}
|
|
77
|
+
return color;
|
|
78
|
+
}
|
|
22
79
|
getColor(index) {
|
|
23
|
-
const
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
80
|
+
const [r, g, b, opacity] = this.getColorBytes(index);
|
|
81
|
+
return [r / 255, g / 255, b / 255, opacity / 255];
|
|
82
|
+
}
|
|
83
|
+
invalidateColorCache() {
|
|
84
|
+
this.colorCache.clear();
|
|
85
|
+
this.actor.modified();
|
|
28
86
|
}
|
|
29
87
|
}
|
|
@@ -8,6 +8,9 @@ export default class CanvasActor {
|
|
|
8
8
|
private visibility;
|
|
9
9
|
private mapper;
|
|
10
10
|
private viewport;
|
|
11
|
+
private rasterDirty;
|
|
12
|
+
private hasCachedRaster;
|
|
13
|
+
private cachedImageData?;
|
|
11
14
|
protected className: string;
|
|
12
15
|
protected canvas: any;
|
|
13
16
|
constructor(viewport: IViewport, derivedImage: any);
|
|
@@ -19,5 +22,6 @@ export default class CanvasActor {
|
|
|
19
22
|
setVisibility(visibility: boolean): void;
|
|
20
23
|
getMapper(): CanvasMapper;
|
|
21
24
|
isA(actorType: any): boolean;
|
|
25
|
+
modified(): void;
|
|
22
26
|
getImage(): any;
|
|
23
27
|
}
|