import * as cornerstoneTools from '@cornerstonejs/tools'; import React from 'react'; import { Separator, Button, Tooltip, TooltipTrigger, TooltipContent, Icons } from '@ohif/ui-next'; import { useTranslation } from 'react-i18next'; import { roundNumber } from '@ohif/core/src/utils'; import { useSystem } from '@ohif/core/src'; interface CustomSegmentStatisticsHeaderProps { segmentationId: string; segmentIndex: number; } /** * Custom header component for segment statistics */ export const CustomSegmentStatisticsHeader = ({ segmentationId, segmentIndex, }: CustomSegmentStatisticsHeaderProps) => { const { servicesManager, commandsManager } = useSystem(); const { segmentationService } = servicesManager.services; const { t } = useTranslation('SegmentationTable'); const segmentation = segmentationService.getSegmentation(segmentationId); const segment = segmentation.segments[segmentIndex]; const cachedStats = segment.cachedStats; const namedStats = cachedStats.namedStats; if (!namedStats) { return null; } const bidirectional = namedStats.bidirectional; if (!bidirectional) { return (
{t('Add bidirectional measurement')}
); } const { value, unit } = bidirectional; const maxMajor = value.maxMajor; const maxMinor = value.maxMinor; const max = Math.max(maxMajor, maxMinor); const min = Math.min(maxMajor, maxMinor); const isVisible = cornerstoneTools.annotation.visibility.isAnnotationVisible( bidirectional.annotationUID ); return (
L: {roundNumber(max)} {unit}
W: {roundNumber(min)} {unit}
{t('Toggle visibility')} {t('Jump to measurement')}
); };