autods_pet.roi.aorta_mbp#

Aorta metabolic blood pool (MBP): mask refinement and PET statistics.

Extracts the aorta from TotalSegmentator, restricts it to a vertebral slab via slice gating, excludes heart spill-in, erodes intraluminally.

class autods_pet.roi.aorta_mbp.AortaMBP(vertebra_labels=None, slab_axis=2, heart_exclusion_mode='dilate_intersection', heart_dilation_mm=6.0, heart_distance_mm=12.0, aorta_erosion_mm=4.0, stats=None)[source]#

Bases: object

Aorta metabolic blood pool (MBP) extraction and refinement.

Parameters:
  • vertebra_labels (list[int] | None (default: None)) – Labels for the vertebral slab. Defaults to T4-T8.

  • slab_axis (int (default: 2)) – SimpleITK index axis for slice gating (0=x, 1=y, 2=z).

  • heart_exclusion_mode (str (default: 'dilate_intersection')) – "dilate_intersection" or "distance".

  • heart_dilation_mm (float (default: 6.0)) – Dilation radius for heart buffer (mode "dilate_intersection").

  • heart_distance_mm (float (default: 12.0)) – Distance threshold (mode "distance").

  • aorta_erosion_mm (float (default: 4.0)) – Intraluminal erosion radius in mm.

  • stats (list[str] | None (default: None)) – Statistics to compute. Defaults to ["median"].

refine(whole_seg)[source]#

Refine TotalSegmentator aorta into a thoracic intraluminal MBP mask.

Pipeline: extract aorta label -> slice-gate by T4-T8 vertebral slab -> exclude heart buffer -> erode intraluminally -> keep largest component.

Parameters:

whole_seg (Image) – TotalSegmentator multilabel segmentation (must include aorta, heart, and vertebra labels).

Returns:

Result with refined_mask and shrinkage populated.

Return type:

ROIResult

extract(whole_seg, pet)[source]#

Refine mask and compute PET statistics in one call.

Parameters:
  • whole_seg (Image) – TotalSegmentator multilabel segmentation.

  • pet (Image) – PET SUV image (must share geometry with whole_seg).

Returns:

Result with refined_mask, shrinkage, and stats populated.

Return type:

ROIResult

Raises:

ValueError – If whole_seg and pet have mismatched geometry.