All files / packages/tools/src/utilities/segmentation getHoveredContourSegmentationAnnotation.ts

0% Statements 0/8
0% Branches 0/2
0% Functions 0/2
0% Lines 0/8

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                                                   
import { getAnnotation } from '../../stateManagement';
import { getSegmentation } from '../../stateManagement/segmentation/segmentationState';
 
/**
 * Retrieves the index of the hovered contour segmentation annotation for a given segmentation ID.
 *
 * @param segmentationId - The ID of the segmentation.
 * @returns The index of the hovered contour segmentation annotation, or undefined if none is found.
 */
export function getHoveredContourSegmentationAnnotation(segmentationId) {
  const segmentation = getSegmentation(segmentationId);
  const { annotationUIDsMap } = segmentation.representationData.CONTOUR;
 
  for (const [segmentIndex, annotationUIDs] of annotationUIDsMap.entries()) {
    const highlightedAnnotationUID = Array.from(annotationUIDs).find(
      (annotationUID) => getAnnotation(annotationUID).highlighted
    );
 
    if (highlightedAnnotationUID) {
      return segmentIndex;
    }
  }
 
  return undefined;
}