ComparisonMetrics ================= Segmentation comparison metrics. Provides Dice coefficient, Hausdorff distance, and volume measurements for comparing trial segmentations against gold standards. Classes ------- .. py:class:: SegmentationMetrics Container for segmentation comparison metrics. **Methods:** .. py:method:: jaccard() Jaccard index (IoU) from Dice coefficient. .. py:method:: to_dict() Convert to dictionary for JSON serialization. .. py:class:: ComparisonMetrics Calculate segmentation comparison metrics. Computes Dice, Hausdorff distance, volume, and confusion matrix metrics for comparing trial segmentations to gold standards. **Methods:** .. py:method:: __init__() Initialize metrics calculator. .. py:method:: compute() Compute all comparison metrics. .. py:method:: compute_slice_metrics() Compute per-slice metrics along an axis. .. py:method:: format_summary() Format metrics as human-readable summary. .. py:method:: last_metrics() Get last computed metrics. Functions --------- .. py:function:: jaccard() Jaccard index (IoU) from Dice coefficient. .. py:function:: to_dict() Convert to dictionary for JSON serialization. .. py:function:: compute() Compute all comparison metrics. Args: trial_mask: Binary trial segmentation mask (3D or 2D). gold_mask: Binary gold standard mask (same shape as trial). spacing: Voxel spacing in mm (x, y, z). If None, volumes and Hausdorff are computed in voxels. Returns: SegmentationMetrics with all computed values. .. py:function:: compute_slice_metrics() Compute per-slice metrics along an axis. Args: trial_mask: 3D binary trial mask. gold_mask: 3D binary gold mask. axis: Axis to slice along (0=K, 1=J, 2=I for IJK order). Returns: List of dicts with slice index and Dice coefficient. .. py:function:: format_summary() Format metrics as human-readable summary. Args: metrics: Metrics to format. Uses last computed if None. Returns: Formatted string summary. .. py:function:: last_metrics() Get last computed metrics. .. py:function:: compute_metrics_from_nodes() Compute metrics from Slicer segmentation nodes. Args: trial_node: Trial vtkMRMLSegmentationNode. gold_node: Gold standard vtkMRMLSegmentationNode. reference_volume: Optional reference volume for geometry. Returns: SegmentationMetrics or None if computation fails. .. py:function:: export_seg_to_array()