From e7cc5c5019777effc51fbb433502820f497bf6bd Mon Sep 17 00:00:00 2001 From: Xiao Gui <xgui3783@gmail.com> Date: Thu, 15 Jun 2023 17:51:18 +0200 Subject: [PATCH] WIP fixed fsaverage issue, colin issue TODO: - annotation - real space not yet available - nehuba status panel busted - check swc works --- package-lock.json | 8 ++++---- package.json | 2 +- src/state/atlasSelection/effects.ts | 16 +++++++--------- .../nehubaViewer/nehubaViewer.component.ts | 9 ++++++++- 4 files changed, 20 insertions(+), 15 deletions(-) diff --git a/package-lock.json b/package-lock.json index ad97ac99c..ecb53104c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -23,7 +23,7 @@ "@ngrx/effects": "^14.3.2", "@ngrx/store": "^14.3.2", "acorn": "^8.4.1", - "export-nehuba": "^0.1.0-dev.6", + "export-nehuba": "^0.1.0-dev.7", "file-loader": "^6.2.0", "jszip": "^3.6.0", "postcss": "^8.3.6", @@ -26966,9 +26966,9 @@ "dev": true }, "node_modules/export-nehuba": { - "version": "0.1.0-dev.6", - "resolved": "https://registry.npmjs.org/export-nehuba/-/export-nehuba-0.1.0-dev.6.tgz", - "integrity": "sha512-+vfwJIKPP5ehK91fIH7eyx9GSeQt71CNPZj1zY5NG024SYM2oT5dsUheqhkIlQKQAfv50gn14ZnfDcVDsx1JPQ==", + "version": "0.1.0-dev.7", + "resolved": "https://registry.npmjs.org/export-nehuba/-/export-nehuba-0.1.0-dev.7.tgz", + "integrity": "sha512-hBDeOWo/OoThgfqa9RtRpYlPj0/5RwgBsoMjHKYMRqgsscoYglfPYaMSG57mANEIii4hxnsFiUUXOQTn2B2P+w==", "dependencies": { "pako": "^1.0.6" } diff --git a/package.json b/package.json index f280676b1..70a41160d 100644 --- a/package.json +++ b/package.json @@ -66,7 +66,7 @@ "@ngrx/effects": "^14.3.2", "@ngrx/store": "^14.3.2", "acorn": "^8.4.1", - "export-nehuba": "^0.1.0-dev.6", + "export-nehuba": "^0.1.0-dev.7", "file-loader": "^6.2.0", "jszip": "^3.6.0", "postcss": "^8.3.6", diff --git a/src/state/atlasSelection/effects.ts b/src/state/atlasSelection/effects.ts index 816c23c24..5967e5102 100644 --- a/src/state/atlasSelection/effects.ts +++ b/src/state/atlasSelection/effects.ts @@ -63,19 +63,17 @@ export class Effect { }) } - /** - * if either space name is undefined, return default state for navigation - */ - if (!prevSpcName || !currSpcName) { - return of({ - navigation: atlasSelection.defaultState.navigation - }) - } return this.store.pipe( select(atlasSelection.selectors.navigation), take(1), switchMap(({ position, ...rest }) => - this.interSpaceCoordXformSvc.transform(prevSpcName, currSpcName, position as [number, number, number]).pipe( + + /** + * if either space name is undefined, return default state for navigation + */ + !prevSpcName || !currSpcName + ? of({ navigation: { position, ...rest } }) + : this.interSpaceCoordXformSvc.transform(prevSpcName, currSpcName, position as [number, number, number]).pipe( map(value => { if (value.status === "error") { return {} diff --git a/src/viewerModule/nehuba/nehubaViewer/nehubaViewer.component.ts b/src/viewerModule/nehuba/nehubaViewer/nehubaViewer.component.ts index ae079b9ff..46d230152 100644 --- a/src/viewerModule/nehuba/nehubaViewer/nehubaViewer.component.ts +++ b/src/viewerModule/nehuba/nehubaViewer/nehubaViewer.component.ts @@ -719,7 +719,14 @@ export class NehubaViewerUnit implements OnDestroy { [0, 1, 2].every(idx => p1[idx] === p2[idx]) && z1 === z2 }) - .filter(() => !this.initNav) + /** + * somewhat another fudge factor + * navigationState.all occassionally emits slice zoom and perspective zoom that maeks no sense + * filter those out + * + * TODO find out why, and perhaps inform pavel about this + */ + .filter(val => !this.initNav && val?.perspectiveZoom > 10) .subscribe(({ orientation, perspectiveOrientation, perspectiveZoom, position, zoom }) => { this.viewerPositionChange.emit({ -- GitLab