All files / extensions/cornerstone/src/Viewport/Overlays/ViewportSliceProgressScrollbar helpers.ts

94.11% Statements 16/17
93.75% Branches 15/16
100% Functions 4/4
94.11% Lines 16/17

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41        633x 633x       740x 317x     423x 423x 423x   423x       630x 142x     488x 274x     214x 214x             22717x 22717x    
import { Enums, VolumeViewport3D } from '@cornerstonejs/core';
import { ViewportData } from './types';
 
export function getImageIndexFromEvent(event): number | undefined {
  const { imageIndex, newImageIdIndex = imageIndex, imageIdIndex } = event.detail;
  return newImageIdIndex ?? imageIdIndex;
}
 
export function getViewportImageIds(viewportData: ViewportData): string[] {
  if (!viewportData?.data?.length) {
    return [];
  }
 
  const firstData = viewportData.data[0];
  const volumeImageIds = (firstData as any).volume?.imageIds as string[] | undefined;
  const datumImageIds = (firstData as any).imageIds as string[] | undefined;
 
  return volumeImageIds || datumImageIds || [];
}
 
export function isProgressFullMode(viewportData: ViewportData, viewport): boolean {
  if (!viewportData || !viewport || viewport instanceof VolumeViewport3D) {
    return false;
  }
 
  if (viewportData.viewportType === Enums.ViewportType.STACK) {
    return true;
  }
 
  if (viewportData.viewportType === Enums.ViewportType.ORTHOGRAPHIC) {
    return !!viewport.isInAcquisitionPlane?.();
  }
 
  return false;
}
 
export function getImageIdFromCacheEvent(event): string | undefined {
  const detail = event?.detail;
  return detail?.imageId || detail?.image?.imageId || detail?.cachedImage?.imageId;
}