All files / extensions/cornerstone/src/utils/imageSliceSync calculateViewportRegistrations.ts

0% Statements 0/15
100% Branches 0/0
0% Functions 0/2
0% Lines 0/13

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                                                         
import { Types, getRenderingEngine, utilities } from '@cornerstonejs/core';
 
export default function calculateViewportRegistrations(viewports: Types.IViewportId[]) {
  const viewportPairs = _getViewportPairs(viewports);
 
  for (const [viewport, nextViewport] of viewportPairs) {
    // check if they are in the same Frame of Reference
    const renderingEngine1 = getRenderingEngine(viewport.renderingEngineId);
    const renderingEngine2 = getRenderingEngine(nextViewport.renderingEngineId);
 
    const csViewport1 = renderingEngine1.getViewport(viewport.viewportId);
    const csViewport2 = renderingEngine2.getViewport(nextViewport.viewportId);
 
    utilities.calculateViewportsSpatialRegistration(csViewport1, csViewport2);
  }
}
 
const _getViewportPairs = (viewports: Types.IViewportId[]) => {
  const viewportPairs = [];
 
  for (let i = 0; i < viewports.length; i++) {
    for (let j = i + 1; j < viewports.length; j++) {
      viewportPairs.push([viewports[i], viewports[j]]);
    }
  }
 
  return viewportPairs;
};