@cornerstonejs/core 5.0.0-beta.1 → 5.0.1
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
|
@@ -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
|
}
|
|
@@ -64,6 +64,7 @@ declare class StackViewport extends Viewport {
|
|
|
64
64
|
resetZoom?: boolean;
|
|
65
65
|
resetToCenter?: boolean;
|
|
66
66
|
suppressEvents?: boolean;
|
|
67
|
+
resetAspectRatio?: boolean;
|
|
67
68
|
}) => boolean;
|
|
68
69
|
canvasToWorld: (canvasPos: Point2) => Point3;
|
|
69
70
|
worldToCanvas: (worldPos: Point3) => Point2;
|
|
@@ -104,11 +105,14 @@ declare class StackViewport extends Viewport {
|
|
|
104
105
|
private _getVOIFromCache;
|
|
105
106
|
private _setPropertiesFromCache;
|
|
106
107
|
private getCameraCPU;
|
|
108
|
+
private setAspectRatioForViewport;
|
|
107
109
|
private setCameraCPU;
|
|
108
110
|
private getPanCPU;
|
|
109
111
|
private setPanCPU;
|
|
110
112
|
private getZoomCPU;
|
|
111
113
|
private setZoomCPU;
|
|
114
|
+
getAspectRatioCPU(): Point2;
|
|
115
|
+
setAspectRatioCPU(value: Point2, isFitViewportAfterStretch?: boolean, storeAsInitialCamera?: boolean): void;
|
|
112
116
|
private setFlipCPU;
|
|
113
117
|
private getRotationCPU;
|
|
114
118
|
private getRotationGPU;
|
|
@@ -174,7 +178,6 @@ declare class StackViewport extends Viewport {
|
|
|
174
178
|
private _getPTPreScaledRange;
|
|
175
179
|
private _isCurrentImagePTPrescaled;
|
|
176
180
|
private _getDefaultPTPrescaledVOIRange;
|
|
177
|
-
private _getVOIRangeFromWindowLevel;
|
|
178
181
|
private _setImageIdIndex;
|
|
179
182
|
private resetCameraCPU;
|
|
180
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
|
-
import
|
|
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';
|
|
@@ -149,6 +150,7 @@ class StackViewport extends Viewport {
|
|
|
149
150
|
resetPan: true,
|
|
150
151
|
resetZoom: true,
|
|
151
152
|
resetToCenter: true,
|
|
153
|
+
resetAspectRatio: true,
|
|
152
154
|
suppressEvents: true,
|
|
153
155
|
});
|
|
154
156
|
};
|
|
@@ -395,6 +397,14 @@ class StackViewport extends Viewport {
|
|
|
395
397
|
cpu: this.setZoomCPU,
|
|
396
398
|
gpu: super.setZoom,
|
|
397
399
|
},
|
|
400
|
+
getAspectRatio: {
|
|
401
|
+
cpu: this.getAspectRatioCPU,
|
|
402
|
+
gpu: super.getAspectRatio,
|
|
403
|
+
},
|
|
404
|
+
setAspectRatio: {
|
|
405
|
+
cpu: this.setAspectRatioCPU,
|
|
406
|
+
gpu: super.setAspectRatio,
|
|
407
|
+
},
|
|
398
408
|
setVOI: {
|
|
399
409
|
cpu: this.setVOICPU,
|
|
400
410
|
gpu: this.setVOIGPU,
|
|
@@ -418,8 +428,8 @@ class StackViewport extends Viewport {
|
|
|
418
428
|
return true;
|
|
419
429
|
},
|
|
420
430
|
gpu: (options = {}) => {
|
|
421
|
-
const { resetPan = true, resetZoom = true } = options;
|
|
422
|
-
this.resetCameraGPU({ resetPan, resetZoom });
|
|
431
|
+
const { resetPan = true, resetZoom = true, resetAspectRatio = true, } = options;
|
|
432
|
+
this.resetCameraGPU({ resetPan, resetZoom, resetAspectRatio });
|
|
423
433
|
return true;
|
|
424
434
|
},
|
|
425
435
|
},
|
|
@@ -481,9 +491,12 @@ class StackViewport extends Viewport {
|
|
|
481
491
|
this.modality = null;
|
|
482
492
|
this.useCPURendering = getShouldUseCPURendering();
|
|
483
493
|
this._configureRenderingPipeline();
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
494
|
+
if (this.useCPURendering) {
|
|
495
|
+
this._resetCPUFallbackElement();
|
|
496
|
+
}
|
|
497
|
+
else {
|
|
498
|
+
this._resetGPUViewport();
|
|
499
|
+
}
|
|
487
500
|
this.currentImageIdIndex = 0;
|
|
488
501
|
this.targetImageIdIndex = 0;
|
|
489
502
|
this.resetCamera();
|
|
@@ -519,21 +532,24 @@ class StackViewport extends Viewport {
|
|
|
519
532
|
}
|
|
520
533
|
}
|
|
521
534
|
}
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
535
|
+
if (this.useCPURendering) {
|
|
536
|
+
this._resetCPUFallbackElement();
|
|
537
|
+
}
|
|
538
|
+
else {
|
|
539
|
+
this._resetGPUViewport();
|
|
540
|
+
}
|
|
525
541
|
}
|
|
526
542
|
_resetCPUFallbackElement() {
|
|
527
543
|
this._cpuFallbackEnabledElement = {
|
|
528
544
|
canvas: this.canvas,
|
|
529
545
|
renderingTools: {},
|
|
530
546
|
transform: new Transform(),
|
|
531
|
-
viewport: { rotation: 0 },
|
|
547
|
+
viewport: { rotation: 0, aspectRatio: [1, 1] },
|
|
532
548
|
};
|
|
533
549
|
}
|
|
534
550
|
_resetGPUViewport() {
|
|
535
551
|
const renderer = this.getRenderer();
|
|
536
|
-
const camera =
|
|
552
|
+
const camera = extendedVtkCamera.newInstance();
|
|
537
553
|
renderer.setActiveCamera(camera);
|
|
538
554
|
const viewPlaneNormal = [0, 0, -1];
|
|
539
555
|
this.initialViewUp = [0, -1, 0];
|
|
@@ -817,15 +833,46 @@ class StackViewport extends Viewport {
|
|
|
817
833
|
viewPlaneNormal[1],
|
|
818
834
|
viewPlaneNormal[2],
|
|
819
835
|
],
|
|
836
|
+
aspectRatio: viewport.aspectRatio ?? [1, 1],
|
|
820
837
|
viewUp: [viewUp[0], viewUp[1], viewUp[2]],
|
|
821
838
|
flipHorizontal: this.flipHorizontal,
|
|
822
839
|
flipVertical: this.flipVertical,
|
|
823
840
|
};
|
|
824
841
|
}
|
|
842
|
+
setAspectRatioForViewport(aspectRatio, isFitViewportAfterStretch = true) {
|
|
843
|
+
const { viewport, image } = this._cpuFallbackEnabledElement;
|
|
844
|
+
if (!isFitViewportAfterStretch) {
|
|
845
|
+
viewport.aspectRatio = aspectRatio;
|
|
846
|
+
return;
|
|
847
|
+
}
|
|
848
|
+
const { clientWidth, clientHeight } = this.element;
|
|
849
|
+
const { rowPixelSpacing, columnPixelSpacing, width, height } = image;
|
|
850
|
+
const getRatioValue = ([x, y]) => x / y;
|
|
851
|
+
const oldRatioValue = getRatioValue(viewport.aspectRatio || [1, 1]);
|
|
852
|
+
const newRatioValue = getRatioValue(aspectRatio);
|
|
853
|
+
const canvasRatio = clientWidth / clientHeight;
|
|
854
|
+
const baseHeight = clientHeight * rowPixelSpacing * 0.5;
|
|
855
|
+
const calculateFitParallelScale = (rVal) => {
|
|
856
|
+
const effectiveWidth = width * columnPixelSpacing * rVal;
|
|
857
|
+
const effectiveHeight = height * rowPixelSpacing;
|
|
858
|
+
if (effectiveWidth / effectiveHeight > canvasRatio) {
|
|
859
|
+
return baseHeight / (clientWidth / effectiveWidth);
|
|
860
|
+
}
|
|
861
|
+
const fitPScale = effectiveHeight * 0.5;
|
|
862
|
+
return rVal < 1 ? fitPScale / rVal : fitPScale;
|
|
863
|
+
};
|
|
864
|
+
const ratioFactor = calculateFitParallelScale(newRatioValue) /
|
|
865
|
+
calculateFitParallelScale(oldRatioValue);
|
|
866
|
+
viewport.aspectRatio = aspectRatio;
|
|
867
|
+
if (viewport.parallelScale) {
|
|
868
|
+
viewport.parallelScale *= ratioFactor;
|
|
869
|
+
viewport.scale = baseHeight / viewport.parallelScale;
|
|
870
|
+
}
|
|
871
|
+
}
|
|
825
872
|
setCameraCPU(cameraInterface) {
|
|
826
873
|
const { viewport, image } = this._cpuFallbackEnabledElement;
|
|
827
874
|
const previousCamera = this.getCameraCPU();
|
|
828
|
-
const { focalPoint, parallelScale, scale, flipHorizontal, flipVertical } = cameraInterface;
|
|
875
|
+
const { focalPoint, parallelScale, scale, flipHorizontal, flipVertical, aspectRatio, isFitViewportAfterStretch, } = cameraInterface;
|
|
829
876
|
const { clientHeight } = this.element;
|
|
830
877
|
if (focalPoint) {
|
|
831
878
|
const focalPointCanvas = this.worldToCanvasCPU(focalPoint);
|
|
@@ -849,6 +896,9 @@ class StackViewport extends Viewport {
|
|
|
849
896
|
viewport.scale = scale;
|
|
850
897
|
viewport.parallelScale = (clientHeight * rowPixelSpacing * 0.5) / scale;
|
|
851
898
|
}
|
|
899
|
+
if (aspectRatio) {
|
|
900
|
+
this.setAspectRatioForViewport(aspectRatio, isFitViewportAfterStretch);
|
|
901
|
+
}
|
|
852
902
|
if (flipHorizontal !== undefined || flipVertical !== undefined) {
|
|
853
903
|
this.setFlipCPU({ flipHorizontal, flipVertical });
|
|
854
904
|
}
|
|
@@ -881,6 +931,21 @@ class StackViewport extends Viewport {
|
|
|
881
931
|
const camera = this.getCameraCPU();
|
|
882
932
|
this.setCameraCPU({ ...camera, scale: zoom });
|
|
883
933
|
}
|
|
934
|
+
getAspectRatioCPU() {
|
|
935
|
+
const { aspectRatio } = this.getCameraCPU();
|
|
936
|
+
return aspectRatio ?? this.options?.aspectRatio ?? [1, 1];
|
|
937
|
+
}
|
|
938
|
+
setAspectRatioCPU(value, isFitViewportAfterStretch = true, storeAsInitialCamera = false) {
|
|
939
|
+
const camera = this.getCameraCPU();
|
|
940
|
+
if (storeAsInitialCamera) {
|
|
941
|
+
this.options.aspectRatio = value;
|
|
942
|
+
}
|
|
943
|
+
this.setCameraCPU({
|
|
944
|
+
...camera,
|
|
945
|
+
aspectRatio: value,
|
|
946
|
+
isFitViewportAfterStretch,
|
|
947
|
+
});
|
|
948
|
+
}
|
|
884
949
|
setFlipCPU({ flipHorizontal, flipVertical }) {
|
|
885
950
|
const { viewport } = this._cpuFallbackEnabledElement;
|
|
886
951
|
if (flipHorizontal !== undefined) {
|
|
@@ -993,7 +1058,7 @@ class StackViewport extends Viewport {
|
|
|
993
1058
|
windowCenter: wcToUse,
|
|
994
1059
|
voiLUTFunction: image.voiLUTFunction,
|
|
995
1060
|
};
|
|
996
|
-
const { lower, upper } =
|
|
1061
|
+
const { lower, upper } = getVOIRangeFromWindowLevel(wwToUse, wcToUse, image.voiLUTFunction);
|
|
997
1062
|
voiRange = { lower, upper };
|
|
998
1063
|
}
|
|
999
1064
|
else {
|
|
@@ -1201,19 +1266,14 @@ class StackViewport extends Viewport {
|
|
|
1201
1266
|
};
|
|
1202
1267
|
}
|
|
1203
1268
|
createVTKImageData({ origin, direction, dimensions, spacing, numberOfComponents, pixelArray, }) {
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
|
|
1207
|
-
|
|
1208
|
-
|
|
1269
|
+
return createEmptyVTKImageData({
|
|
1270
|
+
origin,
|
|
1271
|
+
direction,
|
|
1272
|
+
dimensions,
|
|
1273
|
+
spacing,
|
|
1274
|
+
numberOfComponents,
|
|
1275
|
+
pixelArray: new pixelArray.constructor(pixelArray.length),
|
|
1209
1276
|
});
|
|
1210
|
-
const imageData = vtkImageData.newInstance();
|
|
1211
|
-
imageData.setDimensions(dimensions);
|
|
1212
|
-
imageData.setSpacing(spacing);
|
|
1213
|
-
imageData.setDirection(direction);
|
|
1214
|
-
imageData.setOrigin(origin);
|
|
1215
|
-
imageData.getPointData().setScalars(scalarArray);
|
|
1216
|
-
return imageData;
|
|
1217
1277
|
}
|
|
1218
1278
|
_createVTKImageData({ origin, direction, dimensions, spacing, numberOfComponents, pixelArray, }) {
|
|
1219
1279
|
try {
|
|
@@ -1348,7 +1408,7 @@ class StackViewport extends Viewport {
|
|
|
1348
1408
|
let min = 65535;
|
|
1349
1409
|
let max = 0;
|
|
1350
1410
|
for (let i = 0; i < numPixels; i++) {
|
|
1351
|
-
const rescaledPixel = Math.floor((pixelData[i] - intercept) / slope);
|
|
1411
|
+
const rescaledPixel = Math.max(0, Math.min(65535, Math.floor((pixelData[i] - intercept) / slope)));
|
|
1352
1412
|
intPixelData[i] = rescaledPixel;
|
|
1353
1413
|
min = Math.min(min, rescaledPixel);
|
|
1354
1414
|
max = Math.max(max, rescaledPixel);
|
|
@@ -1458,7 +1518,7 @@ class StackViewport extends Viewport {
|
|
|
1458
1518
|
}
|
|
1459
1519
|
getLoaderImageOptions(imageId) {
|
|
1460
1520
|
const imageIdIndex = this.imageIds.indexOf(imageId);
|
|
1461
|
-
const { transferSyntaxUID } = metaData.get(
|
|
1521
|
+
const { transferSyntaxUID } = metaData.get(MetadataModules.TRANSFER_SYNTAX, imageId) || {};
|
|
1462
1522
|
const options = {
|
|
1463
1523
|
useRGBA: false,
|
|
1464
1524
|
transferSyntaxUID,
|
|
@@ -1509,7 +1569,7 @@ class StackViewport extends Viewport {
|
|
|
1509
1569
|
const metadata = this.getImageDataMetadata(image);
|
|
1510
1570
|
const viewport = getDefaultViewport(this.canvas, image, this.modality, this._cpuFallbackEnabledElement.viewport.colormap);
|
|
1511
1571
|
const { windowCenter, windowWidth, voiLUTFunction } = viewport.voi;
|
|
1512
|
-
this.voiRange =
|
|
1572
|
+
this.voiRange = getVOIRangeFromWindowLevel(windowWidth, windowCenter, voiLUTFunction);
|
|
1513
1573
|
this._cpuFallbackEnabledElement.image = image;
|
|
1514
1574
|
this._cpuFallbackEnabledElement.metadata = {
|
|
1515
1575
|
...metadata,
|
|
@@ -1612,7 +1672,7 @@ class StackViewport extends Viewport {
|
|
|
1612
1672
|
return this.voiRange;
|
|
1613
1673
|
}
|
|
1614
1674
|
const { windowCenter, windowWidth, voiLUTFunction } = image;
|
|
1615
|
-
let voiRange =
|
|
1675
|
+
let voiRange = getVOIRangeFromWindowLevel(windowWidth, windowCenter, voiLUTFunction);
|
|
1616
1676
|
voiRange = this._getPTPreScaledRange() || voiRange;
|
|
1617
1677
|
return voiRange;
|
|
1618
1678
|
}
|
|
@@ -1634,20 +1694,6 @@ class StackViewport extends Viewport {
|
|
|
1634
1694
|
_getDefaultPTPrescaledVOIRange() {
|
|
1635
1695
|
return { lower: 0, upper: 5 };
|
|
1636
1696
|
}
|
|
1637
|
-
_getVOIRangeFromWindowLevel(windowWidth, windowCenter, voiLUTFunction = VOILUTFunctionType.LINEAR) {
|
|
1638
|
-
let center, width;
|
|
1639
|
-
if (typeof windowCenter === 'number' && typeof windowWidth === 'number') {
|
|
1640
|
-
center = windowCenter;
|
|
1641
|
-
width = windowWidth;
|
|
1642
|
-
}
|
|
1643
|
-
else if (Array.isArray(windowCenter) && Array.isArray(windowWidth)) {
|
|
1644
|
-
center = windowCenter[0];
|
|
1645
|
-
width = windowWidth[0];
|
|
1646
|
-
}
|
|
1647
|
-
if (center !== undefined && width !== undefined) {
|
|
1648
|
-
return windowLevelUtil.toLowHighRange(width, center, voiLUTFunction);
|
|
1649
|
-
}
|
|
1650
|
-
}
|
|
1651
1697
|
async _setImageIdIndex(imageIdIndex) {
|
|
1652
1698
|
if (imageIdIndex >= this.imageIds.length) {
|
|
1653
1699
|
throw new Error(`ImageIdIndex provided ${imageIdIndex} is invalid, the stack only has ${this.imageIds.length} elements`);
|
|
@@ -1682,14 +1728,14 @@ class StackViewport extends Viewport {
|
|
|
1682
1728
|
scale,
|
|
1683
1729
|
});
|
|
1684
1730
|
}
|
|
1685
|
-
resetCameraGPU(
|
|
1731
|
+
resetCameraGPU(resetOptions) {
|
|
1686
1732
|
this.setCamera({
|
|
1687
1733
|
flipHorizontal: false,
|
|
1688
1734
|
flipVertical: false,
|
|
1689
1735
|
viewUp: this.initialViewUp,
|
|
1690
1736
|
});
|
|
1691
1737
|
const resetToCenter = true;
|
|
1692
|
-
return super.resetCamera({
|
|
1738
|
+
return super.resetCamera({ resetToCenter, ...resetOptions });
|
|
1693
1739
|
}
|
|
1694
1740
|
scroll(delta, debounce = true, loop = false) {
|
|
1695
1741
|
const imageIds = this.imageIds;
|
|
@@ -1795,7 +1841,7 @@ class StackViewport extends Viewport {
|
|
|
1795
1841
|
}
|
|
1796
1842
|
_getVOIRangeForCurrentImage() {
|
|
1797
1843
|
const { windowCenter, windowWidth, voiLUTFunction } = this.csImage;
|
|
1798
|
-
return
|
|
1844
|
+
return getVOIRangeFromWindowLevel(windowWidth, windowCenter, voiLUTFunction);
|
|
1799
1845
|
}
|
|
1800
1846
|
_getValidVOILUTFunction(voiLUTFunction) {
|
|
1801
1847
|
if (!Object.values(VOILUTFunctionType).includes(voiLUTFunction)) {
|
|
@@ -1934,8 +1980,13 @@ class StackViewport extends Viewport {
|
|
|
1934
1980
|
}
|
|
1935
1981
|
setColormapCPU(colormapData) {
|
|
1936
1982
|
this.colormap = colormapData;
|
|
1937
|
-
const colormap =
|
|
1938
|
-
|
|
1983
|
+
const colormap = resolveCPUFallbackColormap(colormapData);
|
|
1984
|
+
if (colormap) {
|
|
1985
|
+
this._cpuFallbackEnabledElement.viewport.colormap = colormap;
|
|
1986
|
+
}
|
|
1987
|
+
else {
|
|
1988
|
+
delete this._cpuFallbackEnabledElement.viewport.colormap;
|
|
1989
|
+
}
|
|
1939
1990
|
this._cpuFallbackEnabledElement.renderingTools = {};
|
|
1940
1991
|
this.fillWithBackgroundColor();
|
|
1941
1992
|
this.cpuRenderingInvalidated = true;
|
|
@@ -1951,8 +2002,7 @@ class StackViewport extends Viewport {
|
|
|
1951
2002
|
const actor = ActorEntry.actor;
|
|
1952
2003
|
const actorProp = actor.getProperty();
|
|
1953
2004
|
const rgbTransferFunction = actorProp.getRGBTransferFunction();
|
|
1954
|
-
const colormapObj = colormapUtils.
|
|
1955
|
-
vtkColorMaps.getPresetByName(colormap.name);
|
|
2005
|
+
const colormapObj = colormapUtils.resolveColormap(colormap.name);
|
|
1956
2006
|
if (!rgbTransferFunction) {
|
|
1957
2007
|
const cfun = vtkColorTransferFunction.newInstance();
|
|
1958
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;
|