diff --git a/extensions/cornerstone/src/services/SegmentationService/SegmentationService.ts b/extensions/cornerstone/src/services/SegmentationService/SegmentationService.ts index f1c7310a7..ec938475e 100644 --- a/extensions/cornerstone/src/services/SegmentationService/SegmentationService.ts +++ b/extensions/cornerstone/src/services/SegmentationService/SegmentationService.ts @@ -1757,7 +1757,10 @@ class SegmentationService extends PubSubService { return `${volumeLoaderSchema}:${displaySet.displaySetInstanceUID}`; } - private _getSegmentCenter(segmentationId, segmentIndex) { + private _getSegmentCenter( + segmentationId: string, + segmentIndex: number + ): { image?: csTypes.Point3; world: csTypes.Point3 } | undefined { const segmentation = this.getSegmentation(segmentationId); if (!segmentation) { @@ -1768,19 +1771,17 @@ class SegmentationService extends PubSubService { const { cachedStats } = segments[segmentIndex]; - if (!cachedStats || !cachedStats?.center || !cachedStats?.namedStats?.center) { - return; + if (cachedStats?.center) { + const { center } = cachedStats; + + return center as { image: csTypes.Point3; world: csTypes.Point3 }; } - const { center } = cachedStats; - - if (!center) { + if (cachedStats?.namedStats?.center) { return { world: cachedStats.namedStats.center.value, }; } - - return center; } private _setSegmentLockedStatus(segmentationId: string, segmentIndex: number, isLocked: boolean) { diff --git a/tests/RTHydration.spec.ts b/tests/RTHydration.spec.ts index fd0dc3ed8..02254f2d1 100644 --- a/tests/RTHydration.spec.ts +++ b/tests/RTHydration.spec.ts @@ -10,9 +10,14 @@ test.beforeEach(async ({ page }) => { test('should hydrate RT reports correctly', async ({ page }) => { await page.getByTestId('side-panel-header-right').click(); await page.getByTestId('study-browser-thumbnail-no-image').dblclick(); + await page.waitForTimeout(5000); await checkForScreenshot(page, page, screenShotPaths.rtHydration.rtPreHydration); + await page.getByTestId('yes-hydrate-btn').click(); + await page.waitForTimeout(5000); await checkForScreenshot(page, page, screenShotPaths.rtHydration.rtPostHydration); + await page.getByText('Small Sphere').click(); + await page.waitForTimeout(5000); await checkForScreenshot(page, page, screenShotPaths.rtHydration.rtJumpToStructure); }); diff --git a/tests/screenshots/chromium/RTHydration.spec.ts/rtJumpToStructure.png b/tests/screenshots/chromium/RTHydration.spec.ts/rtJumpToStructure.png index 39fcc70fe..afc09d1f5 100644 Binary files a/tests/screenshots/chromium/RTHydration.spec.ts/rtJumpToStructure.png and b/tests/screenshots/chromium/RTHydration.spec.ts/rtJumpToStructure.png differ