All files / core/src/utilities getViewportModality.ts

0% Statements 0/11
0% Branches 0/12
0% Functions 0/1
0% Lines 0/11

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                                                                     
import type { IViewport } from '../types/IViewport';
import type IStackViewport from '../types/IStackViewport';
import type IVolumeViewport from '../types/IVolumeViewport';
 
function _getViewportModality(
  viewport: IViewport,
  volumeId?: string,
  getVolume?: (
    volumeId: string
  ) => { metadata: { Modality: string } } | undefined
): string {
  if (!getVolume) {
    throw new Error('getVolume is required, use the utilities export instead ');
  }
 
  if ((viewport as IStackViewport).modality) {
    return (viewport as IStackViewport).modality;
  }
 
  if ((viewport as IVolumeViewport).setVolumes) {
    volumeId = volumeId ?? (viewport as IVolumeViewport).getVolumeId();
 
    if (!volumeId || !getVolume) {
      return;
    }
 
    const volume = getVolume(volumeId);
    return volume.metadata.Modality;
  }
 
  throw new Error('Invalid viewport type');
}
 
export { _getViewportModality };