diff --git a/src/viewerModule/nehuba/nehubaViewer/nehubaViewer.component.ts b/src/viewerModule/nehuba/nehubaViewer/nehubaViewer.component.ts index bf63d48d516ee607455f70beb4639910184fa00e..4d0b363f9a5fea523d8a42148bf6f2546ef0f328 100644 --- a/src/viewerModule/nehuba/nehubaViewer/nehubaViewer.component.ts +++ b/src/viewerModule/nehuba/nehubaViewer/nehubaViewer.component.ts @@ -303,13 +303,15 @@ export class NehubaViewerUnit implements OnInit, OnDestroy { this.ondestroySubscriptions.push( this.layerVis$.pipe( switchMap(switchMapWaitFor({ condition: () => !!(this.nehubaViewer?.ngviewer) })), - tap(() => { - const managedLayers = this.nehubaViewer.ngviewer.layerManager.managedLayers - managedLayers.forEach(layer => layer.setVisible(false)) - }), debounceTime(160), ).subscribe((layerNames: string[]) => { - + /** + * debounce 160ms to set layer invisible etc + * on switch from freesurfer -> volumetric viewer, race con results in managed layer not necessarily setting layer visible correctly + */ + const managedLayers = this.nehubaViewer.ngviewer.layerManager.managedLayers + managedLayers.forEach(layer => layer.setVisible(false)) + for (const layerName of layerNames) { const layer = this.nehubaViewer.ngviewer.layerManager.getLayerByName(layerName) if (layer) {