All files / packages/core/src/RenderingEngine/helpers/cpuFallback/rendering createViewport.ts

0% Statements 0/4
100% Branches 0/0
0% Functions 0/2
0% Lines 0/4

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 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65                                                                                                                                 
import { state } from './setDefaultViewport';
import {
  CPUFallbackViewportDisplayedArea,
  CPUFallbackViewport,
} from '../../../../types';
 
// eslint-disable-next-line valid-jsdoc
/**
 * Creates the default displayed area.
 * C.10.4 Displayed Area Module: This Module describes Attributes required to define a Specified Displayed Area space.
 *
 * @returns {tlhc: {x,y}, brhc: {x, y},rowPixelSpacing: Number, columnPixelSpacing: Number, presentationSizeMode: Number} displayedArea object
 * @memberof Internal
 */
function createDefaultDisplayedArea(): CPUFallbackViewportDisplayedArea {
  return {
    // Top Left Hand Corner
    tlhc: {
      x: 1,
      y: 1,
    },
    // Bottom Right Hand Corner
    brhc: {
      x: 1,
      y: 1,
    },
    rowPixelSpacing: 1,
    columnPixelSpacing: 1,
    presentationSizeMode: 'NONE',
  };
}
 
/**
 * Creates a new viewport object containing default values
 *
 * @returns {Viewport} viewport object
 * @memberof Internal
 */
export default function createViewport(): CPUFallbackViewport {
  const displayedArea = createDefaultDisplayedArea();
  const initialDefaultViewport = {
    scale: 1,
    translation: {
      x: 0,
      y: 0,
    },
    voi: {
      windowWidth: undefined,
      windowCenter: undefined,
    },
    invert: false,
    pixelReplication: false,
    rotation: 0,
    hflip: false,
    vflip: false,
    modalityLUT: undefined,
    voiLUT: undefined,
    colormap: undefined,
    labelmap: false,
    displayedArea,
  };
 
  return Object.assign({}, initialDefaultViewport, state.viewport);
}