@cornerstonejs/core 4.22.13 → 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 +48 -61
- package/dist/esm/RenderingEngine/BaseVolumeViewport.js +10 -17
- 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 +52 -34
- package/dist/esm/RenderingEngine/ECGViewport.d.ts +1 -1
- package/dist/esm/RenderingEngine/ECGViewport.js +33 -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 +0 -1
- package/dist/esm/RenderingEngine/StackViewport.js +37 -45
- 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 +32 -68
- package/dist/esm/RenderingEngine/Viewport.d.ts +14 -5
- package/dist/esm/RenderingEngine/Viewport.js +60 -24
- package/dist/esm/RenderingEngine/VolumeViewport.js +20 -7
- 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 +13 -3
- 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/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/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/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/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 +72 -2
- package/dist/esm/index.js +41 -2
- 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/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 +2 -2
- package/dist/esm/types/IEnabledElement.d.ts +1 -1
- package/dist/esm/types/IImageCalibration.d.ts +2 -11
- package/dist/esm/types/IViewport.d.ts +9 -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/ViewportTypeRegistry.d.ts +33 -0
- package/dist/esm/types/ViewportTypeRegistry.js +0 -0
- package/dist/esm/types/index.d.ts +7 -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/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/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 -7
- package/dist/esm/utilities/index.d.ts +11 -1
- package/dist/esm/utilities/index.js +11 -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
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export { defaultRenderPathResolver, DefaultRenderPathResolver, } from './DefaultRenderPathResolver';
|
|
2
|
+
export { default as GenericViewport } from './GenericViewport';
|
|
3
|
+
export { ViewportProjectionService, viewportProjection, } from './viewportProjection';
|
|
4
|
+
export type { BuiltInViewportProjectionByKind, BuiltInViewportProjectionByType, BuiltInViewportProjectionKind, BuiltInViewportProjectionType, ProjectionPresentationForKind, ProjectionPresentationForViewport, ProjectionPresentationForViewportType, ProjectionSnapshotForKind, ProjectionSnapshotForViewport, ProjectionSnapshotForViewportType, ProjectionViewStateForKind, ProjectionViewStateForViewport, ProjectionViewStateForViewportType, } from './viewportProjection';
|
|
5
|
+
export type { ProjectionPosition, ProjectionPresentation, ProjectionRequest, ProjectionScale, ProjectionSnapshot, ProjectionSpaces, ProjectionTransforms, ProjectionWriteOptions, ViewportProjectionAdapter, } from './ViewportProjectionTypes';
|
|
6
|
+
export type { CameraFrame, CameraScale, CameraScaleMode, ViewAnchor, ViewportCameraBase, } from './ViewportCameraTypes';
|
|
7
|
+
export type { BaseViewportRenderContext, BasePresentationProps, DataAddOptions, DataId, DataProvider, ICanvasWorldViewport, IFrameOfReferenceViewport, IPanViewport, IZoomViewport, LoadedData, MountedRendering, RenderPathDefinition, RenderPathAttachment, RenderPathResolver, RenderPath, ViewportDataBinding, ViewportDataReference, ViewportController, ViewportId, ViewportRenderContextType, } from './ViewportArchitectureTypes';
|
|
8
|
+
export { viewportHasCanvasWorldTransform, viewportHasFrameOfReferenceUID, viewportHasPan, viewportHasZoom, } from './ViewportArchitectureTypes';
|
|
9
|
+
export { default as ECGViewport } from './ECG';
|
|
10
|
+
export { createDefaultECGRenderPaths, createECGRenderPathResolver, DefaultECGDataProvider, ecgProjection, } from './ECG';
|
|
11
|
+
export type { ECGViewState, ECGDataPresentation, ECGChannelData, ECGProjectionPresentation, ECGProjectionRequest, ECGProjectionSnapshot, ECGPresentationProps, ECGProperties, ECGViewportInput, ECGGenericViewportInput, } from './ECG';
|
|
12
|
+
export { default as VideoViewport } from './Video';
|
|
13
|
+
export { createDefaultVideoRenderPaths, createVideoRenderPathResolver, DefaultVideoDataProvider, videoProjection, } from './Video';
|
|
14
|
+
export type { VideoViewState, VideoDataPresentation, VideoProjectionPresentation, VideoProjectionRequest, VideoProjectionSnapshot, VideoPresentationProps, VideoProperties, VideoViewportInput, VideoGenericViewportInput, } from './Video';
|
|
15
|
+
export { default as PlanarViewport } from './Planar';
|
|
16
|
+
export { createDefaultPlanarRenderPaths, createPlanarRenderPathResolver, DefaultPlanarDataProvider, planarProjection, } from './Planar';
|
|
17
|
+
export type { PlanarViewState, PlanarDataPresentation, PlanarOrientation, PlanarPresentationProps, PlanarProperties, PlanarRenderMode, PlanarSetDataOptions, PlanarSliceBasis, PlanarViewportInput, PlanarViewportInputOptions, PlanarResolvedICamera, PlanarProjectionPresentation, PlanarProjectionRequest, PlanarProjectionSnapshot, } from './Planar';
|
|
18
|
+
export { default as VolumeViewport3D } from './Volume3D';
|
|
19
|
+
export { createDefaultVolume3DRenderPaths, createVolume3DRenderPathResolver, DefaultVolume3DDataProvider, volume3DProjection, } from './Volume3D';
|
|
20
|
+
export type { Volume3DCamera, Volume3DDataPresentation, Volume3DPresentationProps, Volume3DProperties, Volume3DRequestedRenderMode, Volume3DSetDataOptions, Volume3DProjectionPresentation, Volume3DProjectionRequest, Volume3DProjectionSnapshot, VolumeViewport3DInput, } from './Volume3D';
|
|
21
|
+
export { default as WSIViewport } from './WSI';
|
|
22
|
+
export { createDefaultWSIRenderPaths, createWSIRenderPathResolver, DefaultWSIDataProvider, wsiProjection, } from './WSI';
|
|
23
|
+
export type { WSICamera, WSIDataPresentation, WSIDataSetOptions, WSIProjectionPresentation, WSIProjectionRequest, WSIProjectionSnapshot, WSIPresentationProps, WSIProperties, WSIViewState, WSIViewportInput, WSIGenericViewportInput, } from './WSI';
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export { defaultRenderPathResolver, DefaultRenderPathResolver, } from './DefaultRenderPathResolver';
|
|
2
|
+
export { default as GenericViewport } from './GenericViewport';
|
|
3
|
+
export { ViewportProjectionService, viewportProjection, } from './viewportProjection';
|
|
4
|
+
export { viewportHasCanvasWorldTransform, viewportHasFrameOfReferenceUID, viewportHasPan, viewportHasZoom, } from './ViewportArchitectureTypes';
|
|
5
|
+
export { default as ECGViewport } from './ECG';
|
|
6
|
+
export { createDefaultECGRenderPaths, createECGRenderPathResolver, DefaultECGDataProvider, ecgProjection, } from './ECG';
|
|
7
|
+
export { default as VideoViewport } from './Video';
|
|
8
|
+
export { createDefaultVideoRenderPaths, createVideoRenderPathResolver, DefaultVideoDataProvider, videoProjection, } from './Video';
|
|
9
|
+
export { default as PlanarViewport } from './Planar';
|
|
10
|
+
export { createDefaultPlanarRenderPaths, createPlanarRenderPathResolver, DefaultPlanarDataProvider, planarProjection, } from './Planar';
|
|
11
|
+
export { default as VolumeViewport3D } from './Volume3D';
|
|
12
|
+
export { createDefaultVolume3DRenderPaths, createVolume3DRenderPathResolver, DefaultVolume3DDataProvider, volume3DProjection, } from './Volume3D';
|
|
13
|
+
export { default as WSIViewport } from './WSI';
|
|
14
|
+
export { createDefaultWSIRenderPaths, createWSIRenderPathResolver, DefaultWSIDataProvider, wsiProjection, } from './WSI';
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { RENDERING_DEFAULTS } from '../../constants';
|
|
2
|
+
export default function setVtkCameraClippingRange(camera) {
|
|
3
|
+
if (camera.getParallelProjection()) {
|
|
4
|
+
camera.setClippingRange(-RENDERING_DEFAULTS.MAXIMUM_RAY_DISTANCE, RENDERING_DEFAULTS.MAXIMUM_RAY_DISTANCE);
|
|
5
|
+
return;
|
|
6
|
+
}
|
|
7
|
+
camera.setClippingRange(RENDERING_DEFAULTS.MINIMUM_SLAB_THICKNESS, RENDERING_DEFAULTS.MAXIMUM_RAY_DISTANCE);
|
|
8
|
+
}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import type { ProjectionPresentation, ProjectionRequest, ProjectionSnapshot, ProjectionWriteOptions, ViewportProjectionAdapter } from './ViewportProjectionTypes';
|
|
2
|
+
import { ViewportType } from '../../enums';
|
|
3
|
+
import type { ViewPresentation } from '../../types';
|
|
4
|
+
import type { PlanarProjectionRequest, PlanarProjectionSnapshot } from './Planar/PlanarProjectionTypes';
|
|
5
|
+
import type { PlanarViewPresentation, PlanarViewState } from './Planar/PlanarViewportTypes';
|
|
6
|
+
import type { Volume3DProjectionPresentation, Volume3DProjectionRequest, Volume3DProjectionSnapshot } from './Volume3D/Volume3DProjectionTypes';
|
|
7
|
+
import type { Volume3DCamera } from './Volume3D/viewport3DTypes';
|
|
8
|
+
import type { VideoProjectionRequest, VideoProjectionSnapshot } from './Video/VideoProjectionTypes';
|
|
9
|
+
import type { VideoViewState } from './Video/VideoViewportTypes';
|
|
10
|
+
import type { ECGProjectionRequest, ECGProjectionSnapshot } from './ECG/ECGProjectionTypes';
|
|
11
|
+
import type { ECGViewState } from './ECG/ECGViewportTypes';
|
|
12
|
+
import type { WSIProjectionRequest, WSIProjectionSnapshot } from './WSI/WSIProjectionTypes';
|
|
13
|
+
import type { WSIViewState } from './WSI/WSIViewportTypes';
|
|
14
|
+
type RegisteredProjectionAdapter = ViewportProjectionAdapter<unknown, unknown, ProjectionSnapshot<unknown, ProjectionPresentation<unknown>>>;
|
|
15
|
+
export type BuiltInViewportProjectionByKind = {
|
|
16
|
+
planar: {
|
|
17
|
+
presentation: PlanarViewPresentation;
|
|
18
|
+
request: PlanarProjectionRequest;
|
|
19
|
+
snapshot: PlanarProjectionSnapshot;
|
|
20
|
+
viewState: PlanarViewState;
|
|
21
|
+
viewportType: ViewportType.PLANAR_NEXT;
|
|
22
|
+
};
|
|
23
|
+
volume3d: {
|
|
24
|
+
presentation: Volume3DProjectionPresentation;
|
|
25
|
+
request: Volume3DProjectionRequest;
|
|
26
|
+
snapshot: Volume3DProjectionSnapshot;
|
|
27
|
+
viewState: Volume3DCamera;
|
|
28
|
+
viewportType: ViewportType.VOLUME_3D_NEXT;
|
|
29
|
+
};
|
|
30
|
+
video: {
|
|
31
|
+
presentation: ViewPresentation;
|
|
32
|
+
request: VideoProjectionRequest;
|
|
33
|
+
snapshot: VideoProjectionSnapshot;
|
|
34
|
+
viewState: VideoViewState;
|
|
35
|
+
viewportType: ViewportType.VIDEO_NEXT;
|
|
36
|
+
};
|
|
37
|
+
ecg: {
|
|
38
|
+
presentation: ViewPresentation;
|
|
39
|
+
request: ECGProjectionRequest;
|
|
40
|
+
snapshot: ECGProjectionSnapshot;
|
|
41
|
+
viewState: ECGViewState;
|
|
42
|
+
viewportType: ViewportType.ECG_NEXT;
|
|
43
|
+
};
|
|
44
|
+
wsi: {
|
|
45
|
+
presentation: ViewPresentation;
|
|
46
|
+
request: WSIProjectionRequest;
|
|
47
|
+
snapshot: WSIProjectionSnapshot;
|
|
48
|
+
viewState: WSIViewState;
|
|
49
|
+
viewportType: ViewportType.WHOLE_SLIDE_NEXT;
|
|
50
|
+
};
|
|
51
|
+
};
|
|
52
|
+
export type BuiltInViewportProjectionKind = keyof BuiltInViewportProjectionByKind;
|
|
53
|
+
export type BuiltInViewportProjectionByType = {
|
|
54
|
+
[ViewportType.PLANAR_NEXT]: BuiltInViewportProjectionByKind['planar'];
|
|
55
|
+
[ViewportType.VOLUME_3D_NEXT]: BuiltInViewportProjectionByKind['volume3d'];
|
|
56
|
+
[ViewportType.VIDEO_NEXT]: BuiltInViewportProjectionByKind['video'];
|
|
57
|
+
[ViewportType.ECG_NEXT]: BuiltInViewportProjectionByKind['ecg'];
|
|
58
|
+
[ViewportType.WHOLE_SLIDE_NEXT]: BuiltInViewportProjectionByKind['wsi'];
|
|
59
|
+
};
|
|
60
|
+
export type BuiltInViewportProjectionType = keyof BuiltInViewportProjectionByType;
|
|
61
|
+
export type ProjectionSnapshotForKind<TKind extends BuiltInViewportProjectionKind> = BuiltInViewportProjectionByKind[TKind]['snapshot'];
|
|
62
|
+
export type ProjectionPresentationForKind<TKind extends BuiltInViewportProjectionKind> = BuiltInViewportProjectionByKind[TKind]['presentation'];
|
|
63
|
+
export type ProjectionViewStateForKind<TKind extends BuiltInViewportProjectionKind> = BuiltInViewportProjectionByKind[TKind]['viewState'];
|
|
64
|
+
export type ProjectionSnapshotForViewportType<TViewportType extends BuiltInViewportProjectionType> = BuiltInViewportProjectionByType[TViewportType]['snapshot'];
|
|
65
|
+
export type ProjectionPresentationForViewportType<TViewportType extends BuiltInViewportProjectionType> = BuiltInViewportProjectionByType[TViewportType]['presentation'];
|
|
66
|
+
export type ProjectionViewStateForViewportType<TViewportType extends BuiltInViewportProjectionType> = BuiltInViewportProjectionByType[TViewportType]['viewState'];
|
|
67
|
+
type BuiltInProjectionViewport = {
|
|
68
|
+
type: BuiltInViewportProjectionType;
|
|
69
|
+
};
|
|
70
|
+
type ProjectionForViewport<TViewport> = TViewport extends {
|
|
71
|
+
type: infer TViewportType;
|
|
72
|
+
} ? TViewportType extends BuiltInViewportProjectionType ? BuiltInViewportProjectionByType[TViewportType] : never : never;
|
|
73
|
+
type ProjectionRequestForKind<TKind extends BuiltInViewportProjectionKind> = Omit<BuiltInViewportProjectionByKind[TKind]['request'], 'viewport'> & {
|
|
74
|
+
kind: TKind;
|
|
75
|
+
};
|
|
76
|
+
type ProjectionRequestForViewport<TViewport extends BuiltInProjectionViewport> = Omit<ProjectionForViewport<TViewport>['request'], 'viewport'>;
|
|
77
|
+
export type ProjectionSnapshotForViewport<TViewport extends BuiltInProjectionViewport> = ProjectionForViewport<TViewport>['snapshot'];
|
|
78
|
+
export type ProjectionPresentationForViewport<TViewport extends BuiltInProjectionViewport> = ProjectionForViewport<TViewport>['presentation'];
|
|
79
|
+
export type ProjectionViewStateForViewport<TViewport extends BuiltInProjectionViewport> = ProjectionForViewport<TViewport>['viewState'];
|
|
80
|
+
declare class ViewportProjectionService {
|
|
81
|
+
private readonly adapters;
|
|
82
|
+
register<TViewState, TPresentation, TSnapshot extends ProjectionSnapshot<TViewState, ProjectionPresentation<unknown>>>(adapter: ViewportProjectionAdapter<TViewState, TPresentation, TSnapshot>): void;
|
|
83
|
+
unregister(adapterId: string): void;
|
|
84
|
+
getAdapter(viewport: unknown, request?: Omit<ProjectionRequest, 'viewport'>): RegisteredProjectionAdapter | undefined;
|
|
85
|
+
get<TKind extends BuiltInViewportProjectionKind>(viewport: unknown, request: ProjectionRequestForKind<TKind>): ProjectionSnapshotForKind<TKind> | undefined;
|
|
86
|
+
get<TViewport extends BuiltInProjectionViewport>(viewport: TViewport, request?: ProjectionRequestForViewport<TViewport>): ProjectionSnapshotForViewport<TViewport> | undefined;
|
|
87
|
+
get<TSnapshot extends ProjectionSnapshot = ProjectionSnapshot>(viewport: unknown, request?: Omit<ProjectionRequest, 'viewport'>): TSnapshot | undefined;
|
|
88
|
+
getPresentation<TKind extends BuiltInViewportProjectionKind>(viewport: unknown, request: ProjectionRequestForKind<TKind>): ProjectionPresentationForKind<TKind> | undefined;
|
|
89
|
+
getPresentation<TViewport extends BuiltInProjectionViewport>(viewport: TViewport, request?: ProjectionRequestForViewport<TViewport>): ProjectionPresentationForViewport<TViewport> | undefined;
|
|
90
|
+
getPresentation<TPresentation = unknown>(viewport: unknown, request?: Omit<ProjectionRequest, 'viewport'>): TPresentation | undefined;
|
|
91
|
+
withPresentation<TKind extends BuiltInViewportProjectionKind>(viewport: unknown, presentation: Partial<ProjectionPresentationForKind<TKind>>, request: ProjectionRequestForKind<TKind>, options?: ProjectionWriteOptions): ProjectionViewStateForKind<TKind> | undefined;
|
|
92
|
+
withPresentation<TViewport extends BuiltInProjectionViewport>(viewport: TViewport, presentation: Partial<ProjectionPresentationForViewport<TViewport>>, request?: ProjectionRequestForViewport<TViewport>, options?: ProjectionWriteOptions): ProjectionViewStateForViewport<TViewport> | undefined;
|
|
93
|
+
withPresentation<TViewState = unknown, TPresentation = unknown>(viewport: unknown, presentation: Partial<TPresentation>, request?: Omit<ProjectionRequest, 'viewport'>, options?: ProjectionWriteOptions): TViewState | undefined;
|
|
94
|
+
getRegisteredAdapters(): RegisteredProjectionAdapter[];
|
|
95
|
+
clear(): void;
|
|
96
|
+
}
|
|
97
|
+
declare const viewportProjection: ViewportProjectionService;
|
|
98
|
+
export { ViewportProjectionService, viewportProjection };
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { ViewportType } from '../../enums';
|
|
2
|
+
import { planarProjectionAdapter } from './Planar/planarProjectionAdapter';
|
|
3
|
+
import { volume3DProjectionAdapter } from './Volume3D/volume3DProjectionAdapter';
|
|
4
|
+
import { videoProjectionAdapter } from './Video/videoProjectionAdapter';
|
|
5
|
+
import { ecgProjectionAdapter } from './ECG/ecgProjectionAdapter';
|
|
6
|
+
import { wsiProjectionAdapter } from './WSI/wsiProjectionAdapter';
|
|
7
|
+
function getViewportType(request) {
|
|
8
|
+
const viewportType = request.viewportType ??
|
|
9
|
+
request.viewport?.type;
|
|
10
|
+
return viewportType === undefined ? undefined : String(viewportType);
|
|
11
|
+
}
|
|
12
|
+
class ViewportProjectionService {
|
|
13
|
+
constructor() {
|
|
14
|
+
this.adapters = new Map();
|
|
15
|
+
}
|
|
16
|
+
register(adapter) {
|
|
17
|
+
this.adapters.set(adapter.id, adapter);
|
|
18
|
+
}
|
|
19
|
+
unregister(adapterId) {
|
|
20
|
+
this.adapters.delete(adapterId);
|
|
21
|
+
}
|
|
22
|
+
getAdapter(viewport, request = {}) {
|
|
23
|
+
const projectionRequest = {
|
|
24
|
+
...request,
|
|
25
|
+
viewport,
|
|
26
|
+
};
|
|
27
|
+
const viewportType = getViewportType(projectionRequest);
|
|
28
|
+
for (const adapter of this.adapters.values()) {
|
|
29
|
+
if (request.kind && adapter.id !== request.kind) {
|
|
30
|
+
continue;
|
|
31
|
+
}
|
|
32
|
+
if (viewportType &&
|
|
33
|
+
!adapter.viewportTypes.some((type) => String(type) === viewportType)) {
|
|
34
|
+
continue;
|
|
35
|
+
}
|
|
36
|
+
return adapter;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
get(viewport, request = {}) {
|
|
40
|
+
const adapter = this.getAdapter(viewport, request);
|
|
41
|
+
return adapter?.getSnapshot({
|
|
42
|
+
...request,
|
|
43
|
+
viewport,
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
getPresentation(viewport, request = {}) {
|
|
47
|
+
const adapter = this.getAdapter(viewport, request);
|
|
48
|
+
const snapshot = adapter?.getSnapshot({
|
|
49
|
+
...request,
|
|
50
|
+
viewport,
|
|
51
|
+
});
|
|
52
|
+
if (!snapshot) {
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
return adapter.getPresentation(snapshot, request.selector);
|
|
56
|
+
}
|
|
57
|
+
withPresentation(viewport, presentation, request = {}, options) {
|
|
58
|
+
const adapter = this.getAdapter(viewport, request);
|
|
59
|
+
const snapshot = adapter?.getSnapshot({
|
|
60
|
+
...request,
|
|
61
|
+
viewport,
|
|
62
|
+
});
|
|
63
|
+
if (!snapshot) {
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
return adapter.withPresentation(snapshot, presentation, options);
|
|
67
|
+
}
|
|
68
|
+
getRegisteredAdapters() {
|
|
69
|
+
return Array.from(this.adapters.values());
|
|
70
|
+
}
|
|
71
|
+
clear() {
|
|
72
|
+
this.adapters.clear();
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
const viewportProjection = new ViewportProjectionService();
|
|
76
|
+
viewportProjection.register(planarProjectionAdapter);
|
|
77
|
+
viewportProjection.register(volume3DProjectionAdapter);
|
|
78
|
+
viewportProjection.register(videoProjectionAdapter);
|
|
79
|
+
viewportProjection.register(ecgProjectionAdapter);
|
|
80
|
+
viewportProjection.register(wsiProjectionAdapter);
|
|
81
|
+
export { ViewportProjectionService, viewportProjection };
|
|
@@ -1,19 +1,17 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { IViewport, PublicViewportInput, VtkOffscreenMultiRenderWindow } from '../types';
|
|
2
2
|
declare class RenderingEngine {
|
|
3
3
|
hasBeenDestroyed: boolean;
|
|
4
4
|
offscreenMultiRenderWindow: VtkOffscreenMultiRenderWindow;
|
|
5
5
|
private _implementation?;
|
|
6
6
|
constructor(id?: string);
|
|
7
7
|
get id(): string;
|
|
8
|
+
disableViewport(viewportId: string): void;
|
|
8
9
|
enableElement(viewportInputEntry: PublicViewportInput): void;
|
|
9
10
|
disableElement(viewportId: string): void;
|
|
10
11
|
setViewports(publicViewportInputEntries: PublicViewportInput[]): void;
|
|
11
12
|
resize(immediate?: boolean, keepCamera?: boolean): void;
|
|
12
|
-
getViewport(viewportId: string):
|
|
13
|
+
getViewport<T = IViewport>(viewportId: string): T;
|
|
13
14
|
getViewports(): IViewport[];
|
|
14
|
-
getStackViewport(viewportId: string): IStackViewport;
|
|
15
|
-
getStackViewports(): IStackViewport[];
|
|
16
|
-
getVolumeViewports(): IVolumeViewport[];
|
|
17
15
|
getRenderer(viewportId: string): import("@kitware/vtk.js/Rendering/Core/Renderer").vtkRenderer;
|
|
18
16
|
fillCanvasWithBackgroundColor(canvas: HTMLCanvasElement, backgroundColor: [number, number, number]): void;
|
|
19
17
|
render(): void;
|
|
@@ -22,6 +22,9 @@ class RenderingEngine {
|
|
|
22
22
|
get id() {
|
|
23
23
|
return this._implementation.id;
|
|
24
24
|
}
|
|
25
|
+
disableViewport(viewportId) {
|
|
26
|
+
return this._implementation.disableElement(viewportId);
|
|
27
|
+
}
|
|
25
28
|
enableElement(viewportInputEntry) {
|
|
26
29
|
return this._implementation.enableElement(viewportInputEntry);
|
|
27
30
|
}
|
|
@@ -40,15 +43,6 @@ class RenderingEngine {
|
|
|
40
43
|
getViewports() {
|
|
41
44
|
return this._implementation.getViewports();
|
|
42
45
|
}
|
|
43
|
-
getStackViewport(viewportId) {
|
|
44
|
-
return this._implementation.getStackViewport(viewportId);
|
|
45
|
-
}
|
|
46
|
-
getStackViewports() {
|
|
47
|
-
return this._implementation.getStackViewports();
|
|
48
|
-
}
|
|
49
|
-
getVolumeViewports() {
|
|
50
|
-
return this._implementation.getVolumeViewports();
|
|
51
|
-
}
|
|
52
46
|
getRenderer(viewportId) {
|
|
53
47
|
return this._implementation.getRenderer(viewportId);
|
|
54
48
|
}
|
|
@@ -178,7 +178,6 @@ declare class StackViewport extends Viewport {
|
|
|
178
178
|
private _getPTPreScaledRange;
|
|
179
179
|
private _isCurrentImagePTPrescaled;
|
|
180
180
|
private _getDefaultPTPrescaledVOIRange;
|
|
181
|
-
private _getVOIRangeFromWindowLevel;
|
|
182
181
|
private _setImageIdIndex;
|
|
183
182
|
private resetCameraCPU;
|
|
184
183
|
private resetCameraGPU;
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
import vtkDataArray from '@kitware/vtk.js/Common/Core/DataArray';
|
|
2
1
|
import vtkImageData from '@kitware/vtk.js/Common/DataModel/ImageData';
|
|
3
2
|
import extendedVtkCamera from './vtkClasses/extendedVtkCamera';
|
|
4
3
|
import vtkColorTransferFunction from '@kitware/vtk.js/Rendering/Core/ColorTransferFunction';
|
|
5
|
-
import vtkColorMaps from '@kitware/vtk.js/Rendering/Core/ColorTransferFunction/ColorMaps';
|
|
6
4
|
import vtkImageMapper from '@kitware/vtk.js/Rendering/Core/ImageMapper';
|
|
7
5
|
import vtkImageSlice from '@kitware/vtk.js/Rendering/Core/ImageSlice';
|
|
8
6
|
import { mat4, vec2, vec3 } from 'gl-matrix';
|
|
@@ -22,9 +20,12 @@ import { isEqual } from '../utilities/isEqual';
|
|
|
22
20
|
import invertRgbTransferFunction from '../utilities/invertRgbTransferFunction';
|
|
23
21
|
import imageRetrieveMetadataProvider from '../utilities/imageRetrieveMetadataProvider';
|
|
24
22
|
import imageIdToURI from '../utilities/imageIdToURI';
|
|
23
|
+
import getVOIRangeFromWindowLevel from '../utilities/getVOIRangeFromWindowLevel';
|
|
25
24
|
import Viewport from './Viewport';
|
|
26
25
|
import drawImageSync from './helpers/cpuFallback/drawImageSync';
|
|
26
|
+
import { resolveCPUFallbackColormap } from './helpers/cpuFallback/colors';
|
|
27
27
|
import { getImagePlaneModule } from '../utilities/buildMetadata';
|
|
28
|
+
import { createEmptyVTKImageData } from './helpers/planarImageRendering';
|
|
28
29
|
import { Events, InterpolationType, MetadataModules, RequestType, VOILUTFunctionType, ViewportStatus, } from '../enums';
|
|
29
30
|
import { loadAndCacheImage } from '../loaders/imageLoader';
|
|
30
31
|
import imageLoadPoolManager from '../requestPool/imageLoadPoolManager';
|
|
@@ -34,7 +35,7 @@ import getDefaultViewport from './helpers/cpuFallback/rendering/getDefaultViewpo
|
|
|
34
35
|
import pixelToCanvas from './helpers/cpuFallback/rendering/pixelToCanvas';
|
|
35
36
|
import resize from './helpers/cpuFallback/rendering/resize';
|
|
36
37
|
import cache from '../cache/cache';
|
|
37
|
-
import {
|
|
38
|
+
import { getShouldUseCPURendering } from '../init';
|
|
38
39
|
import { createProgressive } from '../loaders/ProgressiveRetrieveImages';
|
|
39
40
|
import correctShift from './helpers/cpuFallback/rendering/correctShift';
|
|
40
41
|
import resetCamera from './helpers/cpuFallback/rendering/resetCamera';
|
|
@@ -490,9 +491,12 @@ class StackViewport extends Viewport {
|
|
|
490
491
|
this.modality = null;
|
|
491
492
|
this.useCPURendering = getShouldUseCPURendering();
|
|
492
493
|
this._configureRenderingPipeline();
|
|
493
|
-
this.useCPURendering
|
|
494
|
-
|
|
495
|
-
|
|
494
|
+
if (this.useCPURendering) {
|
|
495
|
+
this._resetCPUFallbackElement();
|
|
496
|
+
}
|
|
497
|
+
else {
|
|
498
|
+
this._resetGPUViewport();
|
|
499
|
+
}
|
|
496
500
|
this.currentImageIdIndex = 0;
|
|
497
501
|
this.targetImageIdIndex = 0;
|
|
498
502
|
this.resetCamera();
|
|
@@ -528,9 +532,12 @@ class StackViewport extends Viewport {
|
|
|
528
532
|
}
|
|
529
533
|
}
|
|
530
534
|
}
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
535
|
+
if (this.useCPURendering) {
|
|
536
|
+
this._resetCPUFallbackElement();
|
|
537
|
+
}
|
|
538
|
+
else {
|
|
539
|
+
this._resetGPUViewport();
|
|
540
|
+
}
|
|
534
541
|
}
|
|
535
542
|
_resetCPUFallbackElement() {
|
|
536
543
|
this._cpuFallbackEnabledElement = {
|
|
@@ -1051,7 +1058,7 @@ class StackViewport extends Viewport {
|
|
|
1051
1058
|
windowCenter: wcToUse,
|
|
1052
1059
|
voiLUTFunction: image.voiLUTFunction,
|
|
1053
1060
|
};
|
|
1054
|
-
const { lower, upper } =
|
|
1061
|
+
const { lower, upper } = getVOIRangeFromWindowLevel(wwToUse, wcToUse, image.voiLUTFunction);
|
|
1055
1062
|
voiRange = { lower, upper };
|
|
1056
1063
|
}
|
|
1057
1064
|
else {
|
|
@@ -1259,19 +1266,14 @@ class StackViewport extends Viewport {
|
|
|
1259
1266
|
};
|
|
1260
1267
|
}
|
|
1261
1268
|
createVTKImageData({ origin, direction, dimensions, spacing, numberOfComponents, pixelArray, }) {
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
|
|
1265
|
-
|
|
1266
|
-
|
|
1269
|
+
return createEmptyVTKImageData({
|
|
1270
|
+
origin,
|
|
1271
|
+
direction,
|
|
1272
|
+
dimensions,
|
|
1273
|
+
spacing,
|
|
1274
|
+
numberOfComponents,
|
|
1275
|
+
pixelArray: new pixelArray.constructor(pixelArray.length),
|
|
1267
1276
|
});
|
|
1268
|
-
const imageData = vtkImageData.newInstance();
|
|
1269
|
-
imageData.setDimensions(dimensions);
|
|
1270
|
-
imageData.setSpacing(spacing);
|
|
1271
|
-
imageData.setDirection(direction);
|
|
1272
|
-
imageData.setOrigin(origin);
|
|
1273
|
-
imageData.getPointData().setScalars(scalarArray);
|
|
1274
|
-
return imageData;
|
|
1275
1277
|
}
|
|
1276
1278
|
_createVTKImageData({ origin, direction, dimensions, spacing, numberOfComponents, pixelArray, }) {
|
|
1277
1279
|
try {
|
|
@@ -1406,7 +1408,7 @@ class StackViewport extends Viewport {
|
|
|
1406
1408
|
let min = 65535;
|
|
1407
1409
|
let max = 0;
|
|
1408
1410
|
for (let i = 0; i < numPixels; i++) {
|
|
1409
|
-
const rescaledPixel = Math.floor((pixelData[i] - intercept) / slope);
|
|
1411
|
+
const rescaledPixel = Math.max(0, Math.min(65535, Math.floor((pixelData[i] - intercept) / slope)));
|
|
1410
1412
|
intPixelData[i] = rescaledPixel;
|
|
1411
1413
|
min = Math.min(min, rescaledPixel);
|
|
1412
1414
|
max = Math.max(max, rescaledPixel);
|
|
@@ -1516,7 +1518,7 @@ class StackViewport extends Viewport {
|
|
|
1516
1518
|
}
|
|
1517
1519
|
getLoaderImageOptions(imageId) {
|
|
1518
1520
|
const imageIdIndex = this.imageIds.indexOf(imageId);
|
|
1519
|
-
const { transferSyntaxUID } = metaData.get(
|
|
1521
|
+
const { transferSyntaxUID } = metaData.get(MetadataModules.TRANSFER_SYNTAX, imageId) || {};
|
|
1520
1522
|
const options = {
|
|
1521
1523
|
useRGBA: false,
|
|
1522
1524
|
transferSyntaxUID,
|
|
@@ -1567,7 +1569,7 @@ class StackViewport extends Viewport {
|
|
|
1567
1569
|
const metadata = this.getImageDataMetadata(image);
|
|
1568
1570
|
const viewport = getDefaultViewport(this.canvas, image, this.modality, this._cpuFallbackEnabledElement.viewport.colormap);
|
|
1569
1571
|
const { windowCenter, windowWidth, voiLUTFunction } = viewport.voi;
|
|
1570
|
-
this.voiRange =
|
|
1572
|
+
this.voiRange = getVOIRangeFromWindowLevel(windowWidth, windowCenter, voiLUTFunction);
|
|
1571
1573
|
this._cpuFallbackEnabledElement.image = image;
|
|
1572
1574
|
this._cpuFallbackEnabledElement.metadata = {
|
|
1573
1575
|
...metadata,
|
|
@@ -1670,7 +1672,7 @@ class StackViewport extends Viewport {
|
|
|
1670
1672
|
return this.voiRange;
|
|
1671
1673
|
}
|
|
1672
1674
|
const { windowCenter, windowWidth, voiLUTFunction } = image;
|
|
1673
|
-
let voiRange =
|
|
1675
|
+
let voiRange = getVOIRangeFromWindowLevel(windowWidth, windowCenter, voiLUTFunction);
|
|
1674
1676
|
voiRange = this._getPTPreScaledRange() || voiRange;
|
|
1675
1677
|
return voiRange;
|
|
1676
1678
|
}
|
|
@@ -1692,20 +1694,6 @@ class StackViewport extends Viewport {
|
|
|
1692
1694
|
_getDefaultPTPrescaledVOIRange() {
|
|
1693
1695
|
return { lower: 0, upper: 5 };
|
|
1694
1696
|
}
|
|
1695
|
-
_getVOIRangeFromWindowLevel(windowWidth, windowCenter, voiLUTFunction = VOILUTFunctionType.LINEAR) {
|
|
1696
|
-
let center, width;
|
|
1697
|
-
if (typeof windowCenter === 'number' && typeof windowWidth === 'number') {
|
|
1698
|
-
center = windowCenter;
|
|
1699
|
-
width = windowWidth;
|
|
1700
|
-
}
|
|
1701
|
-
else if (Array.isArray(windowCenter) && Array.isArray(windowWidth)) {
|
|
1702
|
-
center = windowCenter[0];
|
|
1703
|
-
width = windowWidth[0];
|
|
1704
|
-
}
|
|
1705
|
-
if (center !== undefined && width !== undefined) {
|
|
1706
|
-
return windowLevelUtil.toLowHighRange(width, center, voiLUTFunction);
|
|
1707
|
-
}
|
|
1708
|
-
}
|
|
1709
1697
|
async _setImageIdIndex(imageIdIndex) {
|
|
1710
1698
|
if (imageIdIndex >= this.imageIds.length) {
|
|
1711
1699
|
throw new Error(`ImageIdIndex provided ${imageIdIndex} is invalid, the stack only has ${this.imageIds.length} elements`);
|
|
@@ -1853,7 +1841,7 @@ class StackViewport extends Viewport {
|
|
|
1853
1841
|
}
|
|
1854
1842
|
_getVOIRangeForCurrentImage() {
|
|
1855
1843
|
const { windowCenter, windowWidth, voiLUTFunction } = this.csImage;
|
|
1856
|
-
return
|
|
1844
|
+
return getVOIRangeFromWindowLevel(windowWidth, windowCenter, voiLUTFunction);
|
|
1857
1845
|
}
|
|
1858
1846
|
_getValidVOILUTFunction(voiLUTFunction) {
|
|
1859
1847
|
if (!Object.values(VOILUTFunctionType).includes(voiLUTFunction)) {
|
|
@@ -1992,8 +1980,13 @@ class StackViewport extends Viewport {
|
|
|
1992
1980
|
}
|
|
1993
1981
|
setColormapCPU(colormapData) {
|
|
1994
1982
|
this.colormap = colormapData;
|
|
1995
|
-
const colormap =
|
|
1996
|
-
|
|
1983
|
+
const colormap = resolveCPUFallbackColormap(colormapData);
|
|
1984
|
+
if (colormap) {
|
|
1985
|
+
this._cpuFallbackEnabledElement.viewport.colormap = colormap;
|
|
1986
|
+
}
|
|
1987
|
+
else {
|
|
1988
|
+
delete this._cpuFallbackEnabledElement.viewport.colormap;
|
|
1989
|
+
}
|
|
1997
1990
|
this._cpuFallbackEnabledElement.renderingTools = {};
|
|
1998
1991
|
this.fillWithBackgroundColor();
|
|
1999
1992
|
this.cpuRenderingInvalidated = true;
|
|
@@ -2009,8 +2002,7 @@ class StackViewport extends Viewport {
|
|
|
2009
2002
|
const actor = ActorEntry.actor;
|
|
2010
2003
|
const actorProp = actor.getProperty();
|
|
2011
2004
|
const rgbTransferFunction = actorProp.getRGBTransferFunction();
|
|
2012
|
-
const colormapObj = colormapUtils.
|
|
2013
|
-
vtkColorMaps.getPresetByName(colormap.name);
|
|
2005
|
+
const colormapObj = colormapUtils.resolveColormap(colormap.name);
|
|
2014
2006
|
if (!rgbTransferFunction) {
|
|
2015
2007
|
const cfun = vtkColorTransferFunction.newInstance();
|
|
2016
2008
|
cfun.applyColorMap(colormapObj);
|
|
@@ -5,6 +5,7 @@ import type * as EventTypes from '../types/EventTypes';
|
|
|
5
5
|
import type { InternalViewportInput, NormalizedViewportInput, IViewport } from '../types/IViewport';
|
|
6
6
|
declare class TiledRenderingEngine extends BaseRenderingEngine {
|
|
7
7
|
constructor(id?: string);
|
|
8
|
+
private ensureOffscreenResources;
|
|
8
9
|
protected enableVTKjsDrivenViewport(viewportInputEntry: NormalizedViewportInput): void;
|
|
9
10
|
protected addVtkjsDrivenViewport(viewportInputEntry: InternalViewportInput, offscreenCanvasProperties?: {
|
|
10
11
|
offScreenCanvasWidth: number;
|
|
@@ -2,19 +2,16 @@ import BaseRenderingEngine, { VIEWPORT_MIN_SIZE } from './BaseRenderingEngine';
|
|
|
2
2
|
import Events from '../enums/Events';
|
|
3
3
|
import eventTarget from '../eventTarget';
|
|
4
4
|
import triggerEvent from '../utilities/triggerEvent';
|
|
5
|
-
import ViewportType from '../enums/ViewportType';
|
|
6
|
-
import VolumeViewport from './VolumeViewport';
|
|
7
|
-
import StackViewport from './StackViewport';
|
|
8
5
|
import viewportTypeUsesCustomRenderingPipeline from './helpers/viewportTypeUsesCustomRenderingPipeline';
|
|
9
6
|
import getOrCreateCanvas from './helpers/getOrCreateCanvas';
|
|
10
|
-
import VolumeViewport3D from './VolumeViewport3D';
|
|
11
7
|
import { vtkOffscreenMultiRenderWindow } from './vtkClasses';
|
|
8
|
+
import { getViewportClassForInput } from './helpers/viewportTypeToViewportClass';
|
|
12
9
|
class TiledRenderingEngine extends BaseRenderingEngine {
|
|
13
10
|
constructor(id) {
|
|
14
11
|
super(id);
|
|
15
12
|
this._renderFlaggedViewports = () => {
|
|
16
13
|
this._throwIfDestroyed();
|
|
17
|
-
if (
|
|
14
|
+
if (this.offscreenMultiRenderWindow) {
|
|
18
15
|
this.performVtkDrawCall();
|
|
19
16
|
}
|
|
20
17
|
const viewports = this._getViewportsAsArray();
|
|
@@ -41,6 +38,11 @@ class TiledRenderingEngine extends BaseRenderingEngine {
|
|
|
41
38
|
});
|
|
42
39
|
};
|
|
43
40
|
if (!this.useCPURendering) {
|
|
41
|
+
this.ensureOffscreenResources();
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
ensureOffscreenResources() {
|
|
45
|
+
if (!this.offscreenMultiRenderWindow) {
|
|
44
46
|
this.offscreenMultiRenderWindow =
|
|
45
47
|
vtkOffscreenMultiRenderWindow.newInstance();
|
|
46
48
|
this.offScreenCanvasContainer = document.createElement('div');
|
|
@@ -48,6 +50,7 @@ class TiledRenderingEngine extends BaseRenderingEngine {
|
|
|
48
50
|
}
|
|
49
51
|
}
|
|
50
52
|
enableVTKjsDrivenViewport(viewportInputEntry) {
|
|
53
|
+
this.ensureOffscreenResources();
|
|
51
54
|
const viewports = this._getViewportsAsArray();
|
|
52
55
|
const viewportsDrivenByVtkJs = viewports.filter((vp) => viewportTypeUsesCustomRenderingPipeline(vp.type) === false);
|
|
53
56
|
const canvasesDrivenByVtkJs = viewportsDrivenByVtkJs.map((vp) => vp.canvas);
|
|
@@ -63,6 +66,7 @@ class TiledRenderingEngine extends BaseRenderingEngine {
|
|
|
63
66
|
});
|
|
64
67
|
}
|
|
65
68
|
addVtkjsDrivenViewport(viewportInputEntry, offscreenCanvasProperties) {
|
|
69
|
+
this.ensureOffscreenResources();
|
|
66
70
|
const { element, canvas, viewportId, type, defaultOptions } = viewportInputEntry;
|
|
67
71
|
element.tabIndex = -1;
|
|
68
72
|
const { offScreenCanvasWidth, offScreenCanvasHeight, xOffset } = offscreenCanvasProperties;
|
|
@@ -91,20 +95,12 @@ class TiledRenderingEngine extends BaseRenderingEngine {
|
|
|
91
95
|
sHeight,
|
|
92
96
|
defaultOptions: defaultOptions || {},
|
|
93
97
|
};
|
|
94
|
-
|
|
95
|
-
if (
|
|
96
|
-
viewport = new StackViewport(viewportInput);
|
|
97
|
-
}
|
|
98
|
-
else if (type === ViewportType.ORTHOGRAPHIC ||
|
|
99
|
-
type === ViewportType.PERSPECTIVE) {
|
|
100
|
-
viewport = new VolumeViewport(viewportInput);
|
|
101
|
-
}
|
|
102
|
-
else if (type === ViewportType.VOLUME_3D) {
|
|
103
|
-
viewport = new VolumeViewport3D(viewportInput);
|
|
104
|
-
}
|
|
105
|
-
else {
|
|
98
|
+
const ViewportClass = getViewportClassForInput(viewportInputEntry);
|
|
99
|
+
if (!ViewportClass) {
|
|
106
100
|
throw new Error(`Viewport Type ${type} is not supported`);
|
|
107
101
|
}
|
|
102
|
+
const viewport = new ViewportClass(viewportInput);
|
|
103
|
+
viewport.requestedType = viewportInputEntry.requestedType ?? type;
|
|
108
104
|
this._viewports.set(viewportId, viewport);
|
|
109
105
|
const eventDetail = {
|
|
110
106
|
element,
|
|
@@ -159,7 +155,13 @@ class TiledRenderingEngine extends BaseRenderingEngine {
|
|
|
159
155
|
const prevCamera = vp.getCamera();
|
|
160
156
|
const rotation = vp.getRotation();
|
|
161
157
|
const { flipHorizontal } = prevCamera;
|
|
162
|
-
vp
|
|
158
|
+
const resizeResetViewport = vp;
|
|
159
|
+
if (resizeResetViewport.resetViewStateForResize) {
|
|
160
|
+
resizeResetViewport.resetViewStateForResize();
|
|
161
|
+
}
|
|
162
|
+
else {
|
|
163
|
+
resizeResetViewport.resetCameraForResize();
|
|
164
|
+
}
|
|
163
165
|
const displayArea = vp.getDisplayArea();
|
|
164
166
|
if (keepCamera) {
|
|
165
167
|
if (displayArea) {
|
|
@@ -188,7 +190,8 @@ class TiledRenderingEngine extends BaseRenderingEngine {
|
|
|
188
190
|
}
|
|
189
191
|
for (let i = 0; i < renderers.length; i++) {
|
|
190
192
|
const { renderer, id } = renderers[i];
|
|
191
|
-
|
|
193
|
+
const viewportId = id.split('::')[0];
|
|
194
|
+
if (this._needsRender.has(viewportId)) {
|
|
192
195
|
renderer.setDraw(true);
|
|
193
196
|
}
|
|
194
197
|
else {
|
|
@@ -212,7 +215,7 @@ class TiledRenderingEngine extends BaseRenderingEngine {
|
|
|
212
215
|
viewport.customRenderViewportToCanvas();
|
|
213
216
|
}
|
|
214
217
|
else {
|
|
215
|
-
if (this.
|
|
218
|
+
if (!this.offscreenMultiRenderWindow) {
|
|
216
219
|
throw new Error('GPU not available, and using a viewport with no custom render pipeline.');
|
|
217
220
|
}
|
|
218
221
|
const { offscreenMultiRenderWindow } = this;
|
|
@@ -38,20 +38,12 @@ declare class VideoViewport extends Viewport {
|
|
|
38
38
|
private addEventListeners;
|
|
39
39
|
private removeEventListeners;
|
|
40
40
|
private elementDisabledHandler;
|
|
41
|
-
getImageDataMetadata(image: IImage | string):
|
|
42
|
-
bitsAllocated: number;
|
|
43
|
-
numberOfComponents: number;
|
|
44
|
-
origin: any;
|
|
45
|
-
rows: any;
|
|
46
|
-
columns: any;
|
|
47
|
-
direction: number[];
|
|
48
|
-
dimensions: any[];
|
|
49
|
-
spacing: any[];
|
|
50
|
-
hasPixelSpacing: boolean;
|
|
51
|
-
numVoxels: number;
|
|
52
|
-
imagePlaneModule: any;
|
|
53
|
-
};
|
|
41
|
+
getImageDataMetadata(image: IImage | string): import("../utilities/VideoUtilities").VideoImageMetadata;
|
|
54
42
|
setDataIds(imageIds: string[], options?: ImageSetOptions): void;
|
|
43
|
+
setDataList(entries: Array<{
|
|
44
|
+
dataId: string;
|
|
45
|
+
options?: Record<string, unknown>;
|
|
46
|
+
}>): Promise<unknown>;
|
|
55
47
|
setVideo(imageId: string, frameNumber?: number): Promise<unknown>;
|
|
56
48
|
private setVideoURL;
|
|
57
49
|
getImageIds(): string[];
|